机票预定管理系统综述.docx
- 文档编号:24703555
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:35
- 大小:112.06KB
机票预定管理系统综述.docx
《机票预定管理系统综述.docx》由会员分享,可在线阅读,更多相关《机票预定管理系统综述.docx(35页珍藏版)》请在冰豆网上搜索。
机票预定管理系统综述
长沙学院
课程设计说明书
题目机票预定管理系统
系(部)计算机科学与技术系
专业(班级)
姓名
学号2010021110
指导教师
起止日期2012.06.11-2012.06.22
课程设计任务书
课程名称:
数据库系统原理
设计题目:
机票预定管理系统
1、某航空公司机票预订管理系统需要如下信息:
航班:
航班编号、出发地、目的地、出发时间、飞行时间、飞机型号等。
飞机:
飞机型号、座位数。
机票:
航班编号、客户编号、价格、折扣、当前预售状态等。
客户:
姓名、联系电话、身份证号码等。
业务员:
姓名、工号。
2、系统功能的基本要求:
按照一定条件查询、统计符合条件的航班、机票、客户信息等。
例如航班剩余舱位数目、同一航线可选航班信息、客户购买历史等,能够模拟完成机票预订业务。
各阶段具体要求:
1、需求分析阶段
二、定义数据项的含义和取值
三、定义目标系统的数据流
2、概念结构设计阶段
●画出实体模型E-R图
3、逻辑结构设计阶段
●将实体模型转化为关系模型
●给出每个关系的主关键字和函数依赖集
●分析你所设计的关系数据库模式是否属于3NF
4、物理设计阶段
●确定所有字段的名称、类型、宽度、小数位数及完整性约束
●确定数据库及表的名称及其组成
●确定索引文件和索引关键字
5、数据库安全及维护设计阶段
5.1设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)
5.2为了实现复杂的数据完整性约束,设计适当的触发器
5.3设计一个适合的数据库备份策略
6、实施阶段
●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。
设计工作量:
(1)软件设计:
完成问题陈述中所提到的所有需求功能。
(2)论文:
要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。
工作计划:
安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;
1)选定题目
2)需求分析
3)概念结构设计
4)逻辑结构设计
5)物理设计
6)数据库安全及维护设计
7)数据库上机实现
8)答辩
设计工作量:
40课时
工作计划:
班级
日期
节次
教室
内容
指导教师
10计科1班
15周周一
1-4
致远楼1413
布置任务
潘怡
15周周一
5-6节
涵虚楼B2103
答疑
15周周二
1-2
致远楼1401
上机
15周周二
3-4节
涵虚楼B2103
答疑
15周周二
5-6节
涵虚楼B2103
答疑
15周周五
1-4
致远楼1413
上机
15周周五
5-8节
涵虚楼B2103
答疑
16周周一
1-4
致远楼1413
上机
16周周一
5-8节
涵虚楼B2103
答疑
16周周二
1-2
致远楼1401
上机
16周周二
3-4节
涵虚楼B2103
答疑
16周周五
1-4
致远楼1413
答辩
16周周五
5-8节
涵虚楼B2103
答辩
指导教师签名:
日期:
教研室主任签名:
日期:
系主任签名:
日期:
长沙学院课程设计鉴定表
姓名
学号
专业
计算机科学与技术
班级
设计题目
机票预定管理系统
指导教师
指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
评定等级:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
目录
1引言1
1.1编写目的1
1.2参考资料1
2需求规约2
2.1业务描述2
2.2需求分析2
2.2.1统功能分析.....................................................................................................................2
2.2.2统功模块图.....................................................................................................................3
3概念结构设计5
4物理结构设计6
4.1E_R图向关系模型的转变6
4.2数据模型的优化6
5物理设计7
5.1表汇总7
5.2各表的详细信息及其创建7
5.3视图的设计14
5.4存储过程、函数及触发器的设计14
6安全性设计20
6.1防止用户直接操作数据库的方法20
6.2角色与权限20
7数据库管理与维护说明21
7.1数据库的完全备份..........................................................................................................21
7.2数据库的差异备份..........................................................................................................21
7.2数据库的日志备份..........................................................................................................21
8总结........................................................................................................................................22
1引言
1.1编写目的
本文档是数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:
明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《数据库设计和开发规范》。
掌握对于给定实际问题的解决方法,为建立一个关系数据库管理系统,严格按照系统的调研、需求分析、慨念设计、逻辑设计、物理设计、数据库的实施以及数据库的运行和维护的一般过程进行设计。
1.2参考资料
资料名称
作者
出版社
文件编号、版本
《数据库系统概论》
王珊、萨师煊
高等教育出版社
2006年5月第4版
《数据库原理及应用》
钱雪忠
北京邮电大学出版社
2007年8月第2版
《SQLServer2008数据库基础及其应用》
徐鹏、满娜
中国水利水电出版社
2010年5月第1版
2需求规则
2.1业务描述
随着社会发展的不断进步,民航事业的壮大,人民消费水平的提高,乘坐民航的人越来越多,旅游业逐渐成为普通百姓的生活组成部分,飞机票预订查询系统在各机票预订网点中的作用也越来越显得重要。
机票预订系统是为机场工作人员和客户提供机票预订和退票等与机票相关内容和管理的系。
能够实现航空公司的机票销售的自动化,为企业的决策层提供准确、精细迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票进行管理,提高机场工作人员对机票管理的工作效率。
1、某航空公司机票预订管理系统需要如下信息:
航班:
航班编号、出发地、目的地、出发时间、飞行时间、飞机型号等。
飞机:
飞机型号、座位数。
机票:
航班编号、客户编号、价格、折扣、当前预售状态等。
客户:
姓名、联系电话、身份证号码等。
业务员:
姓名、工号。
2、系统功能的基本要求:
按照一定条件查询、统计符合条件的航班、机票、客户信息等。
例如航班剩余舱位数目、同一航线可选航班信息、客户购买历史等,能够模拟完成机票预订业务。
2.2需求分析
2.2.1系统功能分析
航班管理:
可对航班信息进行添加、修改、删除、查询操作;
飞机管理:
可对飞机信息进行添加、修改、删除、查询操作;
旅客管理:
可对旅客信息进行添加、修改、删除、查询操作;
业务员管理:
可对业务员信息进行添加、修改、删除、查询操作;
订票系统管理:
当旅客根据选着航班号以及业务员号预订机票,然后录入自己的基本信息,提交后,经系统处理,将生成一张机票信息,然后插入机票表中,作为旅客订票成功的依据,同时航班表中的剩余票数将减1,否则输出提示信息提示旅客订票失败。
退票系统管理:
当旅客想退票时,可以根据自己选着的航班号以及自己的客户编号进行机票的退订处理,若退票成功,航班表里的剩余票数将加1,若退票失败,则输出提示信息提示旅客退票失败。
2.2.2功能模块图
(1)根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。
图2.1机票预订系统功能模块示意图
(3)航班信息管理模块的细化功能模块如图2.2所示。
图2.2航班信息管理功能模块示意图
(3)订票信息管理模块的细化功能模块如图2.3所示。
图2.3取票信息管理模块
(4)退票信息管理模块的细化功能模块如图2.4所示。
图2.3退票信息管理模块
3概念结构设计
根据需求分析,可知机票预订系统的实体有:
航班、飞机、客户、业务员。
航班实体的属性有:
航班编号、出发地、目的地、出发时间、到达时间、经济舱票价、公务舱票价、头等舱票价、折扣、剩余票数、航程。
飞机实体的属性有:
飞机编号、飞机型号、座位数。
客户实体的属性有:
客户编号、客户姓名、性别、年龄、联系电话、身份证号。
业务员实体属性有:
工号、业务员姓名、年龄、联系电话。
其中,航班和飞机是n:
m的调用关系,即一个航班可以调用多架飞机,一架飞机可以飞多个航班。
航班和客户是n:
m的预订关系,即一个客户可以预订多个航班,一个航班可以被多个客户预订。
业务员和客户是n:
m的服务关系,即一个业务员可以服务多个客户,一个客户可以被多个业务员服务。
按照以上机票预订系统分析过程,设计机票预订系统的E-R图如下:
图3.1机票预订系统的E-R图
4逻辑结构设计
4.1E-R图向关系模型的转换
将图3.1总体概念结构E-R图转化成关系模型。
航班(航班编号、出发地、目的地、出发时间、到达时间、经济舱票价、公务舱票价、头等舱票价、折扣、剩余票数、航程)
飞机(飞机编号、飞机型号、座位数)
调用(航班编号、飞机编号)
客户(客户编号、客户姓名、性别、年龄、联系电话、身份证号)
飞机票(航班编号、客户编号、客户姓名、出发地、目的地、出发日期、票价、舱位)
业务员(工号、业务员姓名、年龄、联系电话)
服务(客户编号、业务员编号)
4.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
航班编号→出发地,航班编号→目的地,航班编号→出发时间,航班编号→到达时间,航班编号→经济舱票价,航班编号→公务舱票价,航班编号→头等舱票价,航班编号→折扣,航班编号→剩余票数,航班编号→航程。
因为航班表中的非主属性不存在部分依赖和传递依赖,所以航班表是3NF的。
飞机编号→飞机型号,飞机编号→座位数。
因为飞机表中的非主属性不存在部分依赖和传递依赖,所以航班表是3NF的。
客户编号→客户姓名,客户编号→性别,客户编号→年龄,客户编号→联系电话,客户编号→身份证号。
因为客户表中的非主属性不存在部分依赖和传递依赖,所以航班表是3NF的。
业务员工号→业务员姓名,业务员工号→年龄,业务员工号→联系电话。
因为业务员表中的非主属性不存在部分依赖和传递依赖,所以航班表是3NF的。
综上所述,机票预定管理系统是属于3NF的,存在较少的插入异常。
5物理结构设计
5.1表汇总
表名
功能说明
Tbl_Flight
存放航班编号,航线编号,出发地,目的地,出发时间,到达时间,头等舱票价,公务舱票价,经济舱票价,折扣,剩余票数,航程等属性的信息。
Tbl_Airplane
存放飞机编号,飞机型号,座位数等信息。
Tbl_Transfer
存放航班编号和飞机编号,以此建立Tbl_Flight与Tbl_Airplane之间的联系。
Tbl_Customer
存放客户编号,客户姓名,性别,年龄,联系电话,身份证号等信息。
Tbl_Air_Ticket
除了存放航班编号和客户编号,以此建立Tbl_Flight与Tbl_Customer之间的联系之外,还存放了出发地,目的地,机票价格,出发日期,舱位等信息。
Tbl_Salesman
存放业务员工号,业务员姓名,性别,年龄,电话号码等信息。
Tbl_Service
存放业务员工号和客户编号,以此建立Tbl_Customer和Tbl_Salesman之间的联系。
5.2各表详细信息及创建
表[Tbl_Flight]:
[航班表]
表名
Tbl_Flight
数据库用户
DBA
主键
Flight_id
其他排序字段
无
索引字段
Orign
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
1
Flight_id
CHAR(10)
N
Y
高
无
主键:
航班编号
2
Orign
VARCHAR(40)
N
N
低
无
出发地
3
Destination
VARCHAR(40)
N
N
低
无
目的地
4
Departure_Time
TIME
N
N
低
无
出发时间
5
Arrival_Time
TIME
N
N
低
无
到达时间
6
FPrice
FLOAT
(2)
N
N
中
无
头等舱票价
7
CPrice
FLOAT
(2)
N
N
中
无
公务舱票价
8
YPrice
FLOAT
(2)
N
N
中
无
经济舱票价
9
Discount
FLOAT
(2)
N
N
低
无
折扣
10
Remain_poll
INT
N
N
中
无
剩余票数
11
Voyage
VARCHAR(10)
N
N
高
无
航程
sql脚本
CREATETABLETbl_Flight
(Flight_idCHAR(10)NOTNULLPRIMARYKEY,--航班编号
OrignVARCHAR(40)NOTNULL,--出发地
DestinationVARCHAR(40)NOTNULL,--目的地
Departure_timeTIMENOTNULL,--出发时间
Arrival_timeTIMENOTNULL,--到达时间
FPriceFLOAT
(2)NOTNULLCHECK(FPrice>=0),--头等舱票价
CPriceFLOAT
(2)NOTNULLCHECK(CPrice>=0),--公务舱票价
YPriceFLOAT
(2)NOTNULLCHECK(YPrice>=0),--经济舱票价
DiscountFLOAT
(2)NOTNULLCHECK(Discount>0.00ANDDiscount<=1.00),--折扣
Remain_pollINTNOTNULL,--剩余票数
VoyageVARCHAR(10)NOTNULL--航程
);
CREATEINDEXTbl_Flight_OrignONTbl_Flight(Orign)
备注
存放航班信息
表[Tbl_Airplane]:
[飞机表]
表名
Tbl_Airplane
数据库用户
DBA
主键
Airplane_id
其他排序字段
无
索引字段
Airplane_style
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
1
Airplane_id
CHAR(10)
N
Y
高
无
主键:
飞机编号
2
Airplane_style
CHAR(10)
N
N
中
无
飞机型号
3
Seating
INT
N
N
低
无
座位数
sql脚本
CREATETABLETbl_Airplane
(Airplane_idCHAR(10)NOTNULLPRIMARYKEY,--飞机编号
Airplane_styleCHAR(10)NOTNULL,--飞机型号
SeatingINTCHECK(Seating>=0ANDSeating<=400)--座位数
);
CREATEINDEXTbl_Airplane_styleONTbl_Airplane(Airplane_style)
备注
存储飞机信息
表[Tbl_Transfer]:
[调用表]
表名
Tbl_Transfer
数据库用户
DBA
主键
Flight_id,Airplane_id(联合主键)
其他排序字段
无
索引字段
无
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
1
Flight_id
CHAR(10)
N
Y
高
无
外键:
航班编号
2
Airplane_id
CHAR(10)
N
Y
高
无
外键:
飞机编号
sql脚本
CREATETABLETbl_Transfer
(Flight_idCHAR(10)NOTNULL,--航班编号
Airplane_idCHAR(10)NOTNULL,--飞机编号
PRIMARYKEY(Flight_id,Airplane_id),
FOREIGNKEY(Flight_id)REFERENCESTbl_Flight(Flight_id),
FOREIGNKEY(Airplane_id)REFERENCESTbl_Airplane(Airplane_id)
);
备注
建立Tbl_Flight与Tbl_Airplane之间的联系
表[Tbl_Customer]:
[客户表]
表名
Tbl_Customer
数据库用户
DBA
主键
Customer_id
其他排序字段
Customer_name
索引字段
无
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
1
Customer_id
CHAR(10)
N
Y
高
无
主键:
客户编号
2
Customer_name
VARCHAR(20)
N
N
中
无
客户姓名
3
Customer_sex
CHAR
(2)
N
N
低
无
性别
4
Customer_age
SMALLINT
N
N
低
无
年龄
5
Customer_phone
VARCHAR(15)
N
Y
高
无
联系电话
6
ID_number
CHAR(20)
N
Y
高
无
身份证号
sql脚本
CREATETABLETbl_Customer
(Customer_idCHAR(10)NOTNULLPRIMARYKEY,--客户编号
Customer_nameVARCHAR(20)NOTNULL,--客户姓名
Customer_sexCHAR
(2)CHECK(Customer_sexIN('男','女')),--客户性别
Customer_ageSMALLINTNOTNULLCHECK(Customer_age>=0),--客户年龄
Customer_phoneVARCHAR(20)NOTNULL,--客户电话
ID_numberCHAR(20)NOTNULL--身份证号
);
备注
存放客户信息
表[Tbl_Air_Ticket]:
[机票表]
表名
Tbl_Air_Ticket
数据库用户
DBA
主键
Flight_id,Customer_id(联合主键)
其他排序字段
无
索引字段
无
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
1
Flight_id
CHAR(10)
N
Y
高
无
外键:
航班编号
2
Customer_id
CHAR(10)
N
Y
高
无
外键:
客户编号
3
Orign
VARCHAR(40)
N
N
低
无
出发地
4
Destination
VARCHAR(40)
N
N
低
无
目的地
5
Price
FLOAT
(2)
N
N
低
无
价格
6
Departure_date
DATE
N
N
低
无
出发日期
7
Shipping_space
CHAR(10)
N
N
低
无
舱位
sql脚本
CREATETABLETbl_Air_Ticket
(Flight_idCHAR(10)NOTNULL,--航班编号
Customer_idCHAR(10)NOTNULL,--客户编号
Customer_nameVARCHAR(20)NOTNULL,--客户姓名
OrignVARC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机票 预定 管理 系统 综述