
食堂消费管理系统.doc
34页郑州轻工业学院本科数据库课程设计总结报告设计题目:食堂消费管理系统学生姓名:系 别:专 业:班 级:学 号:指导教师:2011 年 11月 20 日郑州轻工业学院课 程 设 计 任 务 书题目 食堂消费管理系统 专业、班级 学号 姓名 主要内容:系统数据初始化;餐卡基本信息录入与修改;职工工资标准基本设定;员工工资查询;系统用户设定,密码修改等基本要求:立足于高校工资管理的实际事务,开发具有价值的工资管理专用软件,实现工资管理自动化,提高工作效率,减少手工工作方式难以避免的数据错漏主要参考资料等:《数据库系统概论》 作者:王珊 萨师煊 出版社:高等教育出版社《SQL Server2005中文版关系数据库基础与实践教程》作者:周峰 出版社:电子工业出版社.《SQL Server数据库开发实例精粹》 作者:徐国智 汪孝宜 等 出版社:电子工业出版社完 成 期 限: 两周 指导教师签名: 课程负责人签名: 年 月 日目录课 程 设 计 任 务 书 21.需求分析 41.1系统目标: 41.2系统功能需求: 41。
3开发工具: 51.4系统的数据流图: 515 数据字典 62数据库的概念设计 821系统的概念模型: 822 将概念模型转换成关系模型 1022.1将E-R模型转换为关系模式 1022.2 数据库表结构设计: 1222.3实现数据完整性: 153开发工具 164.1基本流程图 16数据库设计 174.2总体结构和外部模块 175详细设计 1851表的设计 1852关系模式设计 1953存储过程设计和部分sql语句代码 1954关键代码及操作 20程序实现部分 29对本设计的简单评述,总结 34参考文献 34食堂消费管理系统1.需求分析11系统目标:实现一个食堂消费管理系统,完成餐卡信息管理,餐卡信息查询,窗口信息管理,餐卡消费管理和窗口信息查询等功能2系统功能需求: 本系统管理员能够对餐卡信息增加,修改,查询,删除等 功能划分: 用户通过身份验证后进入主界面.主界面为超级用户提供5项选择:餐卡办理,餐卡挂失,餐卡充值,餐卡解除挂失,餐卡查询功能描述:l 餐卡办理:管理员通过插入表和更新表来为餐卡使用人员办理新卡新生报到时,学生要到管理员那里办理新卡,管理员通过插入表信息来办理当卡主的卡丢失或损坏且确定要办理新卡时,管理员通过更新表的信息来办理新卡。
l 餐卡挂失当学生的餐卡找不到但是不能确定还能否找到时,学生可以到擦卡管理员那里去挂失管理员通过修改表的信息暂时禁用此卡l 餐卡解除挂失学生找到丢失的餐卡后,可以到管理员那里解除挂失管理员通过修改表的信息让此卡能从新使用.l 餐卡充值餐卡余额不足时,学生可能无法到食堂消费,此时要到管理员那里充值管理员通过修改表的信息为餐卡充值.l 餐卡查询就餐时可能出现刷错卡的情况,当刷错卡但是刷卡人员没有注意到时两方就会产纠纷,这时要到餐卡管理员那里查询消费情况.1.3开发工具:该综合教务系统的数据库采用了Microsoft的SQL Server2000企业版,前台应用程序采用了Java编写.1.4系统的数据流图:了解用户的应用要求,使用信息流程图分析应用系统中的信息流.食堂消费管理系统的简单信息流如下1)系统的上下文数据流图如图5—381.5 数据字典数据项名:学生编号说明: 标识每个学生身份类型: CHAR长度: 7别名: 学号取值范围:970000-979999数据流名:选课申请说明: 由学生的个人信息,欲选课程信息组成选课申请来自过程:无流至过程:身份验证数据结构:学生个人信息 欲选课信息数据结构:学生个人信息说明: 说明了学生的个人情况。
组成: 帐号 密码数据存储:上课时间信息说明: 说明了每门课的上课时间,一门课可以有多个上课时间,同一时间可以有多门课程在上课输出数据流:课程上课时间数据描述:课程编号 上课时间数量: 每学期20-30个存取方式:随机存取处理过程:身份验证说明: 对学生输入的帐号,密码进行验证,确定正确,得到相应的学生编号.输入: 学生帐号 密码 选课的课程编号输出: 学生编号 选课的课程编号2数据库的概念设计2.1系统的概念模型:上图是食堂消费管理的概念模型的E/R图,该系统涉及的实体集有:管理员实体集:具有属性账号,工号ID和密码餐卡实体集:具有属性卡号,是否挂失和金额.卡主实体集:具有属性卡号,证件号和姓名窗口实体集:具有属性窗口号和机器号窗口负责人实体集:具有属性姓名,年龄和性别菜实体集:具有属性菜名,价格和种类.厨师实体集:具有属性姓名,年龄和性别一个管理员可以管理多张餐卡,所以管理员和餐卡之间的管理联系是1:n的联系.一张餐卡只属于一个卡主,每个卡主只有一张餐卡,所以餐卡与卡主之间的联系是1:1的联系。
一个卡主可以到多个窗口消费,多个卡主可以到一个窗口消费,所以卡主与窗口之间的联系是n:m的联系一个窗口可以出售多种菜,每种菜也可以被多个窗口出售,所以窗口与菜之间的联系是m:n的联系2 将概念模型转换成关系模型2.2.1将E—R模型转换为关系模式 (1) 管理员实体集可以转换为关系: 管理员(账号,ID,密码) (2) 餐卡实体集可以转换为关系 餐卡(卡号,是否挂失,金额) (3) 卡主实体可以转换为关系卡主(证件号,姓名)(4)窗口实体可以转换为关系 窗口(窗口号,机器号)(5)窗口负责人实体可以转换为关系 窗口负责人(姓名,性别,性别)(6)菜实体可以转换为关系 菜(菜名,价格,种类)(7)厨师实体可以转换为关系 厨师(姓名,性别,年龄) (8) 卡主与餐卡之间的联系是1:1的联系,所以没有必要为其建立一个关系,可以通过扩展卡主关系来表示: 卡主(证件号,姓名,卡号) (9) 管理员,餐卡之间的操作联系可以转换为关系: 操作(ID,卡号) (10) 餐卡和窗口之间的消费联系可以转化为关系: 消费(卡号,窗口号) (11)窗口和菜之间的出售联系可以转化为关系: 出售(窗口号,菜名)(12)菜和厨师之间的烹饪联系可以转换为关系 烹饪(菜名,姓名) 这里的姓名是指厨师姓名。
2.22 数据库表结构设计:把关系模型转化为表结构:管理员信息表:定义如下: 域名含义数据类型长度例子备注ID管理员工号Char512345主码账号管理员账号Char512345密码管理员密码Char523456餐卡信息表:定义如下:域名含义数据类型长度例子备注卡号餐卡卡号Char12540907010238主码是否挂失挂失情况0金额餐卡余额Int100.00卡主信息表:域名含义数据类型长度例子备注证件号卡主的证件号Char512345主键姓名卡主姓名Char12张三卡号卡主的擦卡卡号Char12540907010152窗口信息表域名含义数据类型长度例子备注窗口号食堂窗口编号Int11主键机器号食堂刷卡机编号Int29窗口负责人信息表域名含义数据类型长度例子备注姓名窗口负责人的姓名Char12张义坤主键年龄窗口负责人的年龄Int226性别窗口负责人的性别Char2男菜信息表域名含义数据类型长度例子备注菜名窗口所卖菜式的菜名Char30酸辣白菜主键菜价某种菜的价钱Int150类别是否为该窗口的特色菜Char2否厨师信息表域名含义数据类型长度例子备注姓名厨师的姓名Char12张义坤主键性别厨师的性别Int226年龄厨师的年龄Char2男2。
2.3实现数据完整性:通过各种约束,缺省,规则和触发器实现数据的完整性由于食堂消费管理系统的重要性,和各个数据之间的复杂相关性,保证数据的完整性显得更为重要不能让用户随意的删除,修改数据1) 各种外码约束保证数据的完整性,不能随意删除外码的设置在上面数据库建表时已经提到2) 主码约束保证实体的完整性,主码的设置在上面数据库建表时也已经提到了3) 创建规则保证年龄在18岁到35岁之间,不会输入错误数据开发工具本该综合教务系统的数据库采用了Microsoft的SQL Server2000企业版,前台应用程序采用了Java编写4.1基本流程图数据库设计4.2总体结构和外部模块 5详细设计51表的设计 本系统主要包括以下几个表: 管理员的登录信息,窗口管理人员的信息,学生的基本信息表,学生所持卡号的详细信息,每张卡对应的消费信息,窗口的信息,窗口的消费信息表,菜的信息.5.2关系模式设计在数据库的设计的时候,考虑到现实中无法进行透支消费等,进行了防止误操作的控制,比如消费金额如果超过一定数量将限制消费,无法消费价格超过余额的物品。
其中使用到了触发器的操作3存储过程设计和部分sql语句代码由于存储过程不像解释执行的sql语句一样在提出操作请求时才进行语法分析和优化操作,因而运行效率高,它提供了在服务器端快速执行sql语句的有效途径存储过程降低了客户机和服务器之。
