版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、民航机场售票管理系统青岛理工大学数据库系统课程设计院(系): 计算机工程学院专业:XXXXXXXXX姓名:XXXXXXX班级: XXXXXXXXX 学号:XXXXXXXXXX题目:民航机场售票管理系统起迄日期:2011.1.32011.1.14设计地点:2号实验楼402指导教师:XXXXXX目录第1章前言61.1. 课题背景61.2. 开发工具71.2.1 Windows SDK71.2.2 SQL Server 2005数据库81.2.3 ODBC API数据库连接技术8第2章需求分析112.1. 任务概述112.1.1系统目标112.1.2用户特点112.2. 系统的功能需求112.2.1
2、系统角色功能需求112.2.2功能模块1 22.3. 系统的性能需求1 22.4. 系统的数据需求1 4第3章系统总体设计.1 63.1. 系统总体设计.1 6第4章数据库设计 174.1. 数据库概念设计1 74.1.1订票信息实体E-R图 .174.1.2客户信息实体E-R图.174.1.3航线信息实体E-R图.184.1.4客机信息实体E-R图 .184.1.5舱位等级实体E-R图 .184.1.6实体间关系E-R图1942数据库逻辑设计1 94.2.1 AIR BOOK TABLE (订票管理表)佃4.2.2 AIR_PLANE_TABLE(飞机管理表)204.2.3 AIR_SEAT
3、_TABLE(舱位管理表)204.2.4 AIR_GUEST_TABLE(客户管理表)214.2.5 AIR_LINE_TABLE(航线管理表)21第5章详细设计225.1.页面设计225.1.1登陆”界面225.1.2程序主界面225.1.3机票预订信息管理”界面 235.1.4客户信息管理”界面 245.1.5航线信息管理”界面 255.1.6客机信息管理”界面255.1.7舱位信息管理”界面265.1.8关于”界面265.2.编码设计285.2.1与数据库建立的链接28425.2.2获取数据库中特定表的某元组 30523从数据库中删除、向数据库中添加信息32524与数据库断开连接34第6
4、章结论与展望35参考文献36第1章前言1.1.课题背景现在人们更多的使用飞机作为出行交通工具,因此机票 票务市场也在快速发展。人们希望机票销售手段也能相应地 有所调整,并对如何能经济、方便和及时地购买到自己所需 要的机票表现出极大的关注。随着社会的不断进步,国内外 航空事业的飞速发展,各航空公司对票务管理的要求也在不 断的提高,本系统就是针对这种日益增长的需求也进行开发 的。随着旅游业的逐渐的成熟发达,航空客运量大幅度的提 高,国内国际的旅游航班的增加,这些都对航空的信息管理 系统提出了更高的要求,所以要不断地完善更新航空售票系 统,提高航空售票系统的工作效率。航空系统中,售票系统 是很重要的
5、一个环节,要想提高整个航空公司的工作效率, 就要先提高售票系统的工作效率和安全性, 故而研发此系统, 此系统能够为售票工作提供方便快捷的售票服务,广大的客 户可以得到更高更好的票务服务。本系统实现一个单机版的机票售票管理系统,通过考察 分析,构建出数据库,并且实现票务管理模块、客户信息管 理模块和航班信息管理模块本系统的开发严格遵守软件工程开发的标准流程。通过 对各个模块的实现来完成最后软件总体功能的实现。通过观 察,进行需求分析,画出 E-R图和功能模块结构图。在模块 设计的同时进行单元测试,系统设计完成进行系统调试。设 计完成后,编写完整的软件说明书和用户手册,最后写对自 己所作设计的评价
6、和总结。12开发工具1.2.1 Windows SDKSDK,Software Development Kit 的缩写,中文即“软件 开发工具包”。广义上指辅助开发某一类软件的相关文档、范 例和工具的集合。SDK是一些被软件工程师用于为特定的软件包、软件框 架、硬件平台、操作系统等创建应用软件的开发工具的集合, 一般而言SDK即开发Windows平台下的应用程序所使用的 SDK。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的 复杂的硬件。一般的工具包括用于调试和其他用途的实用工 具。SDK还经常包括示例代码、支持性的技术注解或者其他 的为
7、基本参考资料澄清疑点的支持文档。本系统是用传统的WINDOWS SDK编程方式,通过调 用ODBC API来实现C+与数据库之间的链接。1.2.2 SQL Server 2005 数据库SQL Server是一个关系数据库管理系统。它最初是由 Microsoft Sybase和Ashton-Tate 三家公司共同开发的,于 1988年推出了第一个 OS/2版本。在 Windows NT推出后, Microsoft与Sybase在SQLServer的开发上就分道扬镳了, Microsoft 将 SQL Server 移植到 Windows NT系统上,专注 于开发推广SQL Server的Win
8、dows NT版本。Sybase则较 专注于SQLServer在UNIX操作系统上的应 SQLServer安装 界面用。SQL Server 2005通过在可伸缩性、数据集成、开发工 具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005能够把关键的信息及时的传 递到组织内员工的手中,从而实现了可伸缩的商业智能。 从CEO到信息工作者,员工可以快速的、容易的处理数 据,以更快更好的做出决策。SQL Server 2005全面的集成、 分析和报表功能使企业能够提高他们已有应用的价值,即 便这些应用是在不同的平台上。1.2.3 ODBC API数据库连接技术
9、ODBC是一种使用SQL的程序设计接口。使用ODBC让应 用程序的编写者避免了与数据源相联的复杂性。这项技术目 前已经得到了大多数DBMS厂商们的广泛支持。ODBC是一种 使用SQL的程序设计接口。使用 ODBC让应用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大 多数DBMST商们的广泛支持。Microsoft Developer Studio为大多数标准的数据库格式提供了 32位ODBC驱动器。这些标准数据格式包括有:SQL Server,Access, Paradox,dBase, FoxPro, Excel,Oracle 以及Microsoft Text 。如果用户希
10、望使用其他数据格式,用 户需要相应的ODBC驱动器及DBMSODBC API是一个内容丰富的数据库编程接口,包括60多个函数、SQL数据类型以及常量的声明。ODBCAP是独立于DBMS和操作系统的,而且它与编程语言无关。ODBCAPI以 X/Open和ISO/IEC中的CLI规范为基础,ODBC 3.0完全实 现了这两种规范,并添加了基于视图的数据库应用程序开发 人员所需要的共同特性,例如可滚动光标。ODB0PI中的函数由特定DBMS驱动程序的开发人员实现,应用程序用这些驱 动程序调用函数,以独立于DBMS的方式访问数据。ODBCAPI涉及了数据源连接与管理、结果集检索、数据 库管理、数据绑定
11、、事务操作等内容,目前的最高版本是3.0。通常使用ODBC API开发数据库应用程序需要经过如下 步骤:?分配语句句柄?准备并执行SQL语句。?获取结果集。?提交事务。?断开数据源连接并释放环境句柄。第2章需求分析2.1.任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。1)实用性原则:真正为用户的实际工作服务,给民航机场 售票业务带来方便。2)友好性原则:本民航机场售票管理系统的用户是各大机 场的售票人员,所以系统操作上要求简单、方便、快捷, 便于用户使用。2.1.2用户特点本系统面向各大民航机场,因为在每年的寒假、暑假、 重要的假期,会有大量的用户订购飞机票,所以会在节假日 的
12、开始与结束时,本系统会出现较大的负荷。其它时间符合 比较均衡。22系统的功能需求2.2.1系统角色功能需求本系统只有一种角色:管理员。管理员负责添加、删除 客机信息、客户信息、航线信息、舱位信息以及票务信2.2.2功能模块本系统主要负责管理模块,各个子模块功能需求如下1)机票预订信息管理模块管理员可以添加机票预订信息,并可以对添加的机 票预订信息进行添加、查询、删除。2)客户信息管理模块管理员可以批量添加客户信息,并可以对添加的客 户信息进行添加、删除。3)航线信息管理模块管理员可以批量添加航线信息,并可以对添加的航 线信息进行添加、删除。4)客机信息管理模块管理员可以批量添加客机信息,并可以
13、对添加的客 机信息进行添加、删除。5)舱位信息管理模块管理员只可以修改飞机舱位信息。23系统的性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运 行,系统应该满足以下的性能需求:1)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。 例如飞机信息属性添加、修改;客户信息属性添加、修改等 模块也会不断的更新和完善。所有这些,都要求系统提供足 够的手段进行功能的调整和扩充。而要实现这一点,应通过 系统的开放性来完成,既系统应是一个开放系统,只要符合 一定的规范,可以简单的加入和减少系统的模块,配置系统 的硬件。通过软件的修补、替换完成系统的升级和更新换代。2)系统的易
14、用性和易维护性系统是直接面对使用人员的,而有些使用人员往往 对计算机并不是非常熟悉。这就要求系统能够提供良好的用 户接口,易用的人机交互界面。要实现这一点,就要求系统 应该尽量使用用户熟悉的术语和中文信息的界面;针对用户 可能出现的使用问题,要提供足够的在线帮助,缩短用户对 系统熟悉的过程。系统中涉及到的数据是高校实验室相当重要的信 息,因此系统为不同角色的用户提供了方便的管理后台进行 数据管理,特别为系统管理员提供了数据备份,日常安全管 理,防止系统意外崩溃等功能。3)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提咼系统响应时间和 速度。系统在
15、日常处理中的响应速度为秒级,达到实时要求, 以及时反馈信息。严格保证操作人员不会因为速度问题而影 响工作效率。2.4.系统的数据需求通过对系统功能需求的分析,可以初步确定该系统的基 本数据需求。由各个功能模块可以进一步确定具体的数据需 求,具体数据需求如下:1)机票预订模块数据需求该模块主要管理客户订票,需要表示的数据有: 订票数据:应包含机票编号、机票价格 客户数据:客户编号、客户姓名航线数据:航线编号、起始城市、终点城市、出发 日期舱位数据:舱位类型编号2)客户信息管理模块该模块主要管理客户自身信息,需要表示的数据有: 客户编号、客户姓名、客户性别、客户证件号、客户电话。3)航线信息管理模
16、块该模块主要管理航线自身信息,需要表示的数据有:航线编号、起始城市、终点城市、出发时间、到达时间、飞机编号、经济舱价格、头等舱价格4)客机信息管理模块该模块主要管理客机自身信息,需要表示的数据有: 飞机编号、飞机类型、经济舱座位数、头等舱座位数。5)舱位信息管理模块该模块主要管理舱位自身信息,需要表示的数据有: 舱位类型编号、舱位类型名称、是否有报刊、是否有饮料、 是否有食物、是否可取消、是否可打折第3章系统总体设计3.1.系统总体设计第4章数据库设计4.1.数据库概念设计4.1.1订票信息实体E-R图4.1.3航线信息实体E-R图4.1.4客机信息实体E-R图4.1.5舱位等级实体E-R图4
17、.1.6实体间关系E-R图42数据库逻辑设计现在需要将上面的数据库概念结构转化为SQL Server2005数据库系统所支持的实际数据模型,也就是数据库的逻 辑结构。民航机场售票管理系统数据库中各个表格的设计结果如 下面表格所示。每个表格表示在数据库中的一个表。4.2.1 AIR_BOOK_TABLE (订票管理表)列名数据类型可否为空说明TicketNoint否机票编号CustomerNoint否客户编号CustomerNamenvarchar(10)否客户姓名AirLineNoint否航线编号StartCitynvarchar(10)否出发城市EndCitynvarchar(50)否终点城
18、市TicketDatenvarchar(50)否出发日期ServiceTypeint否舱位类型TicketPriceint否机票价格4.2.2 AIR_PLANE_TABLE(飞机管理表)列名数据类型可否为空说明PlaneNoint否飞机编号PlaneTypenvarchar(15)否飞机型号CommonNoint否经济舱座位数FirstNoint否头等舱座位数4.2.3AIR_SEAT_TABLE(舱位管理表)列名数据类型可否为空说明ServiceNoint否舱位类型编号ServiceNamenvarchar(15)否舱位类型名称IsNewsPapernvarchar(7)否是否有报纸IsD
19、rinknvarchar(7)否是否有饮料IsFoodnvarchar(7)否是否有食物CanCancelnvarchar(7)否是否可取消CanDiscountnvarchar(7)否是否可打折4.2.4 AIR_GUEST_TABLE(客户管理表)列名数据类型可否为空说明GuestNoint否客户编号GuestNamenvarchar(10)否客户姓名GuestSexnvarchar(4)否客户性别GuestIDnvarchar(20)否客户证件号GuestTelenvarchar(15)否客户电话4.2.5AIR_LINE_TABLE(航线管理表)列名数据类型可否为空说明AirLineN
20、oint否航线编号StartCitynchar(10)否起始城市EndCitynchar(10)否终点城市StartTimedatetime否出发时间EndTimedatetime否到达时间PlaneNoint否飞机编号CommonPriceint否经济舱价格FirstPriceint否头等舱价格第5章详细设计5.1.页面设计5.1.1 “登陆”界面通过用户输入的用户名及密码,如果用户名 /密码输入错 误,则会提示是否重新输入,若放弃输入,则该系统会自动 退出。民航机场售Jfl户名:玄码:TESTING迟出登陆图表5-1 图表5-25.1.2程序主界面系统登陆成功后,则会看到主界面,该系统的各
21、功能可以从菜单栏中选择图表5-35.1.3 “机票预订信息管理”界面机黑预if佶息晉理e.图表5-45.1.4 “客户信息管理”界面3702031652452345 3702031652451278E 256FG5BflEi95G5525E 370251G5Z45661 2E客户信恵脣理Pr7LlrijvHFJV3-Au-A H/-RL/明斌刘四 李王李李客户信息:客户驴号匕客户性别,”联系电话2I图表5-55.1.5 “航线信息管理”界面薛加棗诉北京南 北北临怀北济海阳事京ffi岛 丄贵北北昆青2010-01 201 0-01 201 D-01ZD10-01201 D-012010-0115
22、 1 9:15:1 E 1G 1 8:15:2G1 1 a:1E:121 7 09:15:1 31 D 08;15;1 501 1 2:12:12图表5-65.1.6 “客机信息管理”界面s 民航机场吿票管理系统图表5-75.1.7 “舱位信息管理”界面在菜单上按“舱位信息管理”按钮后,会弹出“舱位信 息管理”对话框。管理者可以在这个管理界面中实现对飞机 舱位信息的修改。图表5-85.1.8 “关于”界面在菜单上按“关于”按钮后,会弹出“关于”对话框, 它显示了作者的信息。理至SfcC冋回衣袪 机窜预订怙也甘锂 容F二 in J金庖皆世ti4岂甘理脊包位信舸莒裡 卒助学号*200807255乎
23、lL、逐图表5-952编码设计5.2.1与数据库建立的链接用ODBC API与数据库建立连接需要经过如下几步:分 配环境句柄-设置ODBC版本号-分配连接句柄- “用户名/ 密码”登陆数据库。我创建了函数 ODBC_CONNECT 来管理系统与数据库的链接,该函数会在主程序执行时被调用BOOL ODBC_CONNECT(const char *DSN_NAME, const char *USER_NAME, const char *USER_PASSWORD) /分配环境句柄nResult=SQLAIIocHandle(SQL_HANDLE_ENV , SQL_NULL_HANDLE, &he
24、nv);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO)return FALSE;设置ODBC版本号nResult=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);if(nResult != SQL_SUCCESS) & (nResult !=SQL_SUCCESS_WITH_INFO)return FALSE;/分配连接背景nResult=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);if(
25、nResult != SQL_SUCCESS) & (nResult !=SQL_SUCCESS_WITH_INFO)return FALSE;连接数据库nResult=SQLConnect(hdbc, (SQLCHAR*)DSN_NAME, SQL_NTS,(SQLCHAR*)USER_NAME,SQL_NTS,(SQLCHAR*)USER_PASSWORD, SQL_NTS);if(nResult != SQL_SUCCESS) &(nResult !=SQL_SUCCESS_WITH_INFO)return FALSE;return TRUE;522获取数据库中特定表的某元组是用ODBC
26、 API从数据库中取出特定表中的某一个元 组,需要经过如下操作:分配句柄-执行SQL语句-获取语 句执行后返回的数据的属性的个数- 将每一个属性与本地变 量绑定- 循环取数据,每次一个元组,并做相应处理- 释放语 句执行句柄.为实现该功能,我编写了 ODBC_DISPLAYLIST函数, 它会在每次产生子对话框时被调用,它也会在每次用户更新 数据库后被调用(因为显示在程序界面上的数据要和数据库 中的数据同步)。BOOLODBC_DISPLAYLIST(constchar*SQLSCENTENCE, HWND & hwndDIg, int ControlID) /分配句柄nResult=SQLA
27、IlocHandle(SQL_HANDLE_STMT, hdbc, & hstmt);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO)return FALSE;/执行SQL语句nResult=SQLExecDirect(hstmt,(unsignedchar*)SQLSCENTENCE, SQL_NTS);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO)return FALSE;获取语句执行后返回的数据的属性的个数,保存在nCols变量中S
28、QLNumResultCols(hstmt, & nCols);/将每一个属性与本地变量绑定for(nCount=0; nCountvnCols; nCount+)SQLBindCol(hstmt,(UWORD)(nCount+1),SQL_C_CHAR, datanCount, MAXDATALEN, (long *)&dwDataLennCount);/循环取数据,每次一个元组,并做相应处理(在此是用这 些填充列表框)while(SQL_SUCCESS=SQLFetch(hstmt)memset(DATA_TEMP, 0, sizeof(DATA_TEMP);for(nCount=0; n
29、CountvnCols; nCount+) if(dwDataLennCount!=SQL_NULL_DATA) wsprintf(DATA_ENUM, %-30s, datanCount); lstrcat(DATA_TEMP, DATA_ENUM);向列表框中填充数据SendDlgltemMessage(hwndDlg,ControlID,LB_ADDSTRING , 0, (LPARAM)DATA_TEMP);/为列表框添加滚动条SendDlgItemMessage(hwndDlg,ControlID,LB_SETHORIZONTALEXTENT, 1500, 0);/释放语句执行句柄S
30、QLCloseCursor(hstmt);SQLFreeStmt(hstmt, SQL_UNBIND); SQLFreeHandle(SQL_HANDLE_STMT, hstmt);return TRUE;5.2.3从数据库中删除、向数据库中添加信息数据库信息的添加、删除分别是执行SQL语句的 “INSERT INTO ”、“ DELETE FROM ”,所以我编写了 ODBC_EXECSQLDIRT 函数来实现程序对 SQL语句的执行,统一了插入、删除算法的编写,都是经过:获取变量值- 构造SQL语句-执行SQL语句-完毕。该函数将在每次用户向数据库中“插入”、“删除”数据时执行BOOLOD
31、BC_EXECSQLDIRT(constchar*SQLSCENTENCE)nResult=SQLAIIocHandle(SQL_HANDLE_STMT, hdbc, & hstmt);if(nResult!=SQL_SUCCESS)&(nResult!=SQL_SUCCESS_WITH_INFO)return FALSE;nResult=SQLExecDirect(hstmt, (unsigned char *)SQLSCENTENCE, SQL_NTS);if(nResult!=SQL_SUCCESS)&(nResult!=SQL_SUCCESS_WITH_INFO)&(nResult!=SQL_NO_DATA)SQLFreeHandle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18525.2-2026农产品辐照工艺第2部分:谷物及其制品
- 永州市东安县2025届四年级数学第二学期期末学业水平测试模拟试题(含答案解析)
- 祝允明书法艺术鉴赏
- 2025年农村金融信用体系与农业
- 2026年听力教学现状调查分析报告
- 2026年教研活动计划幼儿园小班
- 2026年化妆品产品策略调研报告
- 2026年门店工作规范及流程
- 2026年大学规划及职业目标书
- 2026年德育工作计划活动安排方案设计
- 数据中心DCIM技术系统培训
- 2026广西北海市市场监督管理局招聘后勤人员控制数2人笔试备考试题及答案详解
- 2025年新疆维吾尔自治区克拉玛依市八年级地生会考真题试卷(+答案)
- 河南省开封市2026届九年级中考二模历史试卷(有答案)
- 2026云南昆明昆明晋宁产业园区运营管理有限公司员工招聘4人笔试参考题库及答案解析
- 小升初2025~2026学年浙江省宁波市鄞州区(人教版)数学考试试题 含答案
- 第十一章盐土和碱土
- 五年级下数学水中浸物问题20道pdf
- 2026年超星尔雅星海求知-天文学的奥秘必背题库及答案详解(有一套)
- 2026年高考英语完形填空试题及答案
- 2026春教科版(新教材)小学科学三年级下册期末综合检测卷及答案
评论
0/150
提交评论