Ruby on Rails,使用关系数据库简介

http://blog.csdn.net/abbuggy/article/details/7643673

之前我们已经成功将web应用请求响应的主流程:从浏览器到控制器-从控制器到视图-从视图到浏览器走通。接下来是时候看看控制器与模型-模型与数据库交互的这个分支上了。

理论上说,MVC架构中本来是没有数据库这个元素的,只不过在世纪项目中模型与数据库总是一起出现的,并且他们之间还有较为紧密的关系。加之大多数情况下数据库还会更先于Model的创建而创建,所以我们先从用于Rails的数据库(模型和数据库谁更先创建的问题不是我们现在关注的重点,不同的设计方式有着不同的侧重点,相关的话题择日再聊)。

Rails为关系数据库的SQL调用提供了较为透明的实现,让我们可以不用书写大量的SQL语句。不过如果对关系数据库有较深的理解的话对开发会是大有裨益的。下面简单介绍一下Rails使用的数据库以及数据库的各个概念与Rails框架各部分的对应关系。

  • 数据库:一系列数据库表的集合。一般来说一个Rails应用是和一个数据库相对应的,较为复杂的应用会有与多个数据库交互的情况。一般以小写字母加下划线命名虽然这不是必须的,但这是Rails推荐的方式我们没有必要去违背它。别忘了给数据库赋予足够的访问权限,不通过数据库权限机制而是通过程序限制对数据的访问。
  • 数据表:与领域模型对应。表的命名也是使用小写字母加下划线分割,一般来说是一个名词的复数,因为表中存放着这个多个某某东西的记录。比如“users”表就是用来存放所有user对象的。
  • :与领域模型中的字段对应。比如name,password列与user对象的名称和密码属性对应。
  • :与领域模型中的对象对应。比如“users”表中的每一行对应一个user对象。
  • 关联表:建立数据表与数据表之间的关系,体现领域模型对象与对象之间的关联关系。表与表之间通过外键相互连接建立关系。
  • 外键:一个表中的一个列,其中的内容指向了另外一个表中的内容。比如users表中有一个role_id作指向role表中的一条记录。其中role_id的值与role表中的某一个id相同。role_id这个命名是Rails的习惯,写的是表名_表主键。
  • 主键:唯一标示某一个记录的字段叫做主键,比如user和role的id字段。引用关系中,被引用的表叫做主表,主表中的键叫做主表中的主键。比如role表中的id列就是被user表引用时的主键。
  • 索引索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,提高访问性能。
有了这些背景知识,开始建立我们的数据库!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值