前面都著重在說明SQL的語法、應用&實際練習,比較無感SQL之於系統的結合,因此今天會講開發系統使用關聯式資料庫必備的 Schema
。
同事常說的schema通常是指
「資料表及欄位的設計」
,泛指資料表欄位的數量,資料型態,大小長度,主鍵,外鍵,複合鍵,唯一性,是否可為null,索引等。
Day 4 講解 RDBMS 與 NoSQL 時,說明了何謂 Table,而 Schema 就是關聯式資料庫常用的開發手法,將開發系統所需要的所有Table事先透過圖表來設計整個架構
,加速與開發人員討論系統進度。
這次以一個小型簡易的WEB系統說明系統架構,以及SQL能夠如何應用。
系統說明:提供一個讓USER可以在上面登記失蹤的寵物,或者進行認養的平台。
Schema說明:此系統使用到三個資料表,User、FindPet & Comment,圖中的箭頭即是彼此間的有關連的欄位(PK/FK)
1. User:用於紀錄網站相關的user資訊
2. FindPet:用於紀錄User回填,關於寵物的資訊以及遺失資訊
3. Comment:用於紀錄User的使用者意見回饋