




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、青岛理工大学数据库系统课程设计院係):计算机工程学院专业:XXXXXXXXX姓名:XXXXXXX班级: XXXXXXXXX 学号:题目:民航机场售票管理系统起迄日期: 2011.1.3 2011.1.14 设计地点: 2号实验楼402指导教师: XXXXXXWord文档目录1.1. 课题背景41.2. 开发工具41.2.1 Windows SDK41.2.2 SQL Server 2005 数据库41.2.3 ODBC API数据库连接技术5第2章需求分析62.1. 任务概述62.1.1 系统目标62.1.2用户特点62.2.1系统角色功能需求62.2.2功能模块62.3. 系统的性能需求72
2、.4. 系统的数据需求7第3章系统总体设计93.1. 系统总体设计9第4章数据库设计104.1. 数据库概念设计104.1.1订票信息实体E-R图104.1.2客户信息实体E-R图104.13航线信息实体E-R图114.1.4客机信息实体E-R图114.1.5舱位等级实体E-R图114.1.6实体间关系E-R图124.2. 数据库逻辑设计12421 AIR_BOOK_TABLE (订票管理表)124.2.2 AIR_PLANE_TABLE(飞机管理表)124.2.3 AIR_SEAT_TABLE(舱位管理表)134.2.4 AIR_GUEST_TABLE(客户管理表)134.2.5 AIR_L
3、INE_TABLE(航线管理表)13第5章详细设计145.1.页面设计145.1.1 “登陆”界面145.1.2程序主界面145.1.3 “机票预订信息管理”界面155.1.4 “客户信息管理”界面155.1.5 “航线信息管理”界面165.1.6 “客机信息管理”界面165.1.7 u舱位信息管理”界面175.1.8 “关于”界面1752编码设计185.2.1与数据库建立的链接185.2.2获取数据库中特定表的某元组18523从数据库中删除、向数据库中添加信息19524与数据库断开连接20第6章 结论与展望21参考文献2191.1. 课题背景现在人们更多的使用飞机作为出行交通工具,因此机票票
4、务市场也在快速发展。人们希望机票销售手段也能相 应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注。随着社会的不断进步, 国内外航空事业的飞速发展,各航空公司对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求 也进行开发的。随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息 管理系统提出了更高的要求,所以要不断地完善更新航空售票系统,提高航空售票系统的工作效率。航空系统中, 售票系统是很重要的一个环节,要想提高整个航空公司的工作效率,就要先提高售票系统的工作效率和安全性,故 而研发此系统,此系统能够为售票
5、工作提供方便快捷的售票服务,广大的客户可以得到更高更好的票务服务。本系统实现一个单机版的机票售票管理系统,通过考察分析,构建出数据库,并且实现票务管理模块、客户信 息管理模块和航班信息管理模块。本系统的开发严格遵守软件工程开发的标准流程c通过对各个模块的实现来完成最后软件总体功能的实现。通 过观察,进行需求分析,画出E-R图和功能模块结构图。在模块设计的同时进行单元测试,系统设计完成进行系统 调试。设计完成后,编写完整的软件说明书和用户手册,最后写对自己所作设计的评价和总结。1.2. 开发工具1.2.1 Windows SDKSDK, Software Development Kit的缩写,中
6、文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、 范例和工具的集合。SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的 集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应 用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其 他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。本系统是用传统的WINDOWS SDK编程方式,通过调用ODBC API来实现C+与数据库之间的链
7、接。1.2.2 SQL Server 2005 数据库SQLServer是一个关系数据库管理系统。它最初是由M icrosoft Sybase和Ashton-Tate三家公司共同开发的, 于1988年推出了第一个OS/2版本。在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道 扬熊了,Microsoft将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server的Windows NT版本。 Sybase则较专注于SQL Server在UNIX操作系统上的应SQL Server安装界面用。SQL Server 2005
8、通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软 在BI领域的领导地位。SQLServer 2005能够把关键的信息及时的传递到组织内员工的手中,从而实现了可 伸缩的商业智能。从CEO到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值即便这些应用是在不同的 平台上。1.2.3 ODBC API数据库连接技术ODBC是一种使用SQL的程序设计接口。使用ODBC让应用程序的编写者避免了与数据源相联的复杂性。这项 技术目前已经得到了大多数DBMS厂商们的广泛支持。ODB
9、C是一种使用SQL的程序设计接口。使用ODBC让应 用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大多数DBMS厂商们的广泛支持。Microsoft Developer Studio为大多数标准的数据库格式提供了 32位ODBC驱动器。这些标准数据格式包括有: SQL Server, Access, Paradox, dBase, FoxPro, Excel, Oracle 以及 Microsoft Texto 如果用户希望使用其他数据格 式 用户需要相应的ODBC驱动器及DBMSoODBC API是一个内容丰富的数据库编程接口,包括60多个函数、SQL数据类型以及常量的声明
10、。ODBCAPI是 独立于DBMS和操作系统的,而且它与编程语言无关oODBC API以X/Open和ISO/IEC中的CLI规范为基础,ODBC 3.0完全实现了这两种规范,并添加了基于视图的数据库应用程序开发人员所需要的共同特性,例如可滚动光标。 ODBC API中的函数由特定DBMS驱动程序的开发人员实现,应用程序用这些驱动程序调用函数,以独立于DBMS的 方式访问数据。ODBC API涉及了数据源连接与管理、结果集检索、数据库管理、数据绑定、事务操作等内容,目前的最高版本 是 3.0 o通常使用ODBC API开发数据库应用程序需要经过如下步骤:连接数据源。分配语句句柄。准备并执行SQ
11、L语句。获取结果集。提交事务。断开数据源连接并释放环境句柄。第2章需求分析2丄任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。1)实用性原则:真正为用户的实际工作服务,给民航机场售票业务带来方便。2)友好性原则:本民航机场售票管理系统的用户是各大机场的售票人员,所以系统操作上要求简单、方便、快捷, 便于用户使用。2.1.2用户特点本系统面向各大民航机场,因为在每年的寒假、暑假、重要的假期,会有大量的用户订购飞机票,所以会在节 假曰的开始与结束时,本系统会出现较大的负荷。其它时间符合比较均衡。2.2. 系统的功能需求2.2.1系统角色功能需求本系统只有一种角色:管理员。管理员负责添
12、加、删除客机信息、客户信息、航线信息、舱位信息以及票务信2.2.2功能模块本系统主要负责管理模块,各个子模块功能需求如下:1)机票预订信息管理模块管理员可以添加机票预订信息,并可以对添加的机票预订信息进行添加、查询、删除。2)客户信息管理模块管理员可以批量添加客户信息,并可以对添加的客户信息进行添加、删除。3)航线信息管理模块管理员可以批量添加航线信息,并可以对添加的航线信息进行添加、删除。4)客机信息管理模块管理员可以批量添加客机信息,并可以对添加的客机信息进行添加、删除。5)舱位信息管理模块管理员只可以修改飞机舱位信息。2.3. 系统的性能需求为了保证系统能够长期、安全、稳定、可靠、高效的
13、运行,系统应该满足以下的性能需求:1)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如飞机信息属性添加、修改;客户信息属性添加、 修改等模块也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一 点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的 模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。2)系统的易用性和易维护性系统是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好 的用户接口,易用的人机交互界面。要实现这一点,就
14、要求系统应该尽量使用用户熟悉的术语和中文信息的界面; 针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。系统中涉及到的数据是高校实验室相当重要的信息,因此系统为不同角色的用户提供了方便的管理后台进 行数据管理,特别为系统管理员提供了数据备份,日常安全管理,防止系统意外崩溃等功能。3)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时 间和速度。系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速 度问题而影响工作效率。2.4. 系统的数据需求通过对系统功能需求的分析,可以初步
15、确定该系统的基本数据需求。由各个功能模块可以进一步确定具体的数 据需求,具体数据需求如下:1)机票预订模块数据需求该模块主要管理客户订票,需要表示的数据有:订票数据:应包含机票编号、机票价格客户数据:客户编号、客户姓名航线数据:航线编号、起始城市、终点城市、出发曰期舱位数据:舱位类型编号2)客户信息管理模块该模块主要管理客户自身信息,需要表示的数据有:客户编号、客户姓名、客户性别、客户证件号、客户 电话。3)航线信息管理模块该模块主要管理航线自身信息,需要表示的数据有:航线编号、起始城市、终点城市、出发时间、到达时 间、飞机编号、经济舱价格、头等舱价格。4)客机信息管理模块该模块主要管理客机自
16、身信息,需要表示的数据有:飞机编号、飞机类型、经济舱座位数、头等舱座位数。5)舱位信息管理模块该模块主要管理舱位自身信息,需要表示的数据有:舱位类型编号、舱位类型名称、是否有报刊、是否有饮料、是否有食物、是否可取消、是否可打折#第3章系统总体设计3.1. 系统总体设计17订 票 信 息 添 加订 票 信 息 查 询订票 信 息 删 除客 户 信 息 添 加客 户 信 息 删 除航 线 信 息 添 加航 线 信 息 删 除客 机 信 息 添 加客 机 信 息 删 除修 改 舱 位 信 息第4章数据库设计4.1. 数据库概念设计4.1.1订票信息实体E-RS4.1.2客户信息实体ER图客户编号客户
17、姓名客户信息实体客户性别联系电话证件号码4.1.3航线信息实体ER图4.1.4客机信息实体ER图4.1.5舱位等级实体ER图4.1.6实体间关系E-R图4.2. 数据库逻辑设计现在需要将上面的数据库概念结构转化为SQL Server 2005数据库系统所支持的实际数据模型,也就是数据库的 逻辑结构。民航机场售票管理系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。4.2.1 AIR.BOOK.TABLE (订票管理表)列名数据类型可否为空说明Ticket Noint否机票编号CustomerNoint否客户编号CustomerNamen varcha(10)否客户姓
18、名AirUneNoint否航线编号StartCityn varcha(10)否出发城市EndCityn varcha(50)否终点城市Ticket Daten varcha(50)否出发日期ServiceTypeint否舱位类型Ticket Pricemt否机票价格4.2.2 AIR_PLANE_TABLE(飞机管理表)列名数据类型可否为空说明PlaneNoint否飞机编号Plan eTypen varcha(15)否飞机型号Comm onNoint否经济舱座位数FirstNomt否头等舱座位数4.2.3 AIR_SEAT_TABLE(舱位管理表)列名数据类型可否为空说明ServiceNoin
19、t否舱位类型编号ServiceNamen varcha(15)否舱位类型名称IsNewsPapern varchar(7)否是否有报纸IsDrinkn varchar(7)否是否有饮料IsFoodn varchar(7)否是否有食物CanCanceln varchar(7)否是否可取消CanDisco untn varchar(7)否是否可打折4.2.4 AIR_GUEST_TABLE(客户管理表)列名数据类型可否为空说明GuestNoint否客户编号GuestNamen varcha(10)否客户姓名GuestSexn varcha(4)否客户性别GuestIDn varchar(20)否客
20、户证件号GuestTelen varcha(15)否客户电话4.2.5 AIR_LINE_TABLE(航线管理表)列名数据类型可否为空说明AirUneNoint否航线编号StartCityn char(10)否起始城市EndCityn char(10)否终点城市StartTimedatetime否出发时间En dTimedatetime否到达时间PlaneNoint否飞机编号Comm on Priceint否经济舱价格FirstPricemt否头等舱价格第5章详细设计5.1.页面设计5.1.1 “登陆”界面通过用户输入的用户名及密码:如果用户名/密码输入错误,则会提示是否重新输入,若放弃输入,
21、则该系统会 自动退出。图表54图表52图表53195.1.2程序主界面系统登陆成功后,则会看到主界面,该系统的各功能可以从菜单栏中选择。5.1.3 “机票预订信息管理”界面图表5521图表545.1.4 “客户信息管理界面fs信息管理客户信息管理1234-5678911麴客户信息:客户编号匕春户姓名Z身倚if号码匕客户性别二联系电话豈3702031652452345/37020316524512781 2565G509595G5525t 370245165245661255.1.5 “航线信息管理界面S 民航机场售票管理系统东统 机票预订信息笆理 客户信息笆理 飢线信.航线信息管理航线倍息皆理
22、12 3 4 5 6上翹昆音201 0 01 15 2010-01-16Z01 0-01-16 2010-01-17 2010 01-10 2010-01-011 9:15:15 18:15:261 8:15:1209:15:1308:15:1512:12:121图表5927图表565.1.6 “客机信息管理”界面窖机辭号;经济臓座桩敎绘客机信息漳in容机信息管理数揺採作头等脍座位敎童聖客机型号率加S民航机场隹票骨理系统1234S67H0 129 1 1 1 |尸 R 1 1X Irv 圧*S反吿荼普珂系统4纸 机栄 询i I忙 肋.代怦 、.戶竺昼K坪 肮续依怠总客机诋.R汽曲 WUVTte
23、./H- 廉伶简思借理数MJ探作修改宁号:200807255aa位冷息丄a&位类型编号二是否可取消匕1二足否可扛扳亶|二|数4S抹作上MS條改图表585.1.8 “关于”界面在菜单上按关于,按钮后,会弹出关于円对话框,它显示了作者的信息。5.2. 编码设计5.2.1与数据库建立的链接用ODBC API与数据库建立连接需要经过如下几步:分配环境句柄-设置ODBC版本号-分配连接句柄-“用户 名/密码”登陆数据库。我创建了函数ODBC_CONNECT来管理系统与数据库的链接该函数会在主程序执行时被调用。BOOL ODBC_CONNECT(const char *DSN_NAME, const ch
24、ar *USER_NAME, const char *USER_PASSWORD)/分配环境句柄nResult=SQLAIIocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;设置ODBC版本号n Result=SQ LSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);if(nResult != SQL_SUCCESS)
25、 & (nResult != SQL_SUCCESS_WITHNFO) return FALSE;/分配连接背景nResult=SQLAIIocHandle(SQL_HANDLE_DBC, henv, &hdbc);if(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, SQ
26、L_NTS);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;return TRUE;5.2.2获取数据库中特定表的某元组是用ODBC API从数据库中取出特定表中的某一个元组,需要经过如下操作:分配句柄-执行SQL语句-获取 语句执行后返回的数据的属性的个数-将每一个属性与本地变量绑定-循环取数据,每次一个元组,并做相应处理 -释放语句执行句柄.为实现该功能,我编写了 ODBC_DISPLAYLIST函数,它会在每次产生子对话框时被调用它也会在每次用户更 新数据库后被调用(因为显示在程序
27、界面上的数据要和数据库中的数据同步)。BOOL ODBC_DISPLAYLIST(const char *SQLSCENTENCE, HWND &hwndDIg, int Control ID)分配句柄 nResult=SQLAIIocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;执行SQL语句nResult=SQLExecDirect(hstmt, (unsigned char*)SQLSCENTENCE, S
28、QL_NTS);if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;/获取语句执行后返回的数据的属性的个数保存在nCols变量中SQLNumResultCols(hstmt, &nCols);将每一个属性与本地变量绑定for(nCount=0; nCountnCols; nCount+)SQLBindCol(hstm 匸(UWORD)(nCount+l), SQL_C_CHAR, datanCount, MAXDATALEN, (long *)&dwData LennCount);/循环取数据
29、、每次一个元组,并做相应处理(在此是用这些填充列表框)while(SQ L_SUCC ESS 二二 SQ LFetch(hstmt)memset(DATA_TEMP, 0, sizeof(DATA_TEMP);for(nCount=0; nCountnCols; nCount+)if(dwDataLennCount!=SQL_NULL_DATA)wsprintf(DATA_ENUM, %-30s, datanCount);lstrcat(DATA_TEMP, DATA.ENUM);向列表框中填充数据Send DI g Item M essage(hwnd Dig, Control ID, LB
30、_ADDSTRING, 0, (LPARAM)DATA_TEMP);为列表框添加滚动条SendDlgltemMessage(hwndDlg, Control ID, LB_SETHORIZONTALEXTENT, 1500, 0);释放语句执行句柄SQ LCI oseCursor(hstmt);SQLFreeStmt(hstm匸 SQL_UNBIND);SQLFreeHandle(SQL_HANDLE_STMT, hstmt);return TRUE;5.2.3从数据库中删除、向数据库中添加信息数据库信息的添加、删除分别是执行SQL语句的INSERT INTO 44DELETE FROM.所以
31、我编写了ODBC一EXECSQLDIRT函数来实现程序对SQL语句的执行,统一了插入、删除算法的编写,都是经过:获取变量值- 构造SQL语句-执行SQL语句-完毕。该函数将在每次用户向数据库中“插入”、“删除”数据时执行。BOOL ODBC_EXECSQLDIRT(const char *SQLSCENTENCE)nResult=SQLAIIocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);if(nResult!二SQL_SUCCESS) & (nResult!二SQL_SUCCESS_WITHNFO)return FALSE;nResult=SQLExecDirect(hstmt, (unsigned char *)SQLSCENTENCE, SQL_NTS);if(nResult!二SQL_SUCCESS) & (nResult!二SQL_SUCCESS_WITHNFO) & (nResult
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63522-30:2025 EN Electrical relays - Tests and measurements - Part 30: Contact sticking (delayed release)
- 健康营养教案无课件下载
- 汉中市中考数学试卷
- 河北省会考5月数学试卷
- 海淀四下数学试卷
- 洪洞七年级学校数学试卷
- 2025年教育培训装备项目节能评估报告(节能专)
- 中国漂流艇市场全面调研及行业投资潜力预测报告
- 中国光端机行业市场发展监测及投资潜力预测报告
- 2024-2030年中国工艺艺术玻璃行业发展监测及投资战略研究报告
- 小学二年级数学应用题大全附完整答案【名校卷】
- 三基院感试题和答案
- 2023年荆州松滋市社区工作者招聘考试笔试题库及答案解析
- 工业废水处理工(中级工)理论试题库汇总-下(判断题)
- 渠道激励方案
- 联想笔记本电脑质量标准
- 铁板神数计算取数方法
- 10、连乘、连除和乘除混合运算
- 箱梁预制场建设施工危险源辨识及风险分析
- 脚手架验收记录表
- 河南省小麦品种演变
评论
0/150
提交评论