车票管理系统数据库Word文档下载推荐.docx
《车票管理系统数据库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《车票管理系统数据库Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
为便于旅客由旅行社代替铁路局把预定车票的旅客信息,包括身份证号码、身
高、年龄、旅行时间、旅行目的地,输入火车票预定系统的客户端程序,系统经过查询管理系统内的车次数据服务器后,为旅客安排车次。
系统校对无误后即印出车票给旅客。
如果某方面出现问题,旅客可以持有效证件去火车站退票。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
3.3数据字典与流程图
经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出旅客信息、车票信息的具体需求。
去火车站买车票
去售票窗口买
窗口核对相关
确认乘车车次
票
信息
打印车票
图1旅客购票流程图
3.3.1调查用户需求
3.3.1.1火车站办公需求
功能:
旅客持个人证件去火车站购买车票。
希望能通过旅客车票
查到该旅客的车票编号及基本信息。
统计功能:
按车票统计买票人数
3.3.1.2旅客购票需求
交费功能:
交费、退费
3.3.1.3车次信息需求
查询功能:
车次号(始发站、终到站、发车时间)
3.4系统框架
在调查完了用户需求之后,就要开始分析用户需求。
在此,我们采用自顶向下的结构化分析方法(SA方法)。
首先,定义全局概念结构的框架,如图2所示。
火车票管理系统
乘客信息系
车次信息系统
退票信息系
补票信息系统
统
图2车票管理系统总框架图
各子系统需要进一步细化。
旅客信息系统为例进一步细化,如图
3所示。
旅客信息系统
查询旅客信
统计人数
息
图3旅客信息系统细化
以其中的查询旅客信息功能为例进一步细化,如图4所示。
乘客信息
身份证号身高年龄工作单位
图4查询乘客信息功能
车次信息
车次号始发站终到站发车时间
图5车票信息系统能查询到的内容
退票信息
车次号上车地下车地价格
图6退票信息系统细化
补票信息
图7退票信息系统细化
将所有子系统全部细化。
将所有用户需求分析完毕之后,就要开始构造数据字典了。
经分析之后,本系统要用到五个基本表:
退票信息表,乘客信息表,车次信息表,补票信息表,车次座位信息表。
数据结构定义如表1所示。
表1数据结构定义
数据结构名含义说明组成
定义了乘客退票的有关
退票信息车次,上车地,下车地,价格信息
身份证号,年龄,
乘客定义了乘客有关信息
定义了车次
车次信息表
的有关信息
定义了乘客补票的有关
车票座位息
定义了座位有关信息
表
工作单位,身高
车次,始发站,终到站,发车
时间
车次,上车地,下车地,价格
车次,座位号,身份证号,车
票类型
4概念结构设计
4.1概念结构设计的方法与步骤
4.1.1概念结构设计的方法
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
4.1.2概念结构设计的步骤
第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此我们先逐一的设计分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座位实体属性图
图15乘客购票局部E-R图
图16乘客退票局部E-R图
去火车站
补票
图17乘客补票局部E-R图
包含
图18乘客座位局部E-R图
4.2.1视图的集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图总体概念结构E-R图。
n
退票
1乘客
m
购买
1
补
u
车次价格
上车地下车地
始发站终到站
n车次信息
1发车时间
座位号身份证号
图19系统总体结构E-R图
5逻辑结构设计
5.1E-R图向关系模型的转换
将图19总体概念结构E-R图转化成关系模型。
乘客(身份证号,工作单位,身高,年龄)
车次信息(车次,始发站,终到站,发车时间)
退票信息(下车地,车次,上车地,价格)
补票信息(上车地,车次,下车地,价格)
座位信息(座位号,身份证号,车次,车票类型)
5.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
1、确定数据依赖
乘客信息(身份证号,工作单位,身高,年龄)根据这个关系写出数据
依赖
身份证号→工作单位,身份证号→年龄
车次信息(车次,始发站,终到站,发车时间)车次→始发站,车次→终到站,车次→发车时间
(下车地,车次)→上车地,(下车地,车次)→价格
(上车地,车次)→下车地,(上车地,车次)→价格
座位号→身份证号,座位号→车次,座位号→车票类型
2、对各关系模式间数据依赖进行极小化处理,消除冗余
车次→始发站,车次→终到站,车次→发车时间
(下车地,车次)→上车地,(下车地,车次)→价格(上车地,车次)→下车地,(上车地,车次)→价格座位号→身份证号,座位号→车次,座位号→车票类型
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解
最终分解成第三范式:
(身份证号,工作单位,年龄)(车次,始发站,终到站,发车时间)
(下车地,车次)(下车地,价格)(上车地,车次)(上车地,价格)
(座位号,身份证号,车次,车票类型)
5.3数据库的结构
给出机票预定系统基本表结构图。
Getoff
Geton
Train
Takeoff
destinat
place
number
price
ion
time
Id
age
status
Work
department
Seat
Trainticket
type
图20各表的结构
根据总体结构图设计各表的结构,其相应标的定义如下:
表2乘客信息系统的结构
字段名数据类型长度约束描述
iddecimal20主键身份证号
agedecimal3不为空年龄
statusvarchar50不为空身高
Work_departm
Varchar50工作单位
ent
表3退票信息系统的结构
字段名
数据类型
长度
约束
描述
Trainnumber
decimal
5
主键
Get_on_place
varchar
50
不为空
Get_off_plac
e
4
表4车次信息表系统的结构
Take_off_pla
始发站
ce
destination
终到站
Train_time
发车时间
表5补票通知单系统的结构
10000
pricedecimal1000不为空价格
表6车次座位信息表
Seat_numberdecimal6主键座位号
Trainnumberdecimal5不为空车次
Iddecimal20不为空身份证号
Trian_ticketvarchar
_type
6数据库的实施
6.1表的建立与数据的载入
CREATETABLEADMINISTRATOR.
PASSENGER(IDDECIMAL(20,0)NOTNULL,
AGEDECIMAL(2,0)NOTNULL,
STATASVARCHAR(50)NOTNULL,
"
WORKDEPARTMENT"
VARCHAR(50),
CONSTRAINTIDNOPRIMARYKEY(ID))
CREATETABLE
("
TRAINNUMBER"
DECIMAL(5,0)NOTNULL,
GETONPLACE"
VARCHAR(50)NOTNULL,
TAKEOFFPLACE"
PRICEDECIMAL(5,0)NOTNULL,
CONSTRAINTCCPRIMARYKEY("
))
CREATETABLE("
VARCHAR(5)NOTNULL,"
VARCHAR(50)NOTNULL,"
TAKEOFFPLACE"
VARCHAR(50)NOTNULL,TIMETIMENOTNULL,CONSTRAINTCCPRIMARYKEY("
CREATETABLE("
DECIMAL(5,0)NOTNULL,"
GETONPLACE"
TAKEOFFPLACE"
VARCHAR(50)NOTNULL,PRICEDECIMAL(5,0)NOTNULL,CONSTRAINTCCPRIMARYKEY("
TRAIN
NUMBER"
SEATNUMBER"
DECIMAL(6,0)NOTNULL,"
DECIMAL(5,0)NOTNULL,IDDECIMAL(20,0)NOTNULL,"
TRAINSEATNUMBER"
VARCHAR(50)NOTNULL,CONSTRAINTCCPRIMARYKEY("
SEATNUMBER"
需要明确数据库需要建立几张表,以及每个表中所要包括的属性。
在建立表的过程中。
要对每个表进行字段属性的设置。