数据库 航空售票系统.docx
- 文档编号:12909418
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:52
- 大小:495.51KB
数据库 航空售票系统.docx
《数据库 航空售票系统.docx》由会员分享,可在线阅读,更多相关《数据库 航空售票系统.docx(52页珍藏版)》请在冰豆网上搜索。
数据库航空售票系统
课程设计
课程设计名称:
综合课程设计
专业班级:
计算机应用0601
*******
学号:
***********
************************
课程设计时间:
2008.12.22-2009.1.2
1需求分析
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本例子中的航空公司管理信息系统需要完成功能主要有:
舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。
客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。
航线信息的输入、修改和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。
客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注信息等。
客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型和备注信息等。
订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金额和备注信息等。
2概要设计
2.1系统设计
根据各项功能进行集中、分块,按照结构化程序设计的要求,得到如图2-1所示的系统功能模块图。
图2-1系统功能模块图
2.2数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
数据库设计一般包括如下几个步骤:
(1)数据库需要分析。
(2)数据库概念结构设计。
(3)数据库逻辑结构设计。
2.1.1数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
仔细分析调查有关航空公司管理信息需求的基础上,将得到如图2-2所示的本系统所处理的数据流程。
图2-2航空公司管理信息系统数据流程图
针对一般航空公司管理信息系统的需求,通过对航空公司管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
(1)舱位等级信息,包括的数据项有:
舱位等级编号、舱位等级名称、是否有礼品、是否有报纸、是否有饮料、是否有午餐、是否有电影、是否可以改签、是否可以退票、是否可以打折、备注信息等。
(2)客机信息,包括的数据项有:
客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量、备注信息等。
(3)航线信息,包括的数据项有:
航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格、备注信息等。
(4)客户类型信息,包括的数据项有:
客户类型编号、客户类型名称、折扣比例、备注信息等。
(5)客户信息,包括的数据项有:
客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型、备注信息等。
(6)订票信息,包括的数据项有:
订票编号、顾客编号、顾客姓名、顾客类型、折扣比例、航线编号、出发城市、到达城市、舱位类型、机票价格、结算金额、备注信息等。
有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。
2.2.2数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
本实例根据上面的设计规划出的实体有:
舱位等级信息实体、客机信息实体、航线信息实体、客户类型信息实体、客户信息实体、订票信息实体。
各个实体具体的描述E-R图如下。
舱位等级信息实体E-R图如图2-3所示。
图2-3舱位等级信息实体E-R图
客机信息实体E-R图如图2-4所示。
图2-4客机信息实体E-R图
航线信息实体E-R图如图2-5所示。
图2-5航线信息实体E-R图
客户类型信息实体E-R图如图2-6所示。
图2-6客户类型信息实体E-R图
客户信息实体E-R图如图2-7所示。
图2-7客户信息实体E-R图
订票信息实体E-R图如图2-8所示。
图2-8订票信息实体E-R图
实体之间关系的E-R图如图2-9所示。
图2-9实体之间关系的E-R图
2.2.3数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
航空公司管理信息系统数据库中各个表格的设计结果如下面表格所示。
每个表格表示在数据库中的一个表。
表2-1为供应商信息表。
表2-1serviceInfo舱位等级信息表
列名
数据类型
可否为空
说明
serviceNO
char
NOTNULL
舱位等级编号
serviceName
nvarchar
NULL
舱位等级名称
noPresent
char
NULL
是否有礼物
noNewsPaper
char
NULL
是否有报纸
noDrink
char
NULL
是否有饮料
noFood
char
NULL
是否有午餐
noMovie
char
NULL
是否有电影
canChange
char
NULL
是否可以改签
canCancel
char
NULL
是否可以退票
canDiscount
char
NULL
是否可以打折
serviceMemo
text
NULL
备注信息
表2-2planeInfo客机信息表格
列名
数据类型
可否为空
说明
planeNO
char
NOTNULL
客机编号
planeType
char
NULL
客机型号
buyDate
datetime
NULL
购买日期
serveDate
datetime
NULL
服役日期
isCommon
nvarchar
NULL
经济舱座位数量
isCommercial
nvarchar
NULL
公务舱座位数量
isFirst
nvarchar
NULL
头等舱座位数量
planeMemo
text
NULL
备注信息
表2-3airlineInfo航线信息表
列名
数据类型
可否为空
说明
airlineNO
char
NOTNULL
航线编号
departCity
nvarchar
NULL
出发城市
arrivalCity
nvarchar
NULL
到达城市
departDate
char
NULL
航班日期
departTime
char
NULL
出发时间
arrivalTime
char
NULL
到达时间
planeNO
char
NULL
客机编号
commonPrice
numeric
NULL
经济舱价格
commercialPrice
numeric
NULL
公务舱价格
firstPrice
numeric
NULL
头等舱价格
airlineMemo
text
NULL
备注信息
表2-4customerType客户类型信息表
列名
数据类型
可否为空
说明
ctypeNO
char
NOTNULL
客户类型编号
ctypeName
char
NULL
客户类型名称
discount
numeric
NULL
折扣比例
续表
列名
数据类型
可否为空
说明
ctypeMemo
text
NULL
备注
表2-5customerInfo客户信息表
列名
数据类型
可否为空
说明
customerNO
char
NOTNULL
客户编号
customerName
char
NULL
客户姓名
customerSex
char
NULL
客户性别
customerID
char
NULL
身份证号码
customerTele
char
NULL
客户联系电话
customerType
char
NULL
客户类型
customerMemo
text
NULL
备注
表2-6ticketInfo订票信息表
列名
数据类型
可否为空
说明
ticketNO
char
NOTNULL
订票编号
customerNO
char
NULL
客户编号
customerName
char
NULL
客户姓名
customerType
char
NULL
客户类型
discount
numeric
NULL
折扣比例
airlineNO
char
NULL
航线编号
departCity
nvarchar
NULL
出发城市
arrivalCity
nvarchar
NULL
到达城市
ticketDate
datetime
NULL
出发日期
serviceType
char
NULL
舱位类型
ticketPrice
numeric
NULL
机票价格
ticketSum
numeric
NULL
结算金额
customerMemo
text
NULL
备注
3运行环境
硬件要求:
CPU:
300MHz以上的处理器。
内存:
128MB,推荐256MB。
硬盘:
150MB以上剩余空间。
显示像素:
最低800*600,最佳效果1024*768。
软件要求:
操作系统:
Windows2000/NT/XP/CE。
数据库:
SQLServer2000。
4开发工具和编程语言
开发工具:
Microsoftvisualbasic6.0
编程语言:
vb
5详细设计
5.1数据库结构的实现
5.1.1创建系统用户表
CREATETABLE[dbo].[user_Info1](
[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
5.1.2创建舱位等级信息表
CREATETABLE[dbo].[serviceInfo](
[serviceNO][char](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[serviceName][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[noPresent][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[noNewsPaper][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[noDrink][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[noFood][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[noMovie][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[canChange][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[canCancel][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[canDiscount][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[serviceMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.1.3创建客机信息表
CREATETABLE[dbo].[planeInfo](
[planeNO][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,
[planeType][char](20)COLLATEChinese_PRC_CI_ASNULL,
[buyDate][datetime]NULL,
[serveDate][datetime]NULL,
[isCommon][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[isCommercial][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[isFirst][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[planeMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.1.4创建航线信息表
CREATETABLE[dbo].[airlineInfo](
[airlineNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[departCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[arrivalCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[departDate][char](10)COLLATEChinese_PRC_CI_ASNULL,
[departTime][char](10)COLLATEChinese_PRC_CI_ASNULL,
[arrivalTime][char](10)COLLATEChinese_PRC_CI_ASNULL,
[planeNO][char](18)COLLATEChinese_PRC_CI_ASNULL,
[commonPrice][numeric](18,2)NULL,
[commercialPrice][numeric](18,2)NULL,
[firstPrice][numeric](18,2)NULL,
[airlineMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.1.5创建客户类型信息表
CREATETABLE[dbo].[customerType](
[ctypeNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[ctypeName][char](20)COLLATEChinese_PRC_CI_ASNULL,
[discount][numeric](2,0)NULL,
[ctypeMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.1.6创建客户信息表
CREATETABLE[dbo].[customerInfo](
[customerNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[customerName][char](50)COLLATEChinese_PRC_CI_ASNULL,
[customerSex][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[customerID][char](18)COLLATEChinese_PRC_CI_ASNULL,
[customerTele][char](20)COLLATEChinese_PRC_CI_ASNULL,
[customerType][char](14)COLLATEChinese_PRC_CI_ASNULL,
[customerMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.1.7创建订票信息表
CREATETABLE[dbo].[ticketInfo](
[ticketNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[customerNO][char](14)COLLATEChinese_PRC_CI_ASNULL,
[customerName][char](50)COLLATEChinese_PRC_CI_ASNULL,
[customerType][char](14)COLLATEChinese_PRC_CI_ASNULL,
[discount][numeric](18,0)NULL,
[airlineNO][char](14)COLLATEChinese_PRC_CI_ASNULL,
[departCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[arrivalCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[ticketDate][datetime]NULL,
[serviceType][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[ticketPrice][numeric](18,2)NULL,
[ticketSum][numeric](18,2)NULL,
[ticketMemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
5.2航空公司管理信息系统主窗体的创建
5.2.1创建公用模块
函数,用以执行各种SQL语句。
添加函数ExecuteSQL,代码如下:
PublicFunctionExecuteSQL(ByValSQL_
AsString,MsgStringAsString)_
AsADODB.Recordset
'执行SQL语句,并返回记录集对象
‘声明一个连接
DimcnnAsADODB.Connection
‘声明一个数据集对象
DimrstAsADODB.Recordset
DimsTokens()AsString
'异常处理
OnErrorGoToExecuteSQL_Error
'用Split函数产生一个包含各个子串的数组
sTokens=Split(SQL)
‘创建一个连接
Setcnn=NewADODB.Connection
'打开连接
cnn.OpenConnectString
IfInStr("INSERT,DELETE,UPDATE",_
UCase$(sTokens(0)))Then
‘执行查询语句
cnn.ExecuteSQL
MsgString=sTokens(0)&_
"querysuccessful"
Else
Setrst=NewADODB.Recordset
rst.OpenTrim$(SQL),cnn,_
adOpenKeyset,_
adLockOptimistic
'rst.MoveLast'getRecordCount
'返回记录集对象
SetExecuteSQL=rst
MsgString="查询到"&rst.RecordCount&_
"条记录"
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString="查询错误:
"&_
Err.Description
ResumeExecuteSQL_Exit
EndFunction
在ExecuteSQL函数中使用了ConnectString函数,这个函数用来连接数据库,代码如下:
PublicFunctionConnectString()_
AsString
'返回一个数据库连接
ConnectString="FileDSN=ticket.dsn;UID=sa;PWD="
EndFunction
5.3舱位信息管理模块的创建
5.3.1显示舱位信息窗体的创建
代码如下:
PrivateSubmenuCarbin_Click()
frmService.txtSQL="select*fromserviceInfo"
frmService.Show0
EndSub
窗体的Show方法后面加上0或者1,可以得到不同的窗体显示方式。
参数为0时,显示的窗体为无模式形式,窗体切换时不需要进行其他操作;参数为1时,显示的窗体为有模式形式,窗体切换时必须进行相关操作。
载入窗体时将自动显示各条记录,代码如下:
PrivateSubForm_Load()
ShowTitle
ShowData
EndSub
函数ShowTitle用来显示表头,代码如下:
PrivateSubShowTitle()
DimiAsInteger
WithmsgList
.Cols=12
.TextMatrix(0,1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 航空售票系统 航空 售票 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)