食堂管理系统-数据库设计_第1页
食堂管理系统-数据库设计_第2页
食堂管理系统-数据库设计_第3页
食堂管理系统-数据库设计_第4页
食堂管理系统-数据库设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

4、否,默认“广东”出生日期datetime否身份证号char18否婚姻状况char4否,默认“未婚”未婚或已婚家庭地址varchar30否联系电话varchar11否备注varchar30是物品表属性个大小是否为空约束物品编号char6否主键。6位数物品名字varchar20否所属类型char4否,默认“主食”主食、酒水或其他价格/元int否是否售馨char2否,默认“否”是或否品牌varchar30是备注varchar30是席位表属性大小是否为空约束席位号char6否主键,6位数负责人编号外键人数int否,默认“ 8”1至20状态char4否,默认“空闲”正在使用,预定或空闲日期 备注date

5、time varchar30否 是销售记录属性大小是否为空约束外键数量int否力式varchar10否,默认“现场”现场、预定或外卖日期datetime否金额/元int否备注varchar30是评价情况属性大小是否为空约束职员编号外键评价级别char4否,默认“优”优、良、一般、差日期datetime否,默认当天备注varchar30是工资表属性大小是否为空约束职员编号外键工资/元int否日期datetime否备注varchar30是SQL命令创建数据库create database 食堂管理系统on primary (name= stglxt_data,filename='e:stg

6、lxt_data.mdf')log on (name=stglxt_log1,filename='e:stglxt _log.ldf')创建表create table 职员资料( 职员编号char(6) not null primary keycheck( 职员编号like'0-90-90-90-90-90-9'),姓名varchar(20) not null,职位varchar(20) not null,性别 char(2) not null check( 性别 =' 男 ' or 性别 =' 女 ') default

7、' 男 ',民族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,物品

8、名字varchar(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 席位表( 席位号

9、char(6) not null primary key,负责人编号char(6) not null foreign key references 职员资料( 职员编号) onupdate cascade on delete cascade,人数 int not null,状态 char(4) not null check( 状态 =' 使用 ' or 状态 =' 预定 ' or 状态 =' 空闲 ') default ' 空闲 ',日期datetime not null,备注varchar(30)create table销售t己

10、录类型='主食'or类型='洒水'or 类型='其他')方式"现场'or方式"'预定'or 方式='外卖')(类型 char(4) not null check( default '主食',数量 int not null,方式 char(4) not null check( default '现场',金额 money not null, 日期 datetime not null,备注 varchar(30)create table评价情况(职员编号 cha

11、r(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) create table 工资表职员资料(职员编号)on(职员编号 char(6) not null foreign key reference

12、s update cascade on delete cascade, 工资 money not null,日期 datetime not null,备注 varchar(30)所有表的截图如下:- J KoE CS乳 Server 9.0. 1399 -八上门数据库声一i系统数据库1±数据库懊照£ J itud-食堂管理系统+ 数据库关系图_ 表土 _j系统表+二%。,职员资料+ J疝”.物品装+ .I加明席位表土 口如。.销售记录S 时如砰价情况出口命口.工贵表表名称架构创建时间口原统表i 口旗同福包dbd2012-3-14口物品表dbo2012-3-U口席位表die2

13、012-3-14图悄售记录did2012-3-14J评价恬况dbo2012-3-14口工资表北。2012-3-14如工"数据库1食堂管理系统,表3、 视图设计1. 为了方便查看职员的评价与对应的职员,所以要建一个 “职员信息与评价表”,以显示职员的评价的同时,还可以看到该职员的一些个人信息。create view 职员信息与评价表asselect 姓名 , 性别 , 职位 , 联系电话 , 评价级别 , 日期from 职员资料a, 评价情况 bwhere a. 职员编号=b. 职员编号2. 为了方便查看物品的销售记录以及物品的信息,所以建立一个“物品信息与销售情况表”。create

14、view 物品信息与销售情况表asselect 物品名字, 所属类型 , 价格 , 品牌 , 方式 , 日期 , 数量from 销售记录a, 物品表 bwhere a. 类型=b. 所属类型3. 为了在职员信息中,可以方便看到该职员的工资,所以建立一个“职员信息工资表”create view 职员信息工资表asselect 姓名 , 性别 , 职位 , 联系电话 , 工资(元 ), 日期from 职员资料a, 工资表 bwhere a. 职员编号=b. 职员编号4、 存储过程1. 创建一个存储过程,通过给定职位可查看该职位所有职员的个人信息。create proc 查询所指定职位的职员基本信息

15、职位varchar(20)asselect 职位 , 姓名 , 性别 , 民族 , 籍贯 , 出生日期 , 身份证号 , 婚姻状况 , 家庭住址 , 联系电话 , 备注from 职员资料where职位=1R位2. 创建一个存储过程,通过给定职员编号可删除该职员create proc 删除所指定的职员职员编号char(6)asdelete 职员资料where 职员编号=职员编号5、 触发器1. 在评价情况表中添加记录后,统计某职员的优评数量,在本月1 号到到添加日期这段时间的好评达到10 次将在职员资料表中为该职员的备注栏添加上“工作中表现优秀! ”create trigger 优评备注on 评

16、价情况after insertasdeclare a varchar,b intbeginselect a= 职员编号form inserted where 评价级别=优select b=count ( *) form 评价情况where 评价级别=优 and 职员编号=a and dateadd ( day, -1 , getdate() ) <30 and dateadd() group by 评 价级别,职员编号if b>10beginupdate 职员资料set 备注=” 工作中表现优秀!”where 职员编号=aendelseend2. 在评价情况表中添加记录后,统计某职

17、员的优评数量,在本月1 号到到添加日期这段时间的差评达到10 次将在职员资料表中为该职员的备注栏添加上“工作中表现糟糕! ”。create trigger 优评备注on 评价情况after insertasdeclare c varchar,d intbeginselect c= 职员编号form inserted where 评价级别=差select d=count ( *) form 评价情况where 评价级别=差 and 职员编号=c and dateadd ( day, -1 , getdate() ) <30 and dateadd() group by 评 价级别,职员编号

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

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

20、9;goexec 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

21、 物品表 to 管理者grant select,insert,update on销售记录to 管理者评价情况to 管理者grant select,insert,update on七、 数据备份与恢复设计为了防止数据可能在运行过程中出现某些意外的错误而导致数据丢失等严重问题,数据库的备份与恢复在实际的数据库系统开发中有着十分重要的意义。1. 针对系统的数据库分析:为了防止突发事件对现存数据库的破坏,应该随时将数据库信息进行备份,考虑到三种备份空间与时间上的优化,我们采取备份策略:1) 有规律的进行完整数据库备份,可以隔一段时间,在操作数据库不频繁的时间段进行;2) 在较小的时间间隔内进行差异备份

22、,比如一天;3) 在相邻的两次差异备份之间进行事务日志备份,可以每半个小时一次,以补充备份在完整数据库备份与差异备份进行之间之间进行的事务。2. 考虑食堂管理系统实际情况,我们采取恢复策略:先恢复最近一次的数据库备份,接着进行差异备份恢复,最后进行事务日志备份的恢复。因为我们同样关心数据库状态之间的变化,所以采用完整数据库恢复策略。3. 由于食堂管理系统的数据量会随时间不断增多,可能出现很多的人员的调动和调整,占据存储空间的同时又降低数据库访问的效率,针对这方面我们采取: 每 1年对教师教师基本信息进行数据备份,备份数据另保存,同时将这些已备份的数据从食堂管理系统中删除。数据库备份备份: 数据

23、库备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏的时候能够恢复数据库。备份数据库语法backup database 要备份的数据库名to 用来备份的备份设备名/ 备份文件名withformat/init/noinit/restart/differentialformat :完全删除备份设备原内容后备份init :完全删除备份设备除标题外的原内容noinit :备份内容添加到备份设备原有内容后restart :在中断点重新备份differential :进行差异性备份事务日志备份的语法:backup log 要备份的数据库名to 用来备份的备份设备名/ 备份文件名恢复数据库1、数据库恢

24、复:数据库恢复就是把数据库备份加载到系统中。数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。 系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。2、下面三个情况会导致恢复失败:服务器上的数据库文件集和备份集中的数据文件集不一致。如果在 restore 语句中指定的数据库已经存在,并且该数据库与在备份文件中记录的数据库不同。不能提供用于恢复数据库的全部文件或文件组。3、恢复数据库时应注意的两个问题:在数据库恢复前,应该首先删除故障数据库,以便删除对故障硬件的任何引用。在数据库恢复前,必须限制用户对数据库的访问恢复数据库语法re

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

26、行日志备份;破坏数据库,然后进行还原(选择最佳还原方案)。还原后,再次进行相关操作,然后进行一次差异备份。破坏数据库,然后进行还原(选择最佳还原方案)。还原后,进行一次完全备份。再次破坏数据库,最后一次还原(选择最佳还原方案)。命令如下:exec sp_addumpdevice 'disk','bbb','e:bbb.bak'backup database 食堂管理系统to bbb2、 backup database 食堂管理系统to bbb with differential3、 backup log 食堂管理系统to bbb4、 drop d

27、atabase 食堂管理系统gorestore database食堂管理系统from bbb with file=1,norecoveryrestore database食堂管理系统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 data

28、base 食堂管理系统from bbb with file=47、 backup database 食堂管理系统to bbb8、 drop database 食堂管理系统 gorestore database 食堂管理系统from bbb with file=5总结通过这次的数据库课程设计,独立完成了食堂管理系统的设计,从这次的系统设计中我领略到了:1. 开放一个数据库应用系统,通常需要进过需求分析、概念结构设计、逻辑结构设计、物理结构设计、对功能的SQL语句的相应描述5个阶段;2. 进行数据库设计首先需要准确了解与分析用户需求、需求分析是整个设计过程的基础,是最困难、最耗时间的一步。作为“地

29、基”的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不 好,甚至会导致整个数据库设计返工重做。3. 数据库的设计艰苦而漫长,必须踏踏实实,走好每一步。要做到人性化,科学管理是根本但是也是最难的,为此,我会加倍努力投入学习,以期待能设计一个根据我完整的数据库系统。课程设计报告2012年3月17日课题:前台连接后台数据库目的和要求:让学生体会一下如何用最简单的方法让 连接后台的数据库,在前台的窗体中实现对 后台数据库中数据的添加、删除、修改、查询等操作。内容:1 .制作如下图所示的网页,可供用户登录对进行数据库操作。输入正确的用户 名是sa,密码为:123,如下图

30、文件的端辑查看。收藏® 工具篁)帮助Q0。二。回国但户庭1 忙ll -1 http V/lacalhcst : 1276/stglxt/D«fault,用户登录LOGIN1用户名:淞密码:2 .制作如下图所示的网页,可供用户选择对数据库要操作的的表进行选择m 无标置亘-lierosoft Int ernef Explorer文件® 痛耘也J查看 收藏 工具 帮助出)地址葡http: /lc calh.O£t: LSTB/stglxt/main. 结当前登录账户;”,欢迎你.选择表操作V选择表操作1职员贽料2物品表3席位表 4,肖售记录 &评价情况6.工资表3.制作如下图所示的网页,可以对一个表进行添加、删除、修改、查询、查看 等基本操作。这里选择了物品表,功能如下图所示三 无标题页-SicEosoft Internet Explorer文件坦)辑 查看S 收藏的 工具 帮肋'J http :/localhcst: 103l/xt£lxt"2i _«sp. iMt/biax>2. aspxzz_当前登录账户;3.玳迎你.2物品表2.物品表除 删 看询加姆 香一查添编视完毕查看: J 本上lA Izitr anat ,-J4.下面为具体的查看、查询、添加、更新、删除的操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论