点菜系统数据库设计说明书
1引言
1.1编写目的
目前大多数酒店由于规模的限制,忽略了点菜系统的重要性,而本系统专为具有一定规模和经济条件的大型酒店设计。通过集成从顾客定桌、点菜、上菜到结帐等一系列功能,为每个环节明确分工,并通过可视化的软件支持,有效减小了人为差错的概率,代之以高效、便捷、准确的数字化服务系统,使酒店的管理更加规范化。
1.2定义
1、系统名称:酒店点菜信息系统
2、数据库管理软件:Microsoft SQL Server
3、数据库设计人员:王大为、赵剑锋、袁媛、唐小若、秦夏
4、使用本数据库的程序:。。。
5、数据库设计采用软件:Microsoft Office Visio 2003
6、系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。
7、运行平台:windows 2000/xp/linux
1.3参考资料
列出有关的参考资料:
2需求分析
2.1功能分析(需不需要再分)
1、服务员信息的管理:查询、增、删、改
2、菜单信息的管理:查询、增、删、改
3、厨师信息的管理:查询、增、删、改
4、房间信息的管理:查询、增、删、改
5、餐桌信息的管理:查询、增、删、改
6、前台定桌:顾客可以根据自己的需求,选择不同型号的房间或大厅
7、房间/大厅点菜:服务员按照用户需求为其点菜并提交菜单给厨房
8、厨师和菜的分组:厨师和菜分别分组,每组厨师和一组菜一一对应,该组每位厨师会做该组所有的菜。(本条目位置)
9、厨师做菜管理:厨师可以获得自己的待做菜单,并对已做的菜进行标记。
10、上菜管理:服务员对已上菜和待上菜进行管理。
11、结帐服务:审核菜单,协助顾客结帐。
2.2业务活动
2.3数据字典
1、数据项
编号 | 数据项名称 | 说 明 部 分 | 编号 | 数据项名 称 | 说 明 部 分 |
1 | 服务员号 | 字符串类型 有唯一性 | 2 | 服务员姓名 | 文本类型 长度为20字符 |
3 | 性别 | 字符串类型 男、女 | 4 | 服务员年龄 | 整数类型 18-100 |
5 | 服务员参加工作时间 | 时间类型 **/** | 6 | 房间号 | 字符串类型 有唯一性 |
7 | 房间容纳人数 | 整数类型 | 8 | 餐桌数 | 整数类型 |
9 | 房间状态 | 枚举类型 满、空 | 10 | 房间类型 | 枚举类型 大、中、小 |
11 | 房间负责人 | 参照“服务员号” | 12 | 桌号 | 字符串类型 有唯一性 |
13 | 餐桌容纳人数 | 整数类型 | 14 | 餐桌房间号 | 参照“房间号” |
15 | 餐桌状态 | real 忙:1;空闲:0 | 16 | 菜号 | 字符串类型 有唯一性 |
17 | 菜名 | 文本类型 有唯一性 | 18 | 价格 | 字符串类型 |
19 | 菜类别号 | 整数类型 菜所属的类别 | 20 | 厨师号 | 字符串类型 有唯一性 |
21 | 厨师职称 | 文本类型 | 22 | 厨师状态 | 枚举类型 忙、闲 |
23 | 点菜时间 | 时间类型 | 24 | 备注 | 文本类型 |
25 | 房间名称 | 字符串类型 长度为20 | 26 | 服务员职位 | 文本类型 长度为20字符 |
27 | 厨师姓名 | 文本类型 长度为20字符 | 28 | 厨师性别 | 字符串类型 男、女 |
29 | 厨师参加工作时间 | 时间类型 **/** | 30 | 厨师年龄 | 整数类型 18-100 |
31 |
|
| 32 |
|
|
33 |
|
| 34 |
|
|
35 |
|
|
|
|
|
2、数据结构
编号 | 数据结构名 | 属 性 |
1 | 服务员 | 服务员号、姓名、性别、出生日期、参加工作时间、备注 |
2 | 房间 | 房间号、容纳人数、餐桌数、房间类别、状态、备注 |
3 | 餐桌 | 餐桌号、容纳人数、房间号、状态、备注 |
4 | 菜 | 菜号、菜名、价格、菜类别号 |
5 | 厨师 | 服务员号、姓名、性别、出生日期、参加工作时间、职称、菜类别号、备注 |
6 | 服务员分工 | 服务员、餐桌、开始时间、结束时间 |
7 | 点菜 | 服务员、厨师、房间、餐桌、菜、点菜时间、是否已做、是否已上 |
3、数据流
编号 | 数 据 流 名 | 输 入 | 输 出 |
1 | 变更服务员 | 变更信息 | 服务员信息 |
2 | 查询服务员 | 服务员号 | 服务员信息 |
3 | 变更厨师 | 变更信息 | 厨师信息 |
4 | 查询厨师 | 厨师号 | 厨师信息 |
5 | 变更房间 | 变更信息 | 房间信息 |
6 | 查询房间 | 房间号 | 房间信息 |
7 | 变更餐桌 | 变更信息 | 餐桌信息 |
8 | 查询餐桌 | 桌号 | 餐桌信息 |
9 | 变更菜单 | 变更信息 | 菜单信息 |
10 | 菜单 | 菜号 | 菜名、菜价 |
11 | 查询空闲房间 | 房间状态限制条件 | 空闲房间信息 |
12 | 查询空闲餐桌 | 餐桌状态限制条件 | 空闲餐桌信息 |
13 | 结账 | 餐桌号 | 用餐信息 |
14 | 提交点菜请求 | 服务员号、桌号、日期、菜号 | 点菜信息 |
15 | 获得点菜请求 | 点菜信息 | 菜号、桌号、房间号、菜名 |
16 | 提交做菜信息 | 菜号、桌号 | 点菜信息 |
17 | 提交上菜信息 | 菜号、桌号 | 点菜信息 |
18 | 变更厨师分工信息 | 厨师号、菜号 | 厨师分工信息 |
19 | 预定餐桌 | 餐桌号 | 餐桌信息 |
20 | 预定房间 | 房间号 | 房间信息 |
21 | 交款 | 桌号 | 餐桌信息、房间信息 |
|
|
|
|
|
|
|
|
4、数据存储
数据存储名 | 输入数据流 | 输出数据流 | 说 明 部 分 |
服务员信息 | 变更服务员 | 查询服务员 提交点菜请求 |
|
厨师信息 | 变更厨师 | 查询厨师 获得点菜请求 |
|
房间信息 | 变更房间 | 查询房间 提交点菜请求 查询空闲房间 |
|
餐桌信息 | 变更餐桌 | 查询餐桌 提交点菜请求 查询空闲餐桌 提交做菜信息 提交上菜信息 |
|
菜单信息 | 变更菜单 | 结账 提交点菜请求 |
|
点菜信息 | 提交点菜请求 提交做菜信息 提交上菜信息 | 结账 获得点菜请求 |
|
服务员分工信息 | 变更服务员分工信息 |
|
|
|
|
|
|
5、处理过程
处理过程名 | 输入数据流 | 输出数据流 | 说 明 部 分 |
顾客登记 | 终端 | 变更房间 变更餐桌 |
|
点菜 | 终端 | 提交点菜请求 获得点菜请求 |
|
做菜 | 获得点菜请求 | 提交做菜信息 |
|
上菜 | 提交做菜信息 | 提交上菜信息 |
|
顾客结账 | 结账 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.4数据流图
1、顶层进程――点菜系统
2、第二层
1)进程1――查询定桌系统
2)进程2――点菜系统
3)进程3――做菜系统
4)进程4――结帐系统
3结构设计
3.1概念结构设计
3.2逻辑结构设计
3.2.1基本表
1、服务员基本表
属性名 | 类型 | 长度 | 说明 | |
服务员号 | WAITER_NO | CHAR | 10 | 酒店统一编号,具有唯一性 |
服务员姓名 | WAITER_NAME | CHAR | 20 | 服务员名称 |
服务员性别 | WAITER_SEX | CHAR | 4 | 服务员性别 |
服务员年龄 | WAITER_AGE | INT |
| 18~100 |
服务员参加工作时间 | WENTERTIME | DATE |
| 参加工作时间 |
职位 | POST | CHAR | 20 | 普通或是负责人 |
2、房间基本表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
房间号 | ROOM_NO | CHAR | 10 | 酒店统一编号,具有唯一性 |
房间名 | ROOM_NAME | CHAR | 20 | 房间名称 |
房间容纳人数 | ROOM_VOLUM | INT |
| 房间容纳人数 |
桌子数 | NUMOFTABLE | INT |
| 1~10 |
型号 | ROOM_SIZE | CHAR | 6 | 小、中、大、豪华 |
房间状态 | STATUS | BOOLEAN |
| 忙:1;空闲:0 |
房间负责人 | ROOM_MANAGER | CHAR | 10 | 外码,依据服务员表的服务员号 |
3、桌子基本表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
桌子号 | TABLE_NO | CHAR | 10 | 酒店统一编号,具有唯一性 |
桌子容纳人数 | TABLE_VOLUM | INT |
| 桌子容纳人数 |
桌子房间号 | TABLE_ROOM | CHAR | 10 | 外码,依据房间基本表中的房间号 |
桌子状态 | STATUS | BOOLEAN |
| 忙:1;空闲:0 |
PS:大厅的房间号为“0”。
4、菜表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
菜号 | DISH_NO | CHAR | 10 | 酒店统一编号,具有唯一性 |
菜名 | DISH_NAME | CHAR | 20 | 菜名 |
价格 | PRICE | FLOAT |
| 菜的价格 |
菜类别 | DISH _CLASS | INT |
| 菜所属类别 |
5、厨师基本表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
厨师号 | COOK_NO | CHAR | 10 | 酒店统一编号,具有唯一性 |
厨师姓名 | COOK_NAME | CHAR | 20 | 厨师姓名 |
厨师性别 | COOK_SEX | CHAR | 4 | 厨师性别 |
厨师年龄 | COOK_AGE | INT |
| 18~100 |
厨师参加工作时间 | CENTERTIME | DATE |
| 参加工作时间 |
厨师职称 | PROTITLE | CHAR | 20 | 初、中、高级等 |
厨师状态 | STATUS | BOOLEAN |
| 忙:1;空闲:0 |
6、桌子—服务员表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
服务员号 | WAITER_NO | CHAR | 10 | 外码:依据服务员表中的服务员号 |
桌号 | TABLE_NO | CHAR | 10 | 外码:依据桌子表中的桌号 |
点菜时间 | MENUTIME | DATE |
| 提交菜单时间 |
7、点菜表
属性中文名称 | 属性名 | 类型 | 长度 | 说明 |
服务员号 | WAITER_NO | CHAR | 10 | 外码:依据服务员表中的服务员号 |
桌号 | TABLE_NO | CHAR | 10 | 外码:依据桌子表中的桌号 |
房间号 | ROOM_NO | CHAR | 10 | 外码:依据房间表中的房间号 |
菜号 | DISH_NO | CHAR | 10 | 外码:依据菜表中的菜号 |
厨师号 | COOK_NO | CHAR | 10 | 外码:依据厨师表中的厨师号 |
点菜时间 | MENUTIME | DATE |
| 提交菜单时间 |
是否做完 | MADE | BOOLEAN |
| 默认:false(未做完) |
是否上菜 | SERVED | BOOLEAN |
| 默认:false (未上) |
3.2.2视图
1、空闲房间(房间号,负责人)
从房间基本表导出
2、大厅空闲桌(桌号,可容纳人数)
从桌子基本表导出
3、所有房间、桌空闲信息(房间号,桌号,空闲状态)
从房间和桌子基本表导出
4、结帐(房间号,桌号,菜号,菜名,单价)
从点菜表、菜表导出
5、服务员点菜生成视图
菜单(桌号,服务员号,点菜时间,菜的编号,菜号,菜名,价格,是否已上)
从点菜表、菜表导出
6、厨师做菜视图
做菜(房间号,桌号,菜号,菜名,是否已上)
从点菜表、菜表导出
3.3物理结构设计
建立系统程序员视图,包括:
a. 数据在内存中的安排,包括对索引区、缓冲区的设计;
b. 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c. 访问数据的方式方法。
4运用设计
4.1安全保密设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
4.2系统运行与维护
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。