还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
大连交通大学数据库课程设计课程名称:数据库原理课程代码:题目:机票预定系统年级/专业/班:学生姓名:学号:指导老师:开题时间:完成时间:2009年6月18日摘要为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用我们学习了IBMDB2应用程序的使用并应用了SQL语言对数据库的创建、修改、删除方法有了一定的了解通过导入表和删除表、更改表学会了对于表的一些操作为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源通过机票预定系统的构造以及购票人的信息还有机票的相关信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图概念设计阶段要完成数据抽象与局部视图设计还有视图的集成逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的五张表结合在一起完成一个总关系表最后就是要运行和实施数据库要把查询结果与过程抓几张图关键词SQL语言;IBMDB2;数据库设计;机票预定系统目录TOC\o1-3\h\z\u第一章绪论
21.1课题简介
21.2设计目的
21.3设计内容2第二章需求分析
32.1需求分析的任务
32.2需求分析的过程
32.3数据字典与流程图3第三章概念结构设计
83.1概念结构设计的方法与步骤
83.2数据抽象与局部视图设计
83.3视图的集成9第四章逻辑结构设计
104.1E-R图向关系模型的转换
104.2数据模型的优化
104.3数据库的结构11第五章数据库物理设计
145.1索引的建立
145.2表空间的建立14第六章数据库的实施
156.1系统实验要求
156.2触发器的设计
156.3表的建立与数据的载入
156.4数据库的运行15总结21参考文献22第一章绪论
1.1课题简介随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题而建立机票预定系统是一个很好的解决办法经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套机票预定管理系统,在下面的各章中,我将以这套机票预定系统信息系统为例谈谈其开发过程和所涉及到的问题
1.2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识实践和巩固在课堂教学中学习的关于DB2的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础
1.3设计内容选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解机票预定系统的构造以及购票人的信息还有机票的相关信息通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图概念设计阶段要完成数据抽象与局部视图设计还有视图的集成逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的五张表结合在一起完成一个总关系表最后就是要运行和实施数据库要把查询结果与过程抓几张图第二章需求分析
2.1需求分析的任务调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书最重要的是调查、收集信息、分析购票人信息和飞机预定流程处理要求、数据的安全性与完整性要求要求系统能有效、快速、安全、可靠和无误的完成上述操作并要求客户机的界面要简单明了,易于操作,服务器程序利于维护
2.2需求分析的过程航空公司为方便旅客,需开发一个机票预定系统为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客如果某方面出现问题,旅客可以持有效证件去飞机场退票要求系统能有效、快速、安全、可靠和无误的完成上述操作并要求客户机的界面要简单明了,易于操作,服务器程序利于维护
2.3数据字典与流程图1.业务流程分析经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出旅客信息、订票信息和取票通知的具体需求图
2.1旅客购票流程图⑴调查用户需求
①机场办公需求功能旅客持个人证件去机场购买机票希望能通过旅客姓名查到该旅客的飞机编号并记录旅客基本信息统计功能按机票统计买票人数按姓名统计机票数
②旅客购票需求交费功能交费退费
③取票需求通知功能通知旅客取票统计功能统计通过验证的人数统计可以取票的人统计未通过验证的人数查询功能购票旅客查询购票旅客姓名购票旅客身份证号购票旅客订单号
④航班信息需求查询功能航班号起飞地目的地起飞时间2.系统模块分析在调查完了用户需求之后,就要开始分析用户需求在此,我们采用自顶向下的结构化分析方法(SA方法)首先,定义全局概念结构的框架,如图
2.2所示图
2.2机票预定系统总框架图各子系统需要进一步细化旅客信息系统为例进一步细化,如图
2.3所示图
2.3旅客信息系统细化以其中的查询旅客信息功能为例进一步细化,如图
2.4所示图
2.4查询旅客信息功能图
2.5旅客信息系统细化图
2.6取票通知系统细化图
2.7旅客信息系统能查询到的内容图
2.8机票信息系统能查询到的内容图
2.9退票信息系统细化3.数据字典将所有子系统全部细化将所有用户需求分析完毕之后,就要开始构造数据字典了经分析之后,本系统要用到五个基本表退票信息表,旅客信息表,航班信息表,取票通知单,航班座位信息表数据结构定义如表
2.1所示表
2.1数据结构定义数据结构名含义说明组成退票信息定义了退票旅客的有关信息旅客姓名,身份证号,订单号,电话号旅客定义了旅客有关信息旅客姓名,身份证号,性别,工作单位,电话号航班信息表定义了航班的有关信息航班号,起飞地,目的地,起飞时间取票通知单定义了取票通知相关有关信息旅客姓名,取票时间,航班号,座位号,机票类型航班座位息表定义了航班座位有关信息航班号,座位号座位信息,机票类型第三章概念结构设计
3.1概念结构设计的方法与步骤1.概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式2.概念结构设计的步骤第一步是进行局部视图的设计由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成因此我们先逐一的设计分E-R图第二步是进行视图的集成各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图我想采用一次集成两个分E-R图的方式
3.2数据抽象与局部视图设计按照图
2.2机票预定系统总框架图,设计实体属性图以及局部E-R图图
3.1退票信息实体属性图图
3.2旅客实体属性图……….图
3.3旅客购票局部E-R图……
3.3视图的集成经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图
3.4总体概念结构E-R图图
3.4系统总体结构E-R图第四章逻辑结构设计
4.1E-R图向关系模型的转换将图
3.4总体概念结构E-R图转化成关系模型退票信息(订单号,旅客姓名,电话号身份证号)旅客(旅客姓名,身份证号,电话号,性别,工作单位航班信息表(航班号,起飞地,目的地,起飞时间)取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)航班座位信息表(座位号,航班号座位信息,机票类型)
4.2数据模型的优化将转化的关系模式进行优化,最终达到第三范式
1、确定数据依赖退票信息(订单号,旅客姓名,电话号身份证号)根据这个关系写出数据依赖订单号→旅客姓名,订单号→电话号,订单号→身份证号旅客(旅客姓名,身份证号,电话号,性别,工作单位旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别,旅客姓名→工作单位航班信息表(航班号,起飞地,目的地,起飞时间)航班号→起飞地,航班号→目的地,航班号→起飞时间取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)旅客姓名→取票时间,旅客姓名→航班号,旅客姓名→座位号,旅客姓名→机票类型航班座位信息表(座位号,航班号座位信息,机票类型)(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型
2、对各关系模式间数据依赖进行极小化处理,消除冗余订单号→旅客姓名,订单号→电话号,订单号→身份证号,旅客姓名→性别旅客姓名→工作单位,旅客姓名→取票时间,旅客姓名→航班号旅客姓名→座位号,旅客姓名→机票类型,航班号→起飞地,航班号→目的地航班号→起飞时间,(座位号,航班号)→座位信息
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)
4.3数据库的结构给出机票预定系统基本表结构图图
4.1各表的结构根据总体结构图设计各表的结构,其相应标的定义如下表4-1旅客信息系统的结构字段名数据类型长度约束描述passagernamevarchar50主键旅客姓名iddecimal不为空身份证号telephonenumberdecimal不为空电话号sexvarchar50不为空性别workdepartmentVarchar50不为空工作单位表4-2退票信息系统的结构字段名数据类型长度约束描述orderformdecimal主键订单号passagernamevarchar50不为空旅客姓名telephonenumberdecimal不为空电话号idvarchar50不为空身份证号表4-3航班信息表系统的结构字段名数据类型长度约束描述Flightnumberdecimal主键航班号Takeoffplacevarchar50不为空起飞地destinationvarchar50不为空目的地Flighttimetime不为空起飞时间表
4.4取票通知单系统的结构字段名数据类型长度约束描述passagernamevarchar50主键旅客姓名Gettickettimetime不为空取票时间flightnumberdecimal不为空航班号Seatnumberdecimal不为空座位号FlighttickettypeVarchar50不为空机票类型表
4.5航班座位信息表字段名数据类型长度约束描述Seatnumberdecimal主键座位号Flightnumberdecimal不为空航班号Seatmessagevarchar50不为空座位信息Flighttickettypevarchar50不为空机票类型第五章数据库物理设计
5.1索引的建立先给出索引的相关定义,然后自己选择表或者属性建立索引(唯一索引、聚簇索引),要求表和索引存储在不同的表空间里,写出相关的SQL语句
5.2表空间的建立给出表空间的相关定义,然后建立需要用到的表空间(至少2个以上,存放在目录容器和文件容器中),写出相关的SQL语句第六章数据库的实施
6.1系统实验要求建立三个用户user1,user2,user3
(1)使第一个用户user1和db2admin一起成为admin组的成员,使admin具有SYSADM的权限
(2)使第二个用户user2拥有DBADM的权限
(3)将创建的表之一上的所有特权授予给自己建立的用户user
36.2触发器的设计根据应用要求,设计一个触发器
6.3表的建立与数据的载入需要明确数据库需要建立几张表,以及每个表中所要包括的属性在建立表的过程中要对每个表进行字段属性的设置(至少包括6张表,每个表都有主键,设必要的外键;根据实际情况,设计一个Check约束;至少建立一个视图)
6.4数据库的运行1.建立的基本表每个基本表一个抓图图
6.1退票信息表收录了10位旅客的订单号,旅客姓名,电话号身份证号图
6.2旅客表收录了10位旅客的旅客姓名,身份证号,电话号,性别,工作单位图
6.3取票通知单表收录了10位旅客的旅客姓名,取票时间,航班号,座位号,机票类型图
6.4航班座位信息表收录了10位旅客的座位号,航班号座位信息,机票类型图
6.5航班信息表收录了10位旅客的航班号,起飞地,目的地,起飞时间2.数据库的查询抓一些查询结果的界面,至少五个,对每个查询的图,写出相应得查询语句图
6.6对cancellations_message表进行更新操作图
6.7操作结果图
6.8对flight_number表进行查询操作图
6.9查询结果图
6.10对flight_seat_message进行查询全部信息的操作图
6.11查询结果图
6.12对get_ticket_message进行插入操作图
6.13插入结果图
6.14对passager进行删除数据操作图
6.15删除结果总结参考文献
[1]杨鑫华,赵慧敏等.数据库原理与DB2应用教程[M].清华大学出版社,
2007.8
[2]王珊,陈红.数据库系统原理教程[M].清华大学出版社,
1998.7
[3](美)希伯尔沙茨.数据库系统概念[M].机械工业出版社,2008
[4]李志伟.DB2基础教程[M].清华大学出版社,
2003.2
[5]程勇等.DB2V9权威指南[M].电子工业出版社,2009
[6]牛新庄.循序渐进DB2——DBA系统管理、运维与应用案例[M].清华大学出版社,2009。