確認三張資料表與它們之間的關聯後,今天要來決定每個欄位的資料型態。
良好的資料型態設計,不僅能避免資料溢位或型態錯誤,更能節省儲存空間並提升 MySQL 的查詢效率。
| 欄位名稱 | 資料型態 | 屬性/說明 |
|---|---|---|
| id | INT | 主鍵 (PK) |
| title | VARCHAR(255) | 字串 |
| author | VARCHAR(100) | 作者 |
| isbn | VARCHAR(20) | ISBN |
| publish_year | YEAR | 出版年份 |
| category | VARCHAR(50) | 分類名稱 |
| total | INT | 總庫存量 |
| available | INT | 剩餘可借數量 |
| 欄位名稱 | 資料型態 | 屬性/說明 |
|---|---|---|
| id | INT | 主鍵 (PK) |
| name | VARCHAR(100) | 會員姓名 |
| VARCHAR(191) | 帳號/信箱 | |
| password | VARCHAR(255) | 密碼 |
| role | VARCHAR(255) | 權限角色(一般使用者 / 管理員) |
| created_at | DATETIME | 註冊時間 |
| 欄位名稱 | 資料型態 | 屬性/說明 |
|---|---|---|
| id | INT | 主鍵 (PK) |
| member_id | INT | 外鍵 (FK),對應 members.id |
| book_id | INT | 外鍵 (FK),對應 books.id |
| borrowed_at | DATETIME | 借出時間 |
| due_date | DATE | 應還日期 |
| returned_at | DATETIME | 實際歸還時間(預設 NULL) |
| status | ENUM('borrowed', 'returned') | 借閱狀態 |
確定好每個欄位的型態與屬性後,明天就可以正式撰寫 MySQL 語法,並在 WSL2 環境中建立資料庫與外鍵關聯。