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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

餐厅数据库设计.docx

1、餐厅数据库设计一、实验目的与要求 1、通过实验加深对数据完整性的理解,学会创建和使用触发器。2、通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。3、通过实验了解SQL Server的数据备份和恢复机制,掌握SQL Server中数据库备份和恢复的方法。4、根据数据库系统设计的基本步骤,完成某一具体数据库系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行维护等功能。二、设计思想 数据库系统设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据,满足

2、各种用户的应用需求,包括信息管理要求和数据库操作要求。数据库设计的基本步骤包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。三、设计步骤 一、需求分析 餐厅管理涉及的实体有: 客人 属性有客人编号、桌号、人数、到达时间、客人类型 菜单 属性有菜单编号、菜肴编号、份数、口味 菜肴 属性有菜名、菜肴种类 收银单 属性有收银单编号、应收金额、折扣、实收金额、收银时间 账目 属性有帐目编号、消费金额、用餐持续时间、客户类型这些实体之间的联系如下: 一桌客人对应一个菜单,多桌客人可以使用相同的菜单,因此客人与菜单有多对一的联系。 客人、收银单、账目之间存在一对一的关系

3、,即一桌客人只对应一个收银单,一个收银单只对应一条账目记录,一个收银单只对应一桌客人。菜肴和菜单之间存在一对一联系,一个菜肴编号对应一个菜名,用菜价来表示菜肴的价格。二、概念结构设计三、逻辑结构设计总体表预览表名称表信息描述CustomerInfo客人信息表FoodList菜单信息表FoodInfo菜肴信息表 ChargeInfo 收银信息表AccountInfo 账目信息表 OrderInfo点菜信息表C_C_A客人、收银单、账目对应关系PriceInfo价格信息表客人信息表CustomerInfo描述字段类型客人编号CusnoInt桌号Tablenoshortint人数Cusnumshor

4、tint客人类型Ctypechar(4)菜单信息表FoodList描述字段类型菜单编号MnoInt菜肴编号Fnosmallint份数Fnumsmalltint口味FtasteChar(4)菜肴信息表FoodInfo描述字段类型菜名Fnamevarchar(20)菜肴种类Fkindchar(4)收银信息表ChargeInfo描述字段类型收银单编号ChargenoInt应收金额Spayint折扣Discountint实收金额Rpayint账目信息表AccountInfo描述字段类型账目编号AccountnoInt消费金额PayInt客户类型Ctypechar(4)点菜信息表OrderInfo描述字

5、段类型客人编号CusnoInt菜单编号MnoInt客人、收银单、账目对应关系表C_C_A描述字段类型客人编号CusnoInt收银单编号ChargenoInt账目编号AcountnoInt价格信息表PriceInfo 描述字段 类型菜名Fnamevarchar(20)菜肴编号Fnosmallint价格Pricesmallint创建数据库: create database inn;创建表:创建表CustomerInfo:create table CustomerInfo ( Cusno int primary key, Tableno smallint not null, Cusnum small

6、int not null, Custype char(4) not null, check(Custype=普通 or Custype=VIP), );创建表FoodInfo:create table FoodInfo ( Fname varchar(20) primary key, Fkind char(10) not null,);创建表ChargeInfo:create table ChargeInfo ( Chargeno int primary key, Spay int, Discount int, Rpay int);创建表AccountInfo:create table Acc

