数据库原理与应用课程设计机票预定系统_第1页
数据库原理与应用课程设计机票预定系统_第2页
数据库原理与应用课程设计机票预定系统_第3页
数据库原理与应用课程设计机票预定系统_第4页
数据库原理与应用课程设计机票预定系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课 程 设 计 报 告课程设计名称: 数据库原理与应用 系 部: 二 系 学生姓名: 班 级: 09信科2班 学 号: 成 绩: 指导教师: 开课时间: 2011-2012 学年 1 学期一、 设计题目:第9题:机票预订系统2 主要内容:系统功能的基本要求: 每个航班信息的输入、每个航班的坐位信息的输入; 当客户进行机票预定时,输入客户基本信息,系统为客户安排航班; 客户能够退订机票;能够查询每个航班的预定情况、统计航班的满座率。三具体要求1. 课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2. 后台数据库采用ms sql server2005,前台界面语言不限,

2、编写的程序代码,须有较详细的注释说明;四进度安排课程设计安排:16周星期一 讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二 需求分析:给出系统的功能需求、性能需求,并绘制dfd和dd;星期三 概念结构设计:绘制实体属性图(可选),局部er图和全局er图;星期四 逻辑结构设计:转换、优化、外模式的设计;星期五 物理结构设计及数据库实施;17周星期一 应用程序编制调试、整理课程设计报告,并检查;星期二 根据反馈结果修改课程设计;星期三 提交作业 上交的材料:课程设计的电子稿、打印稿、源码(sql代码和程序代码)五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考

3、核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:(1)如发现抄袭,按照不及格处理。 (2)材料不齐的,考核等级降一级。电子稿件以压缩文件的形式上交,压缩命名为:11位学号+姓名正文撰写包含的内容:1、 需求分析2、 概念结构设计3、 逻辑结构设计4、 物理结构设计5、 数据库实施及应用程序编制6、 心得体会7、 参考资料正文机票预定系统一 需求分析1.1功能分析经过分析。确定了机票预订系统应具备以下主要功能:(1)航班信息管理功能 主要实现航班的一些基本信息,航班编号,票价,起飞点,目的地,起飞时间的

4、添加,修改,删除,查询。(2)机票信息管理功能 主要实现航班座位也就是机票的一些基本信息,航班编号,座位号,机票类型的添加,删除,查询和修改功能。(3)客户信息管理功能 主要实现旅客的基本信息,包括姓名,性别,联系方式,证件号码的查询。(4)取票信息管理功能用于取票信息的管理,包括对航班基本信息,航班编号和旅客的基本信息,旅客姓名,座位号,取票时间的查询。 (5)退票信息管理功能 用于对退票信息的管理,包括对订单号,旅客姓名,联系方式,证件号码的查询。 1.2数据字典1航班信息 定义了航班的所有信息 组成有航班号,起飞地,目的地,起飞时间,票价2机票 定义了机票的有关信息。组成有航班号,座位号

5、,座位信息,机票类型3旅客订票信息 定义了旅客有关信息。组成有旅客姓名,身份证号,性别,电话号码。4取票和账单信息 定义了取票通知相关信息。组成有旅客姓名, 取票时间,座位号,航班号,机票类型。5退票信息 定义了退票旅客的有关信息。组成有旅客姓名,身份证号,订单号,电话号码。1.3数据流图旅客机票预订系统处理旅客 订票 取票 二概念结构设计2.1概念结构设计的方法步骤(1)方法采用自底向上的方法,即自顶向下进行需求分析,在自底向上进行概念结构设计。(2)步骤第一步是实体属性图的设计,第二部是整体e-r图的设计。 2.2下面进行局部实体属性图的绘制(1)航班信息实体属性图,如图2.1.1航班信息

6、航线编号起飞地目的地机票价格出发时间图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退票信息退票购买包括旅

7、客姓名航班编号订单号取票时间电话号航班编号身份证号旅客取票通知和账单座位号旅客姓名机票类型性别电话号姓名身份证号获取航班信息机票信息起飞地起飞时间票价目的地航班编号座位信息座位号机票类型n11nnmn1n图2.2.1总体e-r图三 逻辑结构设计(1)根据总的e-r图实体与实体之间的联系和一般的转换原则,得到如下关系模式退票信息(订单号,旅客姓名,联系方式,身份证号),“订单号”为主码旅客(旅客姓名,身份证号,联系方式,性别),“旅客姓名”为主码航班信息(航班号,票价,起飞地。目的地,起飞时间),“航班号”为主码取票通知单(旅客姓名,取票时间,身份证号,航班号,座位号),“取票时间”为主码机票信

