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

上传人:b****7 文档编号:25337835 上传时间:2023-06-07 格式:DOCX 页数:22 大小:61.07KB
下载 相关 举报
数据库课程设计酒店管理系统.docx_第1页
第1页 / 共22页
数据库课程设计酒店管理系统.docx_第2页
第2页 / 共22页
数据库课程设计酒店管理系统.docx_第3页
第3页 / 共22页
数据库课程设计酒店管理系统.docx_第4页
第4页 / 共22页
数据库课程设计酒店管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

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

《数据库课程设计酒店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计酒店管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

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

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

课程设计成果说明书

 

题目:

酒店数据管理系统的数据库设计

 

东海科学技术学院课程设计成绩评定表

2010—2011学年第二学期

院系数理与信息系专业计算机科学与技术班级C09计算机

(1)班

学生姓名(学号)

张某某

(071005301)

课程名称

数据库课程设计

题目

酒店数据管理系统的数据库设计

指导教师评语

 

指导教师签名:

年月日

答辩评语及成绩

 

答辩小组教师签名:

年月日

 

东海科学技术学院课程设计任务书

2010—2011学年第二学期

院系数理与信息系专业计算机科学与技术班级C09计算机

(1)班

学生姓名(学号)

张某某

(071005301)

课程名称

数据库课程设计

题目

酒店数据管理系统的数据库设计

完成期限

自2011年6月10日至2009年7月3日共2周

1、对酒店管理数据、操作流程等的调查分析;

2、关系型数据库的设计方法,主要是ER图的绘制和从ER图转换成关系模式;

3、关系模式优化,要求规范化程度达到第三范式(3NF);

4、SQLServer2000中有关数据库的基本操作,要求掌握相应的T-SQL语句。

设计要求

结合所学的数据库理论知识,独立设计方案;学会查阅相关资料,通过查阅进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;掌握综合性数据库设计的基本过程,完成高校教学管理系统的数据库设计,并且设计合理的数据完整性;认真撰写总结报告,培养严谨的作风和科学的态度。

主要内容

首先,分析选题的现实意义和可行性;其二,进行相应的需求分析(重点是数据需求分析);其三,根据需求分析画出ER图,并转换成关系模式;其四,设计数据库的物理结构;最后,在SQLServer2000中实现该数据库,并适当输入一些模拟数据。

