
Oracle机票预定信息系统数据库设计可编辑范本.doc
16页《数据库原理及应用》课程设计设计题目 机票预订信息系统系 部信息技术工程学院班级 网络1302学 号 姓 名 2016年 1月目录一、需求分析3Ø背景分析3Ø需求分析31)系统功能:32)系统信息:33)数据流图:34)数据字典:4二、结构设计5ØE-R图5飞机E-R图,如图4—1所示6航班E-R图,如图4-2所示6机票E-R图,如图4—3所示6旅客E—R图,如图4-4所示6账单E-R图,如图4-5所示7航班坐位E—R图,如图4-6所示7取票通知E—R图,如图4-7所示7总E—R图,如图4—8所示8Ø关系模式9基本表9虚表(视图)9三、数据库实现9Ø创建表空间与赋权限9Ø飞机信息表建立9Ø航班信息表建立10Ø机票信息表建立10Ø旅客信息表建立10Ø账单信息表建立10Ø航班坐位视图10Ø取票通知视图11Ø外键语句11四、数据库实施11Ø添加飞机11Ø添加航班11Ø添加用户12Ø预定机票(存储过程)12Ø打印取票通知(存储函数)13Ø生成账单(触发器和存储过程)13五、总结14一、 需求分析Ø 背景分析以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。
纵观全球经济发展, 信息技术和信息产业已经成为经济增长的主要推动力之一, 正在改变着传统的生产和经营方式以至生活方式, 发达国家经过产业结构的升级和经济结构 的转型已进入信息经济阶段 机票预订系统也开始影响着人们日常生活和出行,并且变得越来越重要而原有的系统随着航空公司载客量的迅猛增长和人们对便捷性要求的提高,已经变得无法满足需求.原有的系统不仅效率比较低下,而且在安全性、准确性等方面有很多不足.为了实现航空公司以及旅游行业的现代化管理,进一步提高工作效率,方便旅客,需要开发一个机票预订系统Ø 需求分析1) 系统功能:l 航班信息的输入,修改查询l 航班座位信息的输入,修改查询l 根据旅客输入的基本信息,为旅客安排航班,打印取票通知和帐单.l 旅客在飞机起飞前一天凭取票通知交款取票.l 旅客能够退订机票l 能够查询每个航班的预定情况、计算航班的满座率2) 系统信息:l 航班信息: 航班编号、飞机编号、起飞地、目的地、起飞时间、飞行时间等l 飞机信息:飞机编号、飞机型号、座位数l 机票信息:航班编号、旅客编号、座位号、票价等l 旅客信息:姓名、性别、联系、身份证号等3) 数据流图:工作人员编辑航班飞机表航班表机票表用户表账单表旅客机票操作用户信息编辑账单操作4) 数据字典:根据总体结构图设计机票预定系统基本表结构,其相应标的定义如下:表4-1 飞机信息〈plain〉字段名称类型长度是否非空主关键字备注plain_idVARCHAR210Y飞机编号modelVARCHAR210N飞机型号seatint2N总座位表4—2 航班信息< flight >字段名称类型长度是否非空主关键字备注flight_idVARCHAR210Y航班编号plain_idVARCHAR210N飞机编号startVARCHAR210N起飞地endVARCHAR210N目的地departure_timedatetimeN起飞时间durationint4N飞行时间表4-3 机票信息〈tickets>字段名称类型长度是否非空主关键字备注tickets_idVARCHAR210Y机票编号flight_idVARCHAR210Y航班编号traveler_idVARCHAR210N旅客编号seating_listint4N座位号cabin_ratingVARCHAR210N机舱等级updata_timedatetimeN更新时间statusint10N状态表4—4 旅客信息〈traveler〉字段名称类型长度是否非空主关键字备注traveler_idVARCHAR210Y旅客编号nameVARCHAR210N姓名sexint1N性别id_valueVARCHAR220N身份证号phoneVARCHAR211N联系方式表4—5 账单信息〈bill〉字段名称类型长度是否非空主关键字备注bill_idVARCHAR210Y账单编号traveler_idVARCHAR210Y旅客编号tickets_idVARCHAR210Y机票编号paymentfloat(2)NN价格updata_timedatetimeN更新时间statusint4N付款状态二、 结构设计Ø E—R图根据需求分析抽象出信息结构,可得该系统的E—R图.飞机E-R图,如图4-1所示。
飞机飞机编号座位数飞机型号 图4-1 飞机E-R图航班E—R图,如图4-2所示.航班出发地航班编号起飞时间飞行时间目的地飞机编号图4—2 航班E—R图机票E—R图,如图4—3所示机票机舱等级机票编号状态座位号航班编号旅客编号号更新时间图4—3 机票E—R图旅客E-R图,如图4-4所示旅客姓名性别身份证号号码码旅客编号联系码码图4—4 旅客E-R图账单E-R图,如图4-5所示账单机舱等级机票编号状态座位号航班编号旅客编号号更新时间账单编号图4—5账单E-R图航班坐位E-R图,如图4-6所示航班坐位状态座位号航班编号图4—6航班坐位E—R图取票通知E—R图,如图4-7所示取票通知状态座位号航班编号旅客编号 图4-7取票通知E-R图总E—R图,如图4—8所示飞机飞机编号 座位数飞机型号 航班出发地航班编号飞行时间目的地飞机编号起飞时间 有11机票机舱等级机票编号状态座位号 航班编号旅客编号号更新时间包含1m购买1旅客姓名 性别 身份证号号码码旅客编号 联系码码1账单机票编号状态付款旅客编号号更新时间属于11账单编号图4—8总E—R图Ø 关系模式基本表飞机信息表(飞机编号、飞机型号、飞机座位)航班信息表(航班编号、飞机编号、起飞地、目的地、起飞时间、飞行时间)机票信息表(机票编号、航班编号、旅客编号、机舱等级、座位号、更新时间、状态)旅客信息表(旅客编号、姓名、性别、联系、身份证号)账单表 (账单编号、旅客编号、机票编号、价格、更新时间、状态)虚表(视图)航班坐位情况表 (机票信息表。
航班编号、机票信息表座位号、机票信息表.状态)取票通知表 (机票信息表.航班编号、机票信息表 旅客编号、机票信息表.座位号、机票信息表.状态)三、 数据库实现Ø 创建表空间与赋权限create temporary tablespace HKSP_TEMPtempfile’C:\oraclexe\app\oracle\oradata\XE\HKSP_TEMP.dbf'size 50Mautoextend onnext 50M maxsize 1048Mextent management local;create tablespace HKSP_DATAatafile 'C:\oraclexe\app\oracle\oradata\XE\HKSP_DATAdbf'size 50Mautoextend onnext 50M maxsize 1048Mextent management local;create user HKSP identified by 123456default tablespace HKSP_DATAtemporary tablespace HKSP_TEMP;grant connect,resource,dba to HKSP;Ø 飞机信息表建立CREATE TABLE "HKSP"。
"plain” ("plain_id” VARCHAR2(10 BYTE) NOT NULLprimary key ,"model” VARCHAR2(10 BYTE) NOT NULL ,”seat” NUMBER NOT NULL )Ø 航班信息表建立CREATE TABLE "HKSP”flight” ("flight_id" VARCHAR2(10 BYTE) NOT NULL primary key,”plain_id" VARCHAR2(10 BYTE) NOT NULL ,”start” VARCHAR2(20 BYTE) NOT NULL ,”end” VARCHAR2(20 BYTE) NOT NULL ,"departure_time” DATE NOT NULL ,"duration” NUMBER NOT NULL )Ø 机票信息表建立CREATE TABLE ”HKSP""tickets" (”tickets_id" VARCHAR2(10 BYTE) NOT NULL primary key,"flight_id" VARCHAR2(10 BYTE) NOT NULL ,”traveler_id" VARCHAR2(10 BYTE) NOT NULL ,"seating_list” NUMBER NOT NULL ,”cabin_rating” VARCHAR2(10 BYTE) NOT NULL ,"updata_time” DATE NOT NULL ,”status” NUMBER NOT NULL )Ø 旅客信息表建立CREATE TABLE "HKSP”。
traveler” ("traveler_id” VARCHAR2(10 BYTE) NOT NULL primary key ,"name” VARCHAR2(10 BYTE) NOT NULL ,"sex” NUMBER NOT NULL ,"id_value" VAR。
