rails中的Active记录和ORM有什么区别?

时间:2016-07-25 08:06:55

标签: ruby-on-rails ruby activerecord orm

Actice Record和ORM之间有什么区别吗?一些文件说两者都是一样的。真的吗?

3 个答案:

答案 0 :(得分:3)

对象关系映射(ORM)是使用面向对象的编程语言访问关系数据库的技术。对象关系映射是一种通过将数据库表“映射”到类和类实例到这些表中的行来管理数据库数据的方法。

Active Record 只是其中一个ORM,其他包括:

  • 的DataMapper
  • Squeel
  • Ruby Object Mapper等。

在此处阅读更多https://github.com/learn-co-students/active-record-mechanics-crud-v-000#orm-vs-active-record

答案 1 :(得分:0)

对象关系映射(ORM):

简化应用程序中数据库的使用。

使用对象来保存数据库记录

  1. 数据库中每个表的一个类
  2. 该类的对象对应于表中的行
  3. 对象的属性对应于行

    中的列
    • 管理对象与后端数据库之间的信息移动。
    • 管理表(联接)之间的关系,转换为链接的数据结构。
  4. ActiveRecord基础知识

    模型:与数据库表对应的Rails类 ActiveRecord的:

    • 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>
    &#13;
    &#13;
    &#13;

    为此表创建一个类(app / models / student.rb):

    class Student < ActiveRecord::Base
    end
    

    或者,只需使用脚本/生成程序:

    ruby script/generate model student
    
    • ActiveRecord检查此表的数据库架构,并自动在类中提供适当的属性和方法

    了解更多信息Click Here.

答案 2 :(得分:0)

我认为这是一个非常简单的问题,所以我&#39;要坚持一个简单的回应:

=&GT; ActiveRecord⊂ruby ORMs⊂ORMs