django 學習----models

ORM介紹

ORM概念

對象關係映射(Object Relational Mapping,簡稱ORM)模式是一種爲了解決面向對象與關係數據庫存在的互不匹配的現象的技術。

簡單的說,ORM是通過使用描述對象和數據庫之間映射的元數據,將程序中的對象自動持久化到關係數據庫中。

ORM在業務邏輯層和數據庫層之間充當了橋樑的作用。

ORM由來

讓我們從O/R開始。字母O起源於"對象"(Object),而R則來自於"關係"(Relational)。

幾乎所有的軟件開發過程中都會涉及到對象和關係數據庫。在用戶層面和業務邏輯層面,我們是面向對象的。當對象的信息發生變化的時候,我們就需要把對象的信息保存在關係數據庫中。

按照之前的方式來進行開發就會出現程序員會在自己的業務邏輯代碼中夾雜很多SQL語句用來增加、讀取、修改、刪除相關數據,而這些代碼通常都是極其相似或者重複的。

ORM的優勢

ORM解決的主要問題是對象和關係的映射。它通常將一個類和一張表一一對應,類的每個實例對應表中的一條記錄,類的每個屬性對應表中的每個字段。 

ORM提供了對數據庫的映射,不用直接編寫SQL代碼,只需操作對象就能對數據庫操作數據。

讓軟件開發人員專注於業務邏輯的處理,提高了開發效率。

ORM的劣勢

ORM的缺點是會在一定程度上犧牲程序的執行效率。

ORM的操作是有限的,也就是ORM定義好的操作是可以完成的,一些複雜的查詢操作是完成不了。

ORM用多了SQL語句就不會寫了,關係數據庫相關技能退化...

ORM總結

ORM只是一種工具,工具確實能解決一些重複,簡單的勞動。這是不可否認的。

但我們不能指望某個工具能一勞永逸地解決所有問題,一些特殊問題還是需要特殊處理的。

但是在整個軟件開發過程中需要特殊處理的情況應該都是很少的,否則所謂的工具也就失去了它存在的意義。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章