ORM( Object Relational Mapping)物件關聯對映,以我的理解就是在資料庫與程式之間做了一層中間層,所有與資料庫的語法都是使用ORM的語法,ORM換轉換成SQL去執行,所以操作上並非直接去寫原始的SQL。
ORM有什麼優缺點?(以下是我搜尋及自己理解的)
優點:
- 安全簡單
這道理非常簡單,既然所有的資料庫操作都需要過ORM,ORM自然可以做一些初步的防堵或者安全性檢查,這樣一來工程師就只需要專注於如何處理資料
- 程式碼乾淨
這個優點也是頗直覺的,因為ORM比原生的SQL看起來簡化了許多
- 泛用
因為ORM是介於程式與資料庫之間,會自行轉換成原生SQL,所以基本上
ORM後面接的是什麼資料庫(MySQL 或者MsSQL )都不會影響ORM的寫法。
缺點:
- 效能
效能應該不用多解釋,多做了一層自然會有代價,天下沒白吃的午餐囉~
- 需要學習
這方面也算是缺點啦,畢竟大家剛接觸的還是原生SQL,要碰ORM也是要熟悉一下ORM的寫法,但…..這方面我個人是覺得有好有壞,因為ORM也相對降低入門工程師對於SQL的語法熟悉度,這真的是很難說。(但也會有人說 SQL都不熟了 熟ORM更危險吧XDDDDD)
- 複雜的SQL處境很尷尬
會講那麼多,當然是laravel有使用ORM囉,當然也並非是強制的,只是但我們還是來品嘗一下潮流的ORM~