数据库课程设计旅行社管理系统.docx
《数据库课程设计旅行社管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计旅行社管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
数据库课程设计旅行社管理系统
摘要
随着生活水平的提高,越来越多的人外出旅游,这势必给旅游管理的强度带来了不小的挑战,应对这一情况,开发了此旅行社管理系统。
对于旅游管理这一服务性行业,服务质量是吸引客户、提高经济效益的关键因素。
越来越多的旅行社采用管理信息系统来管理日常工作,合理配置资源,提升管理水平,从而在市场竞争取得优势。
这次课程设计主要介绍旅行社管理的设计与开发过程,本系统采用C#作为开发工具,SQLsever作为后台数据管理。
通过此次开发,使得开发人员更进一步了解C#开发工具以及数据库技术,积累更多的实践经验。
本系统具有对相关数据的查询,修改,删除等功能,较之于之前的相关类系统具有更简便,更实用的有点,但是由于技术的不成熟,又具有不完整,结构不清晰等缺点。
关键字:
数据库;旅行社管理;管理
1.课题描述
本课题就是针对旅游业的发展和节假日出行人数的不断增加,为了便于旅行社对旅游项目的管理,根据旅行社现有的业务包括组团出游、接待本地游、线路安排、游客信息资料等,开发一套系统,希望通过该系统有效提高服务业的工作效率。
课题具体目标与要求:
1、用户登录与注册管理;
2、实现旅游信息管理。
包括对旅游景点信息进行管理,提供景点的名称、特色、乘车路线、景点费用、导游等信息管理等;
3、实现客房管理。
包括对客房如客房标准、类别信息的录入、修改与查询,并可以实现订房与退房服务等;
2.设计过程
2.1需求分析
(1)管理员信息:
建立管理员信息表,对管理员统一编号,设定管理员用户名、密码、和类型编号。
(2)客户信息:
建立客户信息表,对客户统一编号,设定客户姓名、性别、年龄、联系电话、联系地址、身份证号、以及客户登录密码。
(3)酒店信息:
建立酒店信息表,以酒店名称辨别酒店,另外设定酒店地址、预订信息、客房号码、房间价格等属性。
(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:
N联系转换的关系模式
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
用户名
char
6
密码
numeric
5
级别
char
6
表2.4.1管理员表
2.表名:
景点表
数据来源:
景点信息数据的录入。
字段名
字段类型
长度
主/外键
字段约束
景点编号
char
10
P
NOTNULL
旅游线路
varchar
100
费用
money
8
导游姓名
char
8
导游电话
varchar
11
当地天气
char
10
目的地
char
20
旅游类型
varchar
50
表2.4.2景点表
3.表名:
酒店表
数据来源:
酒店信息数据的录入。
字段名
字段类型
长度
主/外键
字段约束
酒店名称
50
酒店地址
char
100
客房等级
char
20
客房号码
varchar
8
房间价格
money
8
是否预定
char
8
酒店编号
char
10
p
NOTNULL
表2.4.3酒店表
4.表名:
客户表
数据来源:
客户信息数据的录入。
字段名
字段类型
长度
主/外键
字段约束
客户编码
char
8
P
NOTNULL
客户姓名
char
20
客户年龄
char
2
客户性别
char
2
联系电话
varchar
11
联系地址
char
20
身份证号
varchar
18
用户密码
varchar
8
表2.4.4客户表
5.表名:
客户住房表
数据来源:
客户住房所产生的数据记录。
字段名
字段类型
长度
主/外键
字段约束
客户编号
char
20
P
NOTNULL
酒店编号
char
10
p
NOTNULL
住房日期
Datatime
8
退房日期
Datatime
8
表2.4.5客户订房表
6.表名:
客户旅游表
数据来源:
客户游览景点产生的记录。
字段名
字段类型
长度
主/外键
字段约束
客户编号
char
20
P
NOTNULL
景点编号
char
10
p
NOTNULL
交通方式
char
20
出发时间
datetime
8
表2.4.6客户旅游表
7.表名:
留言板
数据来源:
客户留言的数据记录。
字段名
字段类型
长度
主/外键
字段约束
客户编号
char
100
P
NOTNULL
管理员编号
char
20
p
NOTNULL
留言内容
Datatime
8
留言时间
Datatime
8
表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