手机版

数据库原理--机票预定系统

发布时间:2024-11-21   来源:未知    
字号:

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

课 程 设 计 报 告

课程设计名称: 数据库原理与应用 系 部:学生姓名: 王鹏展 班 级:学 号: 成 绩: 指导教师: 沈佑田 陈林

开课时间:学年

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

一、 设计题目:第9题:机票预订系统 二.主要内容:

系统功能的基本要求:

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

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

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

三.具体要求

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

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

四.进度安排

课程设计安排: 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图设计基本表结构,其相应的定义如下:

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

表3-2机票信息表

表3-3旅客信息表

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

表3-5退票信息表

四 物理结构设计

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

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

需要明确数据库需要建几张表,以及每张表包括的属性。在建立每张表的过程中,需要对表进行字段属性的设置。在机票预订系统中,要建立5张表,分别是:航班信息表,航班座位情况表,旅客订票信息表,取票和账单信息表,退票信息表。 4.2视图的建立

视图是查看数据库的一种方式。视图提供了存储预定义的查询语句作为数据库中的对象一备以后使用的能力。视图是一种逻辑对象,是一种虚拟表。

在机票预订系统中,我建立了两个师徒,分别是航班和座位视图旅客和取票视图。他们分别通过飞机编号也就是flight number项和旅客信息也就是passage number 项联系起来。 4.3索引的建立

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

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

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

/*创建库*/

create database plane_Data use plane_Data /*创建相应的表*/ 创建航班信息表:

CREATE TABLE 航班信息 (

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

flightnumberdecimal primary key NOT NULL identity, takeoffplace varchar(50) unique NULL , destination varchar(50) not NULL , price bigint not NULL

) ;

机票信息表:

CREATE TABLE 机票信息 (

seatnumber bigint primary key NOT NULL identity , flightnumber decimal (10) unique NULL , seatmessage bigint not NULL

flightticketype varchar (50) not null ) ;

创建旅客信息表:

CREATE TABLE 旅客信息 (

passagename int primary key NOT NULL identity, id varchar (20) not NULL ,

telephonenumber varchar (20) not NULL , sex varchar(50) not NULL , ) ;

创建取票和账单信息表:

CREATE TABLE 取票和账单信息 (

gettickettime bigint primary key NOT NULL identity, passagename varchar (20) not NULL , flightnumber decimal (20) not NULL , seatnumber decimal (20) not NULL ,

flightticketnumber varchar(20) not NULL , );

创建退票信息表:

CREATE TABLE 退票信息 (

orderform int primary key Not NULL identity , passagename varchar (20) unique NULL , telephonenumber decimal not NULL , id varchar(20) not NULL ) ;

创建ddl触发器:

create trigger notdelete on all sever

for drop_database as

print ‘不能删除数据’ rollback go

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

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

航班信息触发器代码为:

create trigger a on 航班信息 for insert ,update

as rasiserror(‘不能添加和更新数据’,16,1) rollback transaction go

机票信息触发器代码为:

create trigger b on 机票信息 for insert ,update

as rasiserror(‘不能添加和更新数据’,16,1) rollback transaction go

旅客信息触发器代码为:

create trigger c on 旅客信息 for insert ,update

as rasiserror(‘不能添加和更新数据’,16,1) rollback transaction go

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

create trigger d on 取票通知和账单 for insert ,update

as rasiserror(‘不能添加和更新数据’,16,1) rollback transaction go

六、设计心得

通过此次课程设计,我对数据库原理与应用这门学科有了更深的认识,对其中的各类知识也有了初步的整合,更加认识到此门学科的重要性。当然,我也认识到自己的不足,有许多学要我去改进的地方。例如此次课程设计,在创建数据流图,数据字典,和最后的创建数据库的时候,人称姓名我做的比较混乱,这是因为前期没有想清楚整体的思路,对整体进行必要的构思,导致后期思想有些混乱。

整体上的设计我参考了一些别的同学的做法,对他们的做法进行了整合修改和扩充,再加上陈琳老师课程设计前所给我们讲的大体的思路概括,分成六个部分,最终达成此片初稿,但同时也存在一些问题。由于前面需求分析不够准确,导致在进行编码后还在不断地修改需求,所以进行了不少的重复工作,延误了进度。

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

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

夫,处理更多的异常。

七 参考资料

1 《数据库原理与应用》第二版 编著:何玉洁 梁琦

图2.1.5退票信息实体属性图

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

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

总体E-R图如下图2.2.1

图2.2.1总体E-R图

三 逻辑结构设计

(1)根据总的E-R图实体与实体之间的联系和一般的转换原则,得到如下关系模式 退票信息(订单号,旅客姓名,联系方式,身份证号),“订单号”为主码 旅客(旅客姓名,身份证号,联系方式,性别),“旅客姓名”为主码 航班信息(航班号,票价,起飞地。目的地,起飞时间),“航班号”为主码 取票通知单(旅客姓名,取票时间,身份证号,航班号,座位号),“取票时间”为主码

课程设计--机票预定系统 数据库原理 辛苦历时两周 完美通过

机票预订系统 王鹏展

数据库原理--机票预定系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)