基于数据库的学校餐饮管理系统设计

您所在的位置:网站首页 食堂刷卡机上各按键设置方法 基于数据库的学校餐饮管理系统设计

基于数据库的学校餐饮管理系统设计

2024-07-09 12:19| 来源: 网络整理| 查看: 265

一、需求分析

该数据库的目的是,管理学校餐饮系统。实现对就餐者(教职工、学生)消费,食堂窗口收益,工作人员工作等信息的统计、管理。待实现的功能主要有: 1、就餐者凭饭卡在食堂消费就餐,每张饭卡与每个就餐者唯一对应。饭卡中记录有持有者的个人信息及充值情况(余额)等。 2、学校有多个校区,每个校区又有多个食堂。就餐者可根据便利情况自由选择,在任意食堂的任意窗口消费就餐。 3、每个食堂中有多个窗口,每个窗口又有多种菜品。窗口有卡机,供就餐者刷卡消费。在相应窗口工作的多名工作人员,均可操作卡机,并在卡机上查看盈利情况。 4、每次刷卡消费时,通过卡机,从就餐者饭卡中扣费,并增加至窗口盈利情况中。刷卡消费成功,卡机滴声提示,若饭卡中余额不足,消费失败,卡机也显示告知。 5、就餐者可根据信息,从网上查到自己每次的消费就餐记录,包括什么时间在哪个食堂的哪个窗口,消费了价值多少的菜品;工作人员可查到自己所在窗口的收益情况,包括什么时间售出了价值多少的菜品;管理人员可查看并修改所有信息,包括就餐者的个人信息、消费情况、充值情况,窗口的基本信息、盈利情况,工作人员的个人信息等。

二、概念设计

1、实体属性 该数据库包括六个实体:就餐者、食堂、窗口、菜品、工作人员、用户 (1)、就餐者(包括教职工和学生),属性包括:证件号(及教职工的工号和学生的学号)、姓名、性别、类型(即为老师还是学生)、院系、余额 (2)、食堂,属性包括:名称、所在校区 在这里插入图片描述 (2)、食堂,属性包括:名称、所在校区 在这里插入图片描述 (3)、窗口,属性包括:名称、所在食堂、盈利 在这里插入图片描述 (4)、菜品,属性包括:名称、所属窗口、价格 在这里插入图片描述 (5)、工作人员,属性包括:工号、姓名、性别、所在窗口 在这里插入图片描述 (6)、用户,属性包括:用户名、密码、权限(用户名,对教职工来说是工号,对学生来说是学号,对管理员来说是NULL) 在这里插入图片描述 2、实体联系 (1)、一个就餐者一次购买一种或多种菜品,“消费”关系,一对多,此关系具有属性“消费时间” (2)、一种菜品属于一个窗口,一个窗口有多种菜品,“属于”关系,一对多 (3)、一个窗口位于一个食堂内,一个食堂有多个窗口,“属于”关系,一对多 (4)、一个工作人员在一个窗口工作,一个窗口有多名工作人员,“工作”关系,一对多,此关系具有属性“工作时间” (5)、就餐者、工作人员、管理者均为用户,“属于”关系,一对一 在这里插入图片描述 3、完整的E-R图 (1)、合成初步E-R图 在这里插入图片描述 (2)、消除冲突,设计基本E-R图 菜品的名称、窗口的名称、食堂的名称均称为“名称”,存在命名冲突。为消除冲突,分别改为菜品名、窗口名、食堂名 在这里插入图片描述

三、逻辑设计

转化为关系模式: 1、就餐者(证件号,姓名,性别,类型,院系,余额) R1(U1,F1) U1={证件号,姓名,性别,类型,院系,余额} F1={证件号->姓名,证件号->性别,证件号->类型,证件号->院系,证件号->余额} 候选码:证件号 主属性:证件号 非主属性:姓名,性别,类型,院系,余额 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

2、食堂(食堂名,所在校区) R2(U2,F2) U2={食堂名,所在校区} F2={食堂名->所在校区} 候选码:食堂名 主属性:食堂名 非主属性:所在校区 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

3、窗口(窗口名,食堂名,盈利) R3(U3,F3) U3={窗口名,食堂名,盈利} F3={窗口名->食堂名,窗口名->盈利} 候选码:窗口名 外码:食堂名 主属性:窗口名 非主属性:食堂名,盈利 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

4、菜品(菜品名,窗口名,价格) R4(U4,F4) U4={菜品名,窗口名,价格} F4={菜品名->窗口名,菜品名->价格} 候选码:菜品名 外码:窗口名 主属性:菜品名 非主属性:窗口名,价格 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

5、工作人员(工号,姓名,性别,窗口名,工作时间) R5(U5,F5) U5={工号,姓名,性别,窗口名,工作时间} F5={工号->姓名,工号->性别,工号->窗口名,工号->工作时间} 候选码:工号 外码:窗口名 主属性:工号 非主属性:姓名,性别,窗口名,工作时间 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

6、用户(用户名,密码,权限) R6(U6,F6) U6={用户名,密码,权限} F6={用户名->密码,用户名->权限} 候选码:用户名 主属性:用户名 非主属性:密码,权限 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

7、消费(证件号,姓名,菜品名,消费时间) R7(U7,F7) U7={证件号,姓名,菜品名,消费时间} F7={证件号->姓名,证件号、菜品名->消费时间} 候选码:证件号、菜品名 外码:证件号、菜品名 主属性:证件号、菜品名 非主属性:姓名、消费时间 不存在非主属性对码的部分函数依赖,不存在非主属性对码的传递函数依赖,不存在主属性对码的部分和传递函数依赖,不存在非平凡且非函数依赖的多值依赖 达到4NF

建立视图: 1、就餐者信息视图 此视图用于管理者查看就餐者信息,包括:证件号,姓名,性别,类型,院系,余额,菜品名,消费时间 2、窗口信息视图 此视图用于管理者查看窗口信息,包括:窗口名,食堂名,盈利,菜品名,消费时间 3、消费信息视图 此视图用于就餐者查看消费信息,包括:证件号,余额,窗口名,菜品名,消费时间 4、盈利信息视图 此视图用于工作人员查看盈利信息,:包括:盈利,菜品名,消费时间

四、物理设计

1、就餐者 在这里插入图片描述 2、食堂 在这里插入图片描述 3、窗口 在这里插入图片描述 4、菜品 在这里插入图片描述 5、工作人员 在这里插入图片描述 6、用户 在这里插入图片描述 7、消费 在这里插入图片描述 (注:就只是进行了理论设计,还没有具体代码实现啦)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3