iT邦幫忙

1

Rails幼幼班--Active Record?

  • 分享至 

  • xImage
  •  

Yes

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與資料庫之間關係與驗證,以物件導向的風格操作資料庫。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言