SQL数据库系统设计之食堂管理系统

本文档详细介绍了食堂管理系统的数据库设计,包括需求分析、概念结构设计、逻辑结构设计和数据库实现。系统涵盖职员、物品、席位和学生消费等管理模块,使用SQL创建表并插入数据,同时涉及视图创建和数据更新操作。
摘要由CSDN通过智能技术生成

目 录
1数据库设计 1
1.1 需求分析 1
1.2 需求分析实现的过程
1.3 概念结构设计 1
1.3.1 概念结构设计的方法 1
1.3.2 概念结构设计的E-R图 2
1.3.3 逻辑结构设计
2数据库的实现 3
2.1数据库图表的建立………………………………………………………………………1
2.2数据库的代码实现…………………………………………………………………….2
2.2界面的实现……………………………………………………………………………2
3总结 4

1.数据库设计
1.1 需求分析
1.1.1需求分析的任务
计算机是现代食堂管理的重要组成部分其主要包括:职员资料管理、物品管理、消费内容管理、席位管理、客户评价管理,工资管理等,计算机对于食堂的管理越来越重要,食堂离不开计算机的应用,因此设计一个食堂管理系统具有非常大的实际价值和意义。
1.1.2需求分析的过程
现代食堂主要功能模块是:职工信息管理,食堂各个区域的管理,物品管理,学生信息管理。下面分别对职工以及学生的模块进行描述。
(1) 职工信息的管理,职工的工资,评价等的相关管理
(2) 食堂各区域的详细情况,属于哪个人员复制
(3) 食堂物品的保管以及日常维护
(4) 学生的消费情况
1.3概念模型的设计
1.3.1 概念模型的主要特点:
(1)能真实的反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型。
(2)易于理解,可以用和它不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时容易对模型进行修改和扩充。
(4)易于向关系,网状,层次等各种数据模型转换。
1.3.2 E-R模型
设计整体E-R图:
E-R图如图所示

1.3.3逻辑结构设计
(1)E-R图向关系模式的转换
职员资料表(职员编号,姓名,职位,性别,民族,出生日期,身份证号,婚姻状况,家庭地址,联系电话,工资,评价级别)
物品表(物品编号,物品名字,所属类型,价格,是否售罄,品牌)
席位表(席位号,负责人编号,人数,状态,日期)
学生购买情况(类型,购买学生,数量,方式,金额,日期)
学生表(姓名,学生编号,性别)

                    2数据库的实现

2.1数据库图表的建立

二涉及的表

职员资料

属性 类型 大小 是否为空 约束
职员编号 char 6 否 主键。6位数
姓名 varchar 20 否
职位 varchar 20 否
性别 Char 2 否,默认“男” 男或女
民族 varchar 10 否,默认“汉族”
出生日期 datetime 否
身份证号 char 18 否
婚姻状况 char 4 否,默认“未婚” 未婚或已婚
家庭地址 varchar 30 否
联系电话 varchar 11 否
工资 money
评价级别 Char 4

物品表

属性 类型 大小 是否为空 约束
物品编号 char 6 否 主键。6位数
物品名字 varchar 20 否
所属类型 char 4 否,默认“主食” 主食、饮料或其他
价格/元 int 否
是否售馨 char 2 否,默认“否” 是或否
品牌 varchar 30 是

席位表

属性 类型 大小 是否为空 约束
席位号 char 6 否 主码,6位数
负责人编号 外码
人数 int 否,默认“8” 1至20
状态 char 4 否,默认“空闲” 正在使用,预定或空闲
日期 datetime 否

属性 类型 大小 是否为空 约束
类型 char

添加用户流程图 用户输入有效用户名和密码后,单击确定,就可完成用户的添加,当用户名存在是,系统自动提示用"对不起,用户名已经存在,请重新输入用户名!"。 按钮核心代码为: } if (m_userpsw == "") { MessageBox("请输入密码"); //如果密码为空,则提示用户输入密码 return; } if (m_userpsw != m_userpsw2) { MessageBox("两次输入的密码不一样,请重新输入!"); //如果两次输入的密码不一致,则提示用户重新输入 return; } CString str,strSQL; strSQL="insert into userinf(username,userpassword) \ values(''" + m_username + "'',''" + m_userpsw + "'')"; db.ExecuteSQL(strSQL); // 执行SQL语句,将用户名和密码添加到userinf表中 6.1.2 用户修改窗体的建立 单击“用户管理/用户修改”菜单时,可弹出用户修改窗体,如图13所示: 图13 用户修改图 用户输入有效用户名和密码后,单击确定,就可完成用户的更新。 按钮核心代码为: …… ; db.ExecuteSQL(strSQL); // 执行SQL语句,修改userinf表中的该用户信息 6.1.3 用户删除窗体的建立 单击“用户管理/用户删除”菜单时,可弹出用户删除窗体,如图14所示: 图14 用户删除图 删除用户流程图如图15所示: 用户输入有效用户名和密码后,单击确定,就可完成用户的删除。如果用户名不存在,系统会弹出"对不起,用户信息输入有误,请重新输入用户名!"提示框。 图15 删除用户流程图 按钮核心代码为: sql.Format("select * from userinf where username=''%s''and userpassword=''%s'' ",m_username,m_userpsw); 图16 员工查询图 系统员工查询系统流程如图17所示: 图17 员工查询流程图 当输入有效的员工号,单击确定按钮,在列表中就显示出该员工各种信息,当输入的员工号不存在时,系统会提示“没有符合的信息记录!”。 按钮核心的代码为: …… Workerinf.m_strFilter = "workerid = ''"+m_workerid+"''"; //过滤字符串即查询条件 Workerinf.Open(); //获得有效的记录集 m_Listctr.DeleteAllItems(); } [10] ... >> 工资管理系统设计(论文+流程图+源代码+下载) 6.1.4 员工统计窗体的建立 单击“员工管理/员工统计”菜单,可弹出员工统计窗体,如图18所示: 图18 员工统计图 系统员工统计系统流程如图19所示: 图19 员工统计流程图 当输入有效的部门名,单击确定按钮,在列表中就显示出该该部门所有员工的各种信息。 按钮核心的代码为: …… Workerinf.m_strFilter = "departname = ''"+m_departname+"''"; //过滤字符串即查询条件 Workerinf.Open(); //获得有效的记录集 m_Listctr.DeleteAllItems(); Workerinf.Requery(); //开始查询 …… 6.1.5 员工更新窗体的建立 单击“员工管理/员工更新”菜单,可弹出员工更新窗体,如图20所示: 当输入有效的员工号,单击确定按钮,在列表中就显示该员工的各种信息。用户各种新的信息输入完成,单击修改按钮,完成员工信息的输入。 图20 员工更新图 员工信息更新系统流程如图21所示: 图21 员工更新流程图 按钮核心的代码为: …… MessageBox("对不起,该员工号不存在,请重新输入员工号!"); //弹出提示对话框 …… CString strSQL; strSQL="update workerinf set\ workerid=''" + m_id …… + "'' where workerid=''"
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值