1、数据库课程设计旅行社管理系统摘 要 随着生活水平的提高,越来越多的人外出旅游,这势必给旅游管理的强度带来了不小的挑战,应对这一情况,开发了此旅行社管理系统。对于旅游管理这一服务性行业,服务质量是吸引客户、提高经济效益的关键因素。越来越多的旅行社采用管理信息系统来管理日常工作,合理配置资源,提升管理水平,从而在市场竞争取得优势。这次课程设计主要介绍旅行社管理的设计与开发过程,本系统采用C#作为开发工具,SQL sever 作为后台数据管理。通过此次开发,使得开发人员更进一步了解C#开发工具以及数据库技术,积累更多的实践经验。本系统具有对相关数据的查询,修改,删除等功能,较之于之前的相关类系统具有
2、更简便,更实用的有点,但是由于技术的不成熟,又具有不完整,结构不清晰等缺点。关键字: 数据库;旅行社管理;管理1.课题描述本课题就是针对旅游业的发展和节假日出行人数的不断增加,为了便于旅行社对旅游项目的管理,根据旅行社现有的业务包括组团出游、接待本地游、线路安排、游客信息资料等,开发一套系统,希望通过该系统有效提高服务业的工作效率。课题具体目标与要求:1、用户登录与注册管理;2、实现旅游信息管理。包括对旅游景点信息进行管理,提供景点的名称、特色、乘车路线、景点费用、导游等信息管理等;3、实现客房管理。包括对客房如客房标准、类别信息的录入、修改与查询,并可以实现订房与退房服务等; 2.设计过程2
3、.1需求分析(1)管理员信息:建立管理员信息表,对管理员统一编号,设定管理员用户名、密码、和类型编号。(2) 客户信息:建立客户信息表,对客户统一编号,设定客户姓名、性别、年龄、联系电话、联系地址、身份证号、以及客户登录密码。(3)酒店信息: 建立酒店信息表,以酒店名称辨别酒店,另外设定酒店地址、预订信息、客房号码、房间价格等属性。(4) 景点信息:建立景点信息表,以景点名称对景点分类,并设定景点所在城市、门票价格、路线编号、联系电话、开放时间属性。 (5)客户住房信息: 建立客户住房信息,明确客户与酒店之间的关系,并且客户住房信息中包含客户的住、退房日期,是酒店与客户之间的联系更加明朗化,客
4、户可通过客户登录密码进入该表查询其住宿信息。 (6)客户旅游信息: 建立客户旅游信息,明确客户旅游的目的地、线路安排、以及本次旅行的交通问题、费用等,客户同样可根据其登录密码查询其旅游信息. (7)管理员管理客户信息: 管理员可利用其特殊的权限对客户信息进行添加、修改、删除。 (8)管理员管理景点信息: 管理员可利用其特殊权限对景点信息进行添加、修改、删除。 (9)管理员管理酒店信息: 管理员可利用其特殊的权限对酒店客房信息进行添加、修改、删除。 2.2概念设计2.2.1实体间的联系1.一个客户只能入住一个房间,一个房间可以入住多个客户。2.多名客户可以同时游览一个景点,但是一名客户不能同时游
5、览多个景点。 3.一个系统管理员可以处理多个客房信息,一个客房信息可以被多名系统管理员管理。4.一个系统管理员可以处理多个景点信息,一个景点信息可以被多名系统管理员管理。 5.一个系统管理员可以处理多个酒店信息,一个酒店信息可以被多名系统 管理员管理。 6.一个普通客户只能查询一个客户详细信息。2.2.2数据库关系图图2.1旅行社信息管理系统数据库关系图图2.2 旅行社信息管理系统E-R模型图2.3 逻辑设计2.3.1E-R模型图向关系模型的转换 M:N联系转换的关系模式a.客户入住客房联系概念模型向关系模型的转换客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,客户密码,联系地址);
6、酒店表(酒店代码,酒店名称,酒店地址,客房等级,客房号码,房间价格);客户住房表(客户编码,酒店名称,住房日期,退房日期)。b.客户旅游联系概念模型向关系模型转换客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,客户密码);景点表(景点名称,所在城市,门票价格,开放时间,路线编号,联系电话);客户旅游表(客户编号,景点名称,旅游路线,交通方式,旅游类型)。 1:N联系转换的关系模式a. 管理员处理客房联系概念模型向关系模型转换管理员表(管理员编码,用户名,密码,级别);酒店表(酒店名称,酒店地址,客房等级,客房号码,房间价格)。b.管理员处理客户联系概念模型向关系模型转换管理员表(管理
7、员编码,用户名,密码,级别);客户表(客户编号,客户姓名,客户性别,客户年龄,联系电话,身份证号,客户密码)。c. 管理员处理景点联系概念模型向关系模型转换管理员表(管理员编码,用户名,密码,级别);景点表(景点名称,所在城市,门票价格,景点特色,导游姓名,导游电话)。2.3.2 确定范式级别根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的添加,修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。2.3.3实施规范化处理 由于R中的属性都是不能再分的项,所以R满足第一范式。由函数依赖F1,F2,F3,F4,F6,F7可知R中存在部分函数依
8、赖。于是考虑把关系分解成以下几个子关系:管理员表:(管理员编码,用户名,密码,级别);客户表:(客户编号,客户姓名,客户性别,客户年龄,联系电话,身份证号,客户密码);景点表:(景点名称,所在城市,门票价格,当地天气,景点特色,导游姓名,导游电话);酒店表:(酒店名称,酒店地址,客房等级,客房号码,房间价格)客户住房表:(客户编码,酒店名称,住房日期,退房日期);客户旅游表:(客户编号,景点名称,旅游路线,交通方式,旅游类型); 由于以上各关系模式已经消除了部分函数依赖、传递函数依赖,所以符合3范式,并且消除各关系的主属性对于主键的部分函数以及传递函数依赖,所以符合BC范式。2.4 物理设计2
9、.4.1 数据库源代码create database 旅行社信息管理系统use 旅行社信息管理系统create table 客户( 客户编号 char(8) primary key not null, 客户姓名 char(20), 客户年龄 char(5) , 客户性别 char(2) , 联系电话 char(11), 联系地址 char(20), 用户密码 char(8) )create table 景点(景点名称号 char(15) primary key not null,景点名称 char(15),所在城市 char(20),门票价格 char(5),联系电话 char(11),开放时
10、间 varchar(50),路线编号 char(8) ,foreign key(路线编号) references 交通信息(路线编号)create table 酒店(酒店代码 char(11) primary key not null,房间编号 char(8),酒店名称 char(15),酒店地址 varchar(50),预定信息 varchar(50),房价信息 varchar(50),联系电话 char(11),foreign key(房间编号) references 订房表(房号)create table 管理员( 管理员编码 char(11) primary key not null
11、, 用户名称 char(12), 密码 char(8), 类型编号 char(8), foreign key(类型编号) references 类型(类型号)create table 类型( 类型号 char(8) primary key not null , 类型名称 char(10), 备注 varchar(50)create table 订房表( 房号 char(8)primary key not null , 订房时间 varchar(50), 订房日期 varchar(30), 价格 char(20) ) create table 交通信息 ( 路线编号 char(8) primar
12、y key not null, 起始点 varchar(20), 终点 varchar(20), 需要大概时间 char(15), 票价 char(12) ) create table 导游 ( 导游编号 char(8) primary key not null, 导游名称 varchar(30), 联系电话 char(11) ) create table 旅游表 ( 客户编号 char(8), 景点名称号 char(15), 酒店代码 char(11), 旅游时间 varchar(40), 备注 varchar(100), 导游编号 char(8), constraint pk primar
13、y key (客户编号,景点名称号,酒店代码,旅游时间,导游编号), constraint fk1 foreign key(客户编号) references 客户(客户编号), constraint fk2 foreign key(景点名称号) references 景点(景点名称号), constraint fk3 foreign key(酒店代码) references 酒店(酒店代码) , constraint fk4 foreign key(导游编号) references 导游(导游编号) )2.4.2 数据库数据库名称:旅行社管理系统2.4.3数据库表结构1.表名:管理员表 数据来
14、源:管理员的基本信息数据导入本系统。字段名字段类型长度主/外键字段约束管理员编码char10PNOT NULL用户名char6密码numeric5级别char6表2.4.1 管理员表2.表名:景点表 数据来源:景点信息数据的录入。字段名字段类型长度主/外键字段约束景点编号char10PNOT NULL旅游线路varchar100费用money8导游姓名char8导游电话varchar11当地天气char10目的地char20 旅游类型varchar50表2.4.2 景点表3.表名:酒店表 数据来源:酒店信息数据的录入。字段名字段类型长度主/外键字段约束酒店名称50酒店地址char100客房等级
15、char20客房号码varchar8房间价格money8是否预定char8酒店编号char10pNOT NULL表2.4.3 酒店表4.表名:客户表 数据来源:客户信息数据的录入。字段名字段类型长度主/外键字段约束客户编码char8PNOT NULL客户姓名char20客户年龄char2客户性别char2联系电话varchar11联系地址char20身份证号varchar18用户密码varchar8表2.4.4客户表5.表名:客户住房表 数据来源:客户住房所产生的数据记录。字段名字段类型长度主/外键字段约束客户编号char20PNOT NULL酒店编号char10pNOT NULL住房日期Da
16、tatime8退房日期Datatime8表2.4.5客户订房表6.表名:客户旅游表 数据来源:客户游览景点产生的记录。字段名字段类型长度主/外键字段约束客户编号char20PNOT NULL景点编号char10pNOT NULL交通方式char20出发时间datetime8表2.4.6 客户旅游表7.表名:留言板 数据来源:客户留言的数据记录。字段名字段类型长度主/外键字段约束客户编号char100PNOT NULL管理员编号char20pNOT NULL留言内容Datatime8留言时间Datatime8表2.4.7留言板2.4.4数据库的实施1.基本表的查询 查询管理员表: 查询客户表:
17、查询景点表:查询酒店表:查询客户旅游表: 查询住房信息:查询住房信息:2、连接查询 查询客户旅游信息,包括客户编号、客户姓名、酒店代码、订房号、订房时间: 查询客户信息,包括客户编号、客户姓名,并且该客户必须是乔姓:3、简单查询 查询客户姓名为乔亚安,并且入住景宇的客户的客户编号、客户姓名、酒店名称、客房号码:4、数据的更新 将一个新客户的属性插入到客户表中:插入结果: 将酒店表中的酒店编号为002的修改为五星级002:修改结果: 删除交通信息中路线编号为001的交通信息: 删除前信息:执行删除操作: 删除结果:5、创建视图,视图查询创建视图酒店查询信息表的查询:总 结本次课设为旅行社信息管理
18、系统的设计,本来是要从系统界面的设计开始,但是由于我们从来未学习过该技术,而且有对此了解的少之又少,所以在此暂时跳过该项,但是以后会搜集此相关知识,从而不断学习。接下来,从了解相关旅行社的信息开始,从实际出发,绘制E-R图,需求分析,再到概念设计和逻辑设计,以及运行、维护。在SQL Server 2000的企业管理器中建表及表之间的联接,设置一些必要条件等,然后实现其表记录的查询、修改、删除,在此过程中,有许多难点,有时候都把自己搞的心烦意乱,也曾萌生退意,但是在同学的鼓励下,当心情平静后,再次细细理解其中诀窍。天下无难事,只怕有心人。通过查询相关书籍,和同学讨论以及经由老师的参与指导,我们不
19、断的提升这自己的知识,让课设在一个艰难的过程中逐渐走向简单。虽然在此间还有许多不完善的地方,但是,我们还是会进一步学习,研究。此次课程设计为我们以后的学习打下了结实的基础,今后,我一定会好好学习,不断扩大自己的知识面。参考文献 1 陆琳,罗明亮著. 数据库技术与应用M.长沙:中南大学出版社.20102 Karli Watson.Christian Nagel. C#入门经典M.北京:清华大学出版社.2008. 3 苗雪兰,刘瑞新,宋会群.数据库技术及应用M.北京:机械工业出版社.20064 王小玲,刘卫国.数据库应用基础教程M.北京:中国铁道出版社.20085 钱乐秋,赵文耘,牛军钰.软件工程M.北京:清华大学出版社.2007
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1