本來要直接JUnit在這次的project上面,但經過一番與AI的折騰短時間內應該無法處理好,因此今天回頭去補足database的一些知識;
今天來了解什麼是 Schema(資料庫綱要)
一句話定義:Schema(綱要) 是「資料庫結構的設計藍圖」。
它負責告訴資料庫:有哪些表(tables)、每張表有什麼欄位(columns)、欄位的型別、限制條件、關聯性
換句話說Schema = 資料庫的骨架(structure),不是內容(data)。
for example:我現在的 students.db
我在 SQLite 裡創的那張表:
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL
);
這三行就是我的 Schema 定義。
欄位 型別 限制
id INTEGER 主鍵、自動編號
name TEXT 不能是 NULL
age INTEGER 不能是 NULL
這些規則不會改變,即使資料改變。
我們可以把 Schema 想成「Excel 的標題列」,而資料是「下面一整欄的內容」。
為什麼 Schema 很重要
保證一致性:不能突然多一個「身高」欄位卻沒告訴系統。所有紀錄都得遵守相同格式。
防呆:你可以限制「年齡必須大於 0」。
可讀性:別人一看 Schema,就知道資料長什麼樣。
維護性:加欄、刪欄、改型別,全靠 Schema 控制。
這就是 SQLite 記錄在系統裡的 Schema 定義。
大致來說是這樣吧我猜,也到收尾階段大家國慶連假愉快明天NCPC加油。