数据库课程设计--机票预订系统

上传人:第*** 文档编号:56922487 上传时间:2018-10-17 格式:DOC 页数:22 大小:1.99MB
返回 下载 相关 举报
数据库课程设计--机票预订系统_第1页
第1页 / 共22页
数据库课程设计--机票预订系统_第2页
第2页 / 共22页
数据库课程设计--机票预订系统_第3页
第3页 / 共22页
数据库课程设计--机票预订系统_第4页
第4页 / 共22页
数据库课程设计--机票预订系统_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据库课程设计--机票预订系统》由会员分享,可在线阅读,更多相关《数据库课程设计--机票预订系统(22页珍藏版)》请在金锄头文库上搜索。

1、目 录1 前言 .12 需求分析 .12.1 课程设计目的 12.2 课程设计任务 12.3 设计环境 22.4 开发语言 23 分析和设计 .23.1 系统 E-R 模型 23.2 表空间及表的设计 33.3 视图设计 83.4 存储过程、函数、包的设计 .123.5 触发器设计 .173.6 角色、用户、权限设计 .183.7 备份方案设计 .194 课程设计总结 20参考文献 21致 谢 2111 前言航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带来了极大的方便。随着社会的进步,人们的生活水平得到很大的提高,民航的发展也很迅速,乘坐

2、飞机的旅客也大大增多。假如现在没有售票系统,民航将也不会存在,人们的出行极大不便。换句话说,一个功能完善的机票预定信息管理系统对人们的日常生活已经显得尤其重要。现设计一个机票预定信息管理系统的数据库。首先根据问题需求设计 E-R 模型,包括几个主要的实体,如航空公司、飞机、乘客、航班、机票、业务员等以及相关的联系。然后再转根据 E-R 模型设计出相应的关系模型,对于关系模型的每一个关系,可以设计出相应的表,接着分配表空间、创建视图、设计存储过程、函数和触发器以及设计安全与备份策略。2 需求分析2.1 课程设计目的通过专业课程设计,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解

3、决实际问题的能力。本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。同时要求对数据库的运营、管理及使用上进行必要的规划和实现。2.2 课程设计任务系统需要管理以下主要信息:(1)航班基本信息,包括航班的编号、飞机名称、机舱等级等。(2)机票信息,包括票价、折扣、当前预售状态及经手业务员等。(3)客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。基本要求:(1)根据需求,补充必要的数据库实体,建立 ER 模型,通过 ER 图表示。(2)在 Oracle 中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。(3)从实际查询应用出发,为一

