点餐数据库
第一部分调查用户需求
本系统的最终用户为顾客,管理员。
一、餐馆的基本情况:
顾客到餐馆自助点餐,每个餐桌上都配有点餐设备,点餐之后通过网银结账,等餐,吃饭。
(1)订单信息:餐桌号,菜的编号,价格,
(2)餐馆的菜单信息:菜的编号,菜名,价格
(3)管理员:编号,姓名,登录系统密码
(4)发票信息:发票编号,日期,价格,收款人
二、用户对系统的要求:
A、信息要求
1、订单信息:餐桌号,菜的编号,价格
2、餐馆的菜单信息:菜的编号,菜名,价格
3、发票信息:发票编号,日期,价格,管理员
B、处理要求
1、当顾客订单信息发生改变时,能自行进行修改。比如某些顾客加菜时,顾客点餐信息就应该做相应的修改。
2、当餐馆的菜单信息需要发生变更时,管理员能对其进行修改。
3、当顾客结账后,管理员能根据其订单通知厨房做菜并打印发票。
4、顾客结账后就餐。
C、安全性与完整性要求
安全性要求:
(1)系统应设置访问用户的标识以鉴别是否是合法用户,即是否为管理员,并要求合法用户设置其密码,保证用户身份不被盗用。
完整性要求:
(1)各种信息记录的完整性,信息记录内容不能为空
(2)各种数据间相互联系的正确性
(3)相同数据在不同记录中的一致性
第二部分系统功能的设计和划分
1、管理员可以查询顾客的订单信息
2、管理员可以更新餐馆的菜单信息
3、管理员可以修改顾客的订单信息
4、管理员可以修改登录密码
5、管理员可以根据订单开发票。
6、顾客可以查看餐馆的菜单信息
7、顾客可以更新自己的订单信息
第三部分数据流图
接收订单流图:
菜单信息菜单信息
顾客查看菜单点菜
订单信息
结账
订单信息
管理员
处理订单流图:
订单记录本
订单
登记订单分配订单号上菜
已登记的订单编号好的订单
菜
顾客
加餐流图:
订单记录本
加餐信息
顾客修改订单
管理员开发票流图:
顾客
订单信息
管理员开发票发票记录本
发票编过号的发票
分配发票号订单记录本
总数据流图:
订单信息订单信息订单信息
顾客下单付款管理员处理订单订单加餐信息信息
订单
信息
订单记录本
管理员
开发票
订单信息
发票记录表
E-R图:
1
提供
m m n 1 m
点餐 1 m 管理员 1
第四部分 数据字典
1.数据项:
菜单数据字典: 属性名 存储代码 类型 长度 备注
菜名 Rname char 20 餐馆所有菜的菜名 价格 Rpri char 4 餐馆菜的价格 菜的编号 Rno char 20
餐馆菜的编号
管理员数据字典:
属性名 存储代码 类型 长度 备注 管理员编号 Sno char 20 管理员的编号 姓名 Sname char 20 管理员的姓名 用户密码 Spassword
char
6
管理员自己设置的密码
订单数据字典: 属性名 存储代码 类型 长度 备注 座位号 Cno char 20 顾客的订单号 菜的编号 Rno char 20 顾客点的菜的编号 价格 Rpri char 4 菜的价格 发票编号 Bno
char
20
发票编号
发票数据字典: 属性名 存储代码 类型 长度 备注 发票编号 Bno char 20 发票编号 日期 Bda char 20 开票日期 总价 Rpri char 4 消费价钱 管理员姓名 Sname
char
20
管理员姓名
2.数据结构:
管理员 订单
顾客 开发票 发票
支付
菜单
数据结构名组成
菜单信息菜的编号,菜名,价格
订单信息座位号,菜的编号,价格,管理员编号
管理员信息管理员员编号,姓名,用户密码
发票信息发票编号,日期,价格,管理员姓名
3.数据流:
数据流名数据流来源数据流去向组成
点餐信息顾客订单表订单信息处理信息订单表管理员订单信息结算信息管理员订单表已处理信息查询信息菜单表管理员菜单信息修改信息管理员菜单表已修改信息加餐信息顾客订单表订单信息发票信息管理员顾客发票信息
4.数据存储:
数据存储名说明输入的数据流输出的数据流组成
订单表顾客点餐的订单表订单信息
已处理信息订单信息订单信息
已处理信息
菜单表餐馆所有菜的信息菜单信息
已修改信息菜单信息菜单信息
已修改信息
发票表餐馆所开发票发票信息发票信息发票信息
5.处理过程
处理过程名输入数据流输出数据流
顾客加餐菜单表订单表
录入订单信息订单表订单表
查询菜单信息菜单表订单表
结算菜单信息订单表订单表
修改菜单信息菜单表菜单表
开发票管理员发票
第五部分概念结构设计
一、概念结构设计:
根据需求分析中画出的点餐系统的数据流图,可以看出在餐馆点餐系统中一切活动都是以顾客为核心,而各种处理也是由顾客主动去完成,如点餐、结账等。在整个数据流图中顾客处于核心地位,而餐馆的各个职能部门则完成相应的数据处理操作,如在结账后由管理员通知厨房做菜并开发票。在需求分析中我们从分析餐馆的结构入手,我们得出点餐系统存在着5个方面的需求,从而可以设计出5个概念模式,为下一步的概念结构设计打好基础,这五个概念模式为:顾客点餐,管理员查询订单,管理员处理订单,顾客加餐和管理员开发票。
点餐系统
顾客点餐管理员查询订单管理员处理订单顾客加餐管理员开发票
点餐系统概念结构
(1)分数据流图在第三部分
(2)对应于各个分数据流图的E—R图设计为:
(3)实体及相应的属性
1.菜单:{菜编号,菜名,菜价};
2.订单:{座位号,菜编号,菜价,发票号};
3.管理员:{管理员编号,管理员姓名,管理员性别,年龄,出生日期,身份证号码,用户密码};
4.发票:{发票号,日期,总价,管理员编号,管理员姓名}
二、逻辑结构设计:
在概念设计的基础上,根据设计得到系统总的E-R图,按照概念模式与关系表转化的一般规则,结合实际的需要进行逻辑设计,E—R图中的实体、实体的属性和实体之间的联系转化为关系模式。最后生成的关系及关系表如下(同时附说明):
1.菜单:{菜编号,菜名,菜价};
说明:由菜单生成的关系模式,
2.订单:{座位号,菜编号,菜价,发票号};
说明:由订单生成的关系模式,由于订单跟菜单的联系是1:n,故将菜单的主码菜编号加入到订单关系模式中。
3.管理员:{管理员编号,管理员姓名,用户密码};
说明:由管理员生成的关系模式
4.发票:{发票号,日期,总价,管理员编号}
说明:由发票生成的关系模式,由于发票跟管理员的联系是n:m,故将管理员的主码管理员编号加入到发票关系模式中。
三、物理结构设计:
需要建立索引的属性:
属性名对应实体属性名对应实体菜名某种菜座位号座位
价格某种菜发票编号发票
菜的编号某种菜日期发票
管理员编号管理员总价点的所有菜姓名管理员
用户密码管理员