机票预订系统总结报告.docx
- 文档编号:29952960
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:57
- 大小:1.30MB
机票预订系统总结报告.docx
《机票预订系统总结报告.docx》由会员分享,可在线阅读,更多相关《机票预订系统总结报告.docx(57页珍藏版)》请在冰豆网上搜索。
机票预订系统总结报告
数据库原理课程设计
题目:
机票预订系统
组长:
姜蒙(0907050120)
组员:
赫英雪(0907050133)
廖琪君(0907050132)
樊亮亮(0907050134)
王杨(0907050105)
马静(0807050101)
指导老师:
田广悦
机票预订信息管理系统
任务分配
姜蒙:
系统设计、数据库建立、登陆窗体和旅客信息管理窗体设计
赫英雪:
系统设计、机票信息管理和系统维护窗体设计、E-R图设计
廖琪君:
系统设计、测试、VB程序实现
樊亮亮:
系统设计、VB程序实现
王杨:
系统设计、报告总结、测试
马静:
数据收集、需求分析、航班信息管理窗体和航空公司信息管理窗体设计
第一章引言…………………………………………………………3
1.1项目名称………………………………………………………...3
1.2项目背景………………………………………………………..3
第二章需求分析……………………………………………………3
2.1机票预订信息系统功能…………………………………………3
2.2系统功能基本要求………………………………………………3
第三章概念结构设计………………………………………………..4
E-R图…………………………………………………………………6
第四章逻辑结构设计………………………………………………..6
4.1关系转换…………………………………………………………6
4.2数据模型的优化………………………………………………...6
4.3数据依赖进行极小化处理,消除冗余………………………….7
4.4数据库结构……………………………………………………...7
4.5数据库表创建……………………………………………………10
第五章物理结构设计………………………………………………11
5.1数据库表…………………………………………………………11
第六章系统设计与实现…………………………………………….16
6.1系统模块…………………………………………………………12
6.2界面设计及代码…………………………………………………….15
6.3测试…………………………………………………………….38
课程设计总结…………………………………………………………...17
第一章引言
1.1项目名称:
机票预订系统
1.2项目背景
随着社会发展的不断进步,民航事业不断壮大,人们生活水平不断提高,乘坐名航的人也越来越多,随着消费者的不断增多,飞机预订系统在各地预订网点作用也愈显重要。
目前,我国还有相当一部分地区酒店的机票预订还未进入智能处理阶段,和发达地区比较工作效率较低。
在计算机技术快速发展的今天,有必要引进高效的计算机系统来协助机票预订工作。
因此开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预订系统势在必行。
机票预订系统是为了机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放的系统结构,易扩充的,易维护的,具有良好人机界面的优点。
它克服了存储客户信息少,查询效率低等问题,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化,为乘客出行提供方便,便于机场人员信息管理,提高了机场人员对机票管理的工作效率。
第二章需求分析
2.1机票预定信息系统
功能需求:
机票预订系统要求运用计算机网络,在数据库和先进的开发平台上开发一个具有开放体系、已扩充、易维护,并且具有良好人际交互的机票预订系统,实现航空公司的机票销售自动化,并能为企业的决策层提供准确、精细、迅速的机票销售信息。
性能需求:
要求在操作时简单方便、尽量少输汉字、有较好的容错性,健壮性较强,无运行时间限制等。
能够实现实时、高效、便捷、完善、安全性好等特点,同时客户机的界面要简单明了,易于操作,服务程序利与维护。
数据库结构:
为提高数据库的完整性,和便于管理员操作和管理。
在创建数据库时要将数据表用某种关联组织起来。
2.2系统功能的基本要求
1.航班信息管理功能
主要实现航班的一些基本信息,如航班号、起飞地、目的地、起飞时间的添加、修改、删除和查询;
2.机票信息管理功能
主要实现机票的一些基本信息,如航班编号、座位号、机票价格的添加、修改、删除和查询;
3.旅客信息管理功能
主要实现旅客的一些基本信息,如旅客的姓名、性别、电话号码、证件号的查询功能;
第三章概念结构设计
根据需求分析,实体有:
旅客,机票,航空公司,航班信息
1.登陆信息实体图
2.旅客实体图
3.机票实体图
4.航班信息实体图
6.设计出的局部E-R图如下:
第四章逻辑结构的设计
4.1关系转换
旅客(姓名,性别,联系方式,证件号)
机票(姓名,座位号,舱位等级,航班号,登机口,票价,出发时间,抵达时间)
航班信息(航班号,出发时间,抵达时间,出发地,目的地,公司编号,票价,起飞机场,降落机场)
航空公司(公司编号,公司名称,公司电话,公司地址)
4.2数据模型的优化
旅客(姓名,性别,证件号,联系方式)
根据这个关系写出关系依赖如下:
旅客—>姓名,旅客——>性别,旅客——>证件号,旅客——>联系方式
机票(姓名,座位号,航班号,登机口,舱位等级,票价,起飞时间,到达时间)根据这个关系写出关系依赖如下:
机票——>姓名,机票——>座位号,机票——>航班号,机票——>登机口,
机票——>舱位等级,机票——>票价,机票——>出发时间,
机票——>抵达时间
航班信息(航班号,出发时间,抵达时间,出发地,目的地,公司编号,票价,起飞机场,降落机场)
根据这个关系写出关系依赖如下:
航班信息——>航班号,航班信息——>出发时间,航班信息——>抵达时间,航班信息——>票价,航班信息——.>出发地,航班信息——>目的地,航班信息——>公司编号,航班信息——>起飞机场,航班信息——>降落机场
航空公司(公司编号,公司名称,公司电话,公司地址)
根据这个关系写出关系依赖如下:
航空公司——>公司编号,航空公司——>公司名称,
航空公司——>电话号码,航空公司——>公司地址
4.3对各关系数据模型间数据依赖进行极小化处理,消除冗余
旅客——>姓名,旅客——>性别,旅客——>证件号,
旅客——>联系方式,机票——>座位号,机票——>航班号,
机票——>登机口,机票——>舱位等级,机票——>票价,机票——>出发时间,
机票——>抵达时间,航班信息——.>出发地,航班信息——>目的地,
航空公司——>公司编号,航空公司——>公司名称,航空公司——>电话号码,
航空公司——>公司地址
4.4数据库结构
根据总的结构图设计各表结构,对相应表的定义如下:
登录信息表
属性
属性说明
数据类型
宽度
是否为空
是否为主(p)/外键(F)
Loglever
登录级别
varChar
10
否
Username
用户名
varChar
10
否
password
密码
Int
否
旅客信息表
属性
属性说明
数据类型
宽度
是否为空
是否为主(p)/外键(F)
Name
姓名
varChar
50
否
Yes(P)
Sex
性别
varChar
50
否
Call
联系方式
Int
32
否
Credential
证件号
Int
32
否
机票信息表
属性
属性说明
数据类型
宽度
是否为空
是否为主键(P)/外键(F)
Name
姓名
varChar
50
否
Yes(P)
Airportofdeparture
起飞机场
varChar
50
Landingattheairport
降落机场
varChar
50
Seatnumber
座位号
Int
10
否
Yes(F)
Rank
舱位等级
varChar
50
否
Number
航班号
Int
10
否
Djkou
登机口
Int
10
否
Price
票价
Int
10
否
Gotime
出发时间
Datetime
否
Arrivetime
抵达时间
Datetime
否
航班信息表
属性
属性说明
数据类型
宽度
是否为空
是否为主(p)/外键(F)
Number
航班号
Int
10
否
Yes(p)
Distance
航程
Int
10
否
Gotime
出发时间
Datetime
否
Arrivetime
抵达时间
Datetime
否
Fromcity
出发地
varChar
50
否
Tocity
目的地
varChar
50
否
Airportofdeparture
起飞机场
varChar
50
Landingattheairport
降落机场
varChar
50
Gsnumber
公司编号
Int
10
否
航空公司信息表
属性
属性说明
数据类型
宽度
是否为空
是否为主(p)/外键(F)
Gsnumber
公司编号
Int
20
否
Yes(P)
Address
地址
varChar
50
否
Gsname
公司名称
varChar
50
否
Gscall
公司电话
Int
32
否
4.5数据库表创建
创建表SQL语言
USESHUJUKU
CREATETABLE旅客信息表
(姓名varchar(10)NOTNULLprimarykey,
性别varchar(10)NOTNULL,
联系方式intNOTNULL,
证件号intnotNULL)
go
USESHUJUKU
CREATETABLE机票信息表
(姓名varchar(50)NOTNULLprimarykey,
航班号intNOTNULL,
登机口intNOTNULL,
座位号intNOTNULL,
舱位等级varchar(50)NOTNULL,
票价intNOTNULL,
出发时间datetimeNOTNULL,
抵达时间datetimeNOTNULL)
go
USESHUJUKU
CREATETABLE航班信息表
(航班号intNOTNULLprimarykey,
出发时间datetimeNOTNULL,
抵达时间datetimeNOTNULL,
出发地varchar(50)NOTNULL,
目的地varchar(50)NOTNULL
公司编号intNOTNULL,
出发时间datetimeNULL,
抵达时间datetimeNULL)
)
go
USESHUJUKU
CREATETABLE航空公司信息表
(公司编号intNOTNULLprimarykey,
公司名称varchar(50)NOTNULL,
电话号码intNOTNULL,
公司地址varchar(50)NOTNULL)
go
第五章物理结构设计
5.1数据库表
登录表
航班信息表
航空公司信息表
机票信息表
旅客信息表
第六章系统设计与实现
6.1机票预定系统模块图
系统子模块
1.旅客用户模块
2.航空公司模块
3.航班信息模块
4.系统维护模块
6.2界面设计及代码
1.旅客信息管理界面
代码如下:
ImportsSystem.Data.SqlClient
PublicClasslvke
PublicmydvAsNewDataView()
DimmytableAsDataTable
Dimmytable1AsDataTable
DimcondstrAsString=""'存放过滤条件
PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click
Me.Close()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
TextBox1.Text=""
ComboBox1.Text=""
TextBox3.Text=""
TextBox4.Text=""
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click'新增
flag=1
lkinsert.Show()
mytable=Dbop.Exesql("SELECT*FROM旅客信息表")
mydv=mytable.DefaultView'获得DataView对象mydv
DataGridView1.DataSource=mydv
mydv.RowFilter=condstr'过滤DataView中的记录
Callenbutton()
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click'修改
flag=2
Ifno<>""Then
lkinsert.Show()
lkinsert.GroupBox1.Text="修改旅客信息"
mytable=Dbop.Exesql("SELECT*FROM旅客信息表")
mydv=mytable.DefaultView'获得DataView对象mydv
DataGridView1.DataSource=mydv
mydv.RowFilter=condstr'过滤DataView中的记录
Else
MsgBox("先选择要修改的旅客记录",MsgBoxStyle.OkOnly,"信息提示")
EndIf
EndSub
PrivateSublvke_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
mytable=Dbop.Exesql("SELECT*FROM旅客信息表")
mydv=mytable.DefaultView'获得DataView对象mydv
'以下设置DataGridView1的属性
DataGridView1.ReadOnly=True
DataGridView1.DataSource=mydv
DataGridView1.GridColor=Color.RoyalBlue
DataGridView1.ScrollBars=ScrollBars.Vertical
DataGridView1.ColumnHeadersDefaultCellStyle.Font=NewFont("隶书",12)
DataGridView1.CellBorderStyle=DataGridViewCellBorderStyle.Single
DataGridView1.Columns(0).HeaderText="姓名"
DataGridView1.Columns(0).AutoSizeMode=DataGridViewAutoSizeColumnMode.AllCells
DataGridView1.Columns
(1).HeaderText="性别"
DataGridView1.Columns
(1).AutoSizeMode=DataGridViewAutoSizeColumnMode.AllCells
DataGridView1.Columns
(2).HeaderText="联系方式"
DataGridView1.Columns
(2).AutoSizeMode=DataGridViewAutoSizeColumnMode.AllCells
DataGridView1.Columns(3).HeaderText="证件号"
DataGridView1.Columns(3).AutoSizeMode=DataGridViewAutoSizeColumnMode.AllCells
'以下初始化界面
ComboBox1.Items.Add("男"):
ComboBox1.Items.Add("女")
TextBox1.Text=""
TextBox4.Text=""
TextBox3.Text="":
ComboBox1.Text=""
Callenbutton()
EndSub
PrivateSubenbutton()'当记录个数为时不能使用相关按钮
TextBox5.Text=mydv.Count
Ifmydv.Count=0Then
Button4.Enabled=False
Button5.Enabled=False
no=""'将要修改记录的学号置空值
Else
Button4.Enabled=True
Button5.Enabled=True
no=mydv.Item(0)("姓名")'将要修改记录的学号置第一个学生学号
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'以下根据用户输入求得条件表达式condstr
condstr=""'存放过滤条件
IfTextBox1.Text<>""Then
condstr="姓名='"&TextBox1.Text&"'"
EndIf
IfComboBox1.Text<>""Then
Ifcondstr<>""Then
condstr=condstr&"AND性别='"&ComboBox1.Text&"'"
Else
condstr="性别='"&ComboBox1.Text&"'"
EndIf
EndIf
IfTextBox3.Text<>""Then
Ifcondstr<>""Then
condstr=condstr&"AND联系方式='"&TextBox3.Text&"'"
Else
condstr="联系方式='"&TextBox3.Text&"'"
EndIf
EndIf
IfTextBox4.Text<>""Then
Ifcondstr<>""Then
condstr=condstr&"AND证件号='"&TextBox4.Text&"'"
Else
condstr="证件号='"&TextBox4.Text&"'"
EndIf
EndIf
mydv.RowFilter=condstr'过滤DataView中的记录
Callenbutton()
EndSub
PrivateSubDataGridView1_CellClick(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellClick
Ife.RowIndex>=0Ande.RowIndex no=DataGridView1.Rows(e.RowIndex).Cells(0).Value Else no="" EndIf EndSub PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click'删除 DimmysqlAsString flag=3 Ifno<>""Then IfMsgBox("真的要删除姓名为"&Trim(no)&"的旅客记录吗? ",MsgBoxStyle.YesNo,"删除确认")=MsgBoxResult.YesThen flag=3 mysql="DELETE旅客信息表WHERE姓名='"&no&"'" mytable1=Dbop.Exesql(mysql) mytable=Dbop.Exesql("SELECT*FROM旅客信息表") mydv=mytable.DefaultView'获得DataView对象mydv DataGridView1.DataSource=mydv mydv.RowFilter=condstr'过滤DataView中的记录 Callenbutton() EndIf Else MsgBox("先选择要删除的旅客记录",MsgBoxStyle.OkOnly,"信息提示") EndIf EndSub EndClass 2.航班信息管理界面 代码如下: ImportsSystem.Data.SqlClient PublicClasshangban PublicmydvAsNewDataView() DimmytableAsDataTable Dimmytabl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机票 预订 系统 总结报告