SYSU-xiaoxin-catering 小欣餐饮点餐系统

The Documents about Group Project of Software Analysis & Design

View the Project on GitHub LeonhardE/Dashboard

小欣餐饮数据库设计文档

版本 日期 描述 作者
V1.2 2019-6-22 修改稿 Nathan

1.1 编写目的

​ 本数据库设计说明文档旨在说明小欣餐饮点餐系统项目数据库的设计与功能,方便该系统的开发者与维护者更好地从事开发与维护项目工作。

1.2 背景

说明:

a. 待开发数据库名称:小欣餐饮点餐系统数据库

b. 使用本系统的软件名称:小欣餐饮点餐系统

c. 软件系统开发项目任务提出者:王青/潘茂林

d. 用户:小欣餐饮开发团队与客户

e. 安装该软件和数据库的计算站:微信小程序平台、阿里云平台

1.3 定义

数据表:数据库中的一个实体,在这里我们使用关系数据库,故一个实体对应一个表。

主键:一个数据库实体中可以确定一条记录的唯一标识。

外键:外键是在一个表中确定与另一个表的关联的键,能确定另一张表记录的字段,用于保持数据的一致性。

1.4 参考资料

a. 《软件工程导论》张海藩 清华大学出版社

b. 软件设计文档国家标准 GB8567

2.1 标识符和状态

本数据库中使用的标识符与 Python 相同,因其使用 Python 语言进行开发。

2.2 使用它的程序

小欣餐饮后台管理系统 V1.1

小欣餐饮点餐系统 V1.1

2.3 约定

数据库实体的属性命名一般采用下划线_

实体和属性的命名必须表意

2.4 专门指导

向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。

该数据库的数据格式如下

屏幕快照 2019-06-23 下午9.06.07

屏幕快照 2019-06-23 下午9.08.29

屏幕快照 2019-06-23 下午9.08.40

屏幕快照 2019-06-23 下午9.08.53

屏幕快照 2019-06-23 下午9.09.30

屏幕快照 2019-06-23 下午9.09.41

屏幕快照 2019-06-23 下午9.11.53

屏幕快照 2019-06-23 下午9.12.03

屏幕快照 2019-06-23 下午9.12.12

屏幕快照 2019-06-23 下午9.12.22

屏幕快照 2019-06-23 下午9.12.31

屏幕快照 2019-06-23 下午9.12.39

在使用数据库时数据格式需符合规范

2.5 支持软件

Python sqlalchemy

mysql

3.1 概念结构设计

本数据库中包含的实体有

字段 status create_time update_time
描述 状态(删除与否) 创建时间 用户姓名
数据类型 int DateTime DateTime
约束 dfault 1 dfault now dfault now
字段 id openid username email sex avator password rid
描述 用户编号 微信编号 用户姓名 邮箱 性别 图像 密码(加密后的) 餐厅编号
数据类型 int int string int int string string int
约束 pk   not null   default 1   not null foreign key, not null
字段 id name rid weight
描述 编号 名称 餐厅编号 权重
数据类型 int string int int
约束 pk not null foreign key; not null not null
字段 id uid did oid quantity
描述 编号 顾客编号 菜品编号 订单编号 数量
数据类型 int int int int int
约束 pk foreign key; not null foreign key; not null foreign key; not null not null
字段 id uid rid total_price pay_price note pay_time
描述 编号 顾客编号 餐厅编号 总价格 实际支付价格 备注 过期时间
数据类型 int int int number number string DateTime
约束 pk foreign key; not null foreign key; not null not null not null   not null
字段 id uid rid discount expiration_date
描述 编号 顾客编号 餐厅编号 折扣价格 过期时间
数据类型 int int int number DateTime
约束 pk foreign key; not null foreign key; not null not null not null
字段 id did unit total_stock note
描述 编号 菜品编号 数量 总库存 备注
数据类型 int int int int string
约束 pk foreign key; not null not null not null not null
字段 id uid rid content  
描述 编号 顾客编号 餐厅编号 折扣价格 内容
数据类型 int int int string  
约束 pk foreign key; not null foreign key; not null not null  
字段 id name summary main_image
描述 编号 名称 介绍 图片url
数据类型 int string string string
约束 pk not null    
字段 id file_key
描述 编号 文件名
数据类型 int string
约束 pk not null

3.2 逻辑结构设计

本数据库包含的关系如下所示

关系名 x : y
Own User : Cart = 1 : N
Obtain User : Coupon = 1 : N
Is User : Administrator = 1 : N
Make User : Order = 1 : N
Refer to Dish : Cart = 1 : N
Manage Administrator : Restaurant = 1 : N
Cook Restaurant : Dish = N : N
Use Order : Coupon = 1 : N
Have Order : Comment = 1 : 1
Maintain Restaurant : FoodCat = 1 : N
Has Restaurant : FoodStockChangeLog = 1 : N
Include Order : Cart = 1 : N

3.3 物理结构设计

本数据库基于sqlalchemy与mysql,故无需考虑物理结构设计

4.1 数据字典设计

本数据库中未涉及数据字典。

4.2 安全保密设计

本数据库基于mysql,其安全属性由 mysql 提供保障。

在 User 数据表中,对每一个用户的密码都给予了加密处理,以确保用户密码的安全。


版本 日期 描述 作者
V1.1 2019-5-31 初稿 Nathan

ER图

数据库ER图

数据库实体说明

数据库关系说明