ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:24.74KB ,
资源ID:4712776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4712776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(食堂管理系统数据库设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

食堂管理系统数据库设计.docx

1、食堂管理系统数据库设计 2012年 3 月 14 日 课题:数据库设计(食堂管理系统) 目的和要求: 1. 掌握数据库需求分析 2. 掌握数据库概念结构设计与逻辑结构设计方法 3. 掌握创建数据库、表、约束、视图、存储过程、触发器的方法 4. 掌握权限的设置方法 掌握备份与恢复的方法 5.操作内容: 设计数据库 课题:食堂管理系统 一、数据需求分析:在搜集资料和分析用户应用要求的基础上,形成该数据库系统的应用需求说明; 二、涉及到的表:通过需求分析确定表结构。 1、分几个表 2、表中需哪些列,列名、数据类型、长度; 3、可否为空值;(表示未知、不可用或将在以后添加数据) 4、需使用的约束:主键

2、,外键,默认值,check,唯一值约束。 三、创建视图 四、存储过程 五、触发器 六、权限设置 七、数据备份与恢复设计 19 / 1 一、 需求分析 1. 系统分析 随着时代的进步, 如今各个服务行业也都逐渐发展壮大起来,尤其是食堂服务业,其在服务范围、服务数量和服务内容上都有着非常大的膨胀幅度,因此如何对如此复杂而频繁的服务活动进行管理就属于“食堂管理”的内容。其主要包括:职员资料管理、物品管理、消费内容管理、席位管理、客户评价管理,工资管理等,它是现代食堂管理中的一个重要组成部分。 2. 功能需求分析 “食堂管理” 包括很多项目,以前食堂管理人员要记录大量的用户消费内容,然后通过计算器进行

3、一系列的加减乘除运算, 最后得出一位顾客的“应付金额”,这样做的效率和准确度可想而知。 如果使用计算机来实现对食堂服务业的智能管理,从选择菜、酒水、主食,到计算“应付金额”,最后到打印消费内容,计算机都可以很准确、很快捷地进行处理,这些都是“食堂管理系统”的功能。一个完善的“食堂管理系统”可以很好地管理食堂服务业的各项内容,这样不仅能更好地服务顾客,而且可以为经营者创造更大的利润。 针对每部分的具体功能我们又做了如下的详细分析: 食堂管理系统工评营物职席资价业员品位管管管管管管 理 理理理 理 理 19 / 2 二、 涉及的表 职员资料 属性 类型 大小 是否为空 约束 职员编号 char 6

4、 否主键。6位数 姓名 varchar 20 否 职位 varchar 20 否 性别 Char 2 否,默认“男”男或女 民族 varchar 10 否,默认“汉族” 籍贯varchar 10 否,默认“广东” 出生日期datetime 否 身份证号 char 18 否 婚姻状况char 4 否,默认“未婚”未婚或已婚 家庭地址 varchar 30 否 联系电话 varchar 11 否 备注varchar 30 是 物品表 属性 类型 大小 是否为空 约束 物品编号 char 6 否 主键。6位数 物品名字 varchar 20 否 所属类型 char 4 否,默认“主食” 主食、酒水或

5、其他 元价格/ int 否 是否售馨 char 2 否,默认“否” 是或否 品牌 varchar 30 是 备注varchar 30 是 席位表 属性 类型 大小 是否为空 约束 席位号 char 6 否 主键,6位数 负责人编号 外键 人数 int 否,默认“8” 1至20 状态char 4 否,默认“空闲” 正在使用,预定或空闲 日期 备注datetime varchar 30 否 是 19 / 3 销售记录 属性 类型 大小 是否为空 约束 类型 外键 数量 int 否 方式 varchar 10 否,默认“现场”现场、预定或外卖 日期 datetime 否 元 金额/int 否 备注

6、varchar 30 是 评价情况 属性类型 大小 是否为空 约束 职员编号 外键 评价级别char 4 否,默认“优” 优、良、一般、差 日期 datetime 否,默认当天 备注 varchar 30 是 工资表 属性 2. 制作如下图所示的网页,可供用户选择对数据库要操作的的表进行选择 (这里成功添加了数据)添加: 设计后总结基连接后台数据库的实验是在我们在没有任何这次的前台asp.Net 础的情况下,进行设计的,但是在老师的悉心教导下,我还是顺利完成了网页的制作。虽然实验操作过程中遇到了很多问题,又是第一次自己动手做前台,一切在这紧张都是那么的生疏,但是老师给我们知识的时间虽然有限但是

7、恰到好处,最后做出的作品虽说不是一步步解决了问题,的时间中我们领会了其中的要领,很完善,但是花的精力确实不少。不过很欣慰的是,在这其中我学会更多,随着我从中学到了平时理论课学不到的东西,而且通过动手,平实验一步步的进行,我在此表示致时很多不明朗的东西也渐渐明朗起来了!老师在此也付出了辛勤, 敬! 类型 大小 是否为空 约束 职员编号制作如下图所示的网页,可以对一个表进行添加、删除、修改、查询、查看3. 下面为具体的查看、查询、添加、更新、删除的操作页面: 4. 外键 元工资/ 等基本操作。这里选择了物品表,功能如下图所示 编辑、更新:int (显示了上面添加的数据) 否 日期 查看:datet

8、ime 否 备注 varchar 30 是 19 / 4 SQL 命令 创建数据库 create database 食堂管理系统 on primary (name= stglxt_data,e:stglxt_data.mdf) log on (name=stglxt_log1,e:stglxt _log.ldf) 创建表 create table 职员资料 (职员编号char(6) not null primary key check(职员编号like0-90-90-90-90-90-9), 姓名varchar(20) not null, 职位varchar(20) not null, 性别c

9、har(2) not null check(性别=男 or 性别=女) default 男, 民族varchar(8) null default 汉族, 出生日期datetime not null, 身份证号码char(18) not null unique, 婚姻状况char(4) not null check(婚姻状况=已婚 or 婚姻状况=未婚) default 未婚, 联系电话varchar(11) not null unique, 备注varchar(30) ) create table 物品表 (物品编号 char(6) not null primary key, 物品名字 var

10、char(20) not null, 所属类型 char(4) not null check(所属类型=主食or 所属类型=酒水 or 所属类型=其他) default 主食, 价格 money not null, 是否售馨 char(2) not null check(是否售馨=是 or 是否售馨=否) default 否, 品牌 varchar(30), 备注 varchar(30) ) create table 席位表 (席位号char(6) not null primary key, 负责人编号char(6) not null foreign key references 职员资料(职

11、员编号) on update cascade on delete cascade, 人数int not null, 状态char(4) not null check(状态=使用 or 状态=预定 or 状态=空闲) default 空闲, 日期datetime not null, 备注varchar(30) 19 / 5 ) create table 销售记录 (类型char(4) not null check(类型=主食or 类型=酒水 or 类型=其他) default 主食, 数量int not null, 方式char(4) not null check(方式=现场 or 方式=预定

12、or 方式=外卖) default 现场, 金额money not null, 日期datetime not null, 备注varchar(30) ) create table 评价情况 (职员编号 char(6) not null foreign key references 职员资料(职员编号) on update cascade on delete cascade, 评价级别char(4) not null check(评价级别in (优,良,一般,差) default 优, 日期datetime not null default getdate(), 备注varchar(30) )

13、create table 工资表 (职员编号char(6) not null foreign key references 职员资料(职员编号) on update cascade on delete cascade, 工资money not null, 日期datetime not null, 备注varchar(30) ) 所有表的截图如下: 19 / 6 三、 视图设计 1. 为了方便查看职员的评价与对应的职员,所以要建一个“职员信息与评价表”,以显示职员的评价的同时,还可以看到该职员的一些个人信息。 create view 职员信息与评价表as select 姓名,性别,职位,联系电话

14、,评价级别,日期 from 职员资料 a, 评价情况b where a.职员编号=b. 职员编号 2. 为了方便查看物品的销售记录以及物品的信息,所以建立一个“物品信息与销售情况表”。 create view 物品信息与销售情况表as select 物品名字,所属类型,价格,品牌,方式,日期,数量 from 销售记录 a, 物品表 b where a.类型=b. 所属类型 3. 为了在职员信息中,可以方便看到该职员的工资,所以建立一个“职员信息工资表” create view 职员信息工资表as select 姓名,性别,职位,联系电话,工资(元),日期 from 职员资料 a, 工资表 b

15、where a.职员编号=b. 职员编号 四、 存储过程 1. 创建一个存储过程,通过给定职位可查看该职位所有职员的个人信息。 create proc 查询所指定职位的职员基本信息 职位 varchar(20) as select 职位,姓名,性别,民族,籍贯,出生日期,身份证号,婚姻状况,家庭住址,联系电话,备注 from 职员资料 where职位=职位 2. 创建一个存储过程,通过给定职员编号可删除该职员 create proc 删除所指定的职员 职员编号 char(6) as 19 / 7 delete 职员资料 where 职员编号=职员编号 五、 触发器 1. 在评价情况表中添加记录

16、后,统计某职员的优评数量,在本月1号到到添加日期这段时间的好评达到10次将在职员资料表中为该职员的备注栏添加上“工作中表现优秀!” create trigger 优评备注 on 评价情况 after insert as declare a varchar,b int begin select a=职员编号 form inserted where 评价级别=优 select b=count(*)form 评价情况 where 评价级别=优and 职员编号=a and dateadd(day,-1,getdate())10 begin update 职员资料 set 备注=” 工作中表现优秀!”

17、where 职员编号=a end else end 2. 在评价情况表中添加记录后,统计某职员的优评数量,在本月1号到到添加日期这段时间的差评达到10次将在职员资料表中为该职员的备注栏添加上“工作中表现糟糕!”。 create trigger 优评备注 on 评价情况 after insert as declare c varchar,d int begin select c=职员编号 form inserted where 评价级别=差 select d=count(*)form 评价情况 where 评价级别=差and 职员编号=c and dateadd(day,-1,getdate()

18、)10 begin update 职员资料 set 备注=” 工作中表现糟糕!” 19 / 8 where 职员编号=a end else end 六、 权限设置 我们所设计的教师档案管理系统根据实际情况会用到四类用户,有食堂所有者、管理者、普通员工,还有客户。 食堂所有者在这管理系统种具有全部权限, 食堂的管理人员具有职员管理,物品管理,营业管理,评价管理的添加删改权限。 食堂普通职员具有席位管理的添加删改权限,方便对日常工作的管理。 客户具有在评价情况表上添加对职员的评价情况的权限,但是不能修改和删除。 1、新建了三个用户分别代表四类用户,所有者、管理者、普通员工,客户,分别设有密码。 命

19、令如下: exec sp_addlogin 所有者,111 exec sp_addlogin 管理者,222 exec sp_addlogin 普通员工,333 exec sp_addlogin 客户,444 2、授予所有者所有权限 给 所有者 授予食堂管理系统数据库访问权,并给其分配为该数据库的拥有者:db_owner,在该数据库中拥有所有权限;命令如下: use 食堂管理系统 exec sp_grantdbaccess 所有者 go exec sp_addrolemember db_owner,所有者 2、通过所有者用户给普通员工授予权限,命令如下: use 食堂管理系统 exec sp_

20、grantdbaccess 普通员工 go grant select on 席位表 to 普通员工 3、通过所有者用户给管理者授予权限,命令如下: use 食堂管理系统 exec sp_grantdbaccess 管理者 go grant select,insert,update on 职员资料 to 管理者 grant select,insert,update on 物品表 to 管理者 grant select,insert,update on 销售记录 to 管理者 19 / 9 grant select,insert,update on 评价情况 to 管理者 七、 数据备份与恢复设计

21、 为了防止数据可能在运行过程中出现某些意外的错误而导致数据丢失等严重问题,数据库的备份与恢复在实际的数据库系统开发中有着十分重要的意义。 1. 针对系统的数据库分析:为了防止突发事件对现存数据库的破坏,应该随时将数据库信息进行备份,考虑到三种备份空间与时间上的优化,我们采取备份策略: 1) 有规律的进行完整数据库备份,可以隔一段时间,在操作数据库不频繁的时间段进行; 2) 在较小的时间间隔内进行差异备份,比如一天; 3) 在相邻的两次差异备份之间进行事务日志备份,可以每半个小时一次,以补充备份在完整数据库备份与差异备份进行之间之间进行的事务。 2. 考虑食堂管理系统实际情况,我们采取恢复策略:

