资源描述
数 据 库 课 程 设 计 报 告 书
——航 空 公 司 管 理 信 息 系 统
所学专业:计算机科学与技术
班 级:计算机05-2班
作 者:苗亚男
指导老师:李 涵
完成日期:2008-9-24
目 录
一、系统设计 3
二、数据库设计 3
三、数据库结构的实现 9
四、 航空公司管理信息系统主窗体的创建 9
五、系统用户管理模块的创建 11
六、舱位信息管理模块的创建 11
七、 客机信息管理模块的创建 12
八、航线信息管理模块的创建 13
九、客户类型信息管理模块的创建 15
十、客户信息管理模块的创建 15
十一、订票信息管理模块的创建 17
十二、系统的实现 18
十三、系统的编译和发行 19
航空公司管理信息系统
一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。
一、系统设计
1、系统功能分析
l 舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。
l 客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。
2、系统功能模块设计
对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图9—1所示的系统功能模块图。
图9—1 系统功能模块图
二、数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响.合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致.
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求.数据库设计一般包括如下几个步骤:
l 数据库需要分析.
l 数据库概念结构设计.
l 数据库逻辑结构设计。
1、数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
仔细分析调查有关航空公司管理信息需求的基础上,将得到如图9—2所示的本系统所处理的数据流程。
图9—2 航空公司管理信息系统数据流程图
针对一般航空公司管理信息系统的需求,通过对航空公司管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
l 舱位等级信息,包括的数据项有:舱位等级编号、舱位等级名称、是否有礼品、是否有报纸、是否有饮料、是否有午餐、是否有电影、是否可以改签、是否可以退票、是否可以打折、备注信息等。
l 客机信息,包括的数据项有:客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量、备注信息等。
l 航线信息,包括的数据项有:航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格、备注信息等.
l 客户类型信息,包括的数据项有:客户类型编号、客户类型名称、折扣比例、备注信息等。
l 客户信息,包括的数据项有:客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型、备注信息等。
2、数据库概念结构设计
本实例根据上面的设计规划出的实体有:舱位等级信息实体、客机信息实体、航线信息实体、客户类型信息实体、客户信息实体、订票信息实体。各个实体具体的描述E-R图如下。
舱位等级信息实体E-R图如图9-3所示。
图9—3 舱位等级信息实体E—R图
客机信息实体E—R图如图9—4所示.
图9-4 客机信息实体E-R图
航线信息实体E—R图如图9-5所示。
图9-5 航线信息实体E-R图
客户类型信息实体E—R图如图9-6所示.
图9—6 客户类型信息实体E-R图
客户信息实体E-R图如图9-7所示.
图9-7 客户信息实体E-R图
订票信息实体E-R图如图9—8所示。
图9—8 订票信息实体E-R图
实体之间关系的E—R图如图9-9所示。
图9-9 实体之间关系的E-R图
3、数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
航空公司管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表9—1为供应商信息表。
表9-1 serviceInfo 舱位等级信息表
列 名
数据类型
可否为空
说 明
serviceNO
char
NOT NULL
舱位等级编号
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
备注信息
表9-2为顾客信息表格。
表9-2 planeInfo客机信息表格
列 名
数据类型
可否为空
说 明
planeNO
char
NOT NULL
客机编号
planeType
char
NULL
客机型号
buyDate
datetime
NULL
购买日期
serveDate
datetime
NULL
服役日期
isCommon
nvarchar
NULL
经济舱座位数量
isCommercial
nvarchar
NULL
公务舱座位数量
isFirst
nvarchar
NULL
头等舱座位数量
planeMemo
text
NULL
备注信息
表9-3为航线信息表。
表9—3 airlineInfo航线信息表
列 名
数据类型
可否为空
说 明
airlineNO
char
NOT NULL
航线编号
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
备注信息
表9-4为客户类型信息表格.
表9-4 customerType 客户类型信息表
列 名
数据类型
可否为空
说 明
ctypeNO
char
NOT NULL
客户类型编号
ctypeName
char
NULL
客户类型名称
discount
numeric
NULL
折扣比例
续表
列 名
数据类型
可否为空
说 明
ctypeMemo
text
NULL
备注
表9—5为客户信息表格。
表9—5 customerInfo 客户信息表
列 名
数据类型
可否为空
说 明
customerNO
char
NOT NULL
客户编号
customerName
char
NULL
客户姓名
customerSex
char
NULL
客户性别
customerID
char
NULL
身份证号码
customerTele
char
NULL
客户联系电话
customerType
char
NULL
客户类型
customerMemo
text
NULL
备注
表9—6为订票信息表格.
表9-6 ticketInfo 订票信息表
列 名
数据类型
可否为空
说 明
ticketNO
char
NOT NULL
订票编号
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
备注
三、数据库结构的实现
经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构.这是利用SQL Server 2000数据库系统中的SQL 查询分析器实现的。下面给出创建这些表格的SQL语句。
1、创建系统用户表
CREATE TABLE [dbo].[user_Info1]
2、创建舱位等级信息表
CREATE TABLE [dbo].[serviceInfo
3、创建客机信息表
CREATE TABLE [dbo]。[planeInfo]
4、创建航线信息表
CREATE TABLE [dbo].[airlineInfo]
5、创建客户类型信息表
CREATE TABLE [dbo].[customerType]
6、创建客户信息表
CREATE TABLE [dbo]。[customerInfo]
7、创建订票信息表
CREATE TABLE [dbo].[ticketInfo]
四、 航空公司管理信息系统主窗体的创建
上面的SQL语句在SQL Server 2000中查询分析器的执行,将自动产生需要的所有表格.有关数据库结构的所有后台工作已经完成。现在将通过航空公司管理信息系统中各个功能模块的实现,讲解如何使用Visual Basic来编写数据库系统的客户端程序.
1、创建工程项目——MIS_Ticket
启动Visual Basic后,单击File|New Project菜单,在工程模板中选择Standard EXE,Visual Basic将自动产生一个Form窗体,属性都是缺省设置。这里我们删除这个窗体,单击File|Save Project菜单,将这个工程项目命名为MIS_Ticket。
2、创建航空公司管理信息系统的主窗体
这个项目我们使用多文档界面,单击工具栏中的ADD MDI Form按钮,产生一个窗体。在这个窗体上添加所需的控件,窗体和控件的属性设置见表9-7。创建好的窗体如图9-10所示。
表9—7 主窗体及其控件属性设置
控 件
属 性
属性取值
frmMain(Form)
Name
FrmMain
Caption
大唐航空公司信息管理系统
StartUpPositon
CenterScreen
WindowState
Maximized
SbStatusBar(StatusBar)
Name
SbStatusBar
Panels(1)
Style
SbrText
Panels(2)
Style
SbrDate
Panels(3)
Style
SbrTime
图9-10 航空公司管理信息系统主窗体
在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化。状态栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态栏控件,单击鼠标右键,选中Property菜单,然后设置属性。面板1用来显示各种文本信息,面板2用来显示当前日期,面板3用来显示当前时间。
3、创建主窗体的菜单
在如图9—10所示的主窗体中,单击鼠标右键,选择弹出式菜单中的Menu Editor,创建如图9—11所示的菜单结构:
图9—11 主窗体中的菜单结构
4、创建公用模块
在Visual Basic中可以用公用模块来存放整个工程项目公用的函数、过程和全局变量等。这样可以极大地提高代码的效率。在项目资源管理器中为项目添加一个Module,保存为Module1。bas。下面就可以开始添加需要的代码了.
由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL
五、系统用户管理模块的创建
用户管理模块主要实现:
l 用户登录.
l 添加用户。
l 修改用户密码.
这个功能模块和第1章的一样,这里就不再详细介绍了.
六、舱位信息管理模块的创建
舱位信息管理模块主要实现如下功能:
l 添加舱位信息。
l 修改舱位信息。
l 删除舱位信息。
1、 显示舱位信息窗体的创建
选择“航线信息管理|舱位信息”菜单,将出现如图9-12所示的窗体。
图9-12 舱位等级信息窗体
这个窗体用来显示舱位等级信息,并且可以对各条记录进行操作。在载入窗体时,程序将自动载入所有记录,代码如下:
Private Sub menuCarbin_Click()
frmService。txtSQL = "select * from serviceInfo”
frmService。Show 0
End Sub
窗体的Show方法后面加上0或者1,可以得到不同的窗体显示方式.参数为0时,显示的窗体为无模式形式,窗体切换时不需要进行其他操作;参数为1时,显示的窗体为有模式形式,窗体切换时必须进行相关操作。
2、 添加舱位信息窗体的创建
在舱位信息显示窗体中单击“添加"按钮,将出现如图9-13所示的窗体.
图9-13 添加舱位等级信息窗体
载入窗体时,首先根据标志变量判断状态,然后决定是添加还是修改
3、修改舱位等级信息
在舱位等级信息列表中选择需要修改的记录,然后单击“修改”按钮,将出现如图9—13所示的窗体.选择记录的内容将显示在窗体中,可以进行修改,最后保存修改后的记录。
七、 客机信息管理模块的创建
客机信息管理模块主要实现如下功能:
l 添加客机信息。
l 修改客机信息。
l 删除客机信息。
l 查询客机信息.
1、显示客机信息窗体的创建
选择“航线信息管理|客机信息”菜单,将出现如图9—14所示的窗体.所有客机信息都将显示出来。窗体的Load事件调用ShowTitle、ShowData函数,将所有记录显示出来。
图9-14 显示客机信息列表窗体
2、添加客机信息窗体的创建
单击客机信息列表中的“添加”按钮,将出现如图9—15所示的窗体。
图9-15 添加客机信息列表
输入内容完毕,单击“保存"按钮,将首先判断输入内容是否满足要求,然后将记录添加到数据库中
3、修改客机信息
在客机信息列表中选择记录,然后单击“修改”按钮。当前记录将显示在如图9—15所示的窗体中,可以进行修改。4、查询客机信息
在客机信息列表中单击“查询”按钮,将出现如图9—16所示的窗体。
图9-16 查询客机信息的窗体
载入窗体时,将自动加入所有客机编号和客机型号的信息
八、航线信息管理模块的创建
航线信息管理模块主要实现如下功能:
l 添加航线信息。
l 修改航线信息。
l 删除航线信息。
l 查询航线信息.
1、显示航线信息窗体的创建
选择“航线信息管理|航线信息”菜单,将出现如图9—17所示的窗体.所有航线信息都将显示出来。窗体的Load事件调用ShowTitle、ShowData函数,将所有记录显示出来。
图9-17 显示客机信息窗体
2、添加航线信息窗体的创建
选择“航线信息管理|航线信息”菜单,将出现如图9—18所示的窗体,用来添加航线信息。
图9—18 添加航线窗体
输入完航线信息后,单击“保存”按钮:程序首先检查输入内容是否符合要求,然后检查是否有重复记录,最后添加到数据库中。
3、修改航线信息
在航线信息列表中选择记录,然后单击“修改”按钮。当前记录将显示在如图9-18所示的窗体中,可以进行修改。
4、删除航线信息
在航线信息列表中选择记录,然后单击“删除”按钮,当前记录将被删除。
5、查询航线信息
在航线信息列表中单击“查询”按钮,将出现如图9—19所示的窗体。
图9—19 航线信息查询窗体
载入窗体时自动加入出发城市和到达城市的内容,
设置查询内容后,单击“确定”按钮,所有满足查询条件的内容显示在航线信息列表中。
九、客户类型信息管理模块的创建
1、显示客户类型信息窗体的创建
选择“客户信息管理|客户类型"菜单,将出现如图9—20所示的窗体。所有客户类型信息都将显示出来.窗体的Load事件调用ShowTitle、ShowData函数,将所有记录显示出来。
图9—20 显示客户类型信息窗体
2、添加客户类型信息窗体的创建
在客户类型信息列表中单击“添加”按钮,将出现如图9—21所示的窗体,用来添加客户类型信息。
图9—21 添加客户类型信息窗体
十、客户信息管理模块的创建
1、显示客户信息窗体的创建
选择“客户信息管理|客户信息”菜单,将首先出现如图9—22所示的窗体。所有客户类型信息都将显示出来。窗体的Load事件调用ShowTitle、ShowData函数,将所有记录显示出来.
图9-22 显示客户信息窗体
2、添加客户信息窗体的创建
在客户信息列表中单击“添加”按钮,将出现如图9—23所示的窗体,用来添加客户信息。
图9—23 添加客户信息窗体
输入内容完毕,单击“保存”按钮,程序将首先检查内容是否符合要求,然后检查是否有重复记录,最后添加到数据库中。
3、修改客户信息
在客户信息列表中选择需要修改的记录,然后单击“修改”按钮,当前记录将出现在如图9—23所示的窗体中。修改完毕,单击“保存”按钮,修改后的记录保存到数据库中。
4、查询客户信息
在如图9—22所示的客户信息列表中,单击“查询”按钮,出现如图9—24所示的对话框。
图9—24 客户信息查询窗体
十一、订票信息管理模块的创建
1、显示订票信息窗体的创建
选择“票务信息管理|订票信息"菜单,将首先出现如图9-25所示的窗体。所有订票类型信息都将显示出来。窗体的Load事件调用ShowTitle、ShowData函数,将所有记录显示出来。
图9—25 显示机票信息的窗体
2、添加订票信息窗体的创建
在机票信息列表中单击“添加"按钮,将出现如图9—26所示的窗体,用来添加订票信息。
图9-26 添加订票信息的窗体
3、修改订票信息
在机票信息列表中选择需要修改的记录,然后单击“修改”按钮,当前记录将出现在如图9-19所示的窗体中.修改完毕,单击“保存"按钮,修改后的记录保存到数据库中。
4、删除订票信息
选择机票信息列表中需要删除的记录,然后单击“删除”按钮,可以删除所选记录。
5、查询订票信息
在如图9-25所示的机票信息列表中,单击“查询"按钮,出现如图9—27所示的对话框.
图9-27 机票信息查询窗体
十二、系统的实现
现在已经完成了程序各个功能模块的创建。运行程序,出现如图9-28所示的登录窗口.
图9—28 用户登录窗口
十三、系统的编译和发行
完成了航空公司管理信息系统的编程和调试工作,最后一步就是该系统的编译和发行。这涉及到工程项目属性的设置、可执行应用程序的生成。
在系统的编译和发行以前,需要设置工程项目的属性。选择“Project|MIS_TICKET Properties”菜单,进行属性设置,如图9—42所示.
最后选择“File|Make MIS_TICKET.exe”菜单,编译开始。编译完毕后,即生成了相应的可执行文件。编译通过后,生成可执行文件Mis_TICKET。exe。我们需要在发行前对生成的可执行文件进行测试。通过测试的可执行文件,就可以进行发布了.
图9-42 进行项目的属性设置
一个完整的航空公司管理信息系统就创建完毕了。在本例子中我们详细地讲述了该航空公司管理信息系统的系统设计部分,包括功能模块设计、数据库结构设计等.系统设计为整个程序构建了骨架,各个功能模块实现各个细节部分.
9
展开阅读全文