旅行代理数据库设计.docx
《旅行代理数据库设计.docx》由会员分享,可在线阅读,更多相关《旅行代理数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。
旅行代理数据库设计
学号:
0120810340631
课程设计
题目
旅行代理数据库设计
学院
计算机科学与技术学院
专业
计算机科学与技术
班级
计算机0806
姓名
张军
指导教师
刘洪星
2011
年
6
月
30
日
课程设计任务书
学生姓名:
张军专业班级:
计算机0806班
指导教师:
刘洪星工作单位:
计算机学院
题目:
旅行代理数据库设计
初始条件:
一个旅行代理机构希望为他的消费者假日登记行为建立一个数据库。
消费者在公司登记假期旅行。
每个假期活动中一般都有飞机航班和食宿。
在接受登记后,假日旅游的账单就会发给用户。
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个旅行代理数据库,DBMS可选MsSQLServer、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第19周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
旅行代理数据库设计
1概述(设计题目与可行性分析)
1.1设计题目
(1)题目:
旅行代理数据库设计
(2)初始条件:
一个旅行代理机构希望为他的消费者假日登记行为建立一个数据库。
消费者在公司登记假期旅行。
每个假期活动中一般都有飞机航班和食宿。
在接受登记后,假日旅游的账单就会发给用户。
1.2可行性分析
1.2.1技术可行性
当前的主流数据库技术是关系数据库,SQL语言的应用深入到了数据库开发的各领域,所以,建构数据库没有技术上难题;基于ADO的数据库访问,技术已经很成熟了,所以对于应用程序的开发问题,技术上也没有障碍,可以无故障开发。
1.2.2经济可行性
开发一个旅行社管理系统,消费者在假期旅游的账单会发给用户,体现出技术制胜的特点,故开发一个管理系统,在经济上是很客观的。
1.2.3操作可行性
操作可行性主要体现在数据库的查询和修改方面。
数据库管理员或者用户在对数据库进行查询或者修改所使用的语句是否一定要具备了什么样的专业知识才可以进行操作。
为此,我们需要考虑一下设计的安全性和高效性。
在界面上尽量比较友好,以供不同的用户使用。
2系统目标和建设原则
1)一个旅行代理机构,在全国主要城市都有分公司。
消费者可以通过电话在任何分公司登记假期旅行。
2)一旦旅行社找到了满足消费者要求的活动,就会提供相应的服务。
3)预约只能保留24个小时,在这期间消费者必须决定接受或拒绝这次登记。
4)用户确定接受旅行登记后,假日旅行的账单就会立刻发给用户,而用户也必须最迟在出发前4周一次性付清。
5)要记录下为用户登记的员工的名字。
3运行环境规划
操作系统:
Windowsxp
数据库管理系统:
MicrosoftSQLServer2005
4需求分析说明
旅游作为一个新兴的产业近来得到了迅速的发展,旅行社如雨后春笋遍布全国各省市。
目前旅游行业普遍存在企业规模较小,管理不规范等弱点。
旅游涉及吃、住、行、游等诸多因素,而且这些要素又分散在不同的地域,一个人不可能全面掌握所有的信息,因而旅行社管理这个系统就应运而生了。
旅行社为游客提供了多条旅行线路,每条旅行线路可以有若干个旅行班次,每个旅行班次中可以有多个旅行团,游客只要参加相应的旅行团就可以满足自己的时间等要求。
对于旅行班次,我们安排相应的导游、交通和食宿,同时为了保险起见,每个旅行团还参加了保险。
5概念结构设计,画出E-R图
5.1数据流图
5.2数据字典
(1)旅行线路表
列名
数据类型
长度
唯一性说明
路线号
Char
3
NotNull
起点
Varchar
50
终点
varchar
50
天数
Char
2
主要景点
Varchar
50
(2)旅行班次表
列名
数据类型
长度
唯一性说明
班次号
Char
2
NotNull
路线号
Char
3
NotNull
出发日期
Char
10
NotNull
回程日期
char
10
NotNull
旅行标准
Char
2
NotNull
报价
Money
8
NotNull
(3)旅行团表
列名
数据类型
长度
唯一性说明
团号
char
2
NotNull
班次号
Char
2
NotNull
团名
varchar
50
NotNull
人数
Int
4
联系人
varchar
10
地址
varchar
50
电话
varchar
11
NotNull
(4)游客表
列名
数据类型
长度
唯一性说明
游客编号
Char
4
NotNull
团号
Char
2
NotNull
姓名
Varchar
10
NotNull
性别
Char
2
年龄
Char
2
身份证号
Varchar
50
NotNull
电话
Varchar
11
登记员工姓名
Varchar
10
(5)导游表
列名
数据类型
长度
唯一性说明
导游编号
Char
3
NotNull
姓名
Varchar
10
NotNull
性别
Char
2
年龄
Char
2
身份证号
Varchar
50
住址
Varchar
50
导游电话
Varchar
11
语种
Varchar
50
等级
Char
2
业绩
Varchar
50
(6)交通工具表
列名
数据类型
长度
唯一性说明
班次号
Char
2
NotNull
出发工具
Char
4
出发班次
Char
4
出发时间
Char
10
回程工具
Char
10
回程班次
Char
10
回程时间
char
10
(7)宾馆表
列名
数据类型
长度
唯一性说明
宾馆编号
Char
5
NotNull
宾馆名
Varchar
50
城市
Varchar
50
星级
Char
2
标准房价
Money
8
联系人
Varchar
10
地址
Varchar
50
电话
Varchar
11
(8)保险表
列名
数据类型
长度
唯一性说明
保险单号
Char
10
NotNull
团号
Char
2
NotNull
人数
int
4
保险费
Money
8
投保日期
datetime
8
(9)陪同表
列名
数据类型
长度
唯一性说明
班次号
Char
2
NotNull
导游编号
char
3
NotNull
(10)食宿表
列名
数据类型
长度
唯一性说明
班次号
Char
2
NotNull
宾馆编号
Char
5
NotNull
(11)预约表
列名
数据类型
长度
唯一性说明
客户身份证号
Varchar
50
NotNull
姓名
Varchar
10
性别
Char
2
年龄
Char
2
电话号码
Varchar
11
交易成功
Char
5
主要景点
Varchar
50
出行日期
Char
10
预算
varchar
50
(12)密码表
列名
数据类型
长度
唯一性说明
编号
Char
4
NotNull
姓名
Varchar
10
密码
varchar
50
权限
varchar
50
5.3E-R图
6逻辑结构设计,定义关系模式及子模式
本系统的关系模型如下:
旅行线路(路线号,起点,终点,天数,主要景点)
旅行班次(班次号,路线号,出发日期,回程日期,旅行标准,报价)
旅行团(团号,班次号,团员,人数,联系人,地址,电话)
游客(游客编号,姓名,性别,年龄,身份证号,住址,电话,语种,等级,业绩)
交通工具(班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,地址,电话)
保险(保险单编号,团号,人数,保险费,投保日期)
陪同(班次号,导游编号)
食宿(班次号,宾馆编号)
密码表(编号,姓名,密码,权限)
员工表(编号,姓名,性别,年龄,备注)
预约表(客户身份证号,姓名,性别,年龄,电话号码,交易成功,主要景点,出行日期)
注:
其中,黑体字段是外键,下划线是主键
关系图如下:
7数据库的物理设计,定义合适的索引,确定数据库的存储结构
选择MicrosoftSQLServer2005为本次设计的RDBMS。
可以在系统提供的查询分析器中输入相应的SQL集合操作语言建立数据库,关系表以及视图等;也可以在企业管理器中利用系统提供的图形操作界面完成数据库,关系表以及视图等的建立。
数据库建立的同时完成完整性,参照性的定义。
至此数据库建立完毕。
7.1关系数据库物理设计步骤
为关系选择存取方法,建立存取路径。
确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构;
确定系统配置。
7.2为关系模式选择存取方法为索引方法
凡符合下列条件之一,可以考虑在有关属性上建立索引:
(1)主键码和外键码上一般都建有索引,这有利于主键码唯一性检查和引用完整性约束检查;主键码和外键码通常都是连接条件中的公共属性,建立索引,可显著提高连接查询的效率。
(2)对于以读为主或只读的表,只要需要,存储空间又允许,可以多建索引;
(3)对于等值查询,如果满足条件的元组是少量的,例如小于5%,且存储空间允许,可以考虑在有关属性上建立索引。
(4)对于范围查询(即查询条件以>、<等为比较符),可以在有关属性上建立索引。
(5)有些可以直接从索引直接得到结果,不必访问数据块。
这种查询在有关属性系上建立索引是有利的。
7.3确定数据库的存储结构
确定数据库的存储结构主要指确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置参数等。
在数据库中,引进了分区的概念,一个数据库文件逻辑上由一个或者多个分区组成.分区是一个逻辑概念,一个分区物理上由一个或者多个物理文件组成,分区与物理文件的映射由数据库产品来管理,分区中至少有一个系统分区,数据字典存储在系统分区中,具有DBA权限的用户可以创建新的分区成为用户分区,并且可以为每个分区追加物理文件.
物理设计一般包括物理存储块的设计,数据和索引的存储安排等
8数据库的实施,完成系统的功能设计及说明、系统调试与数据加载等工作
首先,打开SQLServer服务器,使之处于运行状态。
在查询分析器中使用SQL语言完成数据库的数据录入,并使数据库具有以下功能:
(1)员工管理功能
●员工信息的录入,包括员工编号、姓名、性别、年龄、备注
●员工信息的修改
●员工信息的删除
●员工信息的查询
(2)导游管理功能
●导游信息的录入,包括导游编号、姓名、性别、年龄、身份证号、住址、电话、语种、等级、业绩
●导游信息的修改
●导游信息的删除
●导游信息的查询
(3)旅行线路管理功能
●旅行线路信息的录入,包括路线号、起点、终点、天数、主要景点
●旅行线路信息的修改
●旅行线路信息的删除
●旅行线路信息的查询
(4)食宿管理功能
●食宿信息的录入,包括班次号,宾馆编号
●食宿信息的修改
●食宿信息的删除
●食宿信息的查询
普通用户只能查询,不能修改、添加、删除各个表中的内容,而管理员具有全部的操作权利。
然后,普通员工可以为预约客户实现预约登记、预约查询、预约确定、预约取消和保存预约客户信息。
在登记的同时,就可以查出是否有符合客户要求的资料,如果没有,立刻进行预约取消,若有,则输入所想加入的团号就可以进行预约确定了,或者等下次客户打电话来时,先预约查询,再确定是否进行预约确定。
本系统采用预约表和游客表实现预约机制。
9数据库的运行和维护,制定数据库转储计划,定义数据库的安全性和完整性
9.1制定数据库转储计划
数据转储是数据库恢复技术中采用的基本技术。
所谓转储即DBA定期的将整个数据库复制到磁带或者另一个磁盘上保存起来的过程。
这些备用的数据文本成为后备副本或后援副本。
数据转储分为:
动态海量转储、动态增量转储、静态海量转储、静态增量转储。
在这次仅为课程设计的过程里,我们采用的是静态海量转储。
即将整个设计完成的数据库直接备份到磁盘中。
等到需要使用的时候,再将备份的文件,按照数据库要求还原回来,再在其中执行操作。
当需要执行的操作结束之后,再将整个数据库备份到磁盘中。
这样虽然不利于更新和动态的数据管理。
但是,对于课程设计这样的模拟实验是完全可行的。
9.2定义数据库的安全性
数据库的安全性是指保护数据库以防不合法的使用所造成的数据泄露、更改和破坏。
一般有三类安全性问题:
技术安全、管理安全、政策法律类。
我们的一般数据库基本是技术类安全的防护。
在一般计算机系统中,安全措施是一级一级层层设置的。
如下图:
用户标识和鉴别存取控制操作系统安全保护数据密码存储
9.3定义数据库的完整性
数据库完整性是指数据的正确性和兼容性。
在这一方面,数据SQLServer2005有自己完整性约束条件以及检查机制。
完整性约束条件主要表现在:
实体完整性、参照完整性、用户自定义完整性。
前面提到的建立规则中已经对完整性约束规则进行了明确的阐述,这里不再赘述。
维护数据库的完整性,RDBMS提供了:
1定义完整性约束条件的机制;2完整性约束条件的检查方法;3违约处理。
随着硬件性能和容量的提高,数据库技术的发展,目前的RDBMS都提供了以上三种功能。
10系统已解决和未解决的问题,进一步完善的设想与建议
首先,对SQLServer的数据库管理机制有了更进一步的了解.如何设置主键,外键,以及数据不一致时会产生的问题等,通过这次实践都有了深刻的理解.
其次,这次课程设计也让我了解到了与人交流和查找资料的重要性.在编程过程中,曾经遇到许多的问题自己一时无法解决,但是向同学老师进行请教以及上网查找相关资料之后,大部分问题都得到了解决,自己在这个过程中也得到了很大的提高.
总之,课程设计能把我们的眼光从课本上引到实际中,让我们能用新的思想和观点把自己的潜力最大程度的发挥出来,让自己去独立解决实际遇到的困难。
11参考文献
《数据库系统概论(第三版)》,主编:
萨师宣、王珊,出版社:
高等教育出版社,出版或修订时间:
2000.2。
《AFirstCourseinDatabaseSystems》,主编:
JeffreyD.Ullman,JenniferWidom.,出版社:
清华大学出版社,出版或修订时间:
1998。
本科生课程设计成绩评定表
班级:
计科0806 姓名:
张军 学号:
0120810340631
序号
评分项目
満分
实得分
1
学习态度认真,遵守纪律。
20
2
设计结果。
40
3
设计报告规范(包括设计图、设计代码)
40
总得分/等级
评语:
注:
优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格。
指导教师签名:
2011年 月 日