22、先恢复最近一次的数据库备份,接着进行差异备份恢复,最后进行事务日志备份的恢复。因为我们同样关心数据库状态之间的变化,所以采用完整数据库恢复策略。 3. 由于食堂管理系统的数据量会随时间不断增多,可能出现很多的人员的调动和调整,占据存储空间的同时又降低数据库访问的效率,针对这方面我们采取:每1年对教师教师基本信息进行数据备份,备份数据另保存,同时将这些已备份的数据从食堂管理系统中删除。 数据库备份 备份:数据库备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏的时候能够恢复数据库。 备份数据库语法 backup database 要备份的数据库名 to 用来备份的备份设备名/备份文件名 w

23、ith format/init/noinit/restart/differential format:完全删除备份设备原内容后备份 init:完全删除备份设备除标题外的原内容 noinit:备份内容添加到备份设备原有内容后 restart:在中断点重新备份 differential:进行差异性备份 事务日志备份的语法: backup log 要备份的数据库名 to 用来备份的备份设备名/备份文件名 恢复数据库 1、数据库恢复:数据库恢复就是把数据库备份加载到系统中。数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。系统在恢复数据库的过程中,自动执行安全性检

24、查、重建数据库结构以及完整数据库内容。 2、下面三个情况会导致恢复失败: 19 / 10 服务器上的数据库文件集和备份集中的数据文件集不一致。 如果在restore语句中指定的数据库已经存在,并且该数据库与在备份文件中记录的数据库不同。 不能提供用于恢复数据库的全部文件或文件组。 3、恢复数据库时应注意的两个问题: 在数据库恢复前,应该首先删除故障数据库,以便删除对故障硬件的任何引用。 在数据库恢复前,必须限制用户对数据库的访问 恢复数据库语法 restore database 数据库名 from 备份设备名 with file=备份文件序号 Norecovery *还原还没有最后完成,还能接

