第一篇:鐵路售票系統
鐵路售票系統應用軟件需求分析報告
前言:
(1)需求分析報告的編寫目的
本需求分析報告的目的是規范化本軟件的編寫,旨在于提高軟件開發過程中的能見度,便于對軟件開發過程中的控制與管理,同時提出了本鐵路售票系統的軟件開發過程,便于程序員與客戶之間的交流、協作,并作為工作成果的原始依據,同時也表明了本軟件的共性,以期能夠獲得更大范圍的應用。(2)產品背景明細 軟件名稱:鐵路售票系統 軟件開發者:(3)縮寫及縮略語
鐵路售票應用系統軟件:基本元素為構成鐵路售票及相關行為所必須的各種部分。
需求:用戶解決問題或達到目標所需的條件或功能;系統或系統部件要滿足合同、標準,規范或其它正式規定文檔所需具有的條件或權能。
需求分析:包括提煉,分析和仔細審查已收集到的需求,以確保所有的風險承擔者都明其含義并找出其中的錯誤,遺憾或其它不足的地方。
模塊的獨立性:是指軟件系統中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統中其他的模塊的接口是簡單的。本工程描述:
(1)軟件開發的目標:
完善目前鐵路售票系統,使之能跟上時代的發展。同時通過實踐來提高自己的動手能力。(2)應用范圍:
理論上能夠實現于鐵路部門的售票系統,其目的在于在原有的系統基礎使得鐵路售票實名化,以期實現完善日常生活中鐵路售票的各種缺陷。(3)硬件配置要求:
硬件外部設備需奔騰133以上的pc機,內存需16兆以上。(4)子集說明:
軟件分別有五個模塊組成,每個模塊各有不同的功能。但都能完成查詢和存儲功能,各模塊的數據都存放在數據庫中。數據的調用和連接都有程序來完成。(5)軟件功能描述:
外部功能:實現可視化窗口,查找及存儲 內部功能:同步,過濾,定位,識別 軟件功能描述圖: 賠償信息 車次信息 列車明細 日志維護 個人信息 主界面 同步 過濾 數據庫 定位
(6)軟件操作人員的要求:
軟件要求操作人員具有初步的相關知識(7)在其他方面的要求:
由于本系統為即時軟件,對數據的同步要求較高,建議配置網絡時使用可靠性較高的相關網絡硬件設施。軟件結構化描述(1)數據流圖: 乘客 數據庫更新 列車明細 個人信息 日志 售票員
(2)數據結構的描述:
車票=日期+價格+出發站+目的站+售票站+座號+車次+性質+編號 日期=年+月+日+時+分 價格=“1”..“9999” 出發站=1{漢字}6 目的站=1{漢字}6 售票站=1{漢字}6 座號=車廂號+座位號 車次=“1”..“9999”
編號=“000000001”..“999999999”
性質=“1”..“6” 注:“1”表示空調硬座特快,“2”表示空調軟座普快等 設計要求:
(1)所調用的數據庫的顯示: 輸入內容:指定的庫文件名。加工內容:調用指定的數據庫。輸出內容:所指定的數據庫的庫結構。(2)關于編輯框的說明: 輸入內容:編輯框名稱。加工內容:生成編輯框。輸出內容:顯示所生成的編輯框(3)指定記錄說明:
輸入內容:指定的項名及庫文件名。加工內容:將指定的數據庫里指定的記錄置為當前記錄。(4)初始化說明: 輸入內容:所要求的尺寸
要求處理內容:確定指定對象在窗體中的開始尺寸的大小 輸出內容:確定開始尺寸的四個參數。(5)最大化說明: 輸入內容:指定的參數值。
加工內容:確定指定對象在窗體中的最大尺寸。輸出內容:確定指定對象最大尺寸的四個參數。(6)最小化說明 原理同上
(7)查詞編輯框說明(編輯框控制)
功能:主要是定義的一個編輯框,供用戶輸入一個詞名,為程序生成查找條件做準備。輸入內容:在查詞編輯框中輸入要查找的詞名。加工內容:用輸入的詞名以供程序生成查找條。輸出內容:地址、長度。
(8)內容編輯框說明(編輯框控制)
功能:主要是定義的一個編輯框,將程序查找到的用戶所輸入詞的相關內容顯示出來,為用戶提供幫助信息。
輸入內容:數據庫中查找到的記錄的項的內容的地址、長度。加工內容:置控制標題或值。
輸出內容:顯示用戶所輸入詞的相關內容(如該詞的格式、用法……)。(9)定義過濾說明
作用:定義用戶輸入的詞名與內容庫中的詞名字段中的詞名進行串比較,即定義詞名字段為過濾字段。輸入內容:用戶輸入的詞名。
加工內容:把代碼寫入過濾條件指針之中。輸出內容:查找條件。(10)執行過濾說明
作用:將定義的過濾作為內容庫的過濾條件。輸入內容:查找條件。
加工內容:與查找編輯框中的內容比較。輸出內容:庫過濾顯。(11)同步說明: I:令牌持有標記
P:與數據庫同步更新數據 O:更新數據庫 環境要求:
(1)數據錄入精度需求
在進行向數據庫文件提取數據時,要求數據記錄定位準確,在往數據庫文件數組中添加數時,要求輸入數準確。
(2)軟件自身時間特性需求
程序響應時間:在人的感覺和視覺事件范圍內;
信息交換時間:要求在程序調用前調用后都與數據庫保持同步更新,網絡信息狡猾施加應該小于程序調用的時間
(3)數據管理能力需求
要求數據庫具有很好的更新能力,由于本產品是實驗性軟件,故對磁盤和內存容量沒有很高的要求,但是數據庫應該能夠對并發事件,臟數據具有較強的識別處理能力。接口要求:
(1)硬件接口:無特別要求
(2)網絡硬件接口要求:現實中要求具有高速以太網組網一實現聯網銷售,但是在理論實驗驗證軟件本身的目的來看,無需網絡通訊接口。(3)軟件接口要求:無 軟件屬性(1)可用性 本軟件也可以通過單步跟蹤的操作進行檢查處理。
(2)安全性
由于軟件運行數據放在數據庫中,所以參數不容易被錯改、破壞,萬一參數受到破壞也不會影響源程序。(3)可維護性
本軟件利用數據庫進行編程,系統結構由程序基本確定,大量的參數及文本內容全部放于數據庫中。修改、更新數據只要在數據庫進行修改添加,而不需要對系統結構進行修改,這樣系統維護性、升級都十分方便。(4)兼容性
由于尚未測試,故無法對兼容性進行評析。支持信息(1)軟件支持:
本軟件開發是使用Delphi編寫。
(2)設備支持:
推薦配置:WindowsXP,256內存,VGA顯示器
第二篇:鐵路售票系統數據分析
鐵路售票系統數據分析
一、背景
目前火車站售票的狀況是僅靠手工操作,以現有的工作人員很難應付車票訂購高峰時刻的大量數據處理問題。同時還會出現由此帶來的大量記錄存放和管理所帶來的問題。本次設計擬開發一個火車票售票系統,可以降低工作人員的工作量,提高工作人員的工作效率,同時方便顧客售票。
二、現實狀況
火車站市場的管理和規范問題,是困擾我們多年的一個老問題,也是政府管理中的一個難點,售票是客運業務中的一個最基本的業務,表面上看,它只是火車站業務的一個簡單的部分,但是它涉及到管理與客戶服務等多方面,因此,過去傳統的售票方式已經不能滿足現代客運業務流量劇增的客觀要求,這就要求一種全新的售票方式——網上售票,來緩解售票高峰時期的客運壓力,并為用戶提供方便快捷的售票服務。
三、售票系統工作流程
3-1 售票系統工作流程
四、數據提取整理及流程描述
1)顧客在窗口排隊買票,買票時提供所需車票的日期、到站、車票類型(硬座、軟座、硬臥、軟臥)票數、車次(可選)
2)售票人員通過本系統客戶端,按顧客的所要求查詢,如果有足夠的車票則按系統提示收費并出票(票面包括車次,始發站、到站、座位/臥鋪號、價格、發車日期及時間);如果沒有足夠的車票與顧客協商選擇其它車次或車票類型;如果都沒有車票或顧客放棄,則結束本次售票業務。
3)顧客可以通過大屏幕來查看3天內各車次的車票剩余情況。
4)鐵路調度提前10天將發車信息輸入系統。發車信息有兩種,一種是計劃內,即列車時刻表上有的;另一種是計劃外的,如春運期間加開的臨時列車。對于計劃內的只需指派列車長和工作人員組即可。而對于計劃外的則需要包括車次、發車日期時間、各種車廂的個數,列車長和工作人員組。5)車票價格按單位里程計算,按列車類型和車票類型高低不同,詳見下表:(計算票價時,兩站間距離不足10公里部分按10公里計算)
6)
各種車廂坐位數如下:
硬座車廂:110座 軟座車廂:110座
硬臥車廂:20號,每號分上中下鋪 軟臥車廂:20號,每號分上下鋪
五、可行性研究和需求分析
1、可行性分析
1.1、經濟可行性分析
開發該系統所需的相關資料可以通過已存在的網上售票系統進行調查采集,所需的其他應用軟件、硬件系統也易于獲得.因此,開發成本較低。而引進使用本系統后,與傳統方式相比,具有高效率、低成本、高質量的特點,可以節省不少人力、物力及財力。所以,從經濟的角度來看,該系統可行。1.2、技術可行性分析 開發工具:JSP 數據庫環境:SQL Server 2000 系統環境:Microsoft Windows 2000或以上版本。
系統實現依靠相對熟悉的JSP語言和SQL Server2000數據庫系統,其基本操作實質還是對數據庫進行添加、刪除、查找等操作,暫不存在技術問題。1.3、操作可行性分析
系統采用菜單式,實現用戶與數據庫的交互,界面簡潔友好,操作方便。用戶只需對售票流程和業務調查了解即可,不需掌握數據庫等相關知識。
2、需求分析
需求分析是軟件設計的一個重要的環節。本階段對售票系統的應用情況作全面調查,以確定系統目標,并對系統所需要的基礎數據以及數據處理要求進行分析,從而確定用戶的需求。用戶對系統的需求我們從以下幾方面進行分析。2.1、功能需求分析
需求分析是軟件設計的一個重要的環節。本階段對售票系統的應用情況作全面調查,以確定系統目標,并對系統所需要的基礎數據以及數據處理要求進行分析,從而確定用戶的需求。用戶對系統的需求我們從以下幾方面進行分析。3.2.1功能需求
本網上售票系統應該具備如下功能: 1.查詢
分為對車次信息的查詢和客戶對已訂車票信息的查詢。要求:
1)對車次的查詢,可以按照發車車次進行查詢; 2)車次信息包括:車號、出發地、目的地、發車日期、開出時刻、票價。3)座位類型設定。
4)車次信息只允許用戶查詢,不能修改。3.售票 通過查詢系統,客戶根據自己的需求找到滿意的車次,再輸入個人信息后直接通過網上售票確定已預訂選中的車票。要求:
售票記錄應包括:會員名、車號、發車日期、訂購日期、訂購票數、總價。4.退票
可退票,通過查詢系統,客戶可以根據自己的名字找到自己的售票信息,通過退票模塊退去已購車票。2.2、數據需求分析
信息需求,即在系統中需要處理哪些數據。根據對火車票售票系統的分析,本系統的信息需求如表2-1所示。
2-1 信息輸入輸出
2.3、性能需求分析 2.3.1、準確性和及時性
系統處理的準確性和及時性是系統的必要性能。系統應能及時而且準確的根據用戶權限及所輸入的信息做出響應。由于本系統的查詢功能對于整個系統的功能和性能完成舉足輕重。作為系統的很多數據來源,而車票的數量和時間又影響用戶的決策活動,其準確性和及時性很大程度上決定了系統的成敗。在系統開發過程中,必須采用一定的方法保證系統的準確性和及時性。2.3.2、易用性
本系統是直接面對用戶的,而用戶往往對計算機并不是非常熟悉。這就要求系統能夠提供良好的用戶接口,易用的人機交互界面。要實現這一點,就要求系統應該盡量使用用戶熟悉的術語和中文信息的界面,從而保證系統的易用性。2.3.3、安全性
網上售票系統中涉及到的數據是客運公司相當重要的信息,系統要保證用戶的權限,對于車次等信息用戶只享有查詢服務,不得更改;系統還要提供方便的手段供系統維護人員進行數據備份、日常安全管理、以及系統意外崩潰時數據的恢復等工作。同時系統還要保證對數據庫進行及時更新,保證數據一致性。
3、數據流圖
3-1 數據流圖
4、數據字典
4-1 車次信息數據字典
4-2 售票信息數據字典
3、用戶信息數據字典
5、E-R圖
用戶的需求具體體現在各種信息的提供、保存、更新和查詢,這就要求數據庫結構能充分滿足各種信息的輸出和輸入。
針對火車票售票系統,通過對網上售票工作的過程、內容以及數據流程分析,設計如下所示的數據項和數據結構:
1.車次信息包括:車號、出發地、目的地、發車日期、開出時刻、剩余座位數、票價。
3.售票記錄包括:訂單號、身份證號、車號、訂購日期、訂購票數、總價。4.用戶信息包括:用戶名、身份證號、性別、電話。E-R圖如圖5-1所示。
5-1 總E-R 圖
6、數據庫邏輯結構分析
火車票售票系統數據庫中各個表格的設計結果如下表所示。每個表格表示在數據庫中的一個表。
6-1 車次信息表
6-2 訂單表
6-3 用戶表
第三篇:鐵路自動售票系統傳輸方案
上海群安電子成都辦028-85268630
目錄
一、概述
2二、需求分析
2三、設計依據和原則
21、設計依據
22、設計原則
3四、系統設計
3五、產品技術參數
5六、售后服務7
一、概述
鐵路客票發售和預訂系統的實施,取消了鐵路沿用幾十年的硬板票,實現了鐵 路售票業務的計算機化。客票系統經過近6年的發展,取得了顯著的社會效益和經濟效益。但是,隨著 I T 產業的迅猛發展,電子商務的不斷普及,以及服務業的不斷發展,旅客已經不再滿足于以往的窗口購票的單一方式 而是期待著更加便利、更加快捷的售票服務。自動售票系統正是針對這一傳統售票方式的有效 補充,利用客票系統的票務資源,結合銀行的業務網絡和各種電子貨幣,形成計算機無人售票網絡,實現客票管理和發售工作無人化管理,使售票網絡延伸至 公共場所、大型商場、居民小區等城市的各個角落,從而更加方便旅客 的購票需求,提高鐵路客運經營水平和服務質量。
二、需求分析
由于鐵路自動售票系統傳輸信號到自動售票機端距離較遠,而超過100米網絡信號將衰減,影響自動售票機的效率,所以增加網絡信號延長器延長網絡信號的傳輸距離。
三、設計依據和原則
1、設計依據
系統配置是根據業主需求及國家或行業批準發布的相關產品/系統標準而設計的。
? GBJ115-87《工業電視系統工程設計規范》;
? GB50918-94《民用閉路電視監視系統工程技術規范》;? GA/T75-94《安全防范工程程序與要求》;
? GA/T70-94《安全防范工程費用概預算編制辦法》;? GA/T95-94《安全防范工程開工程序與要求》;? 《電器裝置工程施工和驗收規范》;? TB《鐵路通信工程設計規范》;? TB《鐵路通信工程施工驗收標準》;? 現場勘察報告;
? 建設單位設計施工要求;
2、設計原則
系統重點為加強鐵路科學管理功能,提高鐵路生產運營的安全性和可靠性。因此,設備選擇必須具備安全可靠、先進、操作簡便,免維護性強等特性,同時也必須兼顧節約投資,以性價比最好的設備來構成先進、完備的系統,以滿足鐵路安全生產和綜合管理的要求。鑒于該鐵路系統的重要性及安全性,我們力求系統設計的先進性、可靠性、實用性和可擴展性。同時體現以下原則:? 系統設計方案周密,嚴謹,安全可靠.? 設備選型應具有數字化和網絡化.? 系統兼容性強,擴充其它系統容易。? 人機對話(界面)操作方便,實用性強.? 在滿足各項功能的前提條件下,盡可能降低費用
四、系統設計
客票主機系統和自動售票系統服務主機之間采用的是鐵路專用網絡傳輸系統傳輸,在服務主機和自動售票機之間采用的網絡信號傳輸,串聯網絡延長器增加網絡信號的傳輸距離。
系統總體結構
五、產品性能指標
網絡數字信號延長器(SJ-L-DSL)
使用網絡信號延長器的優點
采用VDSL2標準。可將網絡信號通過雙絞線、電話線、同軸線等電纜進行長距離傳輸,最遠距離可達6000米,最大帶寬可以達到148Mbps。適合礦井中專用電纜進行鋪設傳輸,保證了礦井中的安全。
1、安裝簡單,使用方便。
2、實時性憂,通信速率自適應,無需調節。
3、性價比高,一次使用長期受益。
六、銷售服務
1.售前的技術服務
本公司設有專門面向用戶的工程、維修服務中心,技術中心的防雷工程師在用戶的售前服務過程中負責向用戶提供免費的技術服務。其中包括: ? 用戶的技術咨詢; ? 詳細的現場勘察;
? 協助用戶確定相應的保護設計的種類、數量; ? 電源容量的確定;
? 用戶擬須防護現場的建議性設計方案;? 確定合理安裝場地;
? 相關及現場的技術培訓。2.售中的技術服務
在前期的建議性設計方案得到用戶首肯及前期的商務接洽落實后,開始在相應服務合同原則下的用戶服務我們將向用戶提供完整的設計定型方案及施工方案,基于我們的產品的應用特性,在產品的交付過程中,我們還輔以嚴格的雷擊過壓試驗檢測程序,以期確保向用戶提供高可靠性和高質量的產品,達到確保用戶的現場設備運行安全。
在設備的現場安裝、調試完成后,我們將向用戶提供相應的項目竣工報告,同時接受用戶及相關方面檢測驗收,同時我們還將向用戶進行現場運行維護及應急情況的基本培訓。3.售后的技術服務
1)產品保修期內免費維護
凡適配我們產品的用戶,在滿足使用環境和使用條件及按規定使用操作規范運行情況下發生故障或器件損壞等意外情況時,用戶將享受對損壞的器件和故障進行免費的更換和檢測調維護服務,免費運維期限y壹年。
2)服務形式
為了確保機房雷電防護系統對所保護系統的業務能正常運行,我們配備專業工程師為您提供24小時全方位服務。
3)產品保修期后的維護服務
在免費運維期結束,我們仍承擔用戶的維修責任,維修過程我們只收取元器件的更換費用和基本的服務費用。
4)運維服務的響應時間
在我們接到用戶的運維服務通知后,將以最快的速度進行響應,根據用戶的位置、距離及用戶的運維要求制定維修方案,在無自然及人為等不可抗力因素影響下,本埠的現場響應時限在接到通知內三小時。
5)本公司承諾對所售設備提供終身的維修服務。
第四篇:數據分析報告 鐵路售票系統
畢業實習數據分析報告
1.調查實際環境背景
信息時代已經來臨,信息處理的利器——計算機應用于火車站售票的日常管理為火車站售票的現代化帶來了從未有過的動力和機遇,為火車站票務管理領域的飛速發展提供了無限潛力。采用計算機管理信息系統已成為火車站票務管理科學化和現代化的重要標志,給火車站票務帶來了明顯的經濟效益和社會效益。計算機已經成為人們生活不可或缺的一部分。
隨著Internet的迅速發展和用戶數量的急劇增加,互聯網對于企業和事業單位的運營和發展日益重要,網上交易也逐漸被人們認可,并成為未來交易的發展方向。鐵路售票系統也不例外。
鐵路售票系統是鐵路旅游服務信息系統的一個重要組成部分,為旅客提供優質便捷的服務。為了提高鐵路客運的售票效率,豐富鐵路客運的營銷手段,火車站售票總站及其下屬代售點可以通過公用的互聯網資源,實現網上的售票,查詢及管理工作。
在計算機網絡,數據庫和先進的開發平臺上,利用現有的軟件,配置一定的硬件,開發一個具有開放體系結構的、易擴充的、易維護的、具有良好人機交互界面的鐵路網上售票系統,為企業的決策層提供準確、精細、迅速的車票銷售信息。
2.描述現實狀況及工作流程 2.1現實狀況
隨著旅游業的逐漸的成熟發達,鐵路客運量大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統提出了更高的要求,所以要不斷的完善更新列車票務管理系統,提高列車售票系統的工作效率。隨著科學的不斷進步,計算機應用已經遍布整個社會的每個角落。目前社會正處于健保發展方興未艾的時代,各火車站莫不兢兢業業地改善本身的體制或管理方式,以適應健保越來越嚴格的規范。列車在我國的人員流動、物資運輸中占據著舉足輕重的地位。全國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式和單純的列車票務管理系統都不可能實現這種功能的。一種可行的方案是通過網上訂購,可以達到高效、便捷的購票。鐵路網上售票系統的實施,將會在一定程度上促進鐵路客運生產力和生產關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經濟效益。
2.2工作流程
系統要處理的對象主要包括票存系統基本信息、票務人員基本信息、客戶基本信息、訂票單基本信息、退票單基本信息、車票基本信息、車票銷售記錄基本信息。①查詢:可以通過起點站與終點站在進行查詢,也可根據具體的車次輸入進行查詢,同時每次查詢都會顯示車次號,點擊即可顯示該趟列車所進過站點的詳細信息,其中包括所到達每個站的到達時間與出發時間。
②客戶注冊、登錄:由于要進行網上訂購車票,用戶需注冊,填寫有關信息,由由票務人員負責送車票到客戶手中。
③訂票業務:本系統為網上訂票,用戶經過查詢車次信息、票務信息,找到自己所需的車票通過所關聯的賬戶進行訂購。
④退票業務:根據客戶提供的情況(車次、時間)為客戶辦理退票手續,退票時按票價的80%退給客戶金額,若所退票額能滿足他的要求,則為他辦理退票手續,同時在數據庫中進行更新。(車票價格低于2元不予退票)
⑤更新功能:該系統隨時跟據車輛的變化情況進行更新,增加車輛時可以在系統中插入該車的詳細信息,同時也能根據需要修改某趟車經過的站點與發車時間,當某趟車停止、開行時可以刪除該趟車的信息。同時包括對列車信息、站點信息、訂票記錄等的更新功能。
⑥車票配送:客戶在訂購了車票之后,管理人員通過后臺管理訂票記錄,然后根據客戶的要求由票務人員及時為其配送車票。(1)客戶注冊及登錄流程圖:
2.1 注冊登錄流程圖
(2)訂票業務流程圖:
2.2 訂票業務流程圖(3)退票業務流程圖:
2.3 退票業務流程圖
鐵路網上售票系統數據流程圖如下圖2.4—圖2.7:(1)頂層數據流程圖:
2.4 頂層數據流程圖(2)第一層數據流程圖:
2.5 第一層數據流程圖
(3)第二層數據流程圖—訂票:
2.6 第二層數據流程圖-----訂票
(4)第二層數據流程圖—退票:
2.7 第二層數據流程圖-----退票
3.數據分析
參照業務流程圖和數據流程圖,分別畫出分E-R圖,如圖3.1至3.4所示。
(1)根據圖2.2抽象出的進貨分E-R圖:
3.1 車票配送E-R圖
(2)根據圖2.6抽象出的銷售分E-R圖:
3.2 客戶訂票E-R圖
(3)根據圖1.7抽象出的存儲分E-R圖:
3.3 客戶退票E-R圖(4)根據圖2.4抽象出的存儲分E-R圖:
3.4售票記錄E-R圖
各E-R圖中的實體屬性如下圖3.5至圖3.10:(1)車票及其屬性:
3.5 車票及其屬性
(2)客戶及其屬性:
3.6 客戶及其屬性
(3)票務人員及其屬性:
3.7 票務人員及其屬性
(4)票存系統及其屬性:
3.8 票存系統及其屬性
(5)訂票單及其屬性:
3.9 訂票單及其屬性
(6)退票單及其屬性:
3.10 退票單及其屬性 根據各分E-R圖合并整體E-R圖,具體方法是將4個E-R圖中相同的實體,進行合并,消除屬性沖突、命名沖突、結構沖突之后得到總E-R圖如圖3.11所示。
3.11 全局E-R圖
5.設計數據庫
5.1數據庫物理設計階段目標和任務
數據庫的物理設計是為邏輯數據模型選取一個最合適應用需求的物理結構的過程,在這個階段中需要完成的任務是:
(1)確定數據庫的物理結構,在關系數據庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。
5.2數據字典
(1)數據項如表5.1所示。
數據項編號 I1 I2 I3 I4 I5 I6 數據項名數據項含義
稱 Tno Tprice 車票編號 車票價格
車票的編號 車票的售價 某次列車的編號 包括硬座、軟臥、無座Tstype Tpno Tsta 座位類型
等
座位編號 出發站
出發
車票上所示乘客要到達車廂號和座位編號 車票上所示乘客從何處
char char char char int char
簡述
類型
寬度(位)60 8 8 8 20
取值范圍
Trainno 車次
I7 Tdes 目的站 的地方
char 20 YYYY:MI8 Tstatime 發車時間 列車從該站出發的時間 datetime M:DD hh:mm YYYY:MI9 Tdestime 到站時間 列車終到目的站的時間 datetime M:DD hh:mm I10 I11 I12 I13 I14 I15 I16 I17 Bno Bdate Btime Bqua Bpou Sno Sdate Stime 訂票單號 訂票日期 訂票時間 訂票數量 訂票手續費
訂購火車票單據的編號 訂購火車票的日期 訂購火車票的時間 一次性訂購的數量 訂購火車票所支付的額
char datetime datetime int int
YYYY:MM:DD
hh:mm 1-50 5 YYYY:M
外費用
售票單號 開售單日期
日期
開售單時間 開出銷售火車票單據的datetime
銷售火車票單據的編號 開出銷售火車票單據的datetime char
M:DD hh:mm 數據項編號 數據項名數據項含義
稱
時間
簡述
類型
寬度(位)
取值范圍
I18 I19 I20 I21 Sgname Sgno 領票人姓名 領取火車票人的姓名 領票人身份證號
領取火車票人的身份證
char char 20
≤
號碼
支付票款的日期 支付火車票金額及手續
date int
費 Sddate Sdamo 交款日期 交款金額 即時退票單
100000
char
YYYY:MI22 Pdno 號 即時退票日
即時退票單據的編號
I23 Pddate 期 即時退票時
即時退票的日期 datetime
M:DD I24 Pdtime 間 即時退票數
即時退票的時間 datetime hh:mm I25 Pdqua 量 即時退票金
一次性即時退票的數量 即時退票后應收取的金
int 1-50 ≤I26 Pdamo 額 即時退票手
額
即時退票所支付的額外
int
100000 I27 Pdpou 續費 退票申請單
費用
客戶向服務器申請退票
int 2 I28 Adno 號 退票申請日的單據的編號
char 14 YYYY:MI29 Addate 期 退票申請時
申請退票的日期 datetime
M:DD I30 I31 I32 Adtime 間
Adqua Dno 退票數量 退票單號
申請退票的時間 一次性退票的數量 退票單的編號
datetime int char
hh:mm 1-50 數據項編號 I33 I34 I35 數據項名數據項含義
稱 Ddate Dtime Damo 開退單日期 退票的日期 開退單時間 退票的時間 退票金額
退票后應收取的金額 退票所應支付的額外費
datetime datetime int
簡述
類型
寬度(位)
取值范圍 YYYY:MM:DD
hh:mm ≤100000 I36 I37 I38 Dpou Cname Cno 退票手續費
用
客戶名 客戶身份證
客戶的身份證號碼
號 客戶銀行卡
客戶的姓名
int char char
I39 I40 I41 I42 Ccano 號
Cphone Cadd Cid 客戶電話 客戶地址 登錄ID
客戶的銀行卡號碼 客戶的電話號碼 客戶的住址
客戶辦理網上業務的名
char char char char 12 30 14
稱
客戶辦理網上業務的名I43 Cpwd 登錄密碼
稱對應的密碼
票務人員編I44 Tsno 號 票務人員姓I45 Tsname 名 票務人員工I46 Tsadd 作地點 票存分系統I47 I48 Msno 編號
Msadd 票存分系統
票存系統分系統的服務
char
票存系統分系統的編號
char
票務人員所在的工作地
char
各車站票務人員的姓名
char
各車站票務人員的編號
char
char
數據項編號 數據項名數據項含義
稱
地址
所在地
某次售、退票業務記錄
簡述
類型
寬度(位)
取值范圍
YYYY:M
datetime
M:DD
datetime
hh:mm I49 Rdate 記錄日期
到系統的日期 某次售、退票業務記錄I50 Rtime 記錄時間
到系統的時間 某次售、退票業務賬目I51 Rsty 出入賬類型 的出入類型
某次售、退票應記錄的char 6 ≤I52 Ramo 出入帳金額
交易金額 表5.1 數據項
int
100000(2)數據結構如表5.2所示。
DS01 客戶信息
I38 客戶身份證號
I37 客戶姓名 I39 客戶銀行卡號 I40 客戶電話 I41 客戶地址 I42 登錄ID I43 登錄密碼
DS02 車票信息
I1 車票編號
I3 車次 I4 座位類型 I5 座位編號 I6 出發站 I7 目的站
I2 車票價格
DS03 票務人員信息
I44 票務人員編號 I45 票務人員姓名 I46 票務人員工作地點
I8 發車時間 I9 到站時間
DS04 訂票單的數據結構
I10 訂票單號
I37 客戶姓名 I38 客戶身份證號 I39 客戶銀行卡號 I40 客戶電話 I41 客戶地址 I3 車次 I4 座位類型 I6 出發站 I7 目的站
I2 車票價格 I13 訂票數量 I14 訂票手續費
I8 發車時間 I9 到站時間 I11 訂票日期 I12 訂票時間
DS05 售票單的數據結構
I15 售票單號
I22 即時退票單號
I3 車次 I37 客戶姓名 I38 客戶電話 I41 客戶地址 I18 領票人姓名 I19 領票人身份證號 I44 票務人員編號 I45 票務人員姓名 I13 訂票數量 I21 交款金額
I16 開售單日期 I17 開售單時間 I20 交款日期
I23 即時退票日期 I24 即時退票時間
DS06 即時退票的數據結構
I2 車票價格 I25 即時退票數量 I26 即時退票金額 I27 即時退票手續費 I37 客戶姓名 I38 客戶身份證號 I1 車票編號 I44 票務人員編號 I45 票務人員姓名
DS07 退票申請單的數據結構
I28 退票申請單號
I37 客戶姓名 I38 客戶身份證號 I39 客戶銀行卡號 I1 車票編號
I2 車票價格 I31 退票數量
I29 退票申請日期 I30 退票申請時間
DS08 退票單的數據結構
I32 退票單號
I37 客戶姓名 I38 客戶身份證號 I39 客戶銀行卡號 I6 出發站 I7 目的站 I44 票務人員編號 I45 票務人員姓名
I2 車票價格 I31 退票數量 I35 退票金額 I36 退票手續費
I33 開退單日期 I34 開退單時間
表5.2 數據結構
(3)數據流如表5.3所示。
數據流簡述
名稱
客戶網上欲訂票單 訂購火車票的單據 服務器開出售票單 銷售火車票的單據 業務人員開即時退出的即時退票單
票的單據 客戶向服務退票申器申請退票請單 的單據 服務器不同未通過意客戶退票單
申請的單據
拒絕退票單 服務器拒絕
服務器
客戶退票的客戶
I29+I30
天
天
I37+I38+I1+I2+I31+
20份/
200份/
塊 審理模
服務器
I29+I30
天
天
I37+I38+I1+I2+I31+
20份/
200份/
客戶
塊
I31+I29+I30
天
天
審理模
I37+I38+I39+I1+I2+
200份/
2000份/
員
I24
票務人
服務器 I2+I25+I26+I27+I23+
天
天
服務器
客戶
客戶 來源
去向
I37+I38+I39+I40+I41+
1000份
服務器 I3+I4+I6+I7+I2+I13+
/天
I14+I8+I9+I11+I12 I3+I37+I38+I39+I18+
1000份
I19+I13+I21+I16+I17+
/天
I20+I44+I45 I37+I38+I1+I44+I45+
10份/
100份//天 10000份/天 10000份
數據流
數據流
數據流組成
量
量
數據流
高峰流數據流簡述
名稱
單據 服務器同意
數據流來源
數據流
數據流組成
去向
數據流量
高峰流量
審理模通過單 客戶退票申
塊
請的單據 服務器開出退票單 的客戶退票的單據
服務器
票存模
I1+I2+I31+I29+I30
塊
I37+I38+I39+I6+I7+I
2180份/天
1800份/天
180份/
客戶
+I31+I35+I36+I8+I33+
天
I34+I44+I45 表5.3數據流
1800份/天
(4)處理邏輯如表5.4所示。
處理邏輯處理
處理邏輯簡述
輸入的數據流
處理
輸出的數據流
頻率
編號 名稱
根據客戶訂單信服務器
F1 訂票單,來向客戶P1.1 售票
銷售火的訂票單據
車票
錄
服務器
F3 即時退票為客戶即時P1.2 退票
時退票
退票單據
手續 服務器退票P2.1 審理 戶的退票申請
戶發出的退票申請單據
審理,確定是否同意
申請錄入系統;F8 退票
天
單,向客戶開出的退票審理客
F4 退票申請單,來源于客
根據客戶開出的退票申請單進行
F5 未通過單,拒絕客戶
200
申請;F7 通過單,同意
次/
更改 辦理即
戶發出的即時
統進行登記記錄
有詳細記錄
天
單,來源于客
信息,將票存系
賬,每次即時退票都要
次/
根據即時退票單
S1 票存系統、S2 流水
票并進行登記記
次售票都要有詳細記錄
源于客戶發出
售票單銷售火車
存系統、S2 流水賬,每天
息,向客戶開出
發出的售票單據;S1 票
次/
F2 售票單,向客戶售票
1000處理邏輯處理
處理邏輯簡述
輸入的數據流
處理
輸出的數據流
頻率
編號 名稱
單據
服務器錄入P2.2 系統 票銷售記錄 的火車
F7 通過單,來
根據通過單將退
源于服務器退
票信息錄入系統
票審理系統開
以作記錄
出的同意單據 F5 未通過單,細記錄
天
賬,每次退票都要有詳
次/
S1 票存系統、S2 流水
180服務器拒絕P2.3 退票
戶退票 拒絕客
來源于服務器退票審理系統開出的不同意單據
根據未通過單,F6 拒絕退票單,拒絕客
拒絕客戶的退票
次/
戶的退票申請
申請,拒絕退票 天
表5.4處理邏輯
(5)數據存儲如表5.5所示。
數據存數據存
簡述
儲編號 儲名稱
售票、退票后修票存系S1 統
息
類型+開單日期+單號+車票編號+車售票、退票的流S2 流水賬
水賬記錄
時間+到站時間+車票價格+交易數量+客戶名 表5.5數據存儲
P2.2
次+座位類型+出發站+目的站+發車
P1.1、P1.2、改當前票務信
目的站+發車時間+到站時間
P2.2
車票編號+車次+座位類型+出發站+
P1.1、P1.2、數據存儲組成
相關聯的處理
6.主要算法
6.1數據結構的描述:
車票=日期+價格+出發站+終點站+售票站+座號+車次+性質+編號 日期=年+月+日+時+分 價格=“1”~“9999” 出發站=1{漢字}6 終點站=1{漢字}6 售票站=1{漢字}6 座號=車廂號+座位號 車次=“1”~“9999” 性質=“1”~“6” 注:如“1”表示空調硬座特快,“2”表示空調軟座普快等 編號=“000000001”~“999999999”
6.2算法
1.車次表(車次,始發站,始發時間,終到站,終到時間,總里程,車況)注:①舉例:(K59,北京,20:30,長春,7:06,670,特快);②“車況”分為‘特快空調’、‘特快’(不是空調車)、‘普通’。
2.經過站表(車次,經過站,到站時間,停留時間,里程)注:這里的‘里程’指從始發站到該站的里程。
3.票價表(車次,到站,席別,車廂號,座位號,票價)
注:①‘席別’分為硬座、硬臥、軟臥。②硬臥分上、中、下鋪,‘座位號’一項上填寫方式如‘9上’,‘9中’和‘9下’。③票價采用四舍五入方式取整數。4.車票定價公式:
特快空調:硬座—0.30元/公里,硬臥—0.65元/公里,軟臥—1.20元/公里; 特快:硬座—0.20元/公里,硬臥—0.55元/公里,軟臥—1.00元/公里; 普通:硬座—0.10元/公里,硬臥—0.40元/公里,軟臥—0.80元/公里。
售票表(車次,到站,發車日期,車廂號,座位號,已售否,售票日期)
第五篇:鐵路網上售票系統數據庫設計
目 錄
《數據庫課程設計》論文...............................................................................................................................鐵路網上售票系統項目開發背景:.....................................................................................................1 鐵路網上售票系統的總目標是:.........................................................................................................1 項目開發的意義:.................................................................................................................................1 1.需求分析...................................................................................................................................................2 1.1 需求分析階段目標和任務..............................................................................................................2 1.1.1 需求分析階段目標...............................................................................................................2 1.1.2 需求分析階段任務...............................................................................................................2 1.2 需求分析成果..................................................................................................................................3 1.2.1 流程圖...................................................................................................................................4 1.2.2 數據字典...............................................................................................................................5 2.數據庫結構設計.......................................................................................................................................5 2.1 概念設計..........................................................................................................................................5 2.1.1 分E-R圖建立......................................................................................................................6 2.1.2 全局/整體E-R圖.................................................................................................................6 2.2 邏輯設計..........................................................................................................................................6 2.2.1 建立關系模式.......................................................................................................................7 2.2.2 關系模式規范化處理...........................................................................................................7 2.2.3 用戶子模式建立...................................................................................................................7 2.2.4 關系模式邏輯結構定義.......................................................................................................6 3. 數據庫物理設計.....................................................................................................................................6 3.1 物理設計階段目標和任務..............................................................................................................6 3.2數據存儲方面...................................................................................................................................6 3.2.1 建立索引的原則...................................................................................................................6 3.2.2 建立索引...............................................................................................................................7 3.2.3 系統功能模塊圖...................................................................................................................7 4.數據庫實施與測試...................................................................................................................................7 4.1 數據庫實施......................................................................................................................................7 4.1.1 數據庫及數據庫對象建立...................................................................................................7 4.1.2 數據入庫.............................................................................................................................10 4.2 數據庫測試....................................................................................................................................10 5.總結.........................................................................................................................................................10 6.附錄.........................................................................................................................................................11 附錄1:................................................................................................................................................11 附錄2....................................................................................................................................................15 附錄3:................................................................................................................................................18
鐵路網上售票系統項目開發背景:
信息時代的到來,互聯網對于企業和事業單位的運營和發展日益重要,網上交易也逐漸被人們認可,并成為未來交易的發展方向。鐵路售票系統也不例外。
鐵路網上售票系統是鐵路旅游服務信息系統的一個重要組成部分,為旅客提供優質便捷的服務。為了提高鐵路客運的售票效率,豐富鐵路客運的營銷手段,火車站售票總站及其下屬代售點可以通過公用的互聯網資源,實現網上的售票,查詢及管理工作。
鐵路網上售票系統的總目標是:
在計算機網絡,數據庫和先進的開發平臺上,利用現有的軟件,配置一定的硬件,開發一個具有開放體系結構的、易擴充的、易維護的、具有良好人機交互界面的鐵路網上售票系統,為企業的決策層提供準確、精細、迅速的車票銷售信息。
項目開發的意義:
信息時代已經來臨,信息處理的利器——計算機應用于火車站售票的日常管理為火車站售票的現代化帶來了從未有過的動力和機遇,為火車站票務管理領域的飛速發展提供了無限潛力。采用計算機管理信息系統已成為火車站票務管理科學化和現代化的重要標志,給火車站票務帶來了明顯的經濟效益和社會效益。計算機已經成為人們生活不可或缺的一部分。
然而,隨著旅游業的逐漸的成熟發達,鐵路客運量大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統提出了更高的要求,所以要不斷的完善更新列車票務管理系統,提高列車售票系統的工作效率。列車在我國的人員流動、物資運輸中占據著舉足輕重的地位。火車的特殊性及可能經過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式是不可能實現這種功能的。一種可行的方案是基于客戶端服務器的體系結構。服務器為數據庫系統,存儲所有必要的信息。客戶端通過連接到服務的應用程序快速、準確地完成相應的工作,通過網上訂購,可以達到高效、便捷的購票。鐵路網上售票系統的實施,將會在一定程度上促進鐵路客運生產力和生產關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經濟效益。
1.需求分析
主要包括需求分析階段目標、任務和成果。
1.1 需求分析階段目標和任務 1.1.1 需求分析階段目標
(1)了解目前鐵路網上售票流程和注意事項,通過具體調查了解客戶需求并總結業務流程。
(2)與指導老師溝通交流該項目的可行性,征求老師意見,修改不合理的地方,為以后的設計打下基礎。
1.1.2 需求分析階段任務
隨著旅游業的逐漸的成熟發達,鐵路客運量大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統提出了更高的要求,所以要不斷的完善更新列車票務管理系統,提高列車售票系統的工作效率。隨著科學的不斷進步,計算機應用已經遍布整個社會的每個角落。目前社會正處于健保發展方興未艾的時代,各火車站莫不兢兢業業地改善本身的體制或管理方式,以適應健保越來越嚴格的規范。列車在我國的人員流動、物資運輸中占據著舉足輕重的地位。全國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式和單純的列車票務管理系統都不可能實現這種功能的。一種可行的方案是通過網上訂購,可以達到高效、便捷的購票。鐵路網上售票系統的實施,將會在一定程度上促進鐵路客運生產力和生產關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經濟效益。
(1)處理對象
系統要處理的對象主要包括票存系統基本信息、票務人員基本信息、客戶基本信息、訂票單基本信息、退票單基本信息、車票基本信息、車票銷售記錄基本信息。(詳細的信息見于數據查詢表)2
(2)功能要求
系統要實現的主要功能:
①查詢:可以通過起點站與終點站在進行查詢,也可根據具體的車次輸入進行查詢,同時每次查詢都會顯示車次號,點擊即可顯示該趟列車所進過站點的詳細信息,其中包括所到達每個站的到達時間與出發時間。
②客戶注冊、登錄:由于要進行網上訂購車票,用戶需注冊,填寫有關信息,由由票務人員負責送車票到客戶手中。
③訂票業務:本系統為網上訂票,用戶經過查詢車次信息、票務信息,找到自己所需的車票通過所關聯的賬戶進行訂購。
⑤更新功能:該系統隨時跟據車輛的變化情況進行更新,增加車輛時可以在系統中插入該車的詳細信息,同時也能根據需要修改某趟車經過的站點與發車時間,當某趟車停止、開行時可以刪除該趟車的信息。同時包括對列車信息、站點信息、訂票記錄等的更新功能。
⑥車票配送:客戶在訂購了車票之后,管理人員通過后臺管理訂票記錄,然后根據客戶的要求由票務人員及時為其配送車票。
(3)安全性和完整性要求
安全性先通過視圖機制,該系統創建了很多視圖,不同用戶只能訪問系統授權的視圖,這樣可以提供系統數據一定程度上的安全性,也可以通過用戶授權機制,根據用戶被授權的級別來分配用戶權限,從而達到更高層次的安全保密功能。
完整性要求主要用來限制各基本表中信息的真實性和可靠性,滿足參照完整性、實體完整性、用戶自定義完整性的要求。
1.2 需求分析成果 1.2.1 流程圖
鐵路網上售票系統業務流程圖如下圖1.1—圖1.3:
(1)客戶注冊及登錄流程圖:
反饋不批準注冊處理反饋登錄失敗處理客戶填寫注冊信息提交服務器客戶填寫登錄信息提交服務器注冊成功處理登錄成功反饋圖1.1 注冊登錄流程圖
(2)訂票業務流程圖:
即時退票請求即時退票理由遞交票務人員開出填寫車票信息提交即時退票單支付客戶登錄服務器錄入票款送達呈現相關車票列出已購車票填寫訂票單提交提出交付票務人員遞交售票單開出圖1.2 訂票業務流程圖
(3)退票業務流程圖:
反饋不同意退票不同意返還客戶登錄服務器票款填寫退票申請單提交提出票務人員遞交退票單開出圖1.3 退票業務流程圖鐵路網上售票系統數據流程圖如下圖1.4—圖1.7:(1)頂層數據流程圖:
E1客戶訂票單、退票申請單售票單、退票單P0訂票、退票S1圖1.4 頂層數據流程圖票存系統
(2)第一層數據流程圖:
鐵路網上售票系統E2服務器車票清單E1客戶訂票單售票單P1訂票P3查驗查驗清單S1票存系統 退票申請單退票單P2退票圖1.5 第一層數據流程圖
(3)第二層數據流程圖—訂票:
P1E1客戶F1 訂票單F2 售票單P1.1售票S1票存系統 S2流水賬F3 即時退票單P1.2即時退票圖1.6 第二層數據流程圖——訂票
1.2.2 數據查詢
包含數據項、數據結構、數據流、處理邏輯、數據存儲定義(詳見附錄1)。
2.數據庫結構設計
主要包括概念設計和邏輯設計兩個部分。
2.1 概念設計
概念設計階段主要是將需求縫隙階段得到的用戶需求抽象為信息結構即概念模型的過程,它是整個數據庫設計的關鍵,設計概念結構通常有四類方法:自頂向下、自底向上、逐步擴張、混合策略。
2.1.1 分E-R圖建立
參照業務流程圖和數據流程圖,分別畫出分E-R圖,如圖2.1至2.4所示。(1)根據圖1.2抽象出的進貨分E-R圖:
訂票數量n送票日期送票時間1客戶送票票務人員圖2.1 車票配送E-R圖
(2)根據圖1.6抽象出的銷售分E-R圖:
客戶1訂票n訂票單1轉換1n車票圖2.2 客戶訂票E-R圖
(3)根據圖1.7抽象出的存儲分E-R圖:
客戶1退票n退票單1轉換2n車票圖2.3 客戶退票E-R圖
(4)根據圖1.4抽象出的存儲分E-R圖:
出入賬金額記錄時間記錄日期1n出入賬類型記錄數量車票記錄圖2.4 售票記錄E-R圖票存系統
各E-R圖中的實體屬性如下圖2.5至圖2.10:
(1)車票及其屬性:
車票編號車次座位類型座位編號圖2.5 車票及其屬性車票出發站目的站發車時間到站時間車票價格
(2)客戶及其屬性:
客戶身份證號客戶名客戶電話客戶客戶地址登錄ID客戶銀行卡號登錄密碼圖2.6 客戶及其屬性
(3)票務人員及其屬性:
票務人員編號票務人員票務人員工作地點票務人員姓名圖2.7 票務人員及其屬性
(4)票存系統及其屬性:
票存分系統編號票存系統票存分系統地址圖2.8 票存系統及其屬性
(5)訂票單及其屬性:
訂票日期訂票單號訂票手續費訂票時間訂票數量訂票單圖2.9 訂票單及其屬性
2.1.2 全局/整體E-R圖
根據各分E-R圖合并整體E-R圖,具體方法是將4個E-R圖中相同的實體,進行合并,消除屬性沖突、命名沖突、結構沖突之后得到總E-R圖如圖2.11所示。
記錄1車票n轉換11訂票單n票存系統nn轉換2訂票1n11退票單退票客戶n票務人員1送票圖2.11 全局E-R圖
2.2 邏輯設計
概念設計階段是獨立于任何一種數據模型的,而邏輯設計階段則與現實結合起來,邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉換為與項目所支持的數據模型相符合的邏輯結構。具體任務包括將E-R圖轉換成關系模型、模型優化、數據庫模式定義、用戶模式設計。
2.2.1 建立關系模式
E-R圖向關系模型的轉換遵循如下規則,一個實體型轉換為一個關系模式,實體的屬性就是關系的屬性,實體的碼就是關系的碼。
對于實體間的聯系則有不同的情況:一個1:1聯系可以轉換為一個獨立關系模式,也可以與任意一端關系模式合并;一個1:N聯系可以轉換為一個獨立關系模式,也可以與n端實對應的關系模式合并;一個M:N聯系轉換為一個獨立關系模式,具有相同碼的關系模式可以合并。
根據以上原則,對于該系統的E-R圖進行轉換,從而得到本E-R圖向關系模型的轉換如下:
票存系統(票存分系統編號、票存分系統地址)
票務人員(票務人員編號、票務人員姓名、票務人員工作地點)
客戶(客戶身份證號、客戶名、客戶銀行卡號、客戶電話、客戶地址、登錄ID、登錄密碼、票務人員編號)
訂票單(訂票單號、訂票日期、訂票時間、訂票數量、訂票手續費、客戶身份證號)
車票(車票編號、車票價格、車次、座位類型、座位編號、出發站、目的站、發車時間、到站時間、訂票單號、退票單號)
記錄(車票編號、出入賬類型、票存分系統編號、記錄日期、記錄時間、出入賬金額)
2.2.2 關系模式規范化處理
以上關系模式中的各實體和聯系之間不存在非主屬性對主屬性的部分函數依賴,也不存在傳遞函數依賴,已經達到了3NF。
2.2.3 用戶子模式建立
用戶子模式的建立如表2.1所示。
表2.1用戶子模式
編號 V-01 V-02 V-03 V-05 用戶子模式名稱 Ticket_view Customer_view Book_view Record_view
定義 車票信息視圖 客戶信息視圖 訂票單信息視圖 記錄信息視圖
作用
方便用戶查詢車票信息 方便票務人員查詢客戶信息 方便票務人員查詢訂票信息 方便票務人員查詢記錄信息
2.2.4 關系模式邏輯結構定義
詳細的邏輯結構定義見附錄2。
3. 數據庫物理設計
3.1 物理設計階段目標和任務
數據庫的物理設計是為邏輯數據模型選取一個最合適應用需求的物理結構的過程,在這個階段中需要完成的任務是:
(1)確定數據庫的物理結構,在關系數據庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。
3.2數據存儲方面 3.2.1 建立索引的原則
建立索引一般有以下三個原則:
(1)如果一個或一組屬性經常在查詢條件中出現,則考慮在這個屬性上建立索引。
(2)如果一個經常作為最大值和最小值等聚集函數的參數,則考慮在這個屬性上建立索引。
(3)如果一個或一組屬性經常在連接操作的連接條件中出現,則考慮在這個屬性上建立索引。
3.2.2 建立索引
根據系統和用戶的的需要,由于客戶信息、車票信息、訂票單編號、退票單編號等屬性查詢操作比較平凡,所以對其所在表建立唯一索引,索引見表3.1。
表3.1索引表
所在表名 客戶信息表 車票信息表
索引名稱 Customer_index Ticket_index
索引類型 唯一 唯一
建立引用的基項 Cno Tno 3.2.3 系統功能模塊圖
系統基本功能模塊圖如3.1所示。
鐵路網上售票系統客戶信息管理車票信息管理訂票信息管理退票信息管理車票存儲管理車票銷售統計管理圖3.1 功能模塊圖
4.數據庫實施與測試
主要包括數據庫實施和測試兩個部分。
4.1 數據庫實施
4.1.1 數據庫及數據庫對象建立
主要包括:數據庫、基本表、視圖、索引、觸發器以及存儲過程。詳細DDL語句以及相關代碼,見附錄3。
(1)建立索引:
create unique index Customer_index onCustomer(Cno);create unique index Ticket_index on Ticket(Tno);create unique index Book_index on Book(Bno);create unique index Dishonour_index on Dishonour(Dno)(2)創建的視圖如表4.1所示
表4.1視圖表 視圖編號 V-01 V-02 V-03 V-04 V-05 視圖名稱 Ticket_view Customer_view Book_view
定義 車票信息視圖 客戶信息視圖 訂票單信息視圖
作用
方便用戶查詢車票信息 方便票務人員查詢客戶信息 方便票務人員查詢訂票信息 方便票務人員查詢退票信息 方便票務人員查詢記錄信息 Dishonour_view 退票單信息視圖 Record_view
記錄信息視圖
(3)創建的存儲過程如表4.2所示:
表4.2存儲過程表
編號 N-01 N-02 N-03 N-04 N-05 N-06 N-07 N-08 N-09 N-10 存儲過程名稱 Ms_Insert Ts_Insert C_Insert B_Insert D_Insert T_Insert R_Insert B_Delete D_Delete R_Delete
作用
向票存系統基本信息表中插入一個元組 向票務人員基本信息表中插入一個元組 向客戶基本信息表中插入一個元組 向訂票單基本信息表中插入一個元組 向退票單基本信息表中插入一個元組 向車票基本信息表中插入一個元組 向記錄基本信息表中插入一個元組 從訂票單基本信息表中刪除一個元組 從退票單基本信息表中刪除一個元組 從記錄基本信息表中刪除一個元組
(4)創建的觸發器如表4.3所示:
表4.3觸發器表
編號 T-01 T-02 T-03 T-04 T-05 T-06 觸發器名
delete_TicketStaff delete_Customer delete_Book delete_Dishonour delete_Ticket DoNotDishonour
作用
刪除票務人員信息級聯刪除客戶信息 刪除客戶信息級聯刪除客戶訂票及退票信息 刪除訂票信息級聯刪除車票信息 刪除退票信息級聯刪除車票信息 刪除車票信息級聯刪除記錄信息 車票價格低于2元不予退票
4.1.2 數據入庫
系統包括7張基本表,在Excel中錄入數據,然后使用SQL Server 2000數據導入功能,直接將數據導入到相應的基本表中。
4.2 數據庫測試
主要內容是對建立的數據庫及數據庫對象進行測試,詳細的測試情況見附錄3。
5.總結
通過這次課程設計的感觸很多。第一感覺就是理論和實踐的差距遠遠大于人的想象;課堂上覺得很簡單的東西,真到了要做的時候,會發現很難。在這次實習之前我感覺數據庫就像一種語言一樣,學會它的語法就應該可以了,不過現在才明白數據庫重點在于設計,設計的過程才是最有價值,最有意義也是最難的。
通過這次實習,我收獲了很多。首先是在需求分析階段,這個階段的任務可以說是整個數據庫設計任務量最大的階段,我花了大量時間在業務流程圖和數據流程圖的創建上,不斷的修改,不斷的和指導老師交流。在這個過程中真切的了解了業務的分析的重要性。在概念設計階段,主要的任務就是抽象出E-R圖。然后就是邏輯設計階段了,這個階段是要把讓我頭疼的E-R圖轉換為關系模式,這一階段我花費的時間相對較少。經過不斷的嘗試和修改,很快就完成了邏輯結構的設計,得到了該建立的表。這個時候到了數據庫實施階段了,以前我認為創建基本表、視圖、存儲過程、觸發器是數據的重點,現在看來這些都是皮毛,這些都是數據庫設計過程中最簡單最基礎的問題。真正需要能力和時間的是前面的需求分析、概念設計、邏輯設計階段,把實際問題抽象成計算機能夠實現解決的問題才是最重要的,這是數據庫可以實施的必要條件。
這次課程設計的任務,我完成的不是很好,有些方面還沒有實現其功能。人無完人我知道我做出的系統不是很全面,即便如此,我還是從其中學到了很多技巧。在以后的學習中,我會多實踐,多練習,書本上知識的學習畢竟沒有實踐來的有效,在此,我要感謝我的指導老師這么久對我的指點。
6.附錄
附錄1:
數據查詢表:
(1)數據項如表6.1所示。
表6.1 數據項
數據項編號 I1 I2 I3 I4 I5 I6 數據項名數據項含義
稱 Tno Tprice 車票編號 車票價格
車票的編號 車票的售價 某次列車的編號 包括硬座、軟臥、無座Tstype Tpno Tsta 座位類型
等
座位編號 出發站
出發
車票上所示乘客要到達I7 Tdes 目的站 的地方
YYYY:MM:DD I8 Tstatime 發車時間
列車從該站出發的時間
datetime
hh:mm YYYY:MM:DD I9 I10 I11 I12 I13 I14 I15 Tdestime 到站時間 Bno Bdate Btime Bqua Bpou Sno 訂票單號 訂票日期 訂票時間 訂票數量 訂票手續費
外費用
售票單號
銷售火車票單據的編號
char
列車終到目的站的時間 訂購火車票單據的編號 訂購火車票的日期 訂購火車票的時間 一次性訂購的數量 訂購火車票所支付的額
int
datetime char datetime datetime int
hh:mm
YYYY:MM:DD hh:mm 1-50
char
車廂號和座位編號 車票上所示乘客從何處
char
char
char
char int char
簡述
類型
(位)60 8
寬度
取值范圍
Trainno 車次
數據項編號 I16 數據項名數據項含義
稱
開出銷售火車票單據的Sdate 開售單日期
日期
開出銷售火車票單據的datetime
簡述
類型
寬度
取值范圍
(位)
YYYY:MM:DD I17 I37 I38 Stime Cname Cno 開售單時間
時間
客戶名 客戶身份證
客戶的身份證號碼
號 客戶銀行卡
客戶的姓名
datetime char char
20
hh:mm I39 I40 I41 I42 Ccano 號
Cphone Cadd Cid 客戶電話 客戶地址 登錄ID
客戶的銀行卡號碼 客戶的電話號碼 客戶的住址
客戶辦理網上業務的名
char char char char 12 30 14
稱
客戶辦理網上業務的名I43 Cpwd 登錄密碼
稱對應的密碼
票務人員編I44 Tsno 號 票務人員姓I45 Tsname 名 票務人員工I46 Tsadd 作地點 票存分系統I47 Msno 編號
票存系統分系統的編號
char
票務人員所在的工作地
char
各車站票務人員的姓名
char
各車站票務人員的編號
char
char
(2)數據結構如表6.2所示。
表6.2 數據結構 DS01 客戶信息
I38 客戶身份證號
I37 客戶姓名 I39 客戶銀行卡號
I40 客戶電話 I41 客戶地址 I42 登錄ID I43 登錄密碼
DS02 車票信息
I1 車票編號
I3 車次 I4 座位類型 I5 座位編號 I6 出發站 I7 目的站
I2 車票價格
DS03 票務人員信息
I8 發車時間 I9 到站時間
I44 票務人員編號 I45 票務人員姓名 I46 票務人員工作地點
DS04 訂票單的數據結構
I10 訂票單號
I37 客戶姓名 I38 客戶身份證號 I39 客戶銀行卡號 I40 客戶電話 I41 客戶地址 I3 車次 I4 座位類型 I6 出發站 I7 目的站
I2 車票價格 I13 訂票數量 I14 訂票手續費
DS05 售票單的數據結構
I15 售票單號
I8 發車時間 I9 到站時間 I11 訂票日期 I12 訂票時間
I3 車次 I37 客戶姓名 I38 客戶電話 I41 客戶地址 I18 領票人姓名 I19 領票人身份證號 I44 票務人員編號 I45 票務人員姓名 I13 訂票數量 I21 交款金額
I16 開售單日期 I17 開售單時間 I20 交款日期
(3)數據流如表6.3所示。
表6.3數據流
數據流簡述
名稱
客戶網上欲訂票單 訂購火車票的單據 服務器開出售票單 銷售火車票的單據 業務人員開即時退出的即時退票單
票的單據 客戶向服務退票申器申請退票請單 的單據 服務器不同未通過意客戶退票單
申請的單據 服務器拒絕拒絕退客戶退票的票單
單據 服務器同意審理模通過單 客戶退票申
塊
請的單據 服務器開出退票單 的客戶退票的單據 服務器
客戶
I37+I38+I39+I6+I7+I
2180份/
+I31+I35+I36+I8+I33+
天
I34+I44+I45
天 1800份/
塊 票存模
I1+I2+I31+I29+I30
天
天
180份/
1800份/服務器
客戶
I29+I30
天
天
I37+I38+I1+I2+I31+
20份/
200份/
塊 審理模
服務器
I29+I30
天
天
I37+I38+I1+I2+I31+
20份/
200份/客戶
塊
I31+I29+I30
天
天
審理模
I37+I38+I39+I1+I2+
200份/
2000份/
員
I24 票務人
服務器 I2+I25+I26+I27+I23+
天
天 服務器
客戶 客戶 來源
去向
I37+I38+I39+I40+I41+
1000份
服務器 I3+I4+I6+I7+I2+I13+
/天
I14+I8+I9+I11+I12 I3+I37+I38+I39+I18+
1000份
I19+I13+I21+I16+I17+
/天
I20+I44+I45 I37+I38+I1+I44+I45+
10份/
100份//天 10000份/天 10000份數據流
數據流
數據流組成
量
量
數據流
高峰流(4)處理邏輯如表6.4所示。
表6.4處理邏輯
處理邏輯處理
處理邏輯簡述 輸入的數據流
處理
輸出的數據流
編號 名稱
服務器向F1 訂票單,來P1.1 售票 客戶銷售源于客戶發出火車票 的訂票單據
F7 通過單,來服務器的錄入源于服務器退P2.2 火車票銷系統 票審理系統開售記錄
出的同意單據
附錄2 基本表的建立:
1.創建鐵路網上售票系統 create database RTSO
2.創建票存系統基本信息表: create table MemorySystem(Msno char(14)primary key, Msadd char(20)unique not null)
3.創建票務人員基本信息表: create table TicketStaff(Tsno char(14)primary key, Tsname char(10)not null, Tsadd char(20)not null)
根據客戶訂單信
息,向客戶開出售
票單銷售火車票并
進行登記記錄
根據通過單將退票
信息錄入系統以作
記錄
F2 售票單,向客戶售票發
出的售票單據;S1 票存系
統、S2 流水賬,每次售票
都要有詳細記錄 S1 票存系統、S2 流水賬,每次退票都要有詳細記錄
頻率
1000
次/
天
180
次/天
4.創建客戶基本信息表: create table Customer(Cno char(20)primary key, Cname char(10)not null, Ccano char(20), Cphone char(12)not null, Cadd char(30)not null, Cid char(14)not null, Cpwd char(20)not null, Tsno char(14)not null, foreign key(Tsno)references TicketStaff(Tsno))
5.創建訂票單基本信息表: create table Book(Bno char(14)primary key, Bdate datetime not null, Btime datetime not null, Bqua int check(Bqua>0 and Bqua<51)not null, Bpou int not null, Cno char(20)not null, foreign key(Cno)references Customer(Cno))
6.創建車票基本信息表: create table Ticket(Tno char(60)primary key, Tprice int not null,Trainno char(8)not null, Tstype char(8)not null, Tpno char(8)not null, Tsta char(20)not null, Tdes char(20)not null, Tstatime datetime not null, Tdestime datetime not null, Bno char(14)not null, Dno char(14), foreign key(Bno)references Book(Bno), foreign key(Dno)references Dishonour(Dno))
7.創建售票記錄基本信息表: create table Record(Tno char(60)not null, Rsty char(6)not null, Msno char(14)not null, Rdate datetime not null, Rtime datetime not null, Ramo int check(Ramo<100001)not null, primary key(Tno,Rsty), foreign key(Tno)references Ticket(Tno), foreign key(Msno)references MemorySystem(Msno))附錄3
導入數據
use RTSO
--向表中導入數據
insert into MemorySystem(Msno, Msadd)values('001','海口火車站')insert into MemorySystem(Msno, Msadd)values('003','三亞火車站')
select*from MemorySystem
insert into TicketStaff(Tsno,Tsname,Tsadd)values('112','李一','海口火車站')insert into TicketStaff(Tsno,Tsname,Tsadd)values('115','李二','三亞火車站')
insert into Customer(Cno,Cname, Ccano,Cphone,Cadd,Cid,Cpwd,Tsno)
values('***900 ','陶羽愛','***8923','***','海甸島三西路','asdf123','123456','112')insert into Customer(Cno,Cname, Ccano,Cphone,Cadd,Cid,Cpwd,Tsno)values('***270 ','單康楓','***7245','***','廣州
','qwer321','123456','115')
數據查詢
use RTSO--從TicketStaff中查詢員工號為的信息
select *from TicketStaff where Tsno='112'
刪除數據
use RTSO
--從Customer中刪除姓名為‘陶羽愛’的所有信息 delete from Customer where Cname='陶羽愛'