收藏 分销(赏)

数据库课程设计酒店管理系统.doc

上传人:胜**** 文档编号:1957901 上传时间:2024-05-12 格式:DOC 页数:22 大小:156KB 下载积分:10 金币
下载 相关 举报
数据库课程设计酒店管理系统.doc_第1页
第1页 / 共22页
数据库课程设计酒店管理系统.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
课程设计成果说明书 题 目:酒店数据管理系统的数据库设计 东海科学技术学院课程设计成绩评定表 20 10 —20 11 学年 第 二 学期 院系 数理与信息系 专业 计算机科学与技术 班级 C09计算机(1)班 学生姓名(学 号) 张某某 (071005301) 课程名称 数据库课程设计 题 目 酒店数据管理系统的数据库设计 指导教师评语 指导教师签名: 年 月 日 答辩评语及成绩 答辩小组教师签名: 年 月 日 东海科学技术学院课程设计任务书 20 10 —20 11 学年 第 二 学期 院系 数理与信息系 专业 计算机科学与技术 班级 C09计算机(1)班 学生姓名(学 号) 张某某 (071005301) 课程名称 数据库课程设计 题 目 酒店数据管理系统的数据库设计 完成期限 自 2011 年 6 月 10 日至 2009 年 7 月 3 日 共 2 周 设 计 依 据 1、对酒店管理数据、操作流程等的调查分析; 2、关系型数据库的设计方法,主要是ER 图的绘制和从ER图转换成关系模式; 3、关系模式优化,要求规范化程度达到第三范式(3NF); 4、SQL Server 2000中有关数据库的基本操作,要求掌握相应的T-SQL语句。 设 计 要 求 及 主 要 内 容 设计要求 结合所学的数据库理论知识,独立设计方案;学会查阅相关资料,通过查阅进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;掌握综合性数据库设计的基本过程,完成高校教学管理系统的数据库设计,并且设计合理的数据完整性;认真撰写总结报告,培养严谨的作风和科学的态度。 主要内容 首先,分析选题的现实意义和可行性;其二,进行相应的需求分析(重点是数据需求分析);其三,根据需求分析画出ER图,并转换成关系模式;其四,设计数据库的物理结构;最后,在SQL Server 2000中实现该数据库,并适当输入一些模拟数据。 参 考 资 料 [1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006 [2]杨桦等.SQL Server 2000实用教程.清华大学出版社.2007 [3]朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.1997 [4]陆慧娟等.数据库原理与应用.科学出版社.2006 [5]李春葆等.SQL Server 2000应用系统开发教程.清华大学出版社.2005 指导教师签字 年 月 日 摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 …… …… …… 【关键词】SQL语言,数据库设计,酒店数据管理 目 录 摘要 1 1 选题 3 1.1 课题简介 3 1.2 设计目的 3 1.3 设计内容 3 2 需求分析 3 2.1 需求分析的任务 3 2.2 需求分析的过程 4 3 概念设计(ER图) 4 3.1 概念结构设计的方法和步骤 4 3.2 视图的集成 4 4 ER图转换成关系模式 5 4.1 E-R图向关系模型的转换 5 4.2 数据模型的优化 5 5 物理结构设计 6 6 T-SQL语句 8 7 其他 12 8 总结 15 参考文献 16 学生课程设计日志 17 1 选题 1.1 课题简介 随着数据处理的不断进步和计算机网络的迅速发展,使数据库应用系统不仅在功能而且在结构上都有了深刻的变化,…… 1.2 设计目的 …… 1.3 设计内容 运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发…… 2 需求分析 2.1 需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调…… 2.2 需求分析的过程 (1)…… (2)…… (3)…… …… 3 概念设计(ER图) 3.1 概念结构设计的方法和步骤 设计概念结构通常有四种方法:自顶向下,…… 3.2 视图的集成 描述进行视图集成的具体过程,得到如下总体概念结构E-R图。 联系电话 地址 老板姓名 供应商号 帐号 供应商 部门名称 m 供应量 供应 商品号 部门电话 部门编号 仓库号 消费人数 面积 库存量 数量 服务 管理 商品 仓库 库存 部门 n n m n 价格 厂家 1 仓库电话 管理量 1 m 商品名 领导 属于 购买数量 m 购买 1 n 工号 职工 n 消费日期 职工姓名 m 消费金额 职称 年龄 消费者 n 4 ER图转换成关系模式 4.1 E-R图向关系模型的转换 实体:这里他没有标出主键和外键,应该用下划直线标出主键,下划波浪线标出外键。 部门(部门编号, 部门名称, 部门电话) 职工(工号, 职工姓名, 年龄, 职称, 部门编号) 仓库(仓库号, 仓库电话, 面积) 供应商(供应商号, 联系电话, 老板姓名, 地址, 帐号) 商品(商品号,商品名,价格,厂家,数量) 消费者(消费日期, 消费金额, 消费人数) 联系: 供应(供应商号, 商品号, 供应量) 库存(仓库号, 商品号, 库存量) 管理(商品号, 工号, 购买量) 服务(工号, 消费者,服务质量) 购买(商品号, 消费者, 购买数量) 包含依赖关系如下: 供应[供应商号]供应商[供应商号] 供应[商品号]商品[商品号] 库存[仓库号]仓库[仓库号] 库存[商品号]商品[商品号] 管理[商品号]商品[商品号] 管理[工号]职工[工号] 服务[工号]职工[工号] 购买[商品号]消费者[商品号] 职工[部门编号]部门[部门编号] 部门[部门编号]职工[工号] 4.2 数据模型的优化 数据库的逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,…… 5 物理结构设计 各表格的定义 部门表 列名 数据类型 长度 能否取空值 备注 部门编号 varchar 10 NO 主码 部门名称 varchar 50 NO 部门电话 int 经理工号 int 职工表 列名 数据类型 长度 能否取空值 备注 工号 int NO 主码 职工姓名 varchar 20 NO 年龄 int 职称 varchar 10 部门编号 varchar 10 仓库表 列名 数据类型 长度 能否取空值 备注 仓库号 int NO 主码 仓库电话 int 面积 int 供应商表 列名 数据类型 长度 能否取空值 备注 供应商号 varchar 10 NO 主码 联系电话 int 老板姓名 varchar 10 NO 地址 varchar 50 NO 帐号 varchar 50 原材料表 列名 数据类型 长度 能否取空值 备注 材料名称 varchar 30 NO 主码 价格 money 数量 int 产地 varchar 50 成品菜表 列名 数据类型 长度 能否取空值 备注 菜名 varchar 20 NO 主码 菜价 money NO 份数 int 消费者表 列名 数据类型 长度 能否取空值 备注 餐桌号 int NO 主码 消费金额 money 消费人数 int 消费日期 datetime 供应表 列名 数据类型 长度 能否取空值 备注 供应量 int 供应商号 varchar 10 NO 主码 材料名称 varchar 30 NO 主码 库存表 列名 数据类型 长度 能否取空值 备注 库存量 int 仓库号 int NO 主码 材料名称 varchar 30 NO 主码 购买表 列名 数据类型 长度 能否取空值 备注 购买量 int 工号 int NO 主码 材料名称 varchar 30 NO 主码 烹饪表 列名 数据类型 长度 能否取空值 备注 材料用量 int 菜名 varchar 20 NO 主码 材料名称 varchar 30 NO 主码 服务表 列名 数据类型 长度 能否取空值 备注 服务质量 varchar 10 工号 int NO 主码 餐桌号 int NO 主码 享用表 列名 数据类型 长度 能否取空值 备注 用餐数量 int 菜名 varchar 20 NO 主码 餐桌号 int NO 主码 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 酒店数据管理系统 go create table 部门 (部门编号 varchar(10) primary key, 部门名称 varchar(50) not null, 部门电话 int, 经理工号 int) go 2.职员信息表表 create table 职员 (账号 int primary key, 职职员姓名 varchar(20) not null, 性别 int, 密码 varchar(10), 备注 varchar(10)) go 3.客房基本信息表 create table 客房 (客房编号 int primary key, 客房类型 int, 钟点价格 money, 全日价格 money) go 3.入住顾客历史信息表 create table 客房 (顾客编号 int primary key, 姓名 int, 性别 int 证件类型 int 证件号码 int 付款金额 money 入住时间 datetime not null 退房时间 datetime not null) go 4.供应商表 create table 供应商 (供应商号 varchar(10) primary key, 联系电话 int, 老板姓名 varchar(10) not null, 地址 varchar(50) not null, 帐号 varchar) go 5.原材料表 create table 原材料 (材料名称 varchar(30) primary key, 价格 money, 数量 int, 产地 varchar(50)) go 6.成品菜表 create table 成品菜 (菜名 varchar(20) primary key, 菜价 money not null, 份数 int) go 7.客房实时信息表 create table 客房 (客房编号 int primary key, 客房类型 int, 客房说明 int, 全日价格 money, 钟点价格 money, 是否被入住或预订 int, 入住时间 datetime not null) go 7.客房入住历史信息表 create table 客房 (客房编号 int primary key, 客房类型 int, 客房说明 int, 全日价格 money, 钟点价格 money, 入住或预订类型 int, 入住时间 datetime not null 退房时间 datetime not null) go 8.供应表 create table 供应 (供应量 int, 供应商号 varchar(10) not null, 材料名称 varchar(30) not null, constraint 供应_pk primary key(供应商号,材料名称)) go 9.库存表 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 null, constraint 购买_pk primary key(工号,材料名称)) go 11.烹饪表 create table 烹饪 (材料用量 int, 菜名 varchar(20) not null, 材料名称 varchar(30) not null, constraint 烹饪_pk primary key(菜名,材料名称)) go 12.服务表 create table 服务 (服务质量 char(10), 工号 int not null, 餐桌号 int not null, constraint 服务_pk primary key(工号,餐桌号)) go 13.享用表 create table 享用 (用餐数量 int, 菜名 char(20) not null, 餐桌号 int not null, constraint 享用_pk primary key(菜名,餐桌号)) go 7 其他 在表中创建相关的视图,约束,默认值,索引,触发器,规则以及存储过程 创建视图 视图1 create view 职工服务 as select 职工.工号,职工姓名,部门编号,服务.服务质量 from 职工,服务 where 职工.工号=服务.工号 go 视图2 create view 消费者享用 as select 消费者.餐桌号,消费金额,享用.用餐数量 from 消费者,享用 where 消费者.餐桌号=享用.餐桌号 go 视图3 create view 职工购买 as select 职工.工号,部门编号,购买.材料名称,购买量 from 职工,购买 where 职工.工号=购买.工号 go 创建约束 Check约束1 alter table 职工 with nocheck add check(年龄>=18 and 年龄<=65) go Check约束2 alter table 仓库 add check(面积>=50) go Check约束3 alter table 服务 with nocheck add constraint CK_服务质量 check(服务质量='满意' or 服务质量='较满意'or 服务质量='一般') go 外键约束 alter table 职工 add foreign key (部门编号) references 部门(部门编号) go 创建默认值 create default def_份数 as 1 go exec sp_bindefault 'def_份数','成品菜.份数' go 创建索引 索引1 create nonclustered index ix_成品菜 on 成品菜(菜名,菜价,份数) go 索引2 create nonclustered index ix_职工 on 职工(工号,职工姓名,年龄,职称,部门编号) go 创建触发器 插入职工的触发器 create trigger insert_服务 on 服务 for insert as declare @msg varchar(20) select @msg=工号 from inserted if exists(select * from 职工 where 工号=@msg) print'该职工记录成功插入!' else begin print'该职工的工号在表职工中不存在,不能插入该职工记录!' rollback transaction end return go 点菜的触发器 create trigger insert_享用 on 享用 for insert as declare @msg varchar(20) select @msg=菜名 from inserted if exists(select * from 成品菜 where 菜名=@msg) print'这道菜存在!' else begin print'这道菜在表成品菜中不存在,不能点这道菜!' rollback transaction end return go 创建规则 规则1 create rule 消费金额_rule as @消费金额>=20 Go 规则2 create rule 服务质量_rule as @服务质量 in ('满意','较满意','一般') go 创建存储过程 create procedure 顾客享用_info as select 成品菜.菜名,用餐数量,享用.餐桌号 from 享用 join 成品菜 on 享用.菜名=成品菜.菜名 join 消费者 on 消费者.餐桌号=享用.餐桌号 go 8 总结 经过两个星期的努力,终于设计出一个…… 参考文献 [1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006 [2]杨桦等.SQL Server 2000实用教程.清华大学出版社.2007 [3]朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.1997 [4]陆慧娟等.数据库原理与应用.科学出版社.2006 [5]李春葆等.SQL Server 2000应用系统开发教程.清华大学出版社.2005 东海科学技术学院学生课程设计日志 周次 日期 工 作 内 容 第 十 八 周 6.20 布置任务及分组、总体需求分析与设计 6.21 编写相关文档、设计说明、查找资料 6.22 需求分析,写出DFD和DD 6.23 画出E-R图 6.24 完善E-R图 周次 日期 工 作 内 容 第 十 九 周 6.27 转化成关系模型 6.28 在SQL SERVER上实施 6.29 撰写课程设计成果说明书 6.30 打印 7.1 课程设计检查与整理
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服