【发布时间】:2016-11-28 11:44:49
【问题描述】:
Actice Record 和 ORM 有什么区别吗?一些文件说两者都是一样的。真的吗?
【问题讨论】:
-
activerecord 是 ORM 的一个例子
标签: ruby-on-rails ruby activerecord orm
Actice Record 和 ORM 有什么区别吗?一些文件说两者都是一样的。真的吗?
【问题讨论】:
标签: ruby-on-rails ruby activerecord orm
对象关系映射(ORM) 是一种使用面向对象的编程语言访问关系数据库的技术。对象关系映射是一种通过将数据库表“映射”到类并将类的实例“映射”到这些表中的行来管理数据库数据的方法。
Active Record 只是这样的 ORM 之一,其他包括:
在此处阅读更多信息https://github.com/learn-co-students/active-record-mechanics-crud-v-000#orm-vs-active-record
【讨论】:
对象关系映射 (ORM):
简化应用程序中数据库的使用。
使用对象来保存数据库记录
对象的属性对应于行中的列
ActiveRecord 基础知识
Model:对应数据库表的 Rails 类 活动记录:
示例表
<table>
<tbody>
<tr>
<th> id </th>
<th>name</th>
<th>birth</th>
<th>gpa</th>
<th>grade</th>
</tr>
</tbody>
<tbody>
<tr>
<td> 1 </td>
<td> Anderson </td>
<td> 1987-10-22 </td>
<td> 3.9 </td>
<td> 2009 </td>
</tr>
<tr>
<td> 2 </td>
<td> Jones </td>
<td> 1990-04-16</td>
<td> 2.4 </td>
<td> 2012 </td>
</tr>
</tbody>
</table>
为这个表创建一个类(app/models/student.rb):
class Student < ActiveRecord::Base
end
或者,只需使用脚本/生成程序:
ruby script/generate model student
【讨论】:
我认为这是一个非常简单的问题,所以我会坚持一个简单的回答:
=> ActiveRecord ⊂ ruby ORMs ⊂ ORMs
【讨论】: