1、数据库SQL课程设计 25辽 宁 工 业 大 学数据库应用技术课 程 设 计 说 明 书题目: 小型航空公司管理系统 学院(系): 软件学院 专业班级: 软件工程114班 学 号: 111301091 学生姓名: 安凯辰 指导教师: 佟玉军 教师职称: 副教授 起止时间:2011.12.19-2011.12.31 辽宁工业大学课程设计(论文)任务书院(系):软件学院 教研室: 软件工程 学 号111301091学生姓名安凯辰专业班级114设计题目小型航空公司管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:SQLSERVER2000。3 所
2、使用的语言、工具:VB6.0+SQLSERVER2000+WINDOWSXP。4 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。设计要求1 教师布置实习任务和要求时,不得缺席,并做好记录。2 上机前预先把所有的源程序编写好。3 仔细查阅相关资料,认真完成思考题。4 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量二周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计大纲自
3、编等指导教师评语 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31 目录第一章 概述 4第二章 问题定义 5第三章 需求分析 6第四章 数据库设计 9第五章 界面设计 14第六章 代码与注释 22设计总结 26参考文献 27 第一章 概述随着计算机技术的飞速发展,计算机在日常管理中应用迅速得到了普及,利用计算机进行设备信息的管理势在必行。本系统是为了适应小型航空公司管理的信息化建设需要而设计的。本系统采用功能强大的Visual Basic 6.0面向对象编程语言设计而成,能够稳定而快捷地完成企业设备管理的信息化任务,从而取代了以往繁杂的
4、人工劳动,提高了工作效率。通过实际应用,本系统能够满足需求,为企业的设备管理带来方便,提高了工作效率,具有较强的实用性和可行性。本设计以航空公司管理系统的分析和设计为出发点,详细介绍了开发本系统的各个步骤:系统分析、系统设计、系统实现、系统维护。在系统分析中先后用数据流图、系统的功能结构图分析了系统所需的各种数据。在系统设计中,详细的展现了系统的各个功能模块。所需的数据库表、表字段以及菜单的设计等。在系统的实现中,给出了实现窗体中相应功能控件的示例和源代码,以及菜单实现的方法。文章中列出了本系统的主要功能运行界面图。本系统采用目前流行的Visual Basic 6.0进行开发,后台数据库使用功
5、能更强大操作便捷的SQL Server。第二章 问题定义随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系在企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必经之路。航空公司管理系统是一个航空公司不可缺少的部分,它对于公司的决策者和管理者来说都至关重要,所以航空公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、劳
6、动强度大,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机技术的飞速的发展,计算机在公司管理中的应用越来越普及,公司要想生存和发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,航空公司管理的全面自动化、信息化则是其中极其重要的部分。为了加快公司管理自动化的步伐,提高航空公司的管理业务处理效率,建立航空公司管理系统已变得十分必要。第三章 需求分析一、数据库需求分析用户需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构、数据处理的流程,组成一份详尽的数据字典,为以后
7、的具体设计打下基础。在仔细分析调查有关学生信息需要的基础上,将得到数据流程图。针对一般学生信息管理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:*舱位信息:包括的数据项有:舱位等级编号、舱位等级名称、服务内容、备注信息。 *客机信息:包括的数据项有:客机编号、客机型号、购买时间、服役时间。*航线信息:包括的数据项有:航线编号、出发城市、到达城市、备注信息。*客户类型信息:包括的数据项有:客户类型编号、客户姓名、联系方式、客户类型。*客户信息:包括的数据项有:客户编号、客户姓名、联系方式、客户类型。*订票信息:包括的数据项有:订票信息编号、客户信息、航线信
8、息、客户类型。二、数据库概念的结构设计得到上面的数据想和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。我所设计的实体有:舱位实体、客机实体、航线实体、客户类型实体、客户信息实体、订票信息实体三、数据字典(DD):数据库文件=舱位信息表+客机信息表+航线信息表+客户类型信息表+客户信息表+订票信息舱位信息=舱位等级编号+舱位等级名称+服务内容+备注信息客机信息= 客机编号+客机型号+购买时间+服役时间航线信息=航线编号+出发城市+到达城市+备注信息客户类型信息=客户类型编号+客户姓
9、名+联系方式+客户类型客户信息=客户编号+客户姓名+联系方式+客户类型订票信息=订票信息编号+客户信息+航线信息+客户类型四、程序流程图:图3.1数据流程图五、功能结构图:图3.2系统功能图第四章 数据库设计一、概念设计:系统ER图图4.1舱位等级信息E-R图图4.2客机信息E-R图图4.3航线信息E-R图图4.4客户类型信息E-R图图4.5客户信息E-R图图4.6订票信息E-R图图4.7所有实体信息E-R图二、逻辑设计:下面列出几个主要的数据库表设计:表1顾客信息表格列 名数据类型可否为空说 明service NOcharNOT NULL舱位等级编号service NameNear char
10、NULL舱位等级名称no PresentcharNULL是否有礼物no NewspapercharNULL是否有报纸no DrinkcharNULL是否有饮料nonfoodcharNULL是否有午餐no MoviecharNULL是否有电影can ChangecharNULL是否可以改签can CancelcharNULL是否可以退票can DiscountcharNULL是否可以打折service MemotextNULL备注信息表2客机信息表格列 名数据类型可否为空说 明plane NOcharNOT NULL客机编号plane TypecharNULL客机型号buy Datedate t
11、imeNULL购买日期serve Datedate timeNULL服役日期is CommonnvarcharNULL经济舱座位数量isCommercialnvarcharNULL公务舱座位数量is FirstnvarcharNULL头等舱座位数量plane MemotextNULL备注信息表3航线信息表格列 名数据类型可否为空说 明airline NOcharNOT NULL航线编号depart CitynvarcharNULL出发城市arrival CitynvarcharNULL到达城市depart DatecharNULL航班日期depart TimecharNULL出发时间arriv
12、al TimecharNULL到达时间plane NOcharNULL客机编号common PricenumericNULL经济舱价格commercial PricenumericNULL公务舱价格first PricenumericNULL头等舱价格airline MemotextNULL备注信息表4客户类型信息表格列 名数据类型可否为空说 明Customer types NOcharNOT NULL客户类型编号Customer types NamecharNULL客户类型名称DiscountnumericNULL折扣比例Customers MemotextNULL备注表5客户类型信息表格列
13、 名数据类型可否为空说 明Customers NOcharNOT NULL客户编号Customers NamecharNULL客户姓名Customers SexcharNULL客户性别Customers IDcharNULL身份证号码Customers TelecharNULL客户联系电话Customers TypecharNULL客户类型Customers MemotextNULL备注表6订票信息表格列 名数据类型可否为空说 明ticket NOcharNOT NULL订票编号customer NOcharNULL客户编号customer NamecharNULL客户姓名customer T
14、ypecharNULL客户类型discountnumericNULL折扣比例airline NOcharNULL航线编号depart CitynvarcharNULL出发城市arrival CitynvarcharNULL到达城市ticket Datedate timeNULL出发日期service TypecharNULL舱位类型ticket PricenumericNULL机票价格ticket SumnumericNULL结算金额customer MemotextNULL备注三、物理设计我们无论使用哪种数据库,无论怎样设计数据库,我想都会遵从一个原则:数据安全性和性能高效这两个主要方面,但
15、是关于这两个方面的话题太多,在这里就不一一陈述,我只是从数据库物理分布设计方面和大家一起简单的探讨一下。因为数据库良好的物理分布设计也是对数据安全性和性能高效影响比较大, 就像我们在建大楼之前一定要先打好地基一样。現实中我们在应用各种不同数据库的时候,往往会忽略数据库的物理布局,只有在数据库性能遇到问题的时候才去考虑,但这是得不偿失的,这样一来不仅会导致与设计相关的问题出现,而且会影响性能的调整效果,所以我们在创建数据库之前先进行规划数据库的物理布局也是很必要的,这也符合人们常说的“磨刀不误砍柴工”的道理。要确定数据库的物理结构。确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价
16、三方面的因素。这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。在关系数据库中,选择存取路径主要是指确定如何建立索引。例如,应把哪些域作为次码建立次索引,建立单码索引还是组合索引,建立多少个为合适,是否建立聚集索引等。为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。评价物理
17、数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。第五章 界面设计一、登陆窗口如下所示:系统有指定的登陆账号密码,如果用户名和密码输入正确会进入系统。输入错误时会有错误提示。图5.1登陆界面二、主界面此界面可以实现系统的安全退出,对航线信息的管理、对客户信息的管理和订票信息的管理。如图7.2所示图5.2系统主界面三、舱位等级信息页面此界面可实现对舱位等级信息的添加、修改和删除图5.3舱位等级信息界面图5.4舱位信息添加界面图5.5舱位等级信息修改
18、界面四、客机信息管理页面选择“学籍管理查询学籍信息”菜单,将出现如图所示的窗口,在这里可以按照各种方式以及它们的组合进行查询。此界面可以实现对客机信息的添加修改和删除图5.6客机信息界面图5.7客机信息添加界面图5.8客机信息修改界面图5.9客机信息查询界面五、航线信息管理页面此界面可实现对航线信息的添加、修改、删除和查询图5.10航线信息管理界面图5.11航线信息添加界面图5.12航线信息修改界面图5.13航线信息查询界面六、客户类型管理页面此界面可实现对客户类型的添加、修改和删除图5.14客户类型信息界面图5.15客户类型信息添加界面图5.15客户类型信息修改界面七、客户信息管理页面此界面
19、可实现对客户信息的添加、修改、删除和查询图5.16客户信息界面图5.17客户信息添加界面图5.18客户信息修改界面图5.19客户信息查询界面八、订票信息管理页面此界面可是实现对订票的添加、修改、删除和查询图5.20订票信息界面图5.21机票信息添加界面图5.22机票信息修改界面图5.23机票信息查询界面第六章 代码与注释一、登陆代码Dim strPwd As String Dim rsPwd As ADODB.Recordset Dim strLogin As String Dim sql As String Dim pwdCount As Integer Set con = New ADOD
20、B.Connection strLogin = Trim(Text1.Text) strPwd = Trim(Text2.Text) If Len(strLogin) = 0 Then MsgBox 用户名或密码错误, 68, 提示 Text1.SetFocus Exit Sub End If If Len(strPwd) = 0 Then MsgBox 用户名或密码错误, 68, 提示 Text2.SetFocus Exit Sub End If If rsPwd(UserType).Value = 0 Then FrmMain.mn_Users.Enabled = False FrmDev
21、iceEdit.Cmd_Add.Enabled = False FrmDeviceEdit.Cmd_Modi.Enabled = False FrmDeviceEdit.Cmd_Del.Enabled = False FrmDept.Add.Enabled = False FrmDept.DEL.Enabled = False FrmDept.Edit.Enabled = False FrmDept.Text1.Enabled = False FrmDept.Text2.Enabled = False FrmType.Add.Enabled = False FrmType.DEL.Enable
22、d = False FrmType.Edit.Enabled = False FrmType.Text1.Enabled = False FrmType.Text2.Enabled = False FrmUse.Command1.Enabled = False FrmUse.Command2.Enabled = False FrmUse.Command3.Enabled = False FrmUse.Command6.Enabled = False FrmDeviceEdit.Cmd_Add.Enabled = False FrmDeviceEdit.Cmd_Del.Enabled = Fal
23、se FrmDeviceEdit.Cmd_Modi.Enabled = False FrmLend.Command1.Enabled = False FrmLend.Command2.Enabled = False FrmLend.Command4.Enabled = False FrmLend.Command7.Enabled = False FrmLend.Command8.Enabled = False FrmMntenanceEdit.Command1.Enabled = False FrmMntenanceEdit.Command2.Enabled = False FrmMntena
24、nceEdit.Command3.Enabled = False FrmMntenanceEdit.Command8.Enabled = False FrmDiscard.Command1.Enabled = False FrmDiscard.Command3.Enabled = False FrmDiscard.Command4.Enabled = False FrmMain.Show FrmLogin.Hide Text1.Text = Text2.Text = ElseIf rsPwd(UserType).Value = 1 Then FrmMain.Show FrmLogin.Hide
25、 Text1.Text = Text2.Text = Else FrmMain.Show FrmLogin.Hide Text1.Text = Text2.Text = End IfEnd Sub二、主页面代码Private Sub MDI Form _Load() Me. Left = Gestating (App. Title, Settings, Main Left, 1000) Me. Top = Get Setting (App. Title, Settings, Maintop, 1000) Me. Width = Get Setting (App. Title, Settings
26、, Main Width, 6500) Me. Height = Get Setting (App. Title, Settings, Main Height, 6500) End SubPrivate Sub MDI Form_ Unload(Cancel As Integer) If Me.WindowState vbMinimized Then SaveSetting App.Title, Settings, MainLeft, Me.Left SaveSetting App.Title, Settings, MainTop, Me.Top SaveSetting App.Title,
27、Settings, MainWidth, Me.Width SaveSetting App.Title, Settings, MainHeight, Me.Height End IfEnd SubPrivate Sub menuAirline_Click() frmAirline.txtSQL = select * from airlineInfo frmAirline.Show 0End SubPrivate Sub menuBookticket_Click() frmTicket.txtSQL = select * from ticketInfo frmTicket.Show 0End S
28、ubPrivate Sub menuCarbin_Click() frmService.txtSQL = select * from serviceInfo frmService.Show 0End SubPrivate Sub menuCtype_Click() frmcType.txtSQL = select * from customerType frmcType.Show 0End SubPrivate Sub menuCustomer_Click() frmCustomer.txtSQL = select * from customerInfo frmCustomer.Show 0E
29、nd SubPrivate Sub menuPlane_Click() frmPlane.txtSQL = select * from planeInfo frmPlane.Show 0End Sub三、舱位信息代码载入窗体时将自动显示各条记录,代码如下:Private Sub Form_Load() ShowTitle ShowDataEnd Sub函数ShowTitle用来显示表头,代码如下:Private Sub ShowTitle() Dim i As Integer With msgList .Cols = 12 .TextMatrix(0, 1) = 等级编号 .TextMatrix(0, 2) = 机舱等级 .TextM
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1