8、息(座位号,航班号,座位信息,机票类型),“座位信息”为主码。退票信息_旅客(订单号,旅客姓名),(订单号,旅客姓名)为主码。同时“订单号”为引用“退票信息”关系模式的订单号的外码,“旅客姓名”为引用“旅客”关系模式的旅客的外码。旅客_取票通知和账单(旅客姓名,账单号),(旅客姓名,账单号)为主码。同时“旅客姓名”为引用“旅客”关系模式的旅客姓名的外码,“账单号”为引用“取票通知和账单”关系模式的账单号的外码。旅客_航班信息(旅客姓名,航班号),(旅客姓名,航班号)为主码。同时“旅客姓名”为引用“旅客”关系模式的旅客姓名的外码,“航班号”为引用“航班信息”关系模式的航班号的外码。机票信息_航班

9、信息(座位号,航班号),(座位号,航班号)为主码。同时“座位号”为引用“机票信息”关系模式的座位号的外码,“航班号”为引用“航班信息”关系模式的航班号的外码(2)数据库的结根据总体e-r图设计基本表结构,其相应的定义如下: 字段名数据类型长度约束描述flight number decimal10主键航班号take off placevarchar50not null起飞地destinationvarchar50not null目的地flight timetime10not null起飞时间priceint50not null票价表3-1 航班信息系统的结构字段名数据类型长度约束描述seat n

10、umberdecimal50主键座位号flight nmberdecimal50not null航班号seat messagevarchar50not null座位信息flight ticket typevarchar50not null机票类型表3-2机票信息表字段名数据类型长度约束描述passage name varchar50主键旅客姓名iddecimal50not null身份证号telephone decimal50not null联系电话sexvarchar50not null性别表3-3旅客信息表字段名数据类型长度约束描述passage namevarchar50not null

11、旅客姓名get ticket timetime50主键取票时间fight numberdecimal50not null航班号seat numberdecimal50not null座位号flight ticket typevarchar50not null机票类型表3-4取票和账单表字段名数据类型长度约束描述order formdecimal50主键订单号passage namevarchar50not null旅客姓名telephonedecimal50not null联系方式idvarchar50not null证件号码表3-5退票信息表四 物理结构设计数据库物理结构设计是指设计出数据库

12、的物理结构模型,他是数据库在物理设备上的具体实现。经过数据库的需求分析和概念模型设计,得到数据可的逻辑结构,现在可以把设计好的逻辑结构在sql上建立数据库及数据表。4.1表的建立和载入需要明确数据库需要建几张表,以及每张表包括的属性。在建立每张表的过程中,需要对表进行字段属性的设置。在机票预订系统中,要建立5张表,分别是:航班信息表,航班座位情况表,旅客订票信息表,取票和账单信息表,退票信息表。4.2视图的建立视图是查看数据库的一种方式。视图提供了存储预定义的查询语句作为数据库中的对象一备以后使用的能力。视图是一种逻辑对象,是一种虚拟表。在机票预订系统中,我建立了两个师徒,分别是航班和座位视图

13、旅客和取票视图。他们分别通过飞机编号也就是flight number项和旅客信息也就是passage number 项联系起来。4.3索引的建立索引是一个单独的,物理的数据库结构,他是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据项的逻辑指针清单。五 数据库的实施和代码的编制登录sql server 2005 management在其中创建名为试卷管理系统的数据库,运用查询设计器创建。/*创建库*/create database plane_datause plane_data/*创建相应的表*/创建航班信息表:create table 航班信息 (flightnumberd

14、ecimal 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 (5

15、0) 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

16、,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触发器:creat

17、e trigger notdeleteon all severfor drop_databaseasprint 不能删除数据rollbackgo 分别在航班信息表,机票信息表,旅客信息表,取票通知,账单信息表这四个表建立触发器,对于表中的添加和修改数据提示错误信息。航班信息触发器代码为:create trigger a on 航班信息for insert ,updateas rasiserror(不能添加和更新数据,16,1)rollback transactiongo机票信息触发器代码为:create trigger b on 机票信息for insert ,updateas rasiser

18、ror(不能添加和更新数据,16,1)rollback transactiongo旅客信息触发器代码为:create trigger c on 旅客信息for insert ,updateas rasiserror(不能添加和更新数据,16,1)rollback transactiongo取票通知和账单触发器代码为:create trigger d on 取票通知和账单for insert ,updateas rasiserror(不能添加和更新数据,16,1)rollback transactiongo六、设计心得通过此次课程设计,我对数据库原理与应用这门学科有了更深的认识,对其中的各类知识也有了初步的整合,更加认识到此门学科的重要性。当然,我也认识到自己的不足,有许多学要我去改进的地方。例如此次课程设计,在创建数据流图,数据字典,和最后的创建数据库的时候,人称姓名我做的比较混乱,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论