Object Relational Mapping (ORM)

更新於 發佈於 閱讀時間約 2 分鐘

ORM 中文為「物件關聯對映」,是一種介於程式與DB中間的程式設計技術,將程式語言轉換成SQL語言來對DB做操作。

以下整理ORM的優缺點:

raw-image

為什麼要用ORM呢?

假如我們用JDBC來操作資料庫,例如今天要新增資料,insert into table values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) 假如欄位很多,妳會看到很多?
這會導致程式設計師無法專注在開發業務邏輯,需要多一點心力注意會不會不小心哪邊寫錯,例如少一個? 或多一個?

因此,使用ORM就能避免這樣的問題,ORM會自動把資料庫物件之間的關係建立好,後端工程師甚至可以不用知道公司到底背後是用什麼資料庫,table之間的關係是什麼,只需專心對程式物件操作就可以了,不必兼職資料庫維護的工作。


#本筆記參考:
1. https://ithelp.ithome.com.tw/articles/10207752
2. https://www.itread01.com/p/1446665.html

留言
avatar-img
留言分享你的想法!
avatar-img
Vic Lin的沙龍
20會員
161內容數
Vic Lin的沙龍的其他內容
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
今天來聊個最近很夯的主題 DDD,但不是 DDD 的本尊 Domain Driven Design,而是無所不在的 Database Driven Design,Database Driven Design 不是不好,只是你的模型容易變成貧血模型,邏輯都集中在 service 層等等。
Thumbnail
今天來聊個最近很夯的主題 DDD,但不是 DDD 的本尊 Domain Driven Design,而是無所不在的 Database Driven Design,Database Driven Design 不是不好,只是你的模型容易變成貧血模型,邏輯都集中在 service 層等等。
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人
Thumbnail
有趣的是,Model 其實沒什麼嚴格的定義,所以每個人對 Model 的解讀也不盡相同,有人覺得資料怎麼儲存屬於 Model 的一部份 (受 ORM 工具的影響),有人覺得工作流程 (workflow) 是 Model 的一部份,我個人也有自己的想法,而且隨專案的規模和特性,也不是總是一樣的。
Thumbnail
有趣的是,Model 其實沒什麼嚴格的定義,所以每個人對 Model 的解讀也不盡相同,有人覺得資料怎麼儲存屬於 Model 的一部份 (受 ORM 工具的影響),有人覺得工作流程 (workflow) 是 Model 的一部份,我個人也有自己的想法,而且隨專案的規模和特性,也不是總是一樣的。
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
種類 SQL指令分三大部分: 資料定義語言(Data Definition Language,DDL):建立資料表、索引和檢視表等,和定義資料表的欄位。 資料操作語言(Data Manipulation Language,DML):資料表紀錄查詢、插入、刪除和更新指令。 資料控制語言(Dat
Thumbnail
種類 SQL指令分三大部分: 資料定義語言(Data Definition Language,DDL):建立資料表、索引和檢視表等,和定義資料表的欄位。 資料操作語言(Data Manipulation Language,DML):資料表紀錄查詢、插入、刪除和更新指令。 資料控制語言(Dat
Thumbnail
一、泛用型的電子公文系統是為了解決底下幾種痛點: 痛點一:為了不同公文流程就要開發不同程式針對不同的公文流程常常因為資料格式的不一致,就要設計好幾種Table,哪怕只是差異一點點的欄位都必須重新設計好幾種不同的流程做因應,一般中小型的公司並沒有辦法有太多的軟體人員做開發...
Thumbnail
一、泛用型的電子公文系統是為了解決底下幾種痛點: 痛點一:為了不同公文流程就要開發不同程式針對不同的公文流程常常因為資料格式的不一致,就要設計好幾種Table,哪怕只是差異一點點的欄位都必須重新設計好幾種不同的流程做因應,一般中小型的公司並沒有辦法有太多的軟體人員做開發...
Thumbnail
最近接獲一個任務,該任務的目標是替一個即將進入正式部署階段的系統,導入一個 database migration tool,以下是此任務整個思考決策的邏輯以及正式進行時技術上比較值得和大家分享的小細節。 系統背景 資料庫的設計方式,目前常見會有兩種方向,code first 以及 database
Thumbnail
最近接獲一個任務,該任務的目標是替一個即將進入正式部署階段的系統,導入一個 database migration tool,以下是此任務整個思考決策的邏輯以及正式進行時技術上比較值得和大家分享的小細節。 系統背景 資料庫的設計方式,目前常見會有兩種方向,code first 以及 database
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News