《数据库课程设计酒店管理系统(共22页).doc》由会员分享,可在线阅读,更多相关《数据库课程设计酒店管理系统(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课程设计成果说明书题 目:酒店数据管理系统的数据库设计专心-专注-专业东海科学技术学院课程设计成绩评定表20 10 20 11 学年 第 二 学期院系 数理与信息系 专业 计算机科学与技术 班级 C09计算机(1)班 学生姓名(学 号) 张某某()课程名称数据库课程设计题 目酒店数据管理系统的数据库设计指导教师评语指导教师签名: 年 月 日答辩评语及成绩答辩小组教师签名: 年 月 日东海科学技术学院课程设计任务书20 10 20 11 学年 第 二 学期院系 数理与信息系 专业 计算机科学与技术 班级 C09计算机(1)班 学生姓名(学 号)张某某()课程名称数据库课
2、程设计题 目酒店数据管理系统的数据库设计完成期限自 2011 年 6 月 10 日至 2009 年 7 月 3 日 共 2 周设计依据1、对酒店管理数据、操作流程等的调查分析;2、关系型数据库的设计方法,主要是ER 图的绘制和从ER图转换成关系模式;3、关系模式优化,要求规范化程度达到第三范式(3NF);4、SQL Server 2000中有关数据库的基本操作,要求掌握相应的T-SQL语句。设计要求及主要内容设计要求结合所学的数据库理论知识,独立设计方案;学会查阅相关资料,通过查阅进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;掌握综合性数据库设计的基本
3、过程,完成高校教学管理系统的数据库设计,并且设计合理的数据完整性;认真撰写总结报告,培养严谨的作风和科学的态度。主要内容首先,分析选题的现实意义和可行性;其二,进行相应的需求分析(重点是数据需求分析);其三,根据需求分析画出ER图,并转换成关系模式;其四,设计数据库的物理结构;最后,在SQL Server 2000中实现该数据库,并适当输入一些模拟数据。参考资料1萨师煊等.数据库系统概论(第四版).高等教育出版社.20062杨桦等.SQL Server 2000实用教程.清华大学出版社.20073朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.19974陆慧娟等.数据库原理与应用.科学出
4、版社.20065李春葆等.SQL Server 2000应用系统开发教程.清华大学出版社.2005指导教师签字年 月 日摘要数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。【关键词】SQL语言,数据库设计,酒店数据管理目 录1 选题1.1课题简介随着数据处理的不断进步和计算机网络的迅速发展,使数据库应用系统不仅在功能而且在结构上都有了深刻的变化,1.2设计目的1.3设计内容运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计
5、直至系统的最终实现,开发2 需求分析2.1 需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调2.2 需求分析的过程(1)(2)(3)3 概念设计(ER图)3.1 概念结构设计的方法和步骤设计概念结构通常有四种方法:自顶向下,3.2 视图的集成描述进行视图集成的具体过程,得到如下总体概念结构E-R图。联系电话地址老板姓名供应商号帐号供应商部门名称m供应量供应商品号部门电话部门编号仓库号消费人数面积库存量数量服务管理商品仓库库存部门nnmn价格厂家1仓库电话管理量1m商品名领导属于购买数量m 购买1n工号职工n消费日期职工姓名m
6、消费金额职称年龄消费者n4 ER图转换成关系模式4.1 E-R图向关系模型的转换实体:这里他没有标出主键和外键,应该用下划直线标出主键,下划波浪线标出外键。部门(部门编号, 部门名称, 部门电话)职工(工号, 职工姓名, 年龄, 职称, 部门编号)仓库(仓库号, 仓库电话, 面积)供应商(供应商号, 联系电话, 老板姓名, 地址, 帐号)商品(商品号,商品名,价格,厂家,数量)消费者(消费日期, 消费金额, 消费人数)联系:供应(供应商号, 商品号, 供应量)库存(仓库号, 商品号, 库存量)管理(商品号, 工号, 购买量)服务(工号, 消费者,服务质量)购买(商品号, 消费者, 购买数量)包
7、含依赖关系如下:供应供应商号供应商供应商号供应商品号商品商品号库存仓库号仓库仓库号库存商品号商品商品号管理商品号商品商品号管理工号职工工号服务工号职工工号购买商品号消费者商品号职工部门编号部门部门编号部门部门编号职工工号4.2 数据模型的优化数据库的逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,5 物理结构设计各表格的定义部门表列名数据类型长度能否取空值备注部门编号varchar10NO主码部门名称varchar50NO部门电话int经理工号int职工表列名数据类型长度能否取空值备注工号intNO主码职工姓名varchar20NO年龄int职称var
8、char10部门编号varchar10仓库表列名数据类型长度能否取空值备注仓库号intNO主码仓库电话int面积int供应商表列名数据类型长度能否取空值备注供应商号varchar10NO主码联系电话int老板姓名varchar10NO地址varchar50NO帐号varchar50原材料表列名数据类型长度能否取空值备注材料名称varchar30NO主码价格money数量int产地varchar50成品菜表列名数据类型长度能否取空值备注菜名varchar20NO主码菜价moneyNO份数int消费者表列名数据类型长度能否取空值备注餐桌号intNO主码消费金额money消费人数int消费日期dat
9、etime供应表列名数据类型长度能否取空值备注供应量int供应商号varchar10NO主码材料名称varchar30NO主码库存表列名数据类型长度能否取空值备注库存量int仓库号intNO主码材料名称varchar30NO主码购买表列名数据类型长度能否取空值备注购买量int工号intNO主码材料名称varchar30NO主码烹饪表列名数据类型长度能否取空值备注材料用量int菜名varchar20NO主码材料名称varchar30NO主码服务表列名数据类型长度能否取空值备注服务质量varchar10工号intNO主码餐桌号intNO主码享用表列名数据类型长度能否取空值备注用餐数量int菜名va
10、rchar20NO主码餐桌号intNO主码6 T-SQL语句建库create database 酒店数据管理系统on(name=酒店数据, filename=e:mydata酒店数据.mdf, size=10, maxsize=20, filegrowth=1)log on(name=酒店数据日志, filename=e:mydata酒店数据日志.ldf, size=10, maxsize=20, filegrowth=10%)go建表1.部门表use 酒店数据管理系统gocreate table 部门(部门编号 varchar(10) primary key, 部门名称 varchar(50
11、) not null, 部门电话 int, 经理工号 int)go2.职工表create table 职工(工号 int primary key, 职工姓名 varchar(20) not null, 年龄 int, 职称 varchar(10), 部门编号 varchar(10)go3.仓库表create table 仓库(仓库号 int primary key, 仓库电话 int, 面积 int) go4.供应商表create table 供应商(供应商号 varchar(10) primary key, 联系电话 int, 老板姓名 varchar(10) not null, 地址 va
12、rchar(50) not null, 帐号 varchar)go5.原材料表create table 原材料(材料名称 varchar(30) primary key, 价格 money, 数量 int, 产地 varchar(50)go6.成品菜表create table 成品菜(菜名 varchar(20) primary key, 菜价 money not null, 份数 int)go7.消费者表create table 消费者(餐桌号 int primary key, 消费金额 money, 消费人数 int, 消费日期 datetime not null)go8.供应表creat
13、e table 供应(供应量 int, 供应商号 varchar(10) not null, 材料名称 varchar(30) not null, constraint 供应_pk primary key(供应商号,材料名称)go9.库存表create table 库存(库存量 int, 仓库号 int not null, 材料名称 varchar(30) not null, constraint 库存_pk primary key(仓库号,材料名称)go 10.购买表create table 购买(购买量 int, 工号 int not null, 材料名称 varchar(30) not
14、null, constraint 购买_pk primary key(工号,材料名称)go11.烹饪表create table 烹饪(材料用量 int, 菜名 varchar(20) not null, 材料名称 varchar(30) not null, constraint 烹饪_pk primary key(菜名,材料名称)go12.服务表create table 服务(服务质量 char(10), 工号 int not null, 餐桌号 int not null, constraint 服务_pk primary key(工号,餐桌号)go13.享用表create table 享用(
15、用餐数量 int, 菜名 char(20) not null, 餐桌号 int not null, constraint 享用_pk primary key(菜名,餐桌号)go 7 其他在表中创建相关的视图,约束,默认值,索引,触发器,规则以及存储过程创建视图视图1create view 职工服务asselect 职工.工号,职工姓名,部门编号,服务.服务质量from 职工,服务where 职工.工号=服务.工号go视图2create view 消费者享用asselect 消费者.餐桌号,消费金额,享用.用餐数量from 消费者,享用where 消费者.餐桌号=享用.餐桌号go视图3creat
16、e view 职工购买asselect 职工.工号,部门编号,购买.材料名称,购买量from 职工,购买where 职工.工号=购买.工号go创建约束Check约束1alter table 职工with nocheckadd check(年龄=18 and 年龄=50)goCheck约束3alter table 服务with nocheck add constraint CK_服务质量 check(服务质量=满意 or 服务质量=较满意or 服务质量=一般)go外键约束alter table 职工add foreign key (部门编号) references 部门(部门编号)go创建默认值
17、create default def_份数 as 1goexec sp_bindefault def_份数,成品菜.份数go创建索引索引1create nonclustered indexix_成品菜 on 成品菜(菜名,菜价,份数)go索引2create nonclustered indexix_职工 on 职工(工号,职工姓名,年龄,职称,部门编号)go创建触发器插入职工的触发器create trigger insert_服务 on 服务for insertasdeclare msg varchar(20)select msg=工号 from insertedif exists(selec
18、t * from 职工 where 工号=msg)print该职工记录成功插入!elsebeginprint该职工的工号在表职工中不存在,不能插入该职工记录!rollback transactionendreturngo点菜的触发器create trigger insert_享用 on 享用for insertasdeclare msg varchar(20)select msg=菜名 from insertedif exists(select * from 成品菜 where 菜名=msg)print这道菜存在!elsebeginprint这道菜在表成品菜中不存在,不能点这道菜!rollba
19、ck transactionendreturngo创建规则规则1create rule 消费金额_ruleas消费金额=20Go规则2create rule 服务质量_ruleas服务质量 in (满意,较满意,一般)go创建存储过程create procedure 顾客享用_infoasselect 成品菜.菜名,用餐数量,享用.餐桌号from 享用 join 成品菜 on 享用.菜名=成品菜.菜名join 消费者on 消费者.餐桌号=享用.餐桌号go8 总结 经过两个星期的努力,终于设计出一个参考文献1萨师煊等.数据库系统概论(第四版).高等教育出版社.20062杨桦等.SQL Serve
20、r 2000实用教程.清华大学出版社.20073朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.19974陆慧娟等.数据库原理与应用.科学出版社.20065李春葆等.SQL Server 2000应用系统开发教程.清华大学出版社.2005东海科学技术学院学生课程设计日志周次日期工 作 内 容第十八周6.20布置任务及分组、总体需求分析与设计6.21编写相关文档、设计说明、查找资料6.22需求分析,写出DFD和DD6.23画出E-R图6.24完善E-R图周次日期工 作 内 容第十九周6.27转化成关系模型6.28在SQL SERVER上实施6.29撰写课程设计成果说明书6.30打印7.1课程设计检查与整理