数据库原理机票预定系统.docx

上传人:b****5 文档编号:5023275 上传时间:2022-12-12 格式:DOCX 页数:14 大小:149.98KB
下载 相关 举报
数据库原理机票预定系统.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

数据库原理机票预定系统

课程设计报告

 

课程设计名称:

数据库原理与应用

系部:

二系

*******

班级:

09信科2班

学号:

***********

成绩:

指导教师:

沈佑田陈林

开课时间:

2011-2012学年1学期

 

一、设计题目:

第9题:

机票预订系统

二.主要内容:

系统功能的基本要求:

Ø每个航班信息的输入、每个航班的坐位信息的输入;

Ø当客户进行机票预定时,输入客户基本信息,系统为客户安排航班;

Ø客户能够退订机票;

能够查询每个航班的预定情况、统计航班的满座率。

三.具体要求

1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;

2.后台数据库采用MSSQLSERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;

四.进度安排

课程设计安排:

16周

星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;

星期二需求分析:

给出系统的功能需求、性能需求,并绘制DFD和DD;

星期三概念结构设计:

绘制实体属性图(可选),局部ER图和全局ER图;

星期四逻辑结构设计:

转换、优化、外模式的设计;

星期五物理结构设计及数据库实施;

17周

星期一应用程序编制调试、整理课程设计报告,并检查;

星期二根据反馈结果修改课程设计;

星期三提交作业

上交的材料:

课程设计的电子稿、打印稿、源码(SQL代码和程序代码)

五.成绩评定

考核方法:

现场验收(占50%),课程设计报告(占50%)。

考核内容:

学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。

成绩评定:

优,良,中,及格,不及格。

特别说明:

(1)如发现抄袭,按照不及格处理。

(2)材料不齐的,考核等级降一级。

电子稿件以压缩文件的形式上交,压缩命名为:

11位学号+姓名

正文撰写包含的内容:

1、需求分析

2、概念结构设计

3、逻辑结构设计

4、物理结构设计

5、数据库实施及应用程序编制

6、心得体会

7、参考资料

正文

机票预定系统

一需求分析

1.1功能分析

经过分析。

确定了机票预订系统应具备以下主要功能:

(1)航班信息管理功能

主要实现航班的一些基本信息,航班编号,票价,起飞点,目的地,起飞时间的添加,修改,删除,查询。

(2)机票信息管理功能

主要实现航班座位也就是机票的一些基本信息,航班编号,座位号,机票类型的添加,删除,查询和修改功能。

(3)客户信息管理功能

主要实现旅客的基本信息,包括姓名,性别,联系方式,证件号码的查询。

(4)取票信息管理功能

用于取票信息的管理,包括对航班基本信息,航班编号和旅客的基本信息,旅客姓名,座位号,取票时间的查询。

(5)退票信息管理功能

用于对退票信息的管理,包括对订单号,旅客姓名,联系方式,证件号码的查询。

1.2数据字典

1航班信息

定义了航班的所有信息组成有航班号,起飞地,目的地,起飞时间,票价

2机票

定义了机票的有关信息。

组成有航班号,座位号,座位信息,机票类型

3旅客订票信息

定义了旅客有关信息。

组成有旅客姓名,身份证号,性别,电话号码。

4取票和账单信息

定义了取票通知相关信息。

组成有旅客姓名,取票时间,座位号,航班号,机票类型。

5退票信息

定义了退票旅客的有关信息。

组成有旅客姓名,身份证号,订单号,电话号码。

1.3数据流图

订票取票

二概念结构设计

2.1概念结构设计的方法步骤

(1)方法

采用自底向上的方法,即自顶向下进行需求分析,在自底向上进行概念结构设计。

(2)步骤

第一步是实体属性图的设计,第二部是整体E-R图的设计。

2.2下面进行局部实体属性图的绘制

(1)航班信息实体属性图,如图2.1.1

图2.1.1航班信息实体属性图

(2)航班座位信息实体属性图,如图2.1.2

图2.1.2机票信息实体属性图

(3)旅客信息实体属性图,如图2.1.3

图2.1.3旅客信息实体属性图

 

(4)取票通知实体属性图,如图2.1.4

图2.1.4取票通知实体属性图

 

(5)退票信息实体属性图,如图2.1.5

图2.1.5退票信息实体属性图

 

