《食堂管理系统-数据库设计.docx》由会员分享,可在线阅读,更多相关《食堂管理系统-数据库设计.docx(18页珍藏版)》请在第一文库网上搜索。
1、2012年3月14日课题:数据库设计(食堂管理系统)目的和要求:1 .掌握数据库需求分析2 .掌握数据库概念结构设计与逻辑结构设计方法3 .掌握创建数据库、表、约束、视图、存储过程、触发器的方法4 .掌握权限的设置方法5 .掌握备份与恢复的方法操作内容:设计数据库课题:食堂管理系统一、数据需求分析:在搜集资料和分析用户应用要求的基础上,形成该数据库系统的应用需求说明;二、涉及到的表:通过需求分析确定表结构.1、分几个表2、表中需哪些列,列名、数据类型、长度;3、可否为空值;(表示未知、不可用或将在以后添加数据)4、需使用的约束:主键,外键,默认值,check,唯一值约束。三、创建视图四、存储过
2、程五、触发器六、权限设置七、数据备份与恢复设计1 .系统分析随着时代的进步,如今各个服务行业也都逐渐发展壮大起来,尤其是食堂服务业,其在服务范围、服务数量和服务内容上都有着非常大的膨胀幅度,因此如何对如此复杂而频繁的服务活动进行管理就属于“食堂管理”的内容。其主要包括:职员资料管理、物品管理、消费内容管理、席位管理、客户评价管理,工资管理等,它是现代食堂管理中的一个重要组成部分。2 .功能需求分析“食堂管理”包括很多项目,以前食堂管理人员要记录大量的用户消费内容,然后通过计算器进行一系列的加减乘除运算,最后得出一位顾客的“应付金额”,这样做的效率和准确度可想而知。如果使用计算机来实现对食堂服务
3、业的智能管理,从选择菜、酒水、主食,到计算“应付金额”,最后到打印消费内容,计算机都可以很准确、很快捷地进行处理,这些都是“食堂管理系统”的功能。一个完善的“食堂管理系统”可以很好地管理食堂服务业的各项内容,这样不仅能更好地服务顾客,而且可以为经营者创造更大的利润。针对每部分的具体功能我们又做了如下的详细分析:二、涉及的表职员资料属性类型大小是否为空约束职员编号Char6否主键.6位数姓名varchar20否职位varchar20否性别Char2否,默认“男”男或女民族varchar10否,默认“汉族”籍贯varchar10否,默认“广东出生日期datetime否身份证号char18否婚姻状况
4、char4否,默认“未婚未婚或已婚家庭地址varchar30否联系电话varchar11否备注varchar30是物品表属性类型大小是否为空约束物品编号char6否主键.6位数物品名字varchar20否所属类型char4否,默认“主食”主食、酒水或其他价格/元int否是否售罄char2否,默认“否”是或否品牌varchar30是备注varchar30是席位表属性类型大小是否为空约束席位号char6否主键,6位数负责人编号外键人数int否,默认“81至20状态char4否,默认“空闲”正在使用,预定或空闲日期备注datetimevarchar30否是销售记录属性类型大小是否为空约束类型外键数量
5、int否方式varchar10否,默认“现场现场、预定或外卖日期datetime否金额/元int否备注varchar30是评价情况属性类型大小是否为空约束职员编号外键评价级别char4否,默认“优”优、良、一般、差日期datetime否,默认当天备注varchar30是工资表属性类型大小是否为空约束职员编号外键工资/元int否日期datetime否备注varchar30是4sq1命令创建数据库createdatabase食堂管理系统onprimary(name=Stg1xt_data,fi1ename=,e:stg1xtdatamdf,)Iogon(name-stg1xt_1og1,fi1en
6、ame=e:stg1xt_1og.Idf)创建表ereatetab1e职员资料(职员编号Char(6)notnu11primarykeyCheCk(职员编号1ikeO-90-90-9O-90-90-9),姓名Varchar(20)notnu11,职位Varchar(20)notnu11,性别Char(2)notnu1ICheCk(性别=男or性别=女)defau1t男,民族VarChar(8)nu11defau1t汉族,出生日期datetimenotnu11,身份证号码Char(I8)notnu11unique,婚姻状况Char(4)notnu11CheCk(婚姻状况=,已婚,or婚姻状况=i
7、未婚,)defau1t,未婚,联系电话Varchar(11)notnu11unique,备注VarChar(30)createtab1e物品表(物品编号char(6)notnu11primarykey,物品名字varchar(20)notnu11,所属类型char(4)notnu11check(所属类型=主食or所属类型=酒水or所属类型二其他)defau1t主食,价格moneynotnu11,是否售馨char(2)notnu11CheCk(是否售罄=是or是否售罄二否)defau1t否,品牌varchar(30),备注Varchar(30)createtab1e席位表(席位号Char(6)n
8、otnu11primarykey,负责人编号Char(6)notnu11foreignkeyreferences职员资料(职员编号)onupdatecascadeonde1etecascade,人数intnotnu11,状态Char(4)notnu11check(状态=使用,or状态=预定,or状态=空闲)defau1t空闲,日期datetimenotnu11,备注Varchar(30)createtab1e销售记录(类型Char(4)notnu11check(类型=主食or类型=酒水,or类型=其他)defau1t主食,数量intnotnu11,方式Char(4)notnu11CheCk(方
9、式=现场,or方式=预定,or方式=外卖)defau1t现场,金额moneynotnu11,日期datetimenotnu11,备注varchar(30)createtab1e评价情况(职员编号char(6)notnu11foreignkeyreferenceS职员资料(职员编号)onupdateCascadeOndeIetecascade,评价级别Char(4)notnu11CheCk(评价级别in(优,良,般,差)defau1t优,日期datetimenotnu1Idefau11getdateO,备注VarChar(30)createtabIe工资表(职员编号Char(6)notnu1If
10、oreignkeyreferences职员资料(职员编号)onupdatecascadeonde1etecascade,工资moneynotnu1I,日期datetimenotnu11,备注VarChar(30)所有表的截图如下:0KoZCSQ1Srvr901399-KDZn三N数据厚.心系妩数密片t数据属快照9IJstud-.Ij食堂莒理系统数书库关系想AU表KDz数露库食Ir管理系统表名称架构创建时间0U袤土U系统表+db。.员资料3dbo物品表+_3dbo.席位表dbo糖售记录o评价售礼二o工资表I页丽dbo2012-3-K3物品衷勘。2012-3-14席位衰dbo2012-3-K怕售记
11、录o2012-3-14停价况db。2012-3-14工资表db2012-3-14视图设计1 .为了方便查看职员的评价与对应的职员,所以要建一个“职员信息与评价表”,以显示职员的评价的同时,还可以看到该职员的一些个人信息。createview职员信息与评价表asse1ect姓名,性别,职位,联系电话,评价级别,口期from职员资料a,评价情况bwherea职员编号二b,职员编号2 .为了方便查看物品的销售记录以及物品的信息,所以建立一个“物品信息与销售情况表”.createview物品信息与销售情况表asse1ect物品名字,所属类型,价格,品牌,方式,日期,数量from销售记录a,物品表bwh
12、erea.类型二bo所属类型3 .为了在职员信息中,可以方便看到该职员的工资,所以建立一个“职员信息工资表”createview职员信息工资表asse1ect姓名,性别,职位,联系电话,工资(元),日期from职员资料a,工资表bwhereao职员编号=b.职员编号四、存储过程1 .创建一个存储过程,通过给定职位可查看该职位所有职员的个人信息.ereateproc查询所指定职位的职员基本信息职位varchar(20)asse1ect职位,姓名,性别,民族,籍贯,出生日期,身份证号,婚姻状况,家庭住址,联系电话,备注from职员资料where职位二职位2 .创建一个存储过程,通过给定职员编号可删
13、除该职员createproc删除所指定的职员职员编号char(6)asde1ete职员资料where职员编号=职员编号五、触发器1 .在评价情况表中添加记录后,统计某职员的优评数量,在本月1号到到添加日期这段时间的好评达到10次将在职员资料表中为该职员的备注栏添加上“工作中表现优秀!”createtrigger优评备注on评价情况afterinsertasdee1areavarchar,bintbeginSeIeCta=职员编号forminsertedwhere评价级别二优se1ectb=count(*)form评价情况where评价级别=优and职员编号二aanddateadd(day,-1,getdate()(30anddateadd()groupby评价级别,职员编号ifb10beginupdate职员资料set备注=”工作中表现优秀!”where职员编号=aende1seend2 .在评价情况表中添加记录后,统计某职员的优评数量,在本月1号到到添加日期这段时间的差评达到10次将在职