数据库课程设计旅行社管理系统Word格式.docx
《数据库课程设计旅行社管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计旅行社管理系统Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
(4)景点信息:
建立景点信息表,以景点名称对景点分类,并设定景点所在城市、门票价格、路线编号、联系电话、开放时间属性。
(5)客户住房信息:
建立客户住房信息,明确客户与酒店之间的关系,并且客户住房信息中包含客户的住、退房日期,是酒店与客户之间的联系更加明朗化,客户可通过客户登录密码进入该表查询其住宿信息。
(6)客户旅游信息:
建立客户旅游信息,明确客户旅游的目的地、线路安排、以及本次旅行的交通问题、费用等,客户同样可根据其登录密码查询其旅游信息.
(7)管理员管理客户信息:
管理员可利用其特殊的权限对客户信息进行添加、修改、删除。
(8)管理员管理景点信息:
管理员可利用其特殊权限对景点信息进行添加、修改、删除。
(9)管理员管理酒店信息:
管理员可利用其特殊的权限对酒店客房信息进行添加、修改、删除。
2.2概念设计
2.2.1实体间的联系
1.一个客户只能入住一个房间,一个房间可以入住多个客户。
2.多名客户可以同时游览一个景点,但是一名客户不能同时游览多个景点。
3.一个系统管理员可以处理多个客房信息,一个客房信息可以被多名系统管理员管理。
4.一个系统管理员可以处理多个景点信息,一个景点信息可以被多名系统管理员管理。
5.一个系统管理员可以处理多个酒店信息,一个酒店信息可以被多名系统管理员管理。
6.一个普通客户只能查询一个客户详细信息。
2.2.2数据库关系图
图2.1旅行社信息管理系统数据库关系图
图2.2旅行社信息管理系统E-R模型图
2.3逻辑设计
2.3.1E-R模型图向关系模型的转换
M:
N联系转换的关系模式
a.客户入住客房联系概念模型向关系模型的转换
客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,客户密码,联系地址);
酒店表(酒店代码,酒店名称,酒店地址,客房等级,客房号码,房间价格);
客户住房表(客户编码,酒店名称,住房日期,退房日期)。
b.客户旅游联系概念模型向关系模型转换
客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,客户密码);
景点表(景点名称,所在城市,门票价格,开放时间,路线编号,联系电话);
客户旅游表(客户编号,景点名称,旅游路线,交通方式,旅游类型)。
1:
a.管理员处理客房联系概念模型向关系模型转换
管理员表(管理员编码,用户名,密码,级别);
酒店表(酒店名称,酒店地址,客房等级,客房号码,房间价格)。
b.管理员处理客户联系概念模型向关系模型转换
客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,身份证号,客户密码)。
c.管理员处理景点联系概念模型向关系模型转换
景点表(景点名称,所在城市,门票价格,景点特色,导游姓名,导游电话)。
2.3.2确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的添加,修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。
2.3.3实施规范化处理
由于R中的属性都是不能再分的项,所以R满足第一范式。
由函数依赖F1,F2,F3,F4,F6,F7可知R中存在部分函数依赖。
于是考虑把关系分解成以下几个子关系:
管理员表:
(管理员编码,用户名,密码,级别);
客户表:
(客户编号,客户姓名,客户性别,客户年龄,联系电话,身份证号,客户密码);
景点表:
(景点名称,所在城市,门票价格,当地天气,景点特色,导游姓名,导游电话);
酒店表:
(酒店名称,酒店地址,客房等级,客房号码,房间价格)
客户住房表:
(客户编码,酒店名称,住房日期,退房日期);
客户旅游表:
(客户编号,景点名称,旅游路线,交通方式,旅游类型);
由于以上各关系模式已经消除了部分函数依赖、传递函数依赖,所以符合3范式,并且消除各关系的主属性对于主键的部分函数以及传递函数依赖,所以符合BC范式。
2.4物理设计
2.4.1数据库源代码
createdatabase旅行社信息管理系统
use旅行社信息管理系统
createtable客户
(客户编号char(8)primarykeynotnull,
客户姓名char(20),
客户年龄char(5),
客户性别char
(2),
联系电话char(11),
联系地址char(20),
用户密码char(8)
)
createtable景点
(
景点名称号char(15)primarykeynotnull,
景点名称char(15),
所在城市char(20),
门票价格char(5),
联系电话char(11),
开放时间varchar(50),
路线编号char(8),
foreignkey(路线编号)references交通信息(路线编号)
createtable酒店
酒店代码char(11)primarykeynotnull,
房间编号char(8),
酒店名称char(15),
酒店地址varchar(50),
预定信息varchar(50),
房价信息varchar(50),
联系电话char(11)
foreignkey(房间编号)references订房表(房号)
createtable管理员
管理员编码char(11)primarykeynotnull,
用户名称char(12),
密码char(8),
类型编号char(8),
foreignkey(类型编号)references类型(类型号)
createtable类型
类型号char(8)primarykeynotnull,
类型名称char(10),
备注varchar(50)
createtable订房表
(房号char(8)primarykeynotnull,
订房时间varchar(50),
订房日期varchar(30),
价格char(20)
)
createtable交通信息
(
路线编号char(8)primarykeynotnull,
起始点varchar(20),
终点varchar(20),
需要大概时间char(15),
票价char(12)
createtable导游
导游编号char(8)primarykeynotnull,
导游名称varchar(30),
联系电话char(11)
createtable旅游表
客户编号char(8),
景点名称号char(15),
酒店代码char(11),
旅游时间varchar(40),
备注varchar(100),
导游编号char(8),
constraintpkprimarykey(客户编号,景点名称号,酒店代码,旅游时间,导游编号),
constraintfk1foreignkey(客户编号)references客户(客户编号),
constraintfk2foreignkey(景点名称号)references景点(景点名称号),
constraintfk3foreignkey(酒店代码)references酒店(酒店代码),
constraintfk4foreignkey(导游编号)references导游(导游编号)
2.4.2数据库
数据库名称:
旅行社管理系统
2.4.3数据库表结构
1.表名:
管理员表
数据来源:
管理员的基本信息数据导入本系统。
字段名
字段类型
长度
主/外键
字段约束
管理员编码
char
10
P
NOTNULL
用户名
6
密码
numeric
5
级别
表2.4.1管理员表
2.表名:
景点表
景点信息数据的录入。
景点编号
旅游线路
varchar
100
费用
money
8
导游姓名
导游电话
11
当地天气
目的地
20
旅游类型
50
表2.4.2景点表
3.表名:
酒店表
酒店信息数据的录入。
酒店名称
酒店地址
客房等级
20
客房号码
房间价格
是否预定
酒店编号
p
表2.4.3酒店表
4.表名:
客户表
客户信息数据的录入。
客户编码
客户姓名
客户年龄
2
客户性别
联系电话
联系地址
身份证号
18
用户密码
表2.4.4客户表
5.表名:
客户住房表
客户住房所产生的数据记录。
客户编号
住房日期
Datatime
退房日期
表2.4.5客户订房表
6.表名:
客户旅游表
客户游览景点产生的记录。
交通方式
出发时间
datetime
表2.4.6客户旅游表
7.表名:
留言板
客户留言的数据记录。
管理员编号
留言内容
留言时间
表2.4.7留言板
2.4.4数据库的实施
1.基本表的查询
查询管理员表:
查询客户表:
查询景点表:
查询酒店表:
查询客户旅游表:
查询住房信息:
查询住房信息:
2、连接查询
查询客户旅游信息,包括客户编号、客户姓名、酒店代码、订房号、订房时间:
查询客户信息,包括客户编号、客户姓名,并且该客户必须是‘乔’姓:
3、简单查询
查询客户姓名为‘乔亚安’,并且入住‘景宇’的客户的客户编号、客户姓名、酒店名称、客房号码:
4、数据的更新
将一个新客户的属性插入到客户表中:
插入结果:
将酒店表中的酒店编号为‘002’的修改为‘五星级002’:
修改结果:
删除交通信息中路线编号为‘001’的交通信息:
删除前信息:
执行删除操作:
删除结果:
5、创建视图,视图查询
‘创建视图‘
‘酒店查询信息’表的查询:
总结
本次课设为旅行社信息管理系统的设计,本来是要从系统界面的设计开始,但是由于我们从来未学习过该技术,而且有对此了解的少之又少,所以在此暂时跳过该项,但是以后会搜集此相关知识,从而不断学习。
接下来,从了解相关旅行社的信息开始,从实际出发,绘制E-R图,需求分析,再到概念设计和逻辑设计,以及运行、维护。
在SQLServer2000的企业管理器中建表及表之间的联接,,设置一些必要条件等,然后实现其表记录的查询、修改、删除,在此过程中,有许多难点,有时候都把自己搞的心烦意乱,也曾萌生退意,但是在同学的鼓励下,当心情平静后,再次细细理解其中诀窍。
天下无难事,只怕有心人。
通过查询相关书籍,和同学讨论以及经由老师的参与指导,我们不断的提升这自己的知识,让课设在一个艰难的过程中逐渐走向简单。
虽然在此间还有许多不完善的地方,但是,我们还是会进一步学习,研究。
此次课程设计为我们以后的学习打下了结实的基础,今后,我一定会好好学习,不断扩大自己的知识面。
参考文献
[1]陆琳,罗明亮著.数据库技术与应用[M].长沙:
中南大学出版社.2010
[2]KarliWatson.ChristianNagel.C#入门经典[M].北京:
清华大学出版社.2008.
[3]苗雪兰,刘瑞新,宋会群.数据库技术及应用[M].北京:
机械工业出版社.2006
[4]王小玲,刘卫国.数据库应用基础教程[M].北京:
中国铁道出版社.2008
[5]钱乐秋,赵文耘,牛军钰.软件工程[M].北京:
清华大学出版社.2007