2.2下面进行总体E-R图的绘制

总体E-R图如下图2.2.1

图2.2.1总体E-R图

三逻辑结构设计

(1)根据总的E-R图实体与实体之间的联系和一般的转换原则,得到如下关系模式

退票信息(订单号,旅客姓名,联系方式,身份证号),“订单号”为主码

旅客(旅客姓名,身份证号,联系方式,性别),“旅客姓名”为主码

航班信息(航班号,票价,起飞地。

目的地,起飞时间),“航班号”为主码

取票通知单(旅客姓名,取票时间,身份证号,航班号,座位号),“取票时间”为主码

机票信息(座位号,航班号,座位信息,机票类型),“座位信息”为主码。

退票信息_旅客(订单号,旅客姓名),(订单号,旅客姓名)为主码。

同时“订单号”为引用“退票信息”关系模式的订单号的外码,“旅客姓名”为引用“旅客”关系模式的旅客的外码。

旅客_取票通知和账单(旅客姓名,账单号),(旅客姓名,账单号)为主码。

同时“旅客姓名”为引用“旅客”关系模式的旅客姓名的外码,“账单号”为引用“取票通知和账单”关系模式的账单号的外码。

旅客_航班信息(旅客姓名,航班号),(旅客姓名,航班号)为主码。

同时“旅客姓名”为引用“旅客”关系模式的旅客姓名的外码,“航班号”为引用“航班信息”关系模式的航班号的外码。

机票信息_航班信息(座位号,航班号),(座位号,航班号)为主码。

同时“座位号”为引用“机票信息”关系模式的座位号的外码,“航班号”为引用“航班信息”关系模式的航班号的外码

(2)数据库的结

根据总体E-R图设计基本表结构,其相应的定义如下:

字段名

数据类型

长度

约束

描述

flightnumber

decimal

10

主键

航班号

takeoffplace

varchar

50

NotNull

起飞地

destination

varchar

50

NotNull

目的地

flighttime

time

10

NotNull

起飞时间

price

int

50

NotNull

票价

表3-1航班信息系统的结构

字段名

数据类型

长度

约束

描述

Seatnumber

decimal

50

主键

座位号

Flightnmber

decimal

50

NotNull

航班号

Seatmessage

varchar

50

NotNull

座位信息

Flighttickettype

varchar

50

NotNull

机票类型

表3-2机票信息表

 

字段名

数据类型

长度

约束

描述

Passagename

varchar

50

主键

旅客姓名

id

decimal

50

NotNull

身份证号

Telephone

decimal

50

NotNull

联系电话

sex

varchar

50

NotNull

性别

表3-3旅客信息表

 

字段名

数据类型

长度

约束

描述

Passagename

varchar

50

NotNull

旅客姓名

Gettickettime

time

50

主键

取票时间

Fightnumber

decimal

50

NotNull

航班号

Seatnumber

decimal

50

NotNull

座位号

Flighttickettype

varchar

50

NotNull

机票类型

表3-4取票和账单表

 

字段名

数据类型

长度

约束

描述

Orderform

decimal

50

主键

订单号

Passagename

varchar

50

NotNull

旅客姓名

telephone

decimal

50

NotNull

联系方式

id

varchar

50

NotNull

证件号码

表3-5退票信息表

四物理结构设计

数据库物理结构设计是指设计出数据库的物理结构模型,他是数据库在物理设备上的具体实现。

经过数据库的需求分析和概念模型设计,得到数据可的逻辑结构,现在可以把设计好的逻辑结构在SQL上建立数据库及数据表。

4.1表的建立和载入

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

在建立每张表的过程中,需要对表进行字段属性的设置。

在机票预订系统中,要建立5张表,分别是:

航班信息表,航班座位情况表,旅客订票信息表,取票和账单信息表,退票信息表。

4.2视图的建立

视图是查看数据库的一种方式。

视图提供了存储预定义的查询语句作为数据库中的对象一备以后使用的能力。

视图是一种逻辑对象,是一种虚拟表。

在机票预订系统中,我建立了两个师徒,分别是航班和座位视图旅客和取票视图。

他们分别通过飞机编号也就是flightnumber项和旅客信息也就是passagenumber项联系起来。

4.3索引的建立

索引是一个单独的,物理的数据库结构,他是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据项的逻辑指针清单。

