iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0

本來要直接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加油。


上一篇
Day 26: a glimpse of JUnit
下一篇
Day28: SQL schema強化
系列文
Java 學生管理系統:打造可新增、刪除、修改、搜尋並保存資料的完整 CLI 應用28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言