25、收新的日志备份文件,用来恢复 Recovery *还原已经结束,数据库可以恢复使用 恢复事务日志 restore log 数据库名 from 备份设备逻辑名 with file=备份文件序号 ,norecovery/recovery 创建备份设备 exec sp_addumpdevice disk ,逻辑名称 ,物理名称 对数据库进行如下操作: 创建好食堂管理系统数据库,然后对数据库进行完全备份; 对数据库进行相对应的操作后,进行差异备份; 对数据库再次进行相关操作后,进行日志备份; 破坏数据库,然后进行还原(选择最佳还原方案)。 还原后,再次进行相关操作,然后进行一次差异备份。 破坏数据库,

26、然后进行还原(选择最佳还原方案)。 还原后,进行一次完全备份。 再次破坏数据库,最后一次还原(选择最佳还原方案)。 命令如下: exec sp_addumpdevice disk,bbb,e:bbb.bak backup database 食堂管理系统 to bbb 2、backup database 食堂管理系统 to bbb with differential 3、backup log 食堂管理系统 to bbb 4、drop database 食堂管理系统 go restore database 食堂管理系统 from bbb with restore database 食堂管理系统 f

27、rom bbb with restore log 食堂管理系统 from bbb with file=3 19 / 11 5、backup database 食堂管理系统 to bbb with differential 6、drop database 食堂管理系统 go restore database食堂管理系统 from bbb with restore database食堂管理系统 from bbb with file=4 7、backup database食堂管理系统 to bbb 8、drop database 食堂管理系统 go restore database 食堂管理系统 f

28、rom bbb with file=5 总结 通过这次的数据库课程设计,独立完成了食堂管理系统的设计,从这次的系统设计中我领略到了: 1. 开放一个数据库应用系统,通常需要进过需求分析、概念结构设计、逻辑结构设计、物理结构设计、对功能的SQL语句的相应描述5个阶段; 2. 进行数据库设计首先需要准确了解与分析用户需求、需求分析是整个设计过程的基础,是最困难、最耗时间的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,甚至会导致整个数据库设计返工重做。 3. 数据库的设计艰苦而漫长,必须踏踏实实,走好每一步。要做到人性化,科学管理是根本但是也是最难的,为此,我会加倍努力投入学习,以期待能

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1