点餐系统的简单开发(一)[数据库模型设计和数据库的创建](学习)

    创建项目,首先要进行需求分析,根据分析,然后进行开发的第一步,首先是数据库模型的设计,以及数据库的创建,整理和分析好每个表之间的关联。

    直接写出这个项目的数据库创建语句以及表之间关联的语句,项目很简单,因此没有设计到很复杂的逻辑关系,表之间的关联也很简单。

-- 创建数据库

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

你可能感兴趣的:(点餐系统)