[1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006

[2]杨桦等.SQLServer2000实用教程.清华大学出版社.2007

[3]朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.1997

[4]陆慧娟等.数据库原理与应用.科学出版社.2006

[5]李春葆等.SQLServer2000应用系统开发教程.清华大学出版社.2005

指导教师签字

年月日

摘要

数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。

其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

……

……

……

【关键词】SQL语言,数据库设计,酒店数据管理

 

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

nmn

1

1m

m

1n

 

n

m

n

 

4ER图转换成关系模式

4.1E-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

主码

6T-SQL语句

建库

createdatabase酒店数据管理系统

on

(name=酒店数据,

filename='e:

\mydata\酒店数据.mdf',

size=10,

maxsize=20,

filegrowth=1)

logon

(name=酒店数据日志,

filename='e:

\mydata\酒店数据日志.ldf',

size=10,

maxsize=20,

filegrowth=10%)

go

建表

1.部门表

use酒店数据管理系统

go

createtable部门

(部门编号varchar(10)primarykey,

部门名称varchar(50)notnull,

部门电话int,

经理工号int)

go

2.职工表

createtable职工

(工号intprimarykey,

职工姓名varchar(20)notnull,

年龄int,

职称varchar(10),

部门编号varchar(10))

go

3.仓库表

createtable仓库

(仓库号intprimarykey,

仓库电话int,

面积int)

go

 

4.供应商表

createtable供应商

(供应商号varchar(10)primarykey,

联系电话int,

老板姓名varchar(10)notnull,

地址varchar(50)notnull,

帐号varchar)

go

5.原材料表

createtable原材料

(材料名称varchar(30)primarykey,

价格money,

数量int,

产地varchar(50))

go

6.成品菜表

createtable成品菜

(菜名varchar(20)primarykey,

菜价moneynotnull,

份数int)

go

7.消费者表

createtable消费者

(餐桌号intprimarykey,

消费金额money,

消费人数int,

消费日期datetimenotnull)

go

8.供应表

createtable供应

(供应量int,

供应商号varchar(10)notnull,

材料名称varchar(30)notnull,

constraint供应_pkprimarykey(供应商号,材料名称))

go

9.库存表

createtable库存

(库存量int,

仓库号intnotnull,

材料名称varchar(30)notnull,

constraint库存_pkprimarykey(仓库号,材料名称))

go

10.购买表

createtable购买

(购买量int,

工号intnotnull,

材料名称varchar(30)notnull,

constraint购买_pkprimarykey(工号,材料名称))

go

11.烹饪表

createtable烹饪

(材料用量int,

菜名varchar(20)notnull,

材料名称varchar(30)notnull,

constraint烹饪_pkprimarykey(菜名,材料名称))

go

12.服务表

createtable服务

(服务质量char(10),

工号intnotnull,

餐桌号intnotnull,

constraint服务_pkprimarykey(工号,餐桌号))

go

13.享用表

createtable享用

(用餐数量int,

菜名char(20)notnull,

餐桌号intnotnull,

constraint享用_pkprimarykey(菜名,餐桌号))

go

7其他

在表中创建相关的视图,约束,默认值,索引,触发器,规则以及存储过程

创建视图

视图1

createview职工服务

as

select职工.工号,职工姓名,部门编号,服务.服务质量

from职工,服务

where职工.工号=服务.工号

go

视图2

createview消费者享用

as

select消费者.餐桌号,消费金额,享用.用餐数量

from消费者,享用

where消费者.餐桌号=享用.餐桌号

go

视图3

createview职工购买

as

select职工.工号,部门编号,购买.材料名称,购买量

from职工,购买

where职工.工号=购买.工号

go

创建约束

Check约束1

altertable职工

withnocheck

addcheck(年龄>=18and年龄<=65)

go

Check约束2

altertable仓库

addcheck(面积>=50)

go

Check约束3

altertable服务

withnocheck

addconstraintCK_服务质量check(服务质量='满意'or服务质量='较满意'or服务质量='一般')

go

外键约束

altertable职工

addforeignkey(部门编号)references部门(部门编号)

go

创建默认值

createdefaultdef_份数as1

go

execsp_bindefault'def_份数','成品菜.份数'

go

创建索引

索引1

createnonclusteredindex

ix_成品菜on成品菜(菜名,菜价,份数)

go

索引2

createnonclusteredindex

ix_职工on职工(工号,职工姓名,年龄,职称,部门编号)

go

创建触发器

插入职工的触发器

createtriggerinsert_服务on服务

forinsert

as

declare@msgvarchar(20)

select@msg=工号frominserted

ifexists(select*from职工where工号=@msg)

print'该职工记录成功插入!

'

else

begin

print'该职工的工号在表职工中不存在,不能插入该职工记录!

'

rollbacktransaction

end

return

go

 

点菜的触发器

createtriggerinsert_享用on享用

forinsert

as

declare@msgvarchar(20)

select@msg=菜名frominserted

ifexists(select*from成品菜where菜名=@msg)

print'这道菜存在!

'

else

begin

print'这道菜在表成品菜中不存在,不能点这道菜!

'

rollbacktransaction

end

return

go

 

创建规则

规则1

createrule消费金额_rule

as

@消费金额>=20

Go

规则2

createrule服务质量_rule

as

@服务质量in('满意','较满意','一般')

go

 

创建存储过程

createprocedure顾客享用_info

as

select成品菜.菜名,用餐数量,享用.餐桌号

from享用

join成品菜

on享用.菜名=成品菜.菜名

join消费者

on消费者.餐桌号=享用.餐桌号

go

8总结

经过两个星期的努力,终于设计出一个……

 

参考文献

[1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006

[2]杨桦等.SQLServer2000实用教程.清华大学出版社.2007

[3]朱扬勇等.客户/服务器数据库应用开发.复旦大学出版社.1997

[4]陆慧娟等.数据库原理与应用.科学出版社.2006

[5]李春葆等.SQLServer2000应用系统开发教程.清华大学出版社.2005

 

东海科学技术学院学生课程设计日志

周次

日期

工作内容

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

课程设计检查与整理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

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

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