旅游信息管理系统.docx
《旅游信息管理系统.docx》由会员分享,可在线阅读,更多相关《旅游信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
旅游信息管理系统
ShanghaiDianjiUniversity
课程设计报告
课程名称:
___数据库课程设计报告______
***________***___________
班级学号:
______BX0901___________
****___________***________
完成日期:
_______2011-12-16_________
电子信息学院
ElectronicInformationSchool
2011年12月
1概述
1.1设计要求
1、需求分析:
根据自己的选题,绘制数据流图。
2、概念结构设计:
绘制所选题目详细的E-R图。
3、逻辑结构设计:
将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。
4、设计小结:
总结课程设计的过程、体会及建议。
5、其他:
参考文献、致谢等。
1.2设计报告要求
1、问题描述。
包括此问题的理论和实际两方面。
2、解决方案。
包括:
E-R模型要设计规范、合理,关系模式的设计至少要满足第三范式,数据库的设计要考虑安全性和完整性的要求。
3、解决方案中所设计的E-R模型、关系模式的描述与具体实现的说明。
4、具体的解决实例。
1.3课程设计的一般步骤
课程设计大体分五个阶段:
1、选题与搜集资料:
选择课题,进行系统调查,搜集资料。
2、分析与设计:
根据搜集的资料,进行功能与数据分析,并进行数据库、系统功能等设计。
3、程序设计:
运用掌握的语言,编写程序,实现所设计的模块功能。
4、调试与测试:
自行调试程序,成员交叉测试程序,并记录测试情况。
5、验收与评分:
指导教师对每个的数据库系统进行综合验收,结合设计报告,根据课程设计成绩的评定方法,评出成绩。
2设计内容
2.1需求分析
随着旅游行业的快速发展,旅游行业的工作人员每天都要面对大量的游客信息、旅游路线信息以及与旅游相关的交通、食宿等方面的信息。
如何科学地管理这些信息是旅游行业急需解决的问题。
本课程设计通过对某旅行社的调查,以用户需求为依据,完成了对一个小型的国内旅游管理信息系统的数据库设计。
2.11功能实现
通过对旅游行业业务的了解,与该行业的工作人员的交谈,旅游管理信息系统需要完成的功能主要有:
•有关旅游基本信息的输入,包括旅游线路、旅游班次、旅游团、游客、导游、交通工具、宾馆以及保险等基本信息的输入。
•对旅游线路基本信息的查询、修改。
•对旅游班次基本信息的查询、修改。
•对旅游团基本信息的查询、修改。
•对游客基本信息的查询、修改。
•对导游基本信息的查询、修改。
。
•对宾馆基本信息的查询、修改。
•对保险基本信息的查询、修改。
由以上需求分析可画出旅游管理系统数据流图:
图1-1旅游管理系统数据流图
2.12具体实体需求分析
针对旅游管理信息系统的需求,设计如下面所示的数据项和数据结构:
•旅游路线基本信息,包括的数据项有:
路线号、起点、终点、天数、主要景点等。
•旅游班次基本信息,包括的数据项有:
班次号、出发日期、回程日期、旅游标准、报价等。
•旅游团基本信息,包括的数据项有:
团号、团名、人数、联系人、地址、电话等。
•游客基本信息,包括的数据项有:
游客编码、姓名、性别、年龄、身份证号码、住址、电话等。
•导游基本信息,包括的数据项有:
导游编号、姓名、性别、年龄、身份证号码、住址、电话、语种、等级、业绩等。
•宾馆基本信息,包括的数据项有:
宾馆编号、宾馆名、城市、星级、标准房价、联系人、职务、地址、电话等。
•保险单基本信息,包括的数据项有:
保险单编号、保险费、投保日期等。
2.2划分功能模块
根据系统功能的需求分析和具体旅游管理系统的特点,经过模块化的分析,得到如下图所示的系统功能模块结构图。
图1-2系统功能模块结构图
2.3数据字典
2.31数据项
数据字典是各类数据描述的集合,是进行详细的数据收集和数据分析所获得主要的成果,数据字典是对系统所用到的所有表结构的描述,旅游管理系统的主要数据如下列各表所示:
表1-1旅游路线基本信息Roadline
序号
字段
别名
数据类型
数据长度
码
1
Rnum
路线号
char
10
Y
2
Rstart
起点
varchar
20
N
3
Rend
终点
Varchar
20
N
4
Rdays
天数
smallint
N
5
Rscenery
主要景点
varchar
20
N
表1-2旅游班次基本信息Batch
序号
字段
别名
数据类型
数据长度
码
1
Bnum
班次号
char
10
Y
2
Bstart
出发日期
datetime
N
3
Breturn
返程日期
datetime
N
4
Bstandard
旅游标准
varchar
10
N
5
Bprice
报价
Int
N
6
Rnum
路线号
char
10
F
7
Traffictools
交通工具
Varchar
10
N
表1-3旅游团基本信息Team
序号
字段
别名
数据类型
数据长度
码
1
Tnum
团号
char
10
Y
2
Tname
团名
varchar
20
N
3
Tpersons
人数
int
N
4
Tlinkman
联系人
varchar
20
N
5
Ttelephone
电话
Char
11
N
6
Taddr
地址
Varchar
50
N
7
Bnum
班次号
char
10
F
8
Gnum
导游编号
Char
10
F
9
Hnum
宾馆编号
Char
10
F
表1-4游客基本信息Visitor
序号
字段
别名
数据类型
数据长度
码
1
Vnum
游客编号
Char
10
Y
2
Vname
姓名
Varchar
20
N
3
Vsex
性别
Char
2
N
4
Vage
年龄
Smallint
N
5
Vstatusnum
身份证号码
Char
18
N
6
Vaddr
住址
Varchar
50
N
7
Vtelephone
电话
Char
11
N
8
Tnum
团号
char
10
F
9
Inum
保险单编号
Char
10
F
表1-5导游基本信息Guide
序号
字段
别名
数据类型
数据长度
码
1
Gnum
导游编号
Char
10
Y
2
Gname
姓名
Varchar
20
N
3
Gsex
性别
Char
2
N
4
Gage
年龄
Smallint
N
5
Gstatusnum
身份证号码
Char
18
N
6
Gaddr
住址
Varchar
50
N
7
Gtelephone
电话
Char
11
N
8
Gkind
语种
Varchar
10
N
9
Glevel
等级
Char
5
N
10
Gachievement
业绩
Varchar`
50
N
表1-6宾馆基本信息Hotel
序号
字段
别名
数据类型
数据长度
码
1
Hnum
宾馆编号
Char
10
Y
2
Hname
宾馆名
Varchar
20
N
3
Hcity
城市
varchar
20
N
4
Hlevel
星级
Char
5
N
5
Hprice
标准房价
Int
N
6
Hlinkman
联系人
Varchar
10
N
7
Hposition
职务
Varchar
10
N
8
Haddr
地址
Varchar
50
N
9
Htelephone
电话
Char
11
N
表1-7保险单基本信息Insurence
序号
字段
别名
数据类型
数据长度
码
1
Inum
保险单编号
Char
10
Y
2
Iprice
保险费
Int
N
3
Idate
投保日期
Datetime
N
4
Ieffecttime
有效期限
Datetime
N
2.32数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以有若干个数据项组成,也可以有若干个数据结构组成,或若干个数据项和数据结构混合组成。
经过数据项和需求分析,本系统费数据结构表可设计如下:
表1-8数据结构表
数据结构名
含义说明
组成部分
游客信息管理
描述游客基本信息
游客编码+姓名+性别+年龄+身份证号码+住址+电话
团体信息管理
描述旅游行程信息
团号+团名+人数+联系人+地址+电话+班次号+导游编号
班次信息管理
描述旅游细节信息
班次号+出发日期+回程日期+旅游标准+报价+交通工具+路线号
系统管理
用户信息更改,帮助
2.33数据流
数据流是数据结构在系统中传输的途径。
通过对用户的需求分析以及数据项和数据流的设计,得出相应的数据流描述如下:
表1-9数据流定义表
编号
数据流名
组成
流量
备注
01
游客信息
游客编码+姓名+性别+年龄+身份证号码+住址+电话
大
游客基本信息
02
团体信息
团号+团名+人数+联系人+地址+电话
一般
团体信息
03
班次信息
班次号+出发日期+回程日期+旅游标准+报价+交通工具
一般
行程班次信息
04
路线信息
路线号+起点+终点+天数+主要景点
一般
路线信息
05
宾馆信息
宾馆编号+宾馆名+城市+星级+标准房价+联系人+职务+地址+电话
一般
宾馆基本信息
06
导游信息
导游编号+姓名+性别+年龄+身份证号码+住址+电话+语种+等级+业绩
一般
导游基本信息
07
保险信息
保险单编号+保险费+投保日期+有效期截止
一般
保险信息简介
2.4概念结构设计
2.41实体E-R图
图1-3保险单实体E-R图
图1-4宾馆实体E-R图
图1-5游客实体E-R图图1-6旅游班次实体E-R图
图1-7导游实体E-R图图1-8旅游路线实体E-R图
图1-9旅游团实体E-R图
2.42系统E-R图
图1-10系统E-R图
2.5逻辑结构设计
2.51关系模型
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:
1.Roadline实体可转换为:
Roadline(Rnum,Rstart,Rend,Rdays,Rscenery)
Rnum-路线号、Rstart-起点、Rend-终点、Rdays-天数、Rsc;‘;enery-主要景点等。
2.Batch实体可转换为:
Batch(Bnum,Bstartdate,Bredate,Bstandard,Bprice,Traffictools)
Bnum-班次号、Bstartdate-出发日期、Bredate-回程日期、Bstandard-旅游标准、Bprice-报价,Traffictools-交通工具等。
3.Team实体可转换为:
Team(Tnum,Tname,Tpersons,Tlinkman,Taddr,Ttelephone,Bnum,Hnum,Gnum)
Tnum-团号、Tname-团名、Tpersons-人数、Tlinkman-联系人、Taddr-地址、
Ttelephone-电话,Bnum-班次编号,Gnum-导游编号,Hnum-旅馆编号等。
4.Visitor实体可转换为:
Visitor(Vnum,Vname,Vsex,Vage,Vstatusnum,Vaddr,Vtelephone,Tnum,Inum)Vnun-游客编码、Vname-姓名、Vsex-性别、Vage-年龄、Vstatusnum-身份证号码、Vaddr-住址、Vtelephone-电话,Tnum-团号,Inum-保险单号等。
5.Guide实体模型可转化关系模式:
Guide(Gnum,Gname,Gsex,Gage,Gstatusnum,Gaddr,Gtelephone,Gkind,Glevel,Gachievement)
Gnum-导游编号、Gname-姓名、Gsex-性别、Gage-年龄、Gstatusnum-身份证号码、Gaddr-住址、Gtelephone-电话、Gkind-语种、Glevel-等级、Gachievement-业绩等。
6.Hotel实体模型可转化关系模式:
Hotel(Hnum,Hname,Hcity,Hlevel,Hprice,Hlinkman,Hposition,Haddr,Htelephone,)
Hnum-宾馆编号、Hname-宾馆名、Hciy城市、Hlevel星级、Hprice标准房价、Hlinkman-联系人、Hposition-职务、Haddr地址、Htelephone-电话等。
7.Isurence实体模型可转化关系模式:
Isurence(Inum,Iprice,Idatetime,Ieffectdate)
Inum-保险单编号、Iprice-保险费、Idatetime-投保日期,Ieffectdate-有效期截止日期等。
2.52物理模型
将生成概念模型通过在PowerDesigner工具选择Tools—GeneratePhysicalModel命令就可以转换成物理模型,由于条件限制,本次设计未能实现这种转换,因而这里不再赘述。
2.6物理结构设计
2.61确定数据库的存储结构
由于本系统建立的数据库不是很大,所以数据存储采用的是磁盘的一个分区。
2.62存取方法和优化方法
常用的存取方法主要有三种:
第一种是索引方法;第二种是聚簇方法;第三种方法是HASH法。
使用索引法可以大大减少数据的查询时间。
但要根据数据库的需求对各种方法进行择优寻求,视情况而定。
2.7数据的实施和维护
2.71数据库的实施
数据库的实施主要是根据逻辑结构和物理结构设计的结果,在计算机系统上建立实际的数据库结构,导入数据并进行程序调试。
由于没有PowerDesigner工具的支持,故这里直接在SQLserver中直接创建旅游管理系统基本表的信息。
图1-11Batch表的创建信息结构图
图1-12Guide表的创建信息结构图
图1-13Hotel表的创建信息结构图
图1-14Insurence表的创建信息结构图
图1-15Roadline表的创建信息结构图
图1-16Team表的创建信息结构图
图1-17Visitor表的创建信息结构图
图1-18在Team中创建Bnum为外键
图1-19创建属性约束
图1-20在Batch实体中创建Rnum为外键
2.72数据的载入
图1-21Batch实体部分基本信息数据图
图1-22Guide实体部分基本信息数据图
图1-23Roadline实体部分基本信息数据图
图1-24Team实体部分基本信息数据图
图1-25Visitor实体部分基本信息数据图
图1-26Hotel实体部分基本信息数据图
图1-27Insurence实体部分基本信息数据图
2.73数据的试运行
(1)数据基本信息查询
图1-28数据基本信息查询
(2)数据基本信息的插入
图1-29数据基本信息的插入
(3)数据基本信息的删除
图1-30数据基本信息的删除
(4)数据基本信息的更新
图1-31数据基本信息的更新
2.74数据库的运行和维护
数据库试运行合格后,数据库开发工作就基本完成,即可以投入正式运行了。
但是,由于环境不断在变化,数据库运行过程中物理存储业会不断变化,对以数据库设计进行评价、调整、维修和改善等工作是一个长期的任务,也是设计工作的继续和提高。
在数据库运行阶段。
对数据经常性的维护工作主要是有DBA完成的,主要包括:
数据库的存储和恢复
数据库的安全性、完整性控制
数据库性能的监督、分析和改造
数据库的重组与重构造。
3课程设计小结
3.1设计自我评价和结果分析
首先对自己这次设计的这个数据库进行做一下诚恳的评价。
总的来说,这次课设的效果不好,主要是因为平时理论没跟能跟得上实践,从而造成了两手都不抓,什么都抓不住的现状!
从数据库的物理结构来讲,没能实现其很好的存取和优化方法,其功能中也没有涉及使用触发器的,其实我根本不知道触发器是用来干嘛的。
对数据库的安全机制,角色管理使用权限我也模棱两可的,不知道究竟这些功能实现了没有。
其次,从数据库概念结构来看,我觉得(我是说我自认为,我不敢肯定的)我这方面做的还可以,基本上关系模式可以达到第三范式了,我实在发不现里面有哪些因素不具备3范式的遗传特性,因而我就私下里这么认为了。
最后,从外形框架上看,我的数据库其实不配叫数据库了,如果是,他也就像人群中的木偶一样,只具有数据库最原始的模样,而没有其现代化的功能模块调用机制。
说我不会设计前台吧,我觉得有点亏,毕竟我对C#情有独钟,即使是不能顺利设计出来,但经历了风雨,总归能看见彩虹。
可我就是没有心思去做,那就恭维一下自己力有余而心不足吧。
结果分析,对于这次的数据库实现的功能,我觉得还算行吧。
不会做和不想做的也就算了,凡是做过了的总归有点成果吧。
本数据库可以进行一些简单的查询、插入、删除、更新等小操作,而且做起来也很简单。
但是对数据库运行和维护做的不好,因为我根本就是不知道如何运行和维护,更何况数据库的运行在我看来是要以软件来作为精神寄托的,没有软件的依托,再好的数据库也是空中楼阁,不屑一顾的。
因而,对其运行我不多做解释。
至于维护,那就更好说了。
压根就没有投入使用数据库,那何来对其进行维护呢?
3.2致谢
首先我们先好好感谢一下我们敬爱的老师,是他每周不拉课的给我们教授每一章节的内容,让我们有机会坐在这里优哉游哉的做着数据库的课程设计。
我依然清晰的记得,老师想教授幼儿园小学生那样一遍遍的问我们听懂了没有,对不对啊?
很好……当时我觉得是很搞,但事后自行想想,是老师含辛茹苦,不辞辛劳的培育,让我们收敛一下那张狂的个性,从新像小学生那样好好听课,多学点东东。
其次我要感谢一下同甘共苦的同学,是他们时时刻刻在帮助我成长和学习,在此次课设过程中,多亏了他们的大力支持帮助,我才顺利完成实验报告和数据库设计。
总之,要感谢还有很多,这里纸张有限,不再赘述。
参考文献
《数据库应用与技术》中国铁道出版社,贾铁军主编;
《SQLsever2005经典实例教程》电子工业出版社,袁然,王诚梅编著;