1、车票管理系统数据库车票管理系统数据库实验报告题目: 车票管理系统数据库 指导老师:邱 骋 :班级: 2011年(秋)计算机学号: 姓名: 张 彪 1实验目的 以车票订票管理数据库为例,完成用户需求分析、概念设计阶段的E/R图绘制、逻辑设计、物理设计,并通过SQL实现数据库设计。通过上述过程,理解并掌握数据库设计的有关知识。2实验要求1)需求分析阶段要求明确数据库应用系统设计的具体需求。)2)概念设计阶段要求设计针对数据库应用系统的E/R图。3)逻辑设计阶段要求明确这个阶段的目的和任务,方法和步骤。4)物理设计阶段根据前面的内容,给出具体的数据库表结构。、3需求分析3.1需求分析的任务调查火车票
2、管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和流程。处理要求、数据的安全性与完整性要求。 要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护3.2需求分析的过程 铁路局为方便旅客,需开发一个机票车票管理系统。为便于旅客由旅行社代替铁路局把预定车票的旅客信息,包括身份证号码、身高、年龄、旅行时间、旅行目的地,输入火车票预定系统的客户端程序,系统经过查询管理系统内的车次数据服务器后,为旅客安排车次。系统校对无误后即印出车票给旅客。如果某方
3、面出现问题,旅客可以持有效证件去火车站退票。 ,要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。 3.3数据字典与流程图 经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出旅客信息、车票信息的具体需求。图1 旅客购票流程图3.3.1调查用户需求3.3.1.1火车站办公需求功能:旅客持个人证件去火车站购买车票。希望能通过旅客车票查到该旅客的车票编号及基本信息。 统计功能:按车票统计买票人数 3.3.1.2旅客购票需求 交费功能:交费、退费 3.3.1.3车次信息需求 查询功能: 车次号 (始发站、终到站
4、、发车时间)3.4系统框架在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2所示。图2车票管理系统总框架图各子系统需要进一步细化。旅客信息系统为例进一步细化,如图3所示。;图3旅客信息系统细化以其中的查询旅客信息功能为例进一步细化,如图4所示。图4查询乘客信息功能图5车票信息系统能查询到的内容】图6退票信息系统细化图7退票信息系统细化将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:退票信息表,乘客信息表,车次信息表,补票信息表,车次座位信息表。数据结
5、构定义如表1所示。表1 数据结构定义数据结构名含义说明组成退票信息定义了乘客退票的有关信息车次,上车地,下车地,价格乘客定义了乘客有关信息身份证号,年龄,工作单位,身高车次信息表定义了车次的有关信息车次,始发站,终到站,发车时间补票信息定义了乘客补票的有关信息车次,上车地,下车地,价格车票座位息表定义了座位有关信息车次,座位号,身份证号,车票类型 4 概念结构设计4.1概念结构设计的方法与步骤4.1.1概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。4.1.2概念
6、结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。我想采用一次集成两个分E-R图的方式。4.2数据抽象与局部视图设计按照图2火车票管理系统总框架图,设计实体属性图以及局部E-R图。图9补票信息实体属性图图10退票信息实体属性图 图11乘客实体属性图图12补票实体属性图图13车次实体属性图图14座位实体属
7、性图图15乘客购票局部E-R图 图16乘客退票局部E-R图 图17乘客补票局部E-R图图18乘客座位局部E-R图4.2.1视图的集成 经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图总体概念结构E-R图。图19系统总体结构E-R图5逻辑结构设计5.1E-R图向关系模型的转换将图19总体概念结构E-R图转化成关系模型。 乘客(身份证号,工作单位,身高,年龄) 车次信息(车次,始发站,终到站,发车时间) 退票信息(下车地,车次,上车地,价格) 补票信息(上车地,车次,下车地,价格) 座位信息(座位号,身份证号,车次,车票类型)5.2数据模型的优化将转化的关系模式进行优化,最终达到第三
8、范式。1、确定数据依赖乘客信息(身份证号,工作单位,身高,年龄)根据这个关系写出数据依赖身份证号工作单位,身份证号年龄车次信息(车次,始发站,终到站,发车时间)车次始发站,车次终到站,车次发车时间 退票信息(下车地,车次,上车地,价格)(下车地,车次)上车地,(下车地,车次)价格补票信息(上车地,车次,下车地,价格)(上车地,车次)下车地,(上车地,车次)价格座位信息(座位号,身份证号,车次,车票类型)座位号身份证号,座位号车次,座位号车票类型2、对各关系模式间数据依赖进行极小化处理,消除冗余身份证号工作单位,身份证号年龄 车次始发站,车次终到站,车次发车时间(下车地,车次)上车地,(下车地,
9、车次)价格(上车地,车次)下车地,(上车地,车次)价格 座位号身份证号,座位号车次,座位号车票类型 3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解 最终分解成第三范式: (身份证号,工作单位,年龄)(车次,始发站,终到站,发车时间) (下车地,车次)(下车地,价格)(上车地,车次)(上车地,价格) (座位号,身份证号,车次,车票类型)5.3数据库的结构 给出机票预定系统基本表结构图。图20各表的结构根据总体结构图设计各表的结构,其相应标的定义如下: 表2乘客信息系统的结构字段名数据类型长度约束描述iddecimal20主键身份证号agedecimal3不为空年龄statusv
10、archar50不为空身高Work_departmentVarchar50工作单位表3 退票信息系统的结构字段名数据类型长度约束描述Trainnumber decimal5主键车次Get_on_placevarchar50不为空上车地Get_off_placedecimal50主键下车地pricedecimal4不为空价格表4 车次信息表系统的结构字段名数据类型长度约束描述Trainnumberdecimal5主键车次Take_off_placevarchar50不为空始发站destinationvarchar50不为空终到站Train_timetimetime不为空发车时间表5补票通知单系统
11、的结构字段名数据类型长度约束描述Trainnumber decimal10000主键车次Get_on_placevarchar50主键上车地Get_off_placedecimal50不为空下车地pricedecimal1000不为空价格表6 车次座位信息表字段名数据类型长度约束描述Seat_numberdecimal6主键座位号Trainnumberdecimal5不为空车次Id decimal20不为空身份证号Trian_ticket_typevarchar50不为空车票类型6数据库的实施6.1表的建立与数据的载入 CREATE TABLE ADMINISTRATOR.PASSENGER
12、( ID DECIMAL (20, 0) NOT NULL ,AGE DECIMAL (2, 0) NOT NULL , STATAS VARCHAR (50) NOT NULL , WORK DEPARTMENT VARCHAR (50) , CONSTRAINT IDNO PRIMARY KEY ( ID) )CREATE TABLE ( TRAIN NUMBER DECIMAL (5, 0) NOT NULL , GET ON PLACE VARCHAR (50) NOT NULL , TAKE OFF PLACE VARCHAR (50) NOT NULL , PRICE DECIMA
13、L (5, 0) NOT NULL , CONSTRAINT CC PRIMARY KEY ( TRAIN NUMBER) )CREATE TABLE ( TRAIN NUMBER VARCHAR (5) NOT NULL , GET ON PLACE VARCHAR (50) NOT NULL , TAKE OFF PLACE VARCHAR (50) NOT NULL , TIME TIME NOT NULL , CONSTRAINT CC PRIMARY KEY ( TRAIN NUMBER) )CREATE TABLE ( TRAIN NUMBER DECIMAL (5, 0) NOT
14、 NULL , GET ON PLACE VARCHAR (50) NOT NULL , TAKE OFF PLACE VARCHAR (50) NOT NULL , PRICE DECIMAL (5, 0) NOT NULL , CONSTRAINT CC PRIMARY KEY ( TRAIN NUMBER) )CREATE TABLE ( SEAT NUMBER DECIMAL (6, 0) NOT NULL , TRAIN NUMBER DECIMAL (5, 0) NOT NULL , ID DECIMAL (20, 0) NOT NULL , TRAIN SEAT NUMBER VARCHAR (50) NOT NULL , CONSTRAINT CC PRIMARY KEY ( SEAT NUMBER) )需要明确数据库需要建立几张表,以及每个表中所要包括的属性。在建立表的过程中。要对每个表进行字段属性的设置。!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1