Jeff的隨手筆記

學習當一個前端工程師

0%

『新手日記』Day-20 CRUD是什麼?

『新手日記』Day-20 CRUD是什麼?

https://miro.medium.com/max/1400/1*zSh5v9qABH8qSl-CKYqOJw.jpeg

在還沒開始學習後端時就有看過這個詞,在進入正式學習前先來預習一下吧

昨天我們有提到:『RESTful 的設計以「資源」為中心,再搭配 HTTP method 的動詞,以及 CRUD 等資料操作』,昨天認識了RESTful跟HTTP method,今天來認識CRUD

CRUD

CRUD 是設計資料系統時很重要的基本技巧,在維基百科翻譯為「增刪改查」,分表代表了:

  • Create (C)新增,建立資料,將定義好的欄位寫入對應的值
  • Read (R) 讀取,讀取資料,查詢資料的相關內容
  • Update (U) 更新,更新特定欄位的資料
  • Delete (D) 刪除,刪除資料

四個動作合併稱之為 CRUD,通常在 SQL資料庫或API,做某一資源存取的時候會遇到。

https://miro.medium.com/max/1328/1*-ZKdeOpGSINCpKJOuC-SAQ.png

來自維基百科https://zh.wikipedia.org/wiki/%E5%A2%9E%E5%88%AA%E6%9F%A5%E6%94%B9#cite_note-1

CRUD應用

SQL(Structured Query Language),一種資料庫查詢和程式設計語言,用於存取數據以及查詢、更新和管理關係資料庫系統。

但在實務上,當我們用 Express.js 開發應用程式時,會希望能直接用 JavaScript 操作資料庫,而不需要另外撰寫 SQL。因此開發出了『物件映射 (object mapping)』 的技術,用程式語言裡的『物件』來包裝資料庫的 SQL (structured query language),讓開發者可以直接使用物件導向的方式操作資料庫。

依不同的資料庫類型,會分別使用不同的映射技術:

針對文件資料庫 (document database) 的:ODM (Object Document Mapper)

針對關聯式資料庫 (relational database)的:ORM (Object Relational Mapping)

ODM 與 ORM 都是讓開發者可以使用物件導向語法來操作資料庫,同時也增加程式碼的易讀性與維護性,只是對應的類型不同。

透過AC的例子,我們在資料庫尋找一筆名為『買蘋果』的TodoList透過 ORM 的語法:

1
Todo.find ({ name: '買蘋果', done: { false }})

若使用 SQL 的指令的話,會是:

1
SELECT * FROM Todos WHERE name='買蘋果' AND done=FALSE;

身為懶人的我當然選擇第一個啊XD

這是一篇比較偏向預習的文章,除了看AC的教案外還有鐵人賽的資料,但幾乎所有的文章主要的部分還是要靠實作來練習,基於本人生了一場名字叫懶惰的病,實作的部分就不放上來,連假第一天就得了病,希望明天可以痊癒XDD