五数据库的实施和代码的编制

登录sqlserver2005management在其中创建名为试卷管理系统的数据库,运用查询设计器创建。

/*创建库*/

createdatabaseplane_Data

useplane_Data

/*创建相应的表*/

创建航班信息表:

CREATETABLE航班信息(

flightnumberdecimalprimarykeyNOTNULLidentity,

takeoffplacevarchar(50)uniqueNULL,

destinationvarchar(50)notNULL,

pricebigintnotNULL

);

机票信息表:

CREATETABLE机票信息(

seatnumberbigintprimarykeyNOTNULLidentity,

flightnumberdecimal(10)uniqueNULL,

seatmessagebigintnotNULL

flightticketypevarchar(50)notnull

);

创建旅客信息表:

CREATETABLE旅客信息(

passagenameintprimarykeyNOTNULLidentity,

idvarchar(20)notNULL,

telephonenumbervarchar(20)notNULL,

sexvarchar(50)notNULL,

);

创建取票和账单信息表:

CREATETABLE取票和账单信息(

gettickettimebigintprimarykeyNOTNULLidentity,

passagenamevarchar(20)notNULL,

flightnumberdecimal(20)notNULL,

seatnumberdecimal(20)notNULL,

flightticketnumbervarchar(20)notNULL,

);

创建退票信息表:

CREATETABLE退票信息(

orderformintprimarykeyNotNULLidentity,

passagenamevarchar(20)uniqueNULL,

telephonenumberdecimalnotNULL,

idvarchar(20)notNULL

);

创建ddl触发器:

createtriggernotdelete

onallsever

fordrop_database

as

print‘不能删除数据’

rollback

go

分别在航班信息表,机票信息表,旅客信息表,取票通知,账单信息表这四个表建立触发器,对于表中的添加和修改数据提示错误信息。

航班信息触发器代码为:

createtriggeraon航班信息

forinsert,update

asrasiserror(‘不能添加和更新数据’,16,1)

rollbacktransaction

go

机票信息触发器代码为:

createtriggerbon机票信息

forinsert,update

asrasiserror(‘不能添加和更新数据’,16,1)

rollbacktransaction

go

 

旅客信息触发器代码为:

createtriggercon旅客信息

forinsert,update

asrasiserror(‘不能添加和更新数据’,16,1)

rollbacktransaction

go

 

取票通知和账单触发器代码为:

createtriggerdon取票通知和账单

forinsert,update

asrasiserror(‘不能添加和更新数据’,16,1)

rollbacktransaction

go

 

六、设计心得

通过此次课程设计,我对数据库原理与应用这门学科有了更深的认识,对其中的各类知识也有了初步的整合,更加认识到此门学科的重要性。

当然,我也认识到自己的不足,有许多学要我去改进的地方。

例如此次课程设计,在创建数据流图,数据字典,和最后的创建数据库的时候,人称姓名我做的比较混乱,这是因为前期没有想清楚整体的思路,对整体进行必要的构思,导致后期思想有些混乱。

整体上的设计我参考了一些别的同学的做法,对他们的做法进行了整合修改和扩充,再加上陈琳老师课程设计前所给我们讲的大体的思路概括,分成六个部分,最终达成此片初稿,但同时也存在一些问题。

由于前面需求分析不够准确,导致在进行编码后还在不断地修改需求,所以进行了不少的重复工作,延误了进度。

这个航空订票系统所需的数据比较繁琐,所以在进行数据和界面的结合需要相当大的功夫,处理更多的异常。

七参考资料

1《数据库原理与应用》第二版编著:

何玉洁梁琦

 

图2.1.5退票信息实体属性图

 

2.2下面进行总体E-R图的绘制

总体E-R图如下图2.2.1

图2.2.1总体E-R图

三逻辑结构设计

(1)根据总的E-R图实体与实体之间的联系和一般的转换原则,得到如下关系模式

退票信息(订单号,旅客姓名,联系方式,身份证号),“订单号”为主码

旅客(旅客姓名,身份证号,联系方式,性别),“旅客姓名”为主码

航班信息(航班号,票价,起飞地。

目的地,起飞时间),“航班号”为主码

取票通知单(旅客姓名,取票时间,身份证号,航班号,座位号),“取票时间”为主码

 

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

当前位置:首页 > 高等教育 > 军事

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

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