django的orm有什麼優點
本文主要講解Django中orm的概念及優缺點。
ORM : ORM概念,ORM特點,ORM 的優點,ORM 的缺點
orm : 物件關係對映 (Object Relational Mapping) ,用於實現物件導向程式語言裡不同型別系統的資料之間的轉換 [1] 。從效果上說,它其實是建立了一個可在程式語言裡使用的–“虛擬物件資料庫”。
ORM方法論基於三個核心原則: 簡單:以最基本的形式建模資料。 傳達性:資料庫結構被任何人都能理解的語言文件化。 精確性:基於資料模型建立正確標準化的結構
一、概念
物件-關係對映(Object Relational Mapping,簡稱ORM),是隨著物件導向的[軟體開發方法發展而產生的。用來把物件模型表示的物件對映到基於S Q L 的關係模型資料庫結構中去。這樣,我們在具體的操作實體物件的時候,就不需要再去和複雜的 SQ L 語句打交道,只需簡單的操作實體物件的屬性和方法 。O R M 技術是在物件和關係之間提供了一條橋樑,前臺的物件型資料和資料庫中的關係型的資料透過這個橋樑來相互轉化 。
1、資料型別對映模式
2、類對映模型
3、關聯對映模式
4、引用對映模式
簡單說,
ORM 就是透過例項物件的語法,完成關係型資料庫的操作的技術,是"物件-關係對映"(Object/Relational Mapping) 的縮寫。
ORM 把資料庫對映成物件。
資料庫的表(table) --> 類物件(class)
記錄(record,行資料)–> 物件(object)
欄位(field)–> 物件的屬性(attribute)
二:ORM特點:
ORM 使用物件,封裝了資料庫操作,因此可以不碰 SQL 語言。開發者只使用物件導向程式設計,與資料物件直接互動,不用關心底層資料庫。
可以方便實現: 增加(Create)、讀取查詢(Read)、更新(Update)和刪除(Delete)
三:ORM 的優點。
資料模型都在一個地方定義,更容易更新和維護,也利於重用程式碼。
ORM 有現成的工具,很多功能都可以自動完成,比如資料消毒、預處理、事務等等。
它迫使你使用 MVC 架構,ORM 就是天然的 Model,最終使程式碼更清晰。
基於 ORM 的業務程式碼比較簡單,程式碼量少,語義性好,容易理解。
你不必編寫效能不佳的 SQL。
四:ORM 的缺點。
ORM 庫不是輕量級工具,需要花很多精力學習和設定。
對於複雜的查詢,ORM 要麼是無法表達,要麼是效能不如原生的 SQL。
ORM 抽象掉了資料庫層,開發者無法瞭解底層的資料庫操作,也無法定製一些特殊的 SQL。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2157/viewspace-2836940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python中Django是什麼?Django框架優點有哪些?PythonDjango框架
- 使用儲存過程做orm有什麼優缺點嗎?儲存過程ORM
- ISP代理有什麼優點?
- 【Django必備01】——什麼是Django框架?有什麼優勢?模組組成介紹。Django框架
- 什麼是Django?有什麼用途?Django
- WebSocket有什麼優勢?有哪些特點?Web
- C/S結構是什麼意思?有什麼優點?
- Django ORMDjangoORM
- Django中的ORMDjangoORM
- Django框架,Flask框架和Tornado框架各有什麼優缺點Django框架Flask
- TF簽名是什麼?穩定性怎麼?有什麼優缺點?
- 雲資料庫MySQL有什麼作用?有哪些優點?資料庫MySql
- 什麼是CDN邊緣伺服器,有什麼優缺點?伺服器
- 為什麼要前後端分離?有什麼優缺點後端
- (1)微服務是什麼?它的優缺點有哪些?微服務
- Django ORM QuerySetDjangoORM
- django mysqlclient ormDjangoMySqlclientORM
- django中orm的使用DjangoORM
- 什麼是閉包?有哪些使用場景?優缺點是什麼?
- 伺服器虛擬化部署是什麼有什麼優缺點伺服器
- Docker究竟是什麼 為什麼這麼流行 它的優點和缺陷有哪些?Docker
- “Go語言”有什麼用途?有什麼優勢?Go
- 雲端計算有什麼特點或優勢呢?
- 伺服器做獨立vlan有什麼優點伺服器
- Python培訓分享:Python有什麼優點?Python
- 使用獨立伺服器有什麼優點呢伺服器
- 03.Django-ORMDjangoORM
- Django ORM 多表操作DjangoORM
- 什麼是docker?docker有什麼優勢?Docker
- SQLJ是什麼?優點?SQL
- 千兆乙太網交換機的SFP埠有什麼優點(轉)
- NFS服務有什麼優缺點呢?linux入門用什麼書NFSLinux
- Java有什麼優點?學完Java能找到工作嗎?Java
- Django ORM的簡單總結DjangoORM
- 原生IP是什麼意思?有什麼優勢?
- 開箱即用的模型叫什麼模型?有什麼特點模型
- 學Java優勢有什麼?Java
- Django ORM 單表操作DjangoORM