版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 2012年 3 月 14 日课题:数据库设计(食堂管理系统)目的和要求:1. 掌握数据库需求分析2. 掌握数据库概念结构设计与逻辑结构设计方法3. 掌握创建数据库、表、约束、视图、存储过程、触发器的方法4. 掌握权限的设置方法5. 掌握备份与恢复的方法操作内容:设计数据库课题:食堂管理系统一、数据需求分析:在搜集资料和分析用户应用要求的基础上,形成该数据库系统的应用需求说明;二、涉及到的表:通过需求分析确定表结构。1、分几个表2、表中需哪些列,列名、数据类型、长度;3、可否为空值;(表示未知、不可用或将在以后添加数据)4、需使用的约束:主键,外键,默认值,check
2、,唯一值约束。三、创建视图四、存储过程五、触发器六、权限设置七、数据备份与恢复设计一、 需求分析1. 系统分析随着时代的进步, 如今各个服务行业也都逐渐发展壮大起来,尤其是食堂服务业,其在服务范围、服务数量和服务内容上都有着非常大的膨胀幅度,因此如何对如此复杂而频繁的服务活动进行管理就属于“食堂管理”的内容。其主要包括:职员资料管理、物品管理、消费内容管理、席位管理、客户评价管理,工资管理等,它是现代食堂管理中的一个重要组成部分。 2. 功能需求分析“食堂管理” 包括很多项目,以前食堂管理人员要记录大量的用户消费内容,然后通过计算器进行一系列的加减乘除运算, 最后得出一位顾客的“应付金额”,这
3、样做的效率和准确度可想而知。 如果使用计算机来实现对食堂服务业的智能管理,从选择菜、酒水、主食,到计算“应付金额”,最后到打印消费内容,计算机都可以很准确、很快捷地进行处理,这些都是“食堂管理系统”的功能。一个完善的“食堂管理系统”可以很好地管理食堂服务业的各项内容,这样不仅能更好地服务顾客,而且可以为经营者创造更大的利润。针对每部分的具体功能我们又做了如下的详细分析: 职员管理管理物品管理席位管理营业管理食堂管理系统评价管理工资管理二、 涉及的表职员资料属性类型大小是否为空约束职员编号char6否主键。6位数姓名varchar20否职位varchar20否性别Char2否,默认“男”男或女民
4、族varchar10否,默认“汉族”籍贯varchar10否,默认“广东”出生日期datetime否身份证号char18否婚姻状况char4否,默认“未婚”未婚或已婚家庭地址varchar30否联系电话varchar11否备注varchar30是物品表属性类型大小是否为空约束物品编号char6否主键。6位数物品名字varchar20否所属类型char4否,默认“主食”主食、酒水或其他价格/元int否是否售馨char2否,默认“否”是或否品牌varchar30是备注varchar30是席位表属性类型大小是否为空约束席位号char6否主键,6位数负责人编号外键人数int否,默认“8”1至20状态c
5、har4否,默认“空闲”正在使用,预定或空闲日期datetime否备注varchar30是销售记录属性类型大小是否为空约束类型外键数量int否方式varchar10否,默认“现场”现场、预定或外卖日期datetime否金额/元int否备注varchar30是评价情况属性类型大小是否为空约束职员编号外键评价级别char4否,默认“优”优、良、一般、差日期datetime否,默认当天备注varchar30是工资表属性类型大小是否为空约束职员编号外键工资/元int否日期datetime否备注varchar30是SQL 命令创建数据库create database 食堂管理系统on primary (
6、name= stglxt_data,filename=e:stglxt_data.mdf)log on (name=stglxt_log1,filename=e:stglxt _log.ldf)创建表create table 职员资料(职员编号char(6) not null primary keycheck(职员编号like0-90-90-90-90-90-9),姓名varchar(20) not null,职位varchar(20) not null,性别char(2) not null check(性别=男 or 性别=女) default 男,民族varchar(8) null def
7、ault 汉族,出生日期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,物品名字 varchar(20) not null,所属类型 char(4) not null check(所属类型=主食or 所属类型=酒水 or 所属类型=其他) de
8、fault 主食,价格 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 职员资料(职员编号) on update cascade on delete cascade,人数int not null,状态char(4) not null check(状态=使用 o
9、r 状态=预定 or 状态=空闲) default 空闲,日期datetime not null,备注varchar(30)create table 销售记录(类型char(4) not null check(类型=主食or 类型=酒水 or 类型=其他) default 主食,数量int not null,方式char(4) not null check(方式=现场 or 方式=预定 or 方式=外卖) default 现场,金额money not null,日期datetime not null,备注varchar(30)create table 评价情况(职员编号 char(6) not
10、 null foreign key references 职员资料(职员编号) on update cascade on delete cascade,评价级别char(4) not null check(评价级别in (优,良,一般,差) default 优,日期datetime not null default getdate(),备注varchar(30)create table 工资表(职员编号char(6) not null foreign key references 职员资料(职员编号) on update cascade on delete cascade,工资money no
11、t null,日期datetime not null,备注varchar(30)所有表的截图如下:三、 视图设计1. 为了方便查看职员的评价与对应的职员,所以要建一个“职员信息与评价表”,以显示职员的评价的同时,还可以看到该职员的一些个人信息。create view 职员信息与评价表asselect 姓名,性别,职位,联系电话,评价级别,日期from 职员资料 a, 评价情况bwhere a.职员编号=b. 职员编号2. 为了方便查看物品的销售记录以及物品的信息,所以建立一个“物品信息与销售情况表”。create view 物品信息与销售情况表asselect 物品名字,所属类型,价格,品牌,
12、方式,日期,数量from 销售记录 a, 物品表 bwhere a.类型=b. 所属类型3. 为了在职员信息中,可以方便看到该职员的工资,所以建立一个“职员信息工资表”create view 职员信息工资表asselect 姓名,性别,职位,联系电话,工资(元),日期from 职员资料 a, 工资表 bwhere a.职员编号=b. 职员编号四、 存储过程1. 创建一个存储过程,通过给定职位可查看该职位所有职员的个人信息。create proc 查询所指定职位的职员基本信息职位 varchar(20)asselect 职位,姓名,性别,民族,籍贯,出生日期,身份证号,婚姻状况,家庭住址,联系电
13、话,备注from 职员资料where职位=职位2. 创建一个存储过程,通过给定职员编号可删除该职员create proc 删除所指定的职员职员编号 char(6)asdelete 职员资料where 职员编号=职员编号五、 触发器1. 在评价情况表中添加记录后,统计某职员的优评数量,在本月1号到到添加日期这段时间的好评达到10次将在职员资料表中为该职员的备注栏添加上“工作中表现优秀!”create trigger 优评备注 on 评价情况after insertasdeclare a varchar,b intbeginselect a=职员编号 form inserted where 评价级
14、别=优select b=count(*)form 评价情况 where 评价级别=优and 职员编号=a and dateadd(day,-1,getdate())10beginupdate 职员资料set 备注=” 工作中表现优秀!”where 职员编号=aendelseend2. 在评价情况表中添加记录后,统计某职员的优评数量,在本月1号到到添加日期这段时间的差评达到10次将在职员资料表中为该职员的备注栏添加上“工作中表现糟糕!”。create trigger 优评备注 on 评价情况after insertasdeclare c varchar,d intbeginselect c=职员
15、编号 form inserted where 评价级别=差select d=count(*)form 评价情况 where 评价级别=差and 职员编号=c and dateadd(day,-1,getdate())10beginupdate 职员资料set 备注=” 工作中表现糟糕!”where 职员编号=aendelseend六、 权限设置我们所设计的教师档案管理系统根据实际情况会用到四类用户,有食堂所有者、管理者、普通员工,还有客户。食堂所有者在这管理系统种具有全部权限,食堂的管理人员具有职员管理,物品管理,营业管理,评价管理的添加删改权限。 食堂普通职员具有席位管理的添加删改权限,方便
16、对日常工作的管理。客户具有在评价情况表上添加对职员的评价情况的权限,但是不能修改和删除。1、新建了三个用户分别代表四类用户,所有者、管理者、普通员工,客户,分别设有密码。命令如下:exec sp_addlogin 所有者,111exec sp_addlogin 管理者,222exec sp_addlogin 普通员工,333exec sp_addlogin 客户,4442、授予所有者所有权限给 所有者 授予食堂管理系统数据库访问权,并给其分配为该数据库的拥有者:db_owner,在该数据库中拥有所有权限;命令如下:use 食堂管理系统exec sp_grantdbaccess 所有者goexe
17、c sp_addrolemember db_owner,所有者2、通过所有者用户给普通员工授予权限,命令如下:use 食堂管理系统exec sp_grantdbaccess 普通员工gogrant select on 席位表 to 普通员工3、通过所有者用户给管理者授予权限,命令如下:use 食堂管理系统exec sp_grantdbaccess 管理者gogrant select,insert,update on 职员资料 to 管理者grant select,insert,update on 物品表 to 管理者grant select,insert,update on 销售记录 to 管
18、理者grant select,insert,update on 评价情况 to 管理者七、 数据备份与恢复设计为了防止数据可能在运行过程中出现某些意外的错误而导致数据丢失等严重问题,数据库的备份与恢复在实际的数据库系统开发中有着十分重要的意义。1. 针对系统的数据库分析:为了防止突发事件对现存数据库的破坏,应该随时将数据库信息进行备份,考虑到三种备份空间与时间上的优化,我们采取备份策略:1) 有规律的进行完整数据库备份,可以隔一段时间,在操作数据库不频繁的时间段进行;2) 在较小的时间间隔内进行差异备份,比如一天;3) 在相邻的两次差异备份之间进行事务日志备份,可以每半个小时一次,以补充备份在
19、完整数据库备份与差异备份进行之间之间进行的事务。2. 考虑食堂管理系统实际情况,我们采取恢复策略:先恢复最近一次的数据库备份,接着进行差异备份恢复,最后进行事务日志备份的恢复。因为我们同样关心数据库状态之间的变化,所以采用完整数据库恢复策略。3. 由于食堂管理系统的数据量会随时间不断增多,可能出现很多的人员的调动和调整,占据存储空间的同时又降低数据库访问的效率,针对这方面我们采取:每1年对教师教师基本信息进行数据备份,备份数据另保存,同时将这些已备份的数据从食堂管理系统中删除。数据库备份备份:数据库备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏的时候能够恢复数据库。备份数据库语法ba
20、ckup database 要备份的数据库名to 用来备份的备份设备名/备份文件名 with format/init/noinit/restart/differentialformat:完全删除备份设备原内容后备份init:完全删除备份设备除标题外的原内容noinit:备份内容添加到备份设备原有内容后restart:在中断点重新备份differential:进行差异性备份事务日志备份的语法:backup log 要备份的数据库名to 用来备份的备份设备名/备份文件名恢复数据库1、数据库恢复:数据库恢复就是把数据库备份加载到系统中。数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以
21、从备份文件中恢复数据库。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。 2、下面三个情况会导致恢复失败:服务器上的数据库文件集和备份集中的数据文件集不一致。如果在restore语句中指定的数据库已经存在,并且该数据库与在备份文件中记录的数据库不同。不能提供用于恢复数据库的全部文件或文件组。3、恢复数据库时应注意的两个问题:在数据库恢复前,应该首先删除故障数据库,以便删除对故障硬件的任何引用。在数据库恢复前,必须限制用户对数据库的访问恢复数据库语法restore database 数据库名from 备份设备名with file=备份文件序号Norecovery
22、*还原还没有最后完成,还能接收新的日志备份文件,用来恢复 Recovery *还原已经结束,数据库可以恢复使用恢复事务日志restore log 数据库名from 备份设备逻辑名with file=备份文件序号,norecovery/recovery创建备份设备exec sp_addumpdevice disk ,逻辑名称 ,物理名称对数据库进行如下操作:创建好食堂管理系统数据库,然后对数据库进行完全备份;对数据库进行相对应的操作后,进行差异备份;对数据库再次进行相关操作后,进行日志备份;破坏数据库,然后进行还原(选择最佳还原方案)。还原后,再次进行相关操作,然后进行一次差异备份。破坏数据库,
23、然后进行还原(选择最佳还原方案)。还原后,进行一次完全备份。再次破坏数据库,最后一次还原(选择最佳还原方案)。命令如下: exec sp_addumpdevice disk,bbb,e:bbb.bakbackup database 食堂管理系统 to bbb2、backup database 食堂管理系统to bbb with differential3、backup log 食堂管理系统 to bbb4、drop database 食堂管理系统gorestore database 食堂管理系统 from bbb with file=1,norecoveryrestore database 食
24、堂管理系统 from bbb with file=2,norecoveryrestore log 食堂管理系统 from bbb with file=35、backup database 食堂管理系统 to bbb with differential6、drop database 食堂管理系统gorestore database食堂管理系统 from bbb with file=1,norecoveryrestore database食堂管理系统 from bbb with file=47、backup database食堂管理系统 to bbb8、drop database 食堂管理系统go
25、restore database 食堂管理系统 from bbb with file=5总结通过这次的数据库课程设计,独立完成了食堂管理系统的设计,从这次的系统设计中我领略到了:1. 开放一个数据库应用系统,通常需要进过需求分析、概念结构设计、逻辑结构设计、物理结构设计、对功能的SQL语句的相应描述5个阶段;2. 进行数据库设计首先需要准确了解与分析用户需求、需求分析是整个设计过程的基础,是最困难、最耗时间的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,甚至会导致整个数据库设计返工重做。3. 数据库的设计艰苦而漫长,必须踏踏实实,走好
26、每一步。要做到人性化,科学管理是根本但是也是最难的,为此,我会加倍努力投入学习,以期待能设计一个根据我完整的数据库系统。课程设计报告 2012 年 3 月17日课题:前台连接后台数据库目的和要求:让学生体会一下如何用最简单的方法让连接后台的数据库,在前台的窗体中实现对后台数据库中数据的添加、删除、修改、查询等操作。内容:1. 制作如下图所示的网页,可供用户登录对进行数据库操作。输入正确的用户名是sa,密码为:123,如下图2. 制作如下图所示的网页,可供用户选择对数据库要操作的的表进行选择3. 制作如下图所示的网页,可以对一个表进行添加、删除、修改、查询、查看等基本操作。这里选择了物品表,功能
27、如下图所示4. 下面为具体的查看、查询、添加、更新、删除的操作页面:查看:查询:(以查询“鸡蛋”为例)添加:(这里成功添加了数据)编辑、更新:(显示了上面添加的数据)5. 下面是一些其他页面的展示:设计后总结 这次的前台连接后台数据库的实验是在我们在没有任何asp.Net基础的情况下,进行设计的,但是在老师的悉心教导下,我还是顺利完成了网页的制作。虽然实验操作过程中遇到了很多问题,又是第一次自己动手做前台,一切都是那么的生疏,但是老师给我们知识的时间虽然有限但是恰到好处,在这紧张的时间中我们领会了其中的要领,一步步解决了问题,最后做出的作品虽说不是很完善,但是花的精力确实不少。不过很欣慰的是,
28、在这其中我学会更多,随着实验一步步的进行,我从中学到了平时理论课学不到的东西,而且通过动手,平时很多不明朗的东西也渐渐明朗起来了!老师在此也付出了辛勤,我在此表示致敬!鱼知水恩,乃幸福之源也。鱼离不开水,人离不开亲人和朋友,当你处于逆境和灾难时,帮助你一臂之力,渡过难关的人,都是你的亲人和朋友。吃水不忘挖井人,度过苦难,不能忘记援助过你的人。知恩图报,善莫大焉。一个人要想获得幸福,必须懂得感恩。生活需要一颗感恩的心来创造, 一颗感恩的心需要生活来滋养。一饭之恩,当永世不忘。顺境里给你帮助的人,不能全部称作朋友,但是能够在你逆境时依然愿意援助你,走出困境的人,一定是你要用一生去感谢和珍惜的人。唐代李商隐的晚晴里有这样一句诗:天意怜幽草,人间重晚晴。久遭雨潦之苦的幽草,忽遇晚晴,得以沾沐余辉而平添生意。当一个人闯过难关的时候,一定要记住那些支撑你,陪你一起走过厄运的朋友和亲人,这个世界谁也不亏欠谁,帮你是情分,不帮你是本分。如古人所说:淡看世事去如烟,铭记恩情存如血。学会感恩父母养育之恩,学会感恩朋友的帮助之情,生活里做一个有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新员工入职培训教材与常见问答
- 工贸企业员工安全生产培训师资力量考核(2024年9月)
- 新员工入职培训计划及模板
- 浆砌片石挡土墙施工人员培训
- 松江区绿色书架管理制度(3篇)
- 留置看护服务的管理制度(3篇)
- 经营场所消毒管理制度(3篇)
- 股市什么是资金管理制度(3篇)
- 餐饮水吧卫生管理制度(3篇)
- 2026年医保政策知识培训考试题库(含答案)
- 颚式破碎机机构优化设计
- 人力资源人才盘点表型模板
- 老年医学发展与挑战
- 江苏徐州泉华置业有限公司招聘笔试题库2025
- “大唐杯”全国大学生新一代信息通信技术竞赛题库及答案
- 2025云智算光互连发展报告
- 活动方案策划软件
- 砌体工程监理实施细则及操作规范
- 2025年瑞众保险全国校园招聘150人考试练习题库(含答案)
- 通信设备用电安全培训课件
- 方太企业培训课件
评论
0/150
提交评论