之後會做出一個簡單的餐廳預約資料表來當作簡單的練習
名稱 資料型態 說明
Reservation_ID INT 預約編號
NAME VARCHAR(50) 顧客姓名
PHONE VARCHAR(20) 電話
REVERSATION_DATE DATE 預約日期
TIME VARCHAR(10) 預約時間(例如 18:00)
TABLE_NUMBER NUMBER 桌號
PEOPLE_AMOUNT NUMBER 用餐人數
MEAL VARCHAR(255) 訂餐內容(例如:「牛排, 沙拉, 果汁」)
TOTAL DECIMAL(10,2) 總金額
因為資料內容不是單一元素,所以要先經歷第一正規化
因為一個人可能會點多樣餐點,所以要把食物拆開
舉例:
預約表
Reservation_ID Customer_Name Phone Reservation_Date Time Table_Number
Num_People Food_Item Price
1 王小明 0912-345-678 2025-10-13 18:00 5 2 牛排 500
1 王小明 0912-345-678 2025-10-13 18:00 5 2 沙拉 100
1 王小明 0912-345-678 2025-10-13 18:00 5 2 果汁 80
這樣資料是有重複的,所以接下來要第二正規化
會拆成 顧客表 菜單表 預約明細表
(1) 顧客資料表 Customer
欄位名稱 資料型態 說明
CUSTOMER_ID INT (PK) 顧客編號
NAME VARCHAR(50) 顧客姓名
PHONE VARCHAR(20) 電話
EMAIL VARCHAR(50) 信箱
ADDRESS VARCHAR(100) 地址
(2) 預約資料表 Reservation
欄位名稱 資料型態 說明
RESERVATION_ID INT (PK) 預約編號
CUSTOMER_ID INT (FK) 顧客編號
RESERVATION_DATE DATE 日期
TIME VARCHAR(10) 時間
TABLE INT 桌號
PEOPLE_AMOUNT INT 人數
TOTAL DECIMAL(10,2) 總金額
(3) 菜單資料表 Menu
欄位名稱 資料型態 說明
MENU_ID INT (PK) 菜單編號
NEAL VARCHAR(50) 餐點名稱
TYPE VARCHAR(30) 類別(主食、飲料等)
PRICE DECIMAL(10,2) 單價
DETAIL VARCHAR(100) 說明
(4) 預約餐點關聯表 Reservation_Detail
欄位名稱 資料型態 說明
RESERVATION_ID NUMBER (PK,FK) 預約編號
MENU_ID NUMBER (FK) 餐點編號
AMOUNT NUMBER 數量
因為每個欄位都是依賴主鍵,所以這也是完成第三正規化的表格