数据库课程设计酒店管理系统Word下载.doc
《数据库课程设计酒店管理系统Word下载.doc》由会员分享,可在线阅读,更多相关《数据库课程设计酒店管理系统Word下载.doc(21页珍藏版)》请在冰点文库上搜索。
![数据库课程设计酒店管理系统Word下载.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/ecdb70f8-4722-4fed-b1ef-ee7f67c74083/ecdb70f8-4722-4fed-b1ef-ee7f67c740831.gif)
其三,根据需求分析画出ER图,并转换成关系模式;
其四,设计数据库的物理结构;
最后,在SQLServer2000中实现该数据库,并适当输入一些模拟数据。
参
考
资
料
[1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006
[2]杨桦等.SQLServer2000实用教程.清华大学出版社.2007
[3]朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.1997
[4]陆慧娟等.数据库原理与应用.科学出版社.2006
[5]李春葆等.SQLServer2000应用系统开发教程.清华大学出版社.2005
指导教师签字
年月日
摘要
数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。
其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。
……
【关键词】SQL语言,数据库设计,酒店数据管理
18
目录
摘要 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
4ER图转换成关系模式 5
4.1E-R图向关系模型的转换 5
4.2数据模型的优化 5
5物理结构设计 6
6T-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
4ER图转换成关系模式
4.1E-R图向关系模型的转换
实体:
这里他没有标出主键和外键,应该用下划直线标出主键,下划波浪线标出外键。
部门(部门编号,部门名称,部门电话)
职工(工号,职工姓名,年龄,职称,部门编号)
仓库(仓库号,仓库电话,面积)
供应商(供应商号,联系电话,老板姓名,地址,帐号)
商品(商品号,商品名,价格,厂家,数量)
消费者(消费日期,消费金额,消费人数)
联系:
供应(供应商号,商品号,供应量)
库存(仓库号,商品号,库存量)
管理(商品号,工号,购买量)
服务(工号,消费者,服务质量)
购买(商品号,消费者,购买数量)
包含依赖关系如下:
供应[供应商号]供应商[供应商号]
供应[商品号]商品[商品号]
库存[仓库号]仓库[仓库号]
库存[商品号]商品[商品号]
管理[商品号]商品[商品号]
管理[工号]职工[工号]
服务[工号]职工[工号]
购买[商品号]消费者[商品号]
职工[部门编号]部门[部门编号]
部门[部门编号]职工[工号]
4.2数据模型的优化
数据库的逻辑结构设计的结果不是唯一的。
为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,……
5物理结构设计
各表格的定义
部门表
列名
数据类型
长度
能否取空值
备注
varchar
10
NO
主码
50
int
经理工号
职工表
20
仓库表
供应商表
原材料表
材料名称
30
money
产地
成品菜表
菜名
菜价
份数
消费者表
餐桌号
datetime
供应表
库存表
购买表
购买量
烹饪表
材料用量
服务表
服务质量
享用表
用餐数量
6T-SQL语句
建库
createdatabase酒店数据管理系统
on
(name=酒店数据,
filename='
e:
\mydata\酒店数据.mdf'
size=10,
maxsize=20,
filegrowth=1)
logon
(name=酒店数据日志,
\mydata\酒店数据日志.ldf'
filegrowth=10%)
go
建表
1.部门表
use酒店数据管理系统
createtable部门
(部门编号varchar(10)primarykey,
部门名称varchar(50)notnull,
部门电话int,
经理工号int)
2.职工表
createtable职工
(工号intprimarykey,
职工姓名varchar(20)notnull,
年龄int,
职称varchar(10),
部门编号varchar(10))
3.仓库表
createtable仓库
(仓库号intprimarykey,
仓库电话int,
面积int)
4.供应商表
createtable供应商
(供应商号varchar(10)primarykey,
联系电话int,
老板姓名varchar(10)notnull,
地址varchar(50)notnull,
帐号varchar)
5.原材料表
createtable原材料
(材料名称varchar(30)primarykey,
价格money,
数量int,
产地varchar(50))
6.成品菜表
createtable成品菜
(菜名varchar(20)primarykey,
菜价moneynotnull,
份数int)
7.消费者表
createtable消费者
(餐桌号intprimarykey,
消费金额money,
消费人数int,
消费日期datetimenotnull)
8.供应表
createtable供应
(供应量int,
供应商号varchar(10)notnull,
材料名称varchar(30)notnull,
constraint供应_pkprimarykey(供应商号,材料名称))
9.库存表
createtable库存
(库存量int,
仓库号intnotnull,
constraint库存_pkprimarykey(仓库号,材料名称))
10.购买表
createtable购买
(购买量int,
工号intnotnull,
constraint购买_pkprimarykey(工号,材料名称))
11.烹饪表
createtable烹饪
(材料用量int,
菜名varchar(20)notnull,
constraint烹饪_pkprimarykey(菜名,材料名称))
12.服务表
createtable服务
(服务质量char(10),
餐桌号intnotnull,
constraint服务_pkprimarykey(工号,餐桌号))
13.享用表
createtable享用
(用餐数量int,
菜名char(20)notnull,
constraint享用_pkprimarykey(菜名,餐桌号))
7其他
在表中创建相关的视图,约束,默认值,索引,触发器,规则以及存储过程
创建视图
视图1
createview职工服务
as
select职工.工号,职工姓名,部门编号,服务.服务质量
from职工,服务
where职工.工号=服务.工号
视图2
createview消费者享用
select消费者.餐桌号,消费金额,享用.用餐数量
from消费者,享用
where消费者.餐桌号=享用.餐桌号
视图3
createview职工购买
select职工.工号,部门编号,购买.材料名称,购买量
from职工,购买
where职工.工号=购买.工号
创建约束
Check约束1
altertable职工
withnocheck
addcheck(年龄>
=18and年龄<
=65)
Check约束2
altertable仓库
addcheck(面积>
=50)
Check约束3
altertable服务
withnocheck
addconstraintCK_服务质量check(服务质量='
满意'
or服务质量='
较满意'
or服务质量='
一般'
)
外键约束
addforeignkey(部门编号)references部门(部门编号)
创建默认值
createdefaultdef_份数as1
execsp_bindefault'
def_份数'
'
成品菜.份数'
创建索引
索引1
createnonclusteredindex
ix_成品菜on成品菜(菜名,菜价,份数)
索引2
ix_职工on职工(工号,职工姓名,年龄,职称,部门编号)
创建触发器
插入职工的触发器
createtriggerinsert_服务on服务
forinsert
declare@msgvarchar(20)
select@msg=工号frominserted
ifexists(select*from职工where工号=@msg)
print'
该职工记录成功插入!
'
else
begin
该职工的工号在表职工中不存在,不能插入该职工记录!
rollbacktransaction
end
return
点菜的触发器
createtriggerinsert_享用on享用
select@msg=菜名frominserted
ifexists(select*from成品菜where菜名=@msg)
这道菜存在!
这道菜在表成品菜中不存在,不能点这道菜!
创建规则
规则1
createrule消费金额_rule
@消费金额>
=20
Go
规则2
createrule服务质量_rule
@服务质量in('
创建存储过程
createprocedure顾客享用_info
select成品菜.菜名,用餐数量,享用.餐桌号
from享用
join成品菜
on享用.菜名=成品菜.菜名
join消费者
on消费者.餐桌号=享用.餐桌号
8总结
经过两个星期的努力,终于设计出一个……
参考文献
东海科学技术学院学生课程设计日志
周次
日期
工作内容
第
十
八
周
6.20
布置任务及分组、总体需求分析与设计
6.21
编写相关文档、设计说明、查找资料
6.22
需求分析,写出DFD和DD
6.23
画出E-R图
6.24
完善E-R图
九
6.27
转化成关系模型
6.28
在SQLSERVER上实施
6.29
撰写课程设计成果说明书
6.30
打印
7.1
课程设计检查与整理