《数据库原理》课程设计报告-机票预订系统设计.docx
《《数据库原理》课程设计报告-机票预订系统设计.docx》由会员分享,可在线阅读,更多相关《《数据库原理》课程设计报告-机票预订系统设计.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理课程设计报告机票预订系统设计第1章概述21. 1选题的背景与意义2L 2相关技术分析2第2章系统功能设计32.1 系统总体结构设计图32. 2系统功能模块32.2. 1系统功能32.2.2航班信息管理功能42.2. 3航班座位信息管理功能42.2. 4旅客信息管理功能42.2. 5取票信息管理功能42.2. 6退票信息管理功能4第3章数据库设计53. 1需求分析53. 1. 1数据流图5数据字典63.1.2. 1数据项63.数据结构83.数据流93.数据储存93.处理过程93. 2概念结构设计103.2. 1 局部 E-R 图103.2.2 整体 E-R 图123.2. 3实体与联系
2、属性123. 3逻辑结构设计133.3.1数据组织133.3.2模型优化143.3. 3数据库模式定义143.4物理结构设计16局部E-R图3.2-1航班E-R图座位3.2-2座位E-R图机票3.2-4旅客E-R图3.2-5旅客E-R图退票3.2-6退票E-R图合并各分E-R,消除属性冲突,命名冲突,结构冲突等三类冲突得到初步E-R图, 在消除不必要的冗余,得到基本的E-R图。如图所示:图3.2整体E-R图实体与联系属性上述E-R图各实体的属性如下所示:航班:航班(航班编号,出发城市,目的城市,出发时间,到达时间,飞行总用 时,座位数,机型);飞机内座位:座位(航班编号,座位号,座位信息);机
3、票:机票(订单号,航班编号,出发城市,目的城市,出发时间,到达时间, 座位号,座舱等级,票价);旅客:旅客(旅客姓名,身份证号,移动电话);3.3 逻辑结构设计数据组织将转化的关系模式进行优化,最终达到第三范式。确定数据依赖退票信息(订单号,证件号码)根据这个关系写出数据依赖订单号一证件号码旅客(旅客姓名,身份证号,移动电话)身份证号一旅客姓名,身份证号一移动电话航班(航班编号,出发城市,目的城市,出发时间,到达时间,旅行总用时一,座 位数,机型)航班编号一出发城市,航班编号一目的城市,航班编号一出发时间,航班编号一 到达时间,航班编号一旅行总用时,航班编号一座位数,航班编号一机型机票(订单号
4、,航班编号,出发城市,目的城市,出发时间,到达时间,座舱等 级,座位号,票价)订单号一航班编号,订单号一出发城市,订单号一目的城市,订单号一出发时间, 订单号一到达时间,订单号一座舱等级,订单号一座位号,订单号一票价座位(航班编号,座位号,座位信息)航班编号一座位号,航班编号一座位信息(座位号,航班号)座位信息订票(订单号,航班编号,出发城市,目的城市,出发时间,到达时间,旅客姓 名,票价)订单号一航班编号,订单号一出发城市,订单号一目的城市,订单号一出发时间, 订单号一到达时间,订单号一旅客姓名,订单号一票价对各关系模式间数据依赖进行极小化处理,消除冗余订单号一航班编号,订单号一出发城市,订
5、单号一目的城市,订单号一出发时间, 订单号一到达时间,订单号一座舱等级,订单号一座位号,订单号一票价,订单号一 旅客姓名,订单号一证件号码身份证号一旅客姓名,身份证号一移动电话航班编号一出发城市,航班编号一目的城市,航班编号一出发时间,航班编号一 到达时间,航班编号一旅行总用时,航班编号一座位数,航班编号一机型,航班编号f座位信息(座位号,航班号)一座位信息看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(订单号,移动电话,身份证号)(订单号,旅客姓名)(旅客姓名,座位号) (航班编号,座位号,票价)(航班编号,出发城市,目的城市,起飞时间,到达时 间)3.3.
6、1 模型优化关系函数航班,座位,旅客,机票,订票,退票不存在非主属性对主属性的部分 函数依赖,也不存在传递函数依赖,已经达到了 3NF。3.3.2 数据库模式定义根据分析,本数据库共创建了 6个表,如下图所示 表3-1航班字段名数据类型长度约束航班编号varchar10主键出发城市nvarchar10不为空目的城市nvarchar10不为空出发时间time不为空目的时间time不为空旅行总用时int不为空座位号int不为空机型nvarchar6不为空表3-2座位字段名数据类型长度约束航班编号varchar10不为空座位号int不为空座位信息nvarchar10不为空字段名数据类型长度约束订单号
7、char6主键航班编号varchar10不为空出发城市nvarchar10不为空目的城市nvarchar10不为空出发时间time不为空到达时间time不为空座舱等级nvarchar6不为空座位号int不为空票价money不为空表3-4旅客字段名数据类型长度约束身份证号varchar23主键旅客姓名nvarchar6不为空移动电话varchar11不为空表3-5订票字段名数据类型长度约束订单号char6主键航班编号varchar10不为空出发城市nvarchar10不为空目的城市nvarchar10不为空出发时间time不为空到达时间time不为空票价money不为空旅客姓名nvarchar6
8、不为空字段名数据类型长度约束订单号char6主键身份证号varchar23不为空3.4 物理结构设计3.4.1 存储结构与存取方法(1)关系模式存取方法选择存取方法是快速存取数据库的技术,数据库管理系统一般提供多种存取方法。常 用的有三类。第一类是索引法,第二类是聚集索引,第三类是HASH。这里对仓库管理 系统主要采用索引方法。如果一个属性经常在查询条件中出现则可考虑建立索引。(2)确定数据库的存储结构确定数据库物理结构主要值确定数据存放的位置和存储结构,包括:确定关系、 索引、日志、备份等存储安排和存储结构,确定系统配置等。在综合考虑存取时间、 存储空间利用率和维护代价三方面的因素下,经过权
9、衡,确定下数据的存放位置和存 储结构。为了提高系统性能,现根据应用情况将数据按照易变部分和稳定部分、经常存取 部分和存取频率较低的部分分别在两个磁盘上存放。同时,考虑到本系统是多用户的, 为了提高效率,数据库的备份的数据和日志文件将保存在磁带中。(3)经常存取的部分机票(订单号,航班编号,出发城市,目的城市,出发时间,到达时间,座舱等 级,座位号,票价)订票(订单号,航班编号,出发城市,目的城市,出发时间,到达时间,旅客姓 名,票价)旅客(旅客姓名,身份证号,移动电话)(4)不经常存取的部分退票信息(订单号,证件号码)航班(航班编号,出发城市,目的城市,出发时间,到达时间,旅行总用时,座位数,
10、机型)座位(航班编号,座位号,座位信息)数据库建立代码create database机票预订管理系统 on primary (name= *机票预订管理系统, ,f ilename= f : h机票预订管理系统,mdf size=3mb,maxsize=50mb, filegrowth=2mb )log on (name= ,机票预订管理系统_log If ilename= 1 f : hllo机票预订管理系统_log. Idf f , size=5mbAmaxsize=60mb,filegrowth=10%)use机票预订管理系统create table 座位(航班编号varchar (10
11、) primary key,座位数int not null,座位信息、nvarchar (10) notnull,机票类型nvarchar (10) notnull,)create table 航班(航班编号 varchar (10) primary key, 出发城市 nvarchar (10) not null, 目 的城市 nvarchar (10) not null, 出发时间timnot null,至U达时间time not null,旅行总用时int not null, 座位数int not null,机型nvarchar (6)create table 机票(订单号 nvarch
12、ar (6) primary key, 航班编号 varchar (10) not null, 出发城市 nvarchar (10) not null, 目 的城市 nvarchar (10) not null, 出发时间time not null,至U达时间time not null,座舱等级 nvarchar (6) not null, 座位号int not null,票价 money )create table 旅客(身份证号 varchar (23) primary keyr 旅客姓名 nvarchar (6) not null, 移动电话 varchar (11) not null,
13、 )create Table 订票(订单号 char (20) primary key, 航班编号 varchar (10) not null, 票价 money not null,出发城市 nvarchar (10) not null, 目 的城市 nvarchar (10) not null, 出发时间 time not null, 至U达时间 time not null,旅客姓名 nvarchar (20) not null, )create Table 退票(订单号 char (20) primary key, 身份证号 nvarchar (23) not null, )视图建立代码首
14、先确定要建立两个视图,分别是账单视图和飞机票视图create view 贝长单asselect订单号,航班编号,出发时间,票价,旅客姓名from订票create view 飞机票asselect 订单号,座舱等级,座位号from航班left outer join机票on机票.航班编号=航班,航班编号 select *from机票3.4.2 索引建立代码索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和 相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引依赖于表建立,它提 供了数据库中编排表中数据的内部方法。在机票预订系统中,我建立了三个索引,分别是在航班表中建立了航班
15、编号索弓I, 在旅客表中建立身份证号索引,在座位表中建立了座位号索引。索引类型为唯一性的 非聚集索引。3.4.3 存储过程建立代码建立三个存储工程,分别存储航班,旅客和座位信息 CREATE PROC aaa ASSELECT航班编号,出发城市,目的城市,出发时间,到达时间 FROM航班CREATE PROC bbbASSELECT航班编号,座位号FROM座位CREATE PROC ccc AS SELECT *FROM旅客触发器建立代码触发器是一种实施复杂的完整性约束的特殊存储过程,它在SQL server进行某个 特定的表修改时由SQL Server自动执行。触发器一般用于加强数据库的某些
16、使用规则。在机票管理系统中,我建立了一个DDL触发器,用于保护当前SQL Server服务器 里的所有数据库不被删除。具体代码为: CREATE TRIGGER notdelete ON all server FOR DROP_DATABASE ASPRINT,不能删除数据库,ROLLBACKGO3.5 数据库实施图5-1数据库图3. 4. 1存储结构与存取方法163. 4.2数据库建立代码173. 4.3视图建立代码183. 4.4索引建立代码183. 4. 5存储过程建立代码193. 4. 6触发器建立代码193.5数据库实施19第4章结束语21参考文献22第1章概述1.1 选题的背景与意
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理 数据库 原理 课程设计 报告 机票 预订 系统 设计
限制150内