[後端] 物件關係對映(Object-Relational Mapping, ORM)

ORM
https://baike.baidu.com/item/ORM

ORM介紹及ORM優點、缺點
http://blog.twbryce.com/what-is-orm/

.NET環境下的ORM技術研究
http://www.syscom.com.tw/ePaper_Content_EPArticledetail.aspx?id=106&EPID=164&j=4&HeaderName=%E7%A0%94%E7%99%BC%E6%96%B0%E8%A6%96%E7%95%8C

Object-Relational Mapping (ORM, O/RM, or O/R mapping)一詞就是將關聯式資料庫映射至物件導向的資料抽象化技術。其理念是將資料庫的內容映射為物件,讓程式開發人員可以用操作物件的方式對資料庫進行操作,而不直接使用SQL語法對資料庫進行操作。讓程式設計師不用管底層的資料庫系統是哪種廠牌或哪個版本的資料庫(如:SQL Server、Oracle、DB2、MySQL、Sybase、DBMaker…),僅須用同一套語法撰寫存取資料庫的邏輯。當底層資料庫的實作品變更時,由於程式設計師並不直接對資料庫進行操作,因此程式內容幾乎不用修改,也就是降低了物件導向程式與資料庫之間的耦合關係。

ORM的優點︰
1.隱藏了數據訪問細節,使​​得通用數據交互變得簡單易行,使我們構造固化數據結構變得簡單。
2.ORM可以防止SQL的注入攻擊(SQL-Injection)。
3.提高開發效率,不需要單獨的數據訪問層就可以數據進行增刪改查。
4.方便轉移資料庫,當資料庫發生改變時,只需要修改映射關係就可以。

ORM的缺點︰
1.自動化意味著映射和關聯管理,代價是犧牲性能。
2.對於複雜查詢ORM仍然力不從心,最後還是要寫sql。


#ORM, Object-Relational Mapping, 物件關係對映

留言