车票管理系统数据库.docx

上传人:b****5 文档编号:8322497 上传时间:2023-01-30 格式:DOCX 页数:14 大小:148.94KB
下载 相关 举报
车票管理系统数据库.docx_第1页
第1页 / 共14页
车票管理系统数据库.docx_第2页
第2页 / 共14页
车票管理系统数据库.docx_第3页
第3页 / 共14页
车票管理系统数据库.docx_第4页
第4页 / 共14页
车票管理系统数据库.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

车票管理系统数据库.docx

《车票管理系统数据库.docx》由会员分享,可在线阅读,更多相关《车票管理系统数据库.docx(14页珍藏版)》请在冰豆网上搜索。

车票管理系统数据库.docx

车票管理系统数据库

车票管理系统数据库

实验报告

 

题目:

车票管理系统数据库

指导老师:

邱骋

:

班级:

2011年(秋)计算机

学号:

姓名:

张彪

 

~

 

1实验目的

以车票订票管理数据库为例,完成用户需求分析、概念设计阶段的E/R图绘制、逻辑设计、物理设计,并通过SQL实现数据库设计。

通过上述过程,理解并掌握数据库设计的有关知识。

2实验要求

1)需求分析阶段要求明确数据库应用系统设计的具体需求。

2)概念设计阶段要求设计针对数据库应用系统的E/R图。

3)逻辑设计阶段要求明确这个阶段的目的和任务,方法和步骤。

4)物理设计阶段根据前面的内容,给出具体的数据库表结构。

 

3需求分析

3.1需求分析的任务

调查火车票管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。

最重要的是调查、收集信息、分析购票人信息和流程。

处理要求、数据的安全性与完整性要求。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护

3.2需求分析的过程

铁路局为方便旅客,需开发一个机票车票管理系统。

为便于旅客由旅行社代替铁路局把预定车票的旅客信息,包括身份证号码、身高、年龄、旅行时间、旅行目的地,输入火车票预定系统的客户端程序,系统经过查询管理系统内的车次数据服务器后,为旅客安排车次。

系统校对无误后即印出车票给旅客。

如果某方面出现问题,旅客可以持有效证件去火车站退票。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

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图。

图19系统总体结构E-R图

5逻辑结构设计

5.1E-R图向关系模型的转换

将图19总体概念结构E-R图转化成关系模型。

乘客(身份证号,工作单位,身高,年龄)

车次信息(车次,始发站,终到站,发车时间)

退票信息(下车地,车次,上车地,价格)

补票信息(上车地,车次,下车地,价格)

座位信息(座位号,身份证号,车次,车票类型)

5.2数据模型的优化

将转化的关系模式进行优化,最终达到第三范式。

1、确定数据依赖

乘客信息(身份证号,工作单位,身高,年龄)根据这个关系写出数据依赖

身份证号→工作单位,身份证号→年龄

车次信息(车次,始发站,终到站,发车时间)

车次→始发站,车次→终到站,车次→发车时间

退票信息(下车地,车次,上车地,价格)

(下车地,车次)→上车地,(下车地,车次)→价格

补票信息(上车地,车次,下车地,价格)

(上车地,车次)→下车地,(上车地,车次)→价格

座位信息(座位号,身份证号,车次,车票类型)

座位号→身份证号,座位号→车次,座位号→车票类型

2、对各关系模式间数据依赖进行极小化处理,消除冗余

身份证号→工作单位,身份证号→年龄

车次→始发站,车次→终到站,车次→发车时间

(下车地,车次)→上车地,(下车地,车次)→价格

(上车地,车次)→下车地,(上车地,车次)→价格

座位号→身份证号,座位号→车次,座位号→车票类型

3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解

最终分解成第三范式:

(身份证号,工作单位,年龄)(车次,始发站,终到站,发车时间)

(下车地,车次)(下车地,价格)(上车地,车次)(上车地,价格)

(座位号,身份证号,车次,车票类型)

5.3数据库的结构

给出机票预定系统基本表结构图。

图20各表的结构

根据总体结构图设计各表的结构,其相应标的定义如下:

表2乘客信息系统的结构

字段名

数据类型

长度

约束

描述

id

decimal

20

主键

身份证号

age

decimal

3

不为空

年龄

status

varchar

50

不为空

身高

Work_department

Varchar

50

工作单位

 

表3退票信息系统的结构

字段名

数据类型

长度

约束

描述

Trainnumber

decimal

5

主键

车次

Get_on_place

varchar

50

不为空

上车地

Get_off_place

decimal

50

主键

下车地

price

decimal

4

不为空

价格

表4车次信息表系统的结构

字段名

数据类型

长度

约束

描述

Trainnumber

decimal

5

主键

车次

Take_off_place

varchar

50

不为空

始发站

destination

varchar

50

不为空

终到站

Train_time

time

time

不为空

发车时间

表5补票通知单系统的结构

字段名

数据类型

长度

约束

描述

Trainnumber

decimal

10000

主键

车次

Get_on_place

varchar

50

主键

上车地

Get_off_place

decimal

50

不为空

下车地

price

decimal

1000

不为空

价格

表6车次座位信息表

字段名

数据类型

长度

约束

描述

Seat_number

decimal

6

主键

座位号

Trainnumber

decimal

5

不为空

车次

Id

decimal

20

不为空

身份证号

Trian_ticket_type

varchar

50

不为空

车票类型

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"VARCHAR(50)NOTNULL,

PRICEDECIMAL(5,0)NOTNULL,

CONSTRAINTCCPRIMARYKEY("TRAINNUMBER"))

CREATETABLE("TRAINNUMBER"VARCHAR(5)NOTNULL,"GETONPLACE"VARCHAR(50)NOTNULL,"TAKEOFFPLACE"VARCHAR(50)NOTNULL,TIMETIMENOTNULL,CONSTRAINTCCPRIMARYKEY("TRAINNUMBER"))

CREATETABLE("TRAINNUMBER"DECIMAL(5,0)NOTNULL,"GETONPLACE"VARCHAR(50)NOTNULL,"TAKEOFFPLACE"VARCHAR(50)NOTNULL,PRICEDECIMAL(5,0)NOTNULL,CONSTRAINTCCPRIMARYKEY("TRAINNUMBER"))

CREATETABLE("SEATNUMBER"DECIMAL(6,0)NOTNULL,"TRAINNUMBER"DECIMAL(5,0)NOTNULL,IDDECIMAL(20,0)NOTNULL,"TRAINSEATNUMBER"VARCHAR(50)NOTNULL,CONSTRAINTCCPRIMARYKEY("SEATNUMBER"))

需要明确数据库需要建立几张表,以及每个表中所要包括的属性。

在建立表的过程中。

要对每个表进行字段属性的设置。

!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1