- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AirCompany(航空公司表)
含义
数据类型
长度 允许空
约束
公司编号 int
NOT 主键,自动增长
companyName 公司名称 varchar
50
NOT
address
公司地址 varchar
50
hotLine
服务热线 varchar
50
2020/9/23
5
航空售票系统数据库表结构
列名
cabinID
头等舱、商务舱、 经济舱
座位
varchar 20
票价
decimal (8,2)
登机口
varchar 20
8
3. 维护航空售票系统数据库
使用DDL创建数据库airticket create database airticket
使用DDL创建航空售票系统数据库中的航空公司表 create table AirCompany( companyID primary key auto_increment, -- 主键,字段增长 companyName varchar(50) not null, address varchar() )
int
头等舱、商务舱、经 济舱
int
decimal
(8,2)
2020/9/23
6
航空售票系统数据库表结构
列名
flightID companyID
model fromCity
Flight(航班表)
含义
航班编号
数据类型 长度 允许空
约束
nvarchar 50
NOT 主键
航空公司编号
int
外键,参照 AirCompany表
机型
varchar
50
始发城市
varchar
50
toCity
到达城市
mileAge
里程
departureTime 起飞时间
varchar
50
int
time
2020/9/23
7
列名
ordersID identityID flightID
grade flightDate seat price gate
第八章 综合项目
航空售票系统数据库设计和数据应用
1. 航空售票系统需求分析
系统需支持以下功能:
维护客户信息、航班信息和票务信息 支持客户按多种条件组合查询航班信息和票务信息 支持客户根据票务信息订购机票 支持民航管理部门和航空公司查询、统计航班信息以及票务信息
2020/9/23
2
航空售票系统需求分析
2020/9/23
9
3. 维护航空售票系统数据库
使用DDL创建航空售票系统数据库中的航班表 create table Flight(
flightID primary key auto_increment, -- 主键,字段增长 companyID int references airCompany(companyID), -- 外键,参照airCompany表 model varchar(50), fromCity varchar(50), toCity varchar(50), mileAge int, departureTime time )
2020/9/23
航空售票系统数据库表结构
TicketSell(机票销售表)
含义
订票编号
数据类型
int
长度 允许空
约束
NOT 主键,自动增长
旅客身份证 航班编号 舱位等级 飞行日期
varchar 20 varchar 50 varchar 20 date
外键,参照 Passenger表 外键,参照Flight 表
identityID 身份证
name
姓名
gender
性别
Passenger(乘客表)
数据类型 长度 允许空
约束
varchar
20 NOT
主键
varchar
50 NOT
varchar
4
birthday 出生年月
date
tel
电话
varchar
20
2020/9/23
4
航空售票系统数据库表结构
列名
companyID
2020/9/23
12
4. 业务数据应用
系统具体的需求信息:
每一家航空公司可以经营多条航班,ຫໍສະໝຸດ Baidu某条航班仅能隶属于某一家 航空公司
飞机舱位有三个等级,它们分别为头等舱、商务舱和普通舱 每位乘客可以订购有余票的航班 系统支持票务信息查询,这些信息包括:舱位、座位和剩余座位数
2020/9/23
3
2. 航空售票系统数据库表结构
列名
含义
含义
舱位编号
flightID
航班编号
flightDate 飞行日期
grade
舱位等级
seats
座位数
availableSe ats
fullPrice
剩余座位数 全价
Cabin(舱位表)
数据类型
长度 允许空
约束
int
NOT
主键,自动增长
varchar
50
外键,参照Flight表
date
varchar
20
使用DML新增一条航空公司记录 insert into AirCompany values(NULL, '中国南方航空', '广州市机场路278号', '95539')
2020/9/23
10
4. 业务数据应用
查询从武汉飞往北京的航班信息,要求显示航班号、航空公司名称、 机型、始发地、目的地、里程数和起飞时间,按照起飞时间升序显示
分析: 航班信息主要来源于Flight表。由于需要显示航空公司名称,因而需联接
AirCompany表
select flightID 航班号, companyName 航空公司, model 机型, fromCity 始发地, toCity 目的地, mileage 里程数, departureTime 起飞时间 from Flight F, AirCompany AC where F.companyID=AC.companyID and fromCity='武汉' and toCity='北京’ order by departureTime
2020/9/23
11
4. 业务数据应用
统计每一家航空公司所经营航线的平均里程,按平均里程 升序显示
分析: 针对flight表,依据companyID分组计算mileAge平均值 连接airCompany表与flight表
select companyName 航空公司, avg(mileAge) 平均里程 from Flight,AirCompany where Flight.companyID=AirCompany.companyID group by companyName order by avg(mileAge)