4、些主要的应用模块设计至少 3 个参数化视图。2(4)从数据检验的角度出发,为相关的表建立至少 1 个触发器。(5)从数据更新或修改的角度出发,设计至少 1 个存储过程。(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的 SQL 实现。(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。2.3 设计环境(1)WINDOWS 2000/2003/XP 系统(2)Oracle 数据库管理系统2.4 开发语言PL/SQL 语言3 分析和设计3.1 系统 E-R 模型经过分析可以知道,机票预定信息管理系统一共有航空公司、飞行、航班、机舱、机票、乘客和业务员这几个实体,

5、航空公司有公司编号、公司名、公司电话和公司地址这几个属性;飞机有飞机编号、飞机名称两个属性;航班有航班号、出发地、目的地、起飞时刻和飞行时间这几个属性;机舱有机舱等级、座位数、定价和折扣这几个属性;机票有机票编号、登机日期、预定状态、座位号这几个属性;乘客有身份证号、姓名、联系电话、住址这几个属性;业务员有业务员编号、业务员姓名、业务员身份证号、联系电话和住址这几个属性。一个航空公司有多架飞机和多名业务员,一架飞机可有多个航班,一个航班有多种机舱等级,一个机舱可有多张机票;乘客、业务员和机票之间有售票联系,售票联系有售票日期这一属性。根据以上分析可以画出系统 E-R 图,系统 E-R 图如图

6、3.1 所示:3乘客姓名身份证号联系电话住址业务员姓名业务员编号身份证号住址联系电话航空公司公司名公司编号公司电话公司地址飞机飞机编号飞机名称售票属于机票座位号折扣n属于n1属于n航班航班号出发地目的地起飞时刻飞行时间 11属于n1机票编号n销售日期1定价属于n1登机日期购票n1机舱机舱等级座位数属于n1航班号销售日期图 3.1 系统 E-R 图3.2 表空间及表的设计(1)表空间的设计。经过分析可知,乘客表、机票信息表和机票销售表数据量比较大,可单独分配表空间,其他的表数据量较少,可一起使用一个表空间。创建表分配表空间和添加数据文件,SQL 语句如下:CREATE SMALLFILE TAB

7、LESPACE “PASSENGER“ DATAFILE F:APPORACLEORADATAORCLTICKETSALEpassenger.dbfSIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;CREATE SMALLFILE TABLESPACE “TICKET“ DATAFILE F:APPORACLEORADATAORCLTICKETSALEticket.dbf SIZE 100M AUTOEXTEND ON N

8、EXT 5M MAXSIZE UNLIMITEDLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;CREATE SMALLFILE TABLESPACE “TICKETSALE“ DATAFILE F:APPORACLEORADATAORCLTICKETSALEticketsale.dbf SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;CREAT

9、E SMALLFILE TABLESPACE “OTHERS“ DATAFILE F:APPORACLEORADATAORCLTICKETSALEothers .dbf SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;4表空间结构如图 3.2 所示:图 3.2 表空间结构图(2)关系模型的设计。根据 E-R 模型,可以得出相应的关系模型,关系模型如下:company(cno,cname,ctel,caddress)pas

10、senger(pID,pname,ptel,paddress)salesman(sno,sID,sname,stel,saddress,cno)airplane(ano,aname,cno)flight(fno,departure,arrival,time,flytime,ano)cabin(fno,cblevel,seats,price)ticket(tno,fno,cblevel,flydate,status,seat,discount)ticketsale(tno,pID,sno,saledate)(3)表的创建。对于关系模型的每一个关系,可以得出相应的一张表,创建表的 SQL 语句如下

11、:CREATE TABLE “SYSTEM“.“COMPANY“ (“CNO“ VARCHAR2(10) NOT NULL , “CNAME“ VARCHAR2(20) NOT NULL , “CTEL“ VARCHAR2(20), “CADDRESS“ VARCHAR2(50), PRIMARY KEY (“CNO“) VALIDATE ) TABLESPACE “OTHERS“;CREATE TABLE “SYSTEM“.“PASSENGER“ ( “PID“ VARCHAR2(20) NOT NULL , “PNAME“ VARCHAR2(20) NOT NULL , “PTEL“ VA

12、RCHAR2(20), 5“PADDRESS“ VARCHAR2(50), PRIMARY KEY (“PID“) VALIDATE ) TABLESPACE “PASSENGER“;CREATE TABLE “SYSTEM“.“SALESMAN“ ( “SNO“ VARCHAR2(10) NOT NULL , “SID“ VARCHAR2(20) NOT NULL , “SNAME“ VARCHAR2(20) NOT NULL , “STEL“ VARCHAR2(20), “SADDRESS“ VARCHAR2(50), “CNO“ VARCHAR2(10) NOT NULL , PRIMA

13、RY KEY (“SNO“) VALIDATE ,FOREIGN KEY (“CNO“) REFERENCES “SYSTEM“.“COMPANY“ (“CNO“) VALIDATE) TABLESPACE “OTHERS“;CREATE TABLE “SYSTEM“.“AIRPLANE“ ( “ANO“ VARCHAR2(10) NOT NULL , “ANAME“ VARCHAR2(20) NOT NULL , “CNO“ VARCHAR2(10) NOT NULL ,PRIMARY KEY (“ANO“) VALIDATE ,FOREIGN KEY (“CNO“) REFERENCES

14、“SYSTEM“.“COMPANY“ (“CNO“) VALIDATE) TABLESPACE “OTHERS“;CREATE TABLE “SYSTEM“.“FLIGHT“ ( “FNO“ VARCHAR2(10) NOT NULL , “DEPARTURE“ VARCHAR2(20) NOT NULL , “ARRIVAL“ VARCHAR2(20) NOT NULL , “TIME“ DATE NOT NULL , “FLYTIME“ INTERVAL DAY TO SECOND NOT NULL , “ANO“ VARCHAR2(10) NOT NULL , PRIMARY KEY (

15、“FNO“) VALIDATE ,FOREIGN KEY (“ANO“) REFERENCES “SYSTEM“.“AIRPLANE“ (“ANO“) VALIDATE ) TABLESPACE “OTHERS“;CREATE TABLE “SYSTEM“.“CABIN“ ( “FNO“ VARCHAR2(10) NOT NULL , “CBLEVEL“ NUMBER(1) NOT NULL , “SEATS“ NUMBER(3) NOT NULL ,“PRICE“ NUMBER(5) NOT NULL , PRIMARY KEY (“FNO“, “CBLEVEL“) VALIDATE ,FO

16、REIGN KEY (“FNO“) REFERENCES “SYSTEM“.“FLIGHT“ (“FNO“) VALIDATE) TABLESPACE “OTHERS“;CREATE TABLE “SYSTEM“.“TICKET“ ( 6“TNO“ NUMBER(10) NOT NULL , “FNO“ VARCHAR2(10) NOT NULL , “CBLEVEL“ NUMBER(1) NOT NULL , “FLYDATE“ DATE NOT NULL , “STATUS“ NUMBER(1) DEFAULT 1 NOT NULL , “SEAT“ NUMBER(3) NOT NULL , “DISCOUNT“ NUMBER(3, 2) NOT NULL ,PRIMARY KEY (“TNO“) VALIDATE ,FOREIGN KEY (“FNO“, “CBLEVEL“) REFERENCES “SYSTEM“.“CABIN“ (“FNO“, “CBLEVEL“) VALIDATE) TABLESPACE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号