點餐系統的簡單開發(一)[數據庫模型設計和數據庫的創建](學習)

    創建項目,首先要進行需求分析,根據分析,然後進行開發的第一步,首先是數據庫模型的設計,以及數據庫的創建,整理和分析好每個表之間的關聯。

    直接寫出這個項目的數據庫創建語句以及表之間關聯的語句,項目很簡單,因此沒有設計到很複雜的邏輯關係,表之間的關聯也很簡單。

-- 創建數據庫

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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章