7、ountInfo ( Accountno int primary key, Pay int, Ctype char(4);创建表C_C_A:create table C_C_A ( Cusno int primary key, Chargeno int not null, Accountno int not null ); 创建表PriceInfo:create table PriceInfo( Fno smallint primary key, Fname varchar(20) not null, Price smallint not null );创建表FoodList:create t

8、able FoodList ( Mno int, Fno smallint, Fnum smallint not null, Ftaste char(4), primary key(Mno,Fno), foreign key (Fno) references PriceInfo(Fno) );创建表OrderInfo:create table OrderInfo ( Cusno int, Mno int, primary key (Cusno,Mno), foreign key (Cusno) references CustomerInfo(Cusno); 四、物理结构设计 创建索引: cre

9、ate index index_PriceInfo on PriceInfo(Fno); create index index_FoodList on FoodList(Mno); create index index_OrderInfo on OrderInfo(Mno); create index index_FoodInfo on FoodInfo(Fname); create index index_CustomerInfo on CustomerInfo(Cusno); create index index_ChargeInfo on ChargeInfo(Chargeno); cr

10、eate index index_C_C_A on C_C_A(Cusno); create index index_AccountInfo on AccountInfo(Accountno); 创建视图: create view Kitchenas select Mno,Fname,Fnum,Ftastefrom FoodList,PriceInfocreate view Delivery as select Tableno,Fname,Fnum,Cusnum from FoodList,CustomerInfo,OrderInfo,PriceInfo where = and = and =

11、五、数据库实施 1、 插入数据: 插入数据到表FoodInfo: insert into FoodInfo values(干锅千页豆腐,推荐);insert into FoodInfo values(手撕包菜,素菜);insert into FoodInfo values(水煮鱼片,荤菜);insert into FoodInfo values(香干回锅肉,荤菜);insert into FoodInfo values(油淋茄子,素菜);insert into FoodInfo values(蒜苗牛柳,推荐);insert into FoodInfo values(鱼香肉丝,荤菜);inser

12、t into FoodInfo values(糖醋小排,推荐);insert into FoodInfo values(酸辣土豆丝,素菜);insert into FoodInfo values(宫爆鸡丁,荤菜);insert into FoodInfo values(红烧鸡块,荤菜);insert into FoodInfo values(冬瓜咸排汤,汤类);insert into FoodInfo values( 蕃茄蛋汤 ,汤类);insert into FoodInfo values(紫菜蛋汤,汤类);insert into FoodInfo values(土豆牛肉,推荐);inser

13、t into FoodInfo values(凉拌皮蛋,凉菜);insert into FoodInfo values(凉拌毛豆,凉菜);插入数据到表PriceInfo:insert into PriceInfo values(001,干锅千页豆腐,16);insert into PriceInfo values(002,手撕包菜,6);insert into PriceInfo values(003,水煮鱼片,15);insert into PriceInfo values(004,香干回锅肉,10);insert into PriceInfo values(005,油淋茄子,6);inse

14、rt into PriceInfo values(006,蒜苗牛柳,18);insert into PriceInfo values(007,鱼香肉丝,10);insert into PriceInfo values(008,糖醋小排,22);insert into PriceInfo values(009,酸辣土豆丝,5);insert into PriceInfo values(010,宫爆鸡丁,12);insert into PriceInfo values(011,红烧鸡块,16);insert into PriceInfo values(012,冬瓜咸排汤,8);insert int

15、o PriceInfo values(013,蕃茄蛋汤,6);insert into PriceInfo values(014,紫菜蛋汤,6);insert into PriceInfo values(015,土豆牛肉,24);insert into PriceInfo values(016,凉拌皮蛋,5);insert into PriceInfo values(017,凉拌毛豆,5);2、创建用户、角色 创建用户:选择目的数据库中的安全性,右击安全性中的用户,选择新建用户,在弹出的数据库用户-新建对话框中输入用户名和登录名Delivery,单击确定。重复上述操作完成对用户Kitchen、A

16、dmin、Waiter的创建。创建角色:选择目的数据库中的安全性,右击安全性中的角色,选择新建中的新建数据库角色,出现数据库角色-新建对话框,输入角色名,并选择所有者,在此角色的成员中单击添加选择角色成员,单击确定完成角色创建。 3、对用户授权 grant select on Kitchen to Kitchen; grant update on FoodList to Kitchen; grant select on Delivery to Delivery; grant update on FoodList to Delivery; grant all privileges on Acco

17、untInfo to Admin grant all privileges on C_C_A to Admin grant all privileges on ChargeInfo to Admin grant all privileges on CustomerInfo to Admin grant all privileges on FoodInfo to Admin grant all privileges on FoodList to Admin grant all privileges on OrderInfo to Admin grant all privileges on Pri

18、ceInfo to Admin grant all privileges on Kitchen to Admin grant all privileges on Delivery to Admin grant all privileges on Foodlist to Waiter grant all privileges on CustomerInfo to Waiter grant all privileges on ChargeInfo to Waiter 4、创建触发器 在表FoodInfo中创建触发器: create trigger DELETE_FOODINFO on FoodIn

19、fo after delete as begin delete from PriceInfo where =Fname set nocount on; end go 六、数据库运行和维护 1、 备份数据库: 在数据库文件选项中选择要备份的数据库inn,右键单击,选择任务-备份选项出现数据库备份对话框,备份类型选择完整,在目标项中选择添加,弹出选择备份目标,在磁盘上的目标中选择备份数据库的目标文件夹,选择好路径后,将文件名取为inn,点击确定后,完成备份。2、还原数据库:在数据库文件选项中单击右键,选择还原数据库,弹出还原数据库对话框,在目标数据库中选择要还原的数据库inn,在还原的源项中选择源设备,在弹出的指定备份中选择备份位置,选择已备份的文件后,单击确定,在选择用于还原的备份集中选定要还原的文件,单击确定,完成数据库还原。四、实验结论 通过此次实验,加深对数据完整性的理解,学会创建和使用触发器。加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。学会根据数据库系统设计的基本步骤,完成某一具体数据库系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行维护等功能。

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

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