iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
自我挑戰組

從0開始-30天摸索laravel系列 第 21

DAY21: 蝦米是ORM?

  • 分享至 

  • xImage
  •  

ORM( Object Relational Mapping)物件關聯對映,以我的理解就是在資料庫與程式之間做了一層中間層,所有與資料庫的語法都是使用ORM的語法,ORM換轉換成SQL去執行,所以操作上並非直接去寫原始的SQL。

ORM有什麼優缺點?(以下是我搜尋及自己理解的)

優點:

  1. 安全簡單
    這道理非常簡單,既然所有的資料庫操作都需要過ORM,ORM自然可以做一些初步的防堵或者安全性檢查,這樣一來工程師就只需要專注於如何處理資料
  2. 程式碼乾淨
    這個優點也是頗直覺的,因為ORM比原生的SQL看起來簡化了許多
  3. 泛用
    因為ORM是介於程式與資料庫之間,會自行轉換成原生SQL,所以基本上
    ORM後面接的是什麼資料庫(MySQL 或者MsSQL )都不會影響ORM的寫法。

缺點:

  1. 效能
    效能應該不用多解釋,多做了一層自然會有代價,天下沒白吃的午餐囉~
  2. 需要學習
    這方面也算是缺點啦,畢竟大家剛接觸的還是原生SQL,要碰ORM也是要熟悉一下ORM的寫法,但…..這方面我個人是覺得有好有壞,因為ORM也相對降低入門工程師對於SQL的語法熟悉度,這真的是很難說。(但也會有人說 SQL都不熟了 熟ORM更危險吧XDDDDD)
  3. 複雜的SQL處境很尷尬

會講那麼多,當然是laravel有使用ORM囉,當然也並非是強制的,只是但我們還是來品嘗一下潮流的ORM~


上一篇
DAY20: request
下一篇
DAY22: ORM上菜囉
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言