創建項目,首先要進行需求分析,根據分析,然後進行開發的第一步,首先是數據庫模型的設計,以及數據庫的創建,整理和分析好每個表之間的關聯。
直接寫出這個項目的數據庫創建語句以及表之間關聯的語句,項目很簡單,因此沒有設計到很複雜的邏輯關係,表之間的關聯也很簡單。
-- 創建數據庫
CREATE DATABASE hotel CHARACTER SET utf8;
USE hotel;
-- 1. 餐桌表
CREATE TABLE dinnerTable(
idINT PRIMARY KEY AUTO_INCREMENT, -- 餐桌主鍵
tableName VARCHAR(20), -- 餐桌名
tableStatus INT DEFAULT 0, -- 餐桌狀態:0,空閒; 1,預定
orderDate DATETIME
);
-- 2. 菜類別表
CREATE TABLE foodType(
id INT PRIMARY KEY AUTO_INCREMENT, -- 類別主鍵
typeName VARCHAR(20) --類別名稱
);
-- 3. 菜品種表
CREATE TABLE food(
idINT PRIMARY KEY AUTO_INCREMENT, -- 主鍵
foodName VARCHAR(20), -- 菜名稱
foodType_id INT, -- 所屬菜系, 外鍵字段
price DOUBLE, -- 價格
mprice DOUBLE, -- 會員價格
remark VARCHAR(200), -- 簡介
imgVARCHAR(100) -- 圖片
);
-- 4. 訂單表 (訂單基本信息)
CREATE TABLE orders(
idINT PRIMARY KEY AUTO_INCREMENT, -- 主鍵
table_id INT, -- 外鍵: 餐桌編號
orderDate DATETIME, -- 下單日期
totalPrice DOUBLE, -- 訂單所有菜需要的總金額
orderStatus INT DEFAULT 0 -- 訂單狀態: 0,未結賬; 1,已結賬
);
-- 5. 訂單明細表 (主要是菜品種)
CREATE TABLE orderDetail(
idINT PRIMARY KEY AUTO_INCREMENT, -- 主鍵
orderId INT, -- 外鍵:引入的是訂單表的主鍵
food_id INT, -- 外鍵:引用的是菜信息表的主鍵
foodCount INT -- 菜的數量
);
-- 添加菜品與菜類別的關係約束
ALTER TABLE food ADD CONSTRAINTfk_food_foodType_id FOREIGN KEY(foodType_id) REFERENCES foodType(id);
-- 訂單表: 與餐桌表的關係
ALTER TABLE orders ADD CONSTRAINTorder_table_id FOREIGN KEY(table_id) REFERENCES dinnertable(id);
-- 訂單明細: 與訂單表的關係
ALTER TABLE orderDetail ADD CONSTRAINTorderDetail_order_id FOREIGN KEY(orderId) REFERENCES orders(id);
-- 訂單明細: 與菜信息的關係
ALTERTABLE orderDetail ADD CONSTRAINT orderDetail_food_id FOREIGN KEY(food_id)REFERENCES food(id);