




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、青島理工大學數據庫系統課程設計院(系):計算機工程學院專業:XXXXXXXXX姓名:XXXXXXX班級: XXXXXXXXX 學號:XXXXXXXXXX題目:民航機場售票管理系統起迄日期:2011.1.32011.1.14設計地點:2 號實驗樓402指導教師:XXXXXX-/目錄第 1章 前言 41.1. 課題背景 41.2. 開發工具 41.2.1 Windows SDK 41.2.2 SQL Server 2005 數據庫 41.2.3 ODBC API 數據庫連接技術 5第2 章 需求分析 62.1. 任務概述 62.1.1 系統目標 62.1.2 用戶特點 62.2. 系統的功能需求
2、62.2.1 系統角色功能需求 62.2.2 功能模塊 62.3. 系統的性能需求 72.4. 系統的數據需求 7第3 章 系統總體設計 83.1.系統總體設計 8第4 章 數據庫設計 94.1. 數據庫概念設計 94.1.1 訂票信息實體E-R 圖 94.1.2 客戶信息實體E-R 圖 94.1.3 航線信息實體E-R 圖 104.1.4 客機信息實體E-R 圖 104.1.5 艙位等級實體E-R 圖 104.1.6 實體間關系E-R 圖 114.2. 數據庫邏輯設計114.2.1 AIR_BOOK_TABLE (訂票管理表)114.2.2 AIR_PLANE_TABLE( 飛機管理表)11
3、4.2.3 AIR_SEAT_TABLE( 艙位管理表) 124.2.4 AIR_GUEST_TABLE( 客戶管理表)124.2.5 AIR_LINE_TABLE( 航線管理表) 12第 5 章 詳細設計135.1. 頁面設計 135.1.1 登陸 “ ”界面 135.1.2 程序主界面 135.1.3 機票預訂信息管理”界面 “ 145.1.4 客戶信息管理”界面 “ 145.1.5 航線信息管理”界面 “ 155.1.6 客機信息管理”界面 “ 155.1.7 艙位信息管理”界面 “ 165.1.8 關于”界面 “ 165.2. 編碼設計 175.2.1 與數據庫建立的鏈接 175.2.
4、2 獲取數據庫中特定表的某元組 175.2.3 從數據庫中刪除、向數據庫中添加信息185.2.4 與數據庫斷開連接 19第 6 章 結論與展望 20參考文獻 20第1章前言1.1. 課題背景現在人們更多的使用飛機作為出行交通工具,因此機票票務市場也在快速發展。人們希望機票銷售手段也能相 應地有所調整,并對如何能經濟、方便和及時地購買到自己所需要的機票表現出極大的關注。隨著社會的不斷進步, 國內外航空事業的飛速發展,各航空公司對票務管理的要求也在不斷的提高,本系統就是針對這種日益增長的需求 也進行開發的。隨著旅游業的逐漸的成熟發達,航空客運量大幅度的提高,國內國際的旅游航班的增加,這些都對航空的
5、信息 管理系統提出了更高的要求,所以要不斷地完善更新航空售票系統,提高航空售票系統的工作效率。航空系統中, 售票系統是很重要的一個環節,要想提高整個航空公司的工作效率,就要先提高售票系統的工作效率和安全性,故 而研發此系統,此系統能夠為售票工作提供方便快捷的售票服務,廣大的客戶可以得到更高更好的票務服務。本系統實現一個單機版的機票售票管理系統,通過考察分析,構建出數據庫,并且實現票務管理模塊、客戶信 息管理模塊和航班信息管理模塊。本系統的開發嚴格遵守軟件工程開發的標準流程。通過對各個模塊的實現來完成最后軟件總體功能的實現。通 過觀察,進行需求分析,畫出 E-R圖和功能模塊結構圖。在模塊設計的同
6、時進行單元測試,系統設計完成進行系統 調試。設計完成后,編寫完整的軟件說明書和用戶手冊,最后寫對自己所作設計的評價和總結。1.2. 開發工具1.2.1 Windows SDKSDK, Software Development Kit的縮寫,中文即“軟件開發工具包”。廣義上指輔助開發某一類軟件的相關文檔、 范例和工具的集合。SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等創建應用軟件的開發工具的集合,一般而言SDK即開發 Windows平臺下的應用程序所使用的SDK。它可以簡單的為某個程序設計語言提供應用程序接口 API的一些文件,但也可能包括能與某種嵌入式系統通訊的復
7、雜的硬件。一般的工具包括用于調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術注解或者其他的為基本參考資料澄清疑點的支持文檔。本系統是用傳統的 WINDOWS SDK編程方式,通過調用 ODBC API來實現C+與數據庫之間的鏈接。1.2.2 SQL Server 2005 數據庫SQLServer是一個關系數據庫管理系統。它最初是由 Microsoft Sybase和Ashton-Tate三家公司共同開發的, 于1988年推出了第一個 OS/2版本。在 Windows NT推出后,Microsoft 與Sybase在SQL Server的開發上就分道 揚鑲了,Microsoft
8、 將SQL Server移植到 Windows NT系統上,專注于開發推廣SQL Server的 Windows NT版本。Sybase則較專注于 SQL Server在UNIX操作系統上的應 SQL Server安裝界面用。SQL Server 2005通過在可伸縮性、數據集成、開發工具和強大的分析等方面的革新更好的確立了微軟在BI領域的領導地位。SQL Server 2005 能夠把關鍵的信息及時的傳遞到組織內員工的手中,從而實現了可伸縮的商業智能。從 CEO到信息工作者,員工可以快速的、容易的處理數據,以更快更好的做出決策。SQLServer 2005 全面的集成、分析和報表功能使企業能
9、夠提高他們已有應用的價值,即便這些應用是在不同的平 臺上。1.2.3 ODBC API 數據庫連接技術ODBB一種使用SQL的程序設計接口。使用ODBC讓應用程序的編寫者避免了與數據源相聯的復雜性。這項技術目前已經得到了大多數DBMS廠商們的廣泛支持。ODBC是一種使用SQL的程序設計接口。使用ODBC讓應用程序的編寫者避免了與數據源相聯的復雜性。這項技術目前已經得到了大多數DBMS廠商們的廣泛支持。Microsoft Developer Studio為大多數標準的數據庫格式提供了32位ODBCW動器。這些標準數據格式包括有: SQL Server , Access , Paradox , d
10、Base, FoxPro , Excel , Oracle 以及 Microsoft Text 。如果用戶希望使用其 他數據格式,用戶需要相應的ODBCB動器及DBMSODBC API 是一個內容豐富的數據庫編程接口,包括60 多個函數、SQL 數據類型以及常量的聲明。ODBCAPI 是獨立于DBMS和操作系統的,而且它與編程語言無關。ODBCAPI以X/Open和ISO/IEC中的CLI規范為基礎,ODBC3.0完全實現了這兩種規范,并添加了基于視圖的數據庫應用程序開發人員所需要的共同特性,例如可滾動光標。ODBCAPI中的函數由特定 DBMSB動程序的開發人員實現,應用程序用這些驅動程序調
11、用函數,以獨立于DBMS的方式訪問數據。ODBC API 涉及了數據源連接與管理、結果集檢索、數據庫管理、數據綁定、事務操作等內容,目前的最高版本 是 3.0 。通常使用ODBC API 開發數據庫應用程序需要經過如下步驟:? 連接數據源。? 分配語句句柄。? 準備并執行SQL 語句。? 獲取結果集。? 提交事務。? 斷開數據源連接并釋放環境句柄。第 2章 需求分析2.1. 任務概述2.1.1 系統目標本系統需要滿足以下幾個系統設計目標。1) 實用性原則:真正為用戶的實際工作服務,給民航機場售票業務帶來方便。2) 友好性原則:本民航機場售票管理系統的用戶是各大機場的售票人員,所以系統操作上要求
12、簡單、方便、快捷,便于用戶使用。2.1.2 用戶特點本系統面向各大民航機場,因為在每年的寒假、暑假、重要的假期,會有大量的用戶訂購飛機票,所以會在節假日的開始與結束時,本系統會出現較大的負荷。其它時間符合比較均衡。2.2. 系統的功能需求1) 2.1 系統角色功能需求本系統只有一種角色:管理員。管理員負責添加、刪除客機信息、客戶信息、航線信息、艙位信息以及票務信2) 2.2功能模塊本系統主要負責管理模塊,各個子模塊功能需求如下:3) 機票預訂信息管理模塊管理員可以添加機票預訂信息,并可以對添加的機票預訂信息進行添加、查詢、刪除。4) 客戶信息管理模塊管理員可以批量添加客戶信息,并可以對添加的客
13、戶信息進行添加、刪除。5) 航線信息管理模塊管理員可以批量添加航線信息,并可以對添加的航線信息進行添加、刪除。6) 客機信息管理模塊管理員可以批量添加客機信息,并可以對添加的客機信息進行添加、刪除。7) 艙位信息管理模塊管理員只可以修改飛機艙位信息。2.3. 系統的性能需求為了保證系統能夠長期、安全、穩定、可靠、高效的運行,系統應該滿足以下的性能需求:1) 系統的開放性和系統的可擴充性系統在開發過程中,應該充分考慮以后的可擴充性。例如飛機信息屬性添加、修改;客戶信息屬性添加、 修改等模塊也會不斷的更新和完善。所有這些,都要求系統提供足夠的手段進行功能的調整和擴充。而要實現這一 點,應通過系統的
14、開放性來完成,既系統應是一個開放系統,只要符合一定的規范,可以簡單的加入和減少系統的 模塊,配置系統的硬件。通過軟件的修補、替換完成系統的升級和更新換代。2) 系統的易用性和易維護性系統是直接面對使用人員的,而有些使用人員往往對計算機并不是非常熟悉。這就要求系統能夠提供良好 的用戶接口,易用的人機交互界面。要實現這一點,就要求系統應該盡量使用用戶熟悉的術語和中文信息的界面; 針對用戶可能出現的使用問題,要提供足夠的在線幫助,縮短用戶對系統熟悉的過程。系統中涉及到的數據是高校實驗室相當重要的信息,因此系統為不同角色的用戶提供了方便的管理后臺進 行數據管理,特別為系統管理員提供了數據備份,日常安全
15、管理,防止系統意外崩潰等功能。3) 系統的響應速度系統設計中摒棄大量數據冗余,提出了優化數據庫的解決方案,大量使用存儲過程,大大提高系統響應時 間和速度。系統在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。嚴格保證操作人員不會因為速度問題而影響工作效率。2.4. 系統的數據需求通過對系統功能需求的分析,可以初步確定該系統的基本數據需求。由各個功能模塊可以進一步確定具體的數 據需求,具體數據需求如下:1) 機票預訂模塊數據需求 該模塊主要管理客戶訂票,需要表示的數據有: 訂票數據:應包含機票編號、機票價格 客戶數據:客戶編號、客戶姓名 航線數據:航線編號、起始城市、終點城市、出發日期
16、 艙位數據:艙位類型編號2) 客戶信息管理模塊 該模塊主要管理客戶自身信息,需要表示的數據有:客戶編號、客戶姓名、客戶性別、客戶證件號、客戶電話。3) 航線信息管理模塊 該模塊主要管理航線自身信息,需要表示的數據有:航線編號、起始城市、終點城市、出發時間、到達時 間、飛機編號、經濟艙價格、頭等艙價格。4) 客機信息管理模塊 該模塊主要管理客機自身信息,需要表示的數據有:飛機編號、飛機類型、經濟艙座位數、頭等艙座位數。5) 艙位信息管理模塊 該模塊主要管理艙位自身信息,需要表示的數據有:艙位類型編號、艙位類型名稱、是否有報刊、是否有飲料、是否有食物、是否可取消、是否可打折第3章系統總體設計3.1
17、.系統總體設計第4章數據庫設計4.1. 數據庫概念設計4.1.1 訂票信息實體E-R圖4.1.2 客戶信息實體E-R圖證件號碼4.1.3航線信息實體E-R圖4.1.4客機信息實體E-R圖4.1.5艙位等級實體E-R圖4.1.6實體間關系E-R圖4.2. 數據庫邏輯設計現在需要將上面的數據庫概念結構轉化為SQL Server 2005數據庫系統所支持的實際數據模型,也就是數據庫的邏輯結構。民航機場售票管理系統數據庫中各個表格的設計結果如下面表格所示。每個表格表示在數據庫中的一個表。4.2.1 AIR_BOOK_TABLE (訂票管理表)列名數據類型可否為空說明TicketNoint否機票編號Cu
18、stomerNoint否客戶編號CustomerNamenvarchar(10)否客戶姓名AirLineNoint否航線編號StartCitynvarchar(10)否出發城巾EndCitynvarchar(50)否終點城巾TicketDatenvarchar(50)否出發日期ServiceTypeint否艙位類型TicketPriceint否機票價格4.2.2 AIR_PLANE_TABLE(飛機管理表)列名數據類型可否為空說明PlaneNoint否飛機編號PlaneTypenvarchar(15)否飛機型號CommonNoint否經濟艙座位數FirstNoint否頭等艙座位數4.2.3 A
19、IR_SEAT_TABLE(艙位管理表)列名數據類型可否為空說明ServiceNoint否艙位類型編號ServiceNamenvarchar(15)否艙位類型名稱IsNewsPapernvarchar否是否有報紙IsDrinknvarchar否是否有飲料IsFoodnvarchar否是否有食物CanCancelnvarchar否是否可取消CanDiscountnvarchar否是否可打折4.2.4 AIR_GUEST_TABLE(客戶管理表)列名數據類型可否為空說明GuestNoint否客戶編號GuestNamenvarchar(10)否客戶姓名GuestSexnvarchar(4)否客戶性別
20、GuestIDnvarchar(20)否客戶證件號GuestTelenvarchar(15)否客戶電話4.2.5 AIR_LINE_TABLE(航線管理表)列名數據類型可否為空說明AirLineNoint否航線編號StartCitynchar(10)否起始城巾EndCitynchar(10)否終點城巾StartTimedatetime否出發時間EndTimedatetime否到達時間PlaneNoint否飛機編號CommonPriceint否經濟艙價格FirstPriceint否頭等艙價格-/第5章詳細設計5.1. 頁面設計5.1.1 “登陸”界面通過用戶輸入的用戶名及密碼,如果用戶名/密碼輸
21、入錯誤,則會提示是否重新輸入,若放棄輸入,則該系統會自動退出。圖表5-1圖表5-2圖表5-35.1.2 程序主界面系統登陸成功后,則會看到主界面,該系統的各功能可以從菜單欄中選擇。-/5.1.3 ”機票預訂信息管理”界面圖表5-53U3巽李Ju哲湖結果,劉凱刪除圖表5-45.1.4 “客戶信息管理”界面S星噴加g隹三合礎車tt客戶信息官理Q回國需戶信息管埋明福而四令王季季3了口20316524523Ab4 3702031 652-151278E 25G5GGU959GGB52BE 3702451652456612?敬捻集作客戶信息二客戶班號工|注戶姓垢身份證號碼工客戶性別我系電話,數期探作再加
22、-/6.1.5 ”航線信息管理”界面圖表5-78民骯機場自穿號性系績航線信息管理2D10 01 1S 1 3:15:15數據岸作2UIU-UI-lf> ?nin-ni-iR 2010 01 17 2D1 u ui-i u 201 0-01-DI產場機票預訂信息吉旺若尸后懸首理頊編G息哲理雷磯信息營理的應信息哲理就助 航線信息者理海因京泉胴曲 上責北北昆吉京京祈北京南 北北嚙壞北濟I 1 8:1 5:120 3:15:13 B:15:ISI 2:1 2: I 2圖表5-65.1.6 ”客機信息管理”界面-/5.1.7 ”艙位信息管理”界面在菜單上按“艙位信息管理”按鈕后,會彈出“艙位信息管
23、理”對話框。管理者可以在這個管理界面中實現對 飛機艙位信息的修改。圖表5-85.1.8 “關于”界面在菜單上按“關于”按鈕后,會彈出“關于”對話框,它顯示了作者的信息。圖表5-9-/5.2. 編碼設計5.2.1 與數據庫建立的鏈接用 ODBC API 與數據庫建立連接需要經過如下幾步:分配環境句柄-設置 ODBC 版本號-分配連接句柄-“用戶名 /密碼”登陸數據庫。我創建了函數ODBC_CONNECT 來管理系統與數據庫的鏈接,該函數會在主程序執行時被調用。BOOL ODBC_CONNECT(const char *DSN_NAME, const char *USER_NAME, const
24、char *USER_PASSWORD) /分配環境句柄nResult=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);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) &&
25、amp; (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;/分配連接背景nResult=SQLAllocHandle(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
26、*)USER_PASSWORD, SQL_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 &hwndDlg, int ControlID) /分配句柄nResult=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);if(nResult != SQL_SUCCESS) && (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;/執行SQL 語句nResult=
28、SQLExecDirect(hstmt, (unsigned char*)SQLSCENTENCE, SQL_NTS);if(nResult != SQL_SUCCESS) && (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;/獲取語句執行后返回的數據的屬性的個數,保存在nCols 變量中SQLNumResultCols(hstmt, &nCols);/將每一個屬性與本地變量綁定for(nCount=0; nCountnCols; nCount+)SQLBindCol(hstmt, (UWORD)(nCount+1),
29、SQL_C_CHAR, datanCount, MAXDA TALEN, (long *)&dwDataLennCount);/循環取數據,每次一個元組,并做相應處理(在此是用這些填充列表框)while(SQL_SUCCESS=SQLFetch(hstmt)memset(DATA_TEMP, 0, sizeof(DATA_TEMP);for(nCount=0; nCountnCols; nCount+)if(dwDataLennCount!=SQL_NULL_DATA) wsprintf(DATA_ENUM, "%-30s", datanCount);lstrcat
30、(DATA_TEMP, DATA_ENUM);/向列表框中填充數據SendDlgItemMessage(hwndDlg, ControlID, LB_ADDSTRING, 0, (LPARAM)DATA_TEMP);/為列表框添加滾動條SendDlgItemMessage(hwndDlg, ControlID, LB_SETHORIZONTALEXTENT, 1500, 0);/釋放語句執行句柄SQLCloseCursor(hstmt);SQLFreeStmt(hstmt, SQL_UNBIND);SQLFreeHandle(SQL_HANDLE_STMT, hstmt);return TRU
31、E;5.2.3 從數據庫中刪除、向數據庫中添加信息數據庫信息的添加、刪除分別是執行SQL 語句的“INSERT INTO ”、 “ DELETE FROM ”,所以我編寫了ODBC_EXECSQLDIRT 函數來實現程序對SQL 語句的執行,統一了插入、刪除算法的編寫,都是經過:獲取變量值-構造SQL 語句 -執行 SQL 語句 -完畢。該函數將在每次用戶向數據庫中“插入”、 “刪除”數據時執行。BOOL ODBC_EXECSQLDIRT(const char *SQLSCENTENCE) nResult=SQLAllocHandle(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) && (nRe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司晨會活動策劃方案
- 公司日常團建活動方案
- 公司秋游團建活動方案
- 公司日行萬步策劃方案
- 公司節日策劃活動方案
- 2025年休閑體育管理師考試試卷及答案
- 2025年現代物流管理課程試題及答案
- 2025年手語翻譯人才能力考試試卷及答案
- 2025年技術經濟與管理專業綜合考試試題及答案
- 幼兒園裝修合同
- 國開電大商務英語3形考任務單元自測1-8答案
- 項目等級評分表
- AHU維修與保養記錄
- CMBS盡調清單目錄
- 機械原理課程設計-自動打印機設計說明書
- 建設工程消防設計審查申報表
- 2020新版個人征信報告模板
- FBI教你破解身體語言(完整版)(54頁)ppt課件
- 華北電力大學-任建文-電力系統PPT(第1章)
- 《文殊真實名經》
- 對敏視達雷達回波進行基于PHIDP的dBZ和ZDR訂正_2014年4月5日~18日
評論
0/150
提交評論