Rails幼幼班--Active Record?

Codeing in the weekend ...TT


资料库
关联式资料库
SQL

ORM

维基百科

英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping,是一种程序设计技术,用於实现物件导向程序语言里不同类型系统的资料之间的转换。
简单的说:ORM相当於中继资料。

为自己学Ruby on Rails

中文翻译成「物件关系对映」。我们如果想要存取资料库里的内容,在以前必须自己撰写资料库查询语言(SQL)对资料库进行查询,但透过 ORM 的包装之後,可以让我们用操作「物件」的方式来操作资料库。

Active Record

维基百科

主动记录框架一般兼有ORM框架的功能,但主动记录不是简单的ORM。关系型资料库往往通过外来键来表述实体的联络,主动记录在资料来源层面上也将这种联络对映为物件的关联和聚集。着名的例子是解决方案堆叠Web开发框架Ruby on Rails,其预设使用一个纯Ruby写成的主动记录框架来驱动MVC中的模型层。

RailsGuides

Active Record 是 MVC 的 M(Model),表现商业逻辑与资料的层级。Active Record 负责新增与操作需要持久存在资料库里的资料。Active Record 本身是物件关联映射(Object Relational Mapping)系统的描述,以 Active Record 模式实作。

Active Record 作为 ORM 框架赋予我们许多功能,最重要几个是:

  • 表示 Model 与资料。
  • 表示 Model 之间的关系。
  • 表示相关 Model 之间的继承关系。
  • 持久化资料存入资料库的验证。
  • 以物件导向的风格操作资料库。

从RailsGuides看Active Record的介绍从基础到Query Interface,中间还包含了。

Migration有做过简单操作分享。其余会再以实例操作方式做介绍。

Query Interface 从资料库取出资料的介面。

RailsGuides

If you're used to using raw SQL to find database records, then you will generally find that there are better ways to carry out the same operations in Rails. Active Record insulates you from the need to use SQL in most cases.

Active Record will perform queries on the database for you and is compatible with most database systems, including MySQL, MariaDB, PostgreSQL, and SQLite. Regardless of which database system you're using, the Active Record method format will always be the same.

因为中文版少下面那段,很重要的那段

不是说相对比较重要,而是熟悉Query Interface,相对会为DB与Controller沟通更顺畅,进而提高效能。

整理:何为Active Record?

於程序语言中,为一种架构模式。
於Rails中,即为MVC中的Model,为实现ORM的框架。
较常见的操作有Migration,Validation,Callback,Association和提供Query Interface。
重要功能为清楚显示Model与资料库之间关系与验证,以物件导向的风格操作资料库。


<<:  第41天~

>>:  型一错误与型二错误(Type I error & Type II error)

规划

大家好, 因为工作不太常用到AI/ML, 所以我自身会想要去多看多了解, 才不会脱钩 想当初整整研究...

用 Python 畅玩 Line bot - 11:Sticker message

觉得你的机器人只有对话觉得太单调?想要跟他来场贴图战?那就可以来看看 Sticker message...

Day 24:路由搜查队-route.query

目前我们实现了即时搜寻显示书名相符的书单资料,但是当我切换到其他路由之後又想再回到上一页的搜寻结果,...

[想试试看JavaScript ] 阵列一些操作阵列好用的方法 (三)

阵列-一些操作阵列好用的方法 (三) 这篇整理一些常用的阵列方法 sort() sort() 会对阵...

树选手2号:random forest

在前面两天简单介绍了一下decision tree的原理,今天来谈谈如何把树变成一片森林~ Ramd...