




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
..-..-可修遍-長沙學院課程設計說明書題目火車票預定管理系統(tǒng)系(部)數(shù)學與計算機科學系專業(yè)(班級)學號指導教師起止日期—05.27..課程設計任務書課程名稱:數(shù)據(jù)庫系統(tǒng)原理課程設計題目:火車票預訂管理系統(tǒng)1、某鐵路局火車票預訂管理系統(tǒng)需要如下信息:車次信息:車次編號、出發(fā)地、目的地、出發(fā)時間、到站時間、火車類型、里程數(shù),座位數(shù)等。車票信息:座位號、價格、當前預售狀態(tài)、座位類型等??蛻簦?、聯(lián)系、等。業(yè)務員:、工號。其業(yè)務規(guī)那么描述如下:一個客戶可以預訂〔退訂〕多火車票,但一火車票只能被一個客戶預訂〔退訂〕;一個業(yè)務員能銷售多車票,但一車票只被一個業(yè)務員銷售。一輛列車包含多車票,但一車票只屬于一輛列車。2、系統(tǒng)功能的根本要求:按照一定條件查詢、統(tǒng)計符合條件的火車、車票、客戶信息等。例如火車車次查詢、時刻表查詢、剩余座位數(shù)、同一路線可選火車信息、客戶購置歷史等,能夠在車票售出時更新可用火車票數(shù),模擬完成火車票訂票、退訂業(yè)務。各階段具體要求:1、需求分析階段定義數(shù)據(jù)項的含義和取值定義目標系統(tǒng)的數(shù)據(jù)流2、概念構(gòu)造設計階段畫出實體模型E-R圖3、邏輯構(gòu)造設計階段將實體模型轉(zhuǎn)化為關系模型給出每個關系的主關鍵字和函數(shù)依賴集分析你所設計的關系數(shù)據(jù)庫模式是否屬于3NF4、物理設計階段確定所有字段的名稱、類型、寬度、小數(shù)位數(shù)及完整性約束確定數(shù)據(jù)庫及表的名稱及其組成確定索引文件和索引關鍵字5、數(shù)據(jù)庫平安及維護設計階段設計一個適合的數(shù)據(jù)庫平安策略〔用戶身份認證、訪問權限、視圖〕為了實現(xiàn)復雜的數(shù)據(jù)完整性約束,設計適當?shù)挠|發(fā)器設計一個適合的數(shù)據(jù)庫備份策略6、實施階段要求所有操作必須在查詢分析器中用SQL語句或系統(tǒng)存儲過程完成。對于學有余力的同學,可以使用嵌入式SQL語句結(jié)合高級語言開發(fā)完成。設計工作量:〔1〕軟件設計:完成問題述中所提到的所有需求功能?!?〕論文:要求撰寫不少于3000個文字的電子文檔,詳細說明各階段具體要求。工作方案:安排兩周時間進展課程設計,軟件開發(fā)步驟如下,第一周完成1~4,第二周完成5~8,論文同步進展;1) 選定題目2) 需求分析3) 概念構(gòu)造設計4) 邏輯構(gòu)造設計5) 物理設計6) 數(shù)據(jù)庫平安及維護設計7) 數(shù)據(jù)庫上機實現(xiàn)8) 辯論方案時間指導教師班級13~14周怡、卓琳13軟件1班13~14周怡、卓琳13軟件2班13~14周欣、黃彩霞13軟件3班13~14周欣、黃彩霞13軟件4班13~14周剛、鋼欽13軟件5班13~14周剛、鋼欽13軟件6班考前須知提交電子文檔學院課程設計任務書 〔每學生1份〕學院課程設計論文 〔每學生1份〕學院課程設計鑒定表 〔每學生1份〕指導教師簽名:日期:教研室主任簽名:日期:系主任簽名:日期:學院課程設計鑒定表學號專業(yè)軟件工程班級設計題目火車票預訂管理系統(tǒng)指導教師指導教師意見:評定等級:教師簽名:日期:辯論小組意見:評定等級:辯論小組長簽名:日期:教研室意見:教研室主任簽名:日期:系〔部〕意見:系主任簽名:日期:說明課程設計成績分"優(yōu)秀〞、"良好〞、"及格〞、"不及格〞四類;目錄一、引言11.1編寫目的11.2參考資料1二、需求規(guī)約22.1業(yè)務描述2經(jīng)濟可行性2技術可行性2操作可行性22.1.4業(yè)務流程圖2系統(tǒng)框架42.2需求分析7功能需求7數(shù)據(jù)需求8性能需求8三、數(shù)據(jù)庫環(huán)境說明9四、數(shù)據(jù)庫的命名規(guī)那么94.1數(shù)據(jù)庫對象命名規(guī)那么94.2數(shù)據(jù)項編碼規(guī)那么9五、邏輯設計10六、物理設計116.1表匯總116.2表的根本信息126.3視圖的設計156.4存儲過程、函數(shù)及觸發(fā)器的設計16七、平安性設計237.1防止用戶直接操作數(shù)據(jù)庫的方法237.2用戶密碼的加密方法247.3角色與權限24八、數(shù)據(jù)庫管理與維護說明24一、引言編寫目的隨著時代的開展,計算機軟件和系統(tǒng)的成熟,火車票的正當管理成為一個影響鐵路部門正常運營的因素之一,而建立火車票訂票管理系統(tǒng)是一個很好的解決方法。作為計算機應用的一局部,使用計算機對火車票信息進展管理,具有手工管理所無法比較的優(yōu)點,例如檢索迅速、查找方便、可靠性高、存儲量大、性好等,這些優(yōu)點能夠極大的提高火車票信息管理的效率,也正表達了火車票的科學化正規(guī)化管理現(xiàn)在隨著社會的開展,數(shù)據(jù)量急劇增長,現(xiàn)在人們就借助計算機和數(shù)據(jù)庫技術科學的保存大量的數(shù)據(jù),以便能更好的利用這些數(shù)據(jù)資源。本論文就是通過SQL的整體設計把數(shù)據(jù)庫與應用程序相連接,做成一個火車票的訂票管理系統(tǒng),使得火車票管理員能夠有效的管理車次信息、旅客信息、退票信息等。同時用戶可以通過查詢到相關的火車票信息,選擇是否適合自己,也可以在網(wǎng)上直接訂票、退票,省時省力。參考資料資料名稱作者文件編號、版本"數(shù)據(jù)庫系統(tǒng)概論"王珊、薩師煊2006年5月第4版"現(xiàn)代軟件工程"涌2003年8月第1-246版"精通SQLserver2000數(shù)據(jù)庫管理與開發(fā)"于松濤2003年10月需求規(guī)約業(yè)務描述該階段通過對系統(tǒng)目標的初步調(diào)研和分析,提出可行性方案并進展論證。我們在這里主要從技術可行性、經(jīng)濟可行性和操作可行性三方面進展分析。2.1.1經(jīng)濟可行性本系統(tǒng)其他應用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)本錢較低。而引進使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低本錢、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。技術可行性開發(fā)工具:VS2005數(shù)據(jù)庫環(huán)境:SQLServer2008系統(tǒng)環(huán)境:MicrosoftWindows2000或以上版本。系統(tǒng)實現(xiàn)依靠相對熟悉的c語言和SQLServer2008數(shù)據(jù)庫系統(tǒng),其根本操作實質(zhì)還是對數(shù)據(jù)庫進展添加、刪除、查找等操作。操作可行性系統(tǒng)采用菜單式,實現(xiàn)用戶與數(shù)據(jù)庫的交互,界面簡潔友好,操作方便。2.1.4業(yè)務流程圖經(jīng)過可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)業(yè)務流程圖,結(jié)合該實例具體情況,給出旅客信息、訂票信息和取票通知的具體需求。去火車站購票去火車站購票售票處核查相關信息去售票處購票打印火車票確認列車車次檢查個人身份圖2.1旅客購票流程圖⑴調(diào)查用戶需求①售票處需求功能:旅客持個人證件去火車站購置火車票。希望能通過旅客查到該旅客的列車車次并記錄旅客根本信息。統(tǒng)計功能:按火車票統(tǒng)計買票人數(shù)按統(tǒng)計火車票數(shù)②旅客購票需求交費功能:交費退費③取票需求通知功能:通知旅客取票統(tǒng)計功能:統(tǒng)計通過驗證的人數(shù)統(tǒng)計可以取票的人統(tǒng)計未通過驗證的人數(shù)查詢功能:購票旅客查詢購票旅客購票旅客號購票旅客訂單號④列車車次信息需求查詢功能:車次始發(fā)站終點站始發(fā)時間2.1.5系統(tǒng)框架在調(diào)查完了用戶需求之后,就要開場分析用戶需求。在此,我們們采用自頂向下的構(gòu)造化分析方法〔SA方法〕。首先,定義全局概念構(gòu)造的框架,如圖2.2所示?;疖嚻庇喥毕到y(tǒng)火車票訂票系統(tǒng)旅客信息系統(tǒng)退票信息系統(tǒng)取票通知系統(tǒng)列車車次信息系統(tǒng)圖2.2火車票預定系統(tǒng)總框架圖各子系統(tǒng)需要進一步細化。旅客信息系統(tǒng)為例進一步細化,如圖2.3所示。旅客信息系統(tǒng)旅客信息系統(tǒng)查詢旅客信息統(tǒng)計人數(shù)圖2.3旅客信息系統(tǒng)細化以其中的查詢旅客信息功能為例進一步細化,如圖2.4所示。查詢旅客信息查詢旅客信息旅客訂單號XX號旅客號旅客XX圖2.4查詢旅客信息功能列車車次信息系統(tǒng)列車車次信息系統(tǒng)列車車次號始發(fā)時間終點站始發(fā)站圖2.5列車車次信息系統(tǒng)細化取票通知系統(tǒng)取票通知系統(tǒng)火車票信息系統(tǒng)旅客信息系統(tǒng)圖2.6取票通知系統(tǒng)細化旅客信息系統(tǒng)旅客信息系統(tǒng)取票時間旅客XX圖2.7旅客信息系統(tǒng)能查詢到的容火車票信息系統(tǒng)火車票類型座位號火車票信息系統(tǒng)火車票類型座位號列車車次圖2.8火車票信息系統(tǒng)能查詢到的容退票信息系統(tǒng)退票信息系統(tǒng)訂單號XX號旅客旅客XX圖2.9退票信息系統(tǒng)細化將所有子系統(tǒng)全部細化。將所有用戶需求分析完畢之后,就要開場構(gòu)造數(shù)據(jù)字典了。經(jīng)分析之后,本系統(tǒng)要用到五個根本表:退票信息表,旅客信息表,列車車次信息表,取票通知信息系統(tǒng),列車座位信息表。數(shù)據(jù)構(gòu)造定義如表2.1所示。表2.1數(shù)據(jù)構(gòu)造定義數(shù)據(jù)構(gòu)造名含義說明組成退票信息定義了退票旅客的有關信息旅客,號,訂單號,號旅客定義了旅客有關信息旅客,號,性別,工作單位,號列車車次信息表定義了車次的有關信息車次號,始發(fā)地,目的地,始發(fā)時間取票通知單定義了取票通知相關有關信息旅客,取票時間,列車車次,座位號,火車票類型列車座位信息表定義了列車座位有關信息列車號,座位號,座位信息,火車票類型2.2需求分析需求分析是軟件設計的一個重要的環(huán)節(jié)。本階段對訂票系統(tǒng)的應用情況作全面調(diào)查,以確定系統(tǒng)目標,并對系統(tǒng)所需要的根底數(shù)據(jù)以及數(shù)據(jù)處理要求進展分析,從而確定用戶的需求。用戶對系統(tǒng)的需求我們從以下幾方面進展分析。功能需求本網(wǎng)上訂票系統(tǒng)應該具備如下功能:1.查詢分為對車次信息的查詢和客戶對已訂車票信息的查詢。要求:1〕對車次的查詢,可以按照發(fā)車車次進展查詢;2〕車次信息包括:車號、出發(fā)地、目的地、發(fā)車日期、開出時刻、票價。3〕座位類型設定。2.訂票通過查詢系統(tǒng),客戶根據(jù)自己的需求找到滿意的車次,再輸入個人信息后直接通過網(wǎng)上訂票確定已預訂選中的車票。要求:訂票記錄應包括:會員名、車號、發(fā)車日期、訂購日期、訂購票數(shù)、總價。3.退票可退票,通過查詢系統(tǒng),客戶可以自己的名字找到自己的訂票信息,通過退票模塊退去已購車票。數(shù)據(jù)需求信息需求,即在系統(tǒng)中需要處理哪些數(shù)據(jù)。根據(jù)對火車站網(wǎng)上訂票系統(tǒng)的分析,本系統(tǒng)的信息需求如表2-1所示。表2-1信息輸入輸出信息輸入信息處理信息輸出用戶輸入所需車次檢索系統(tǒng)數(shù)據(jù)庫符合用戶需求的車次及相關信息用戶輸入個人信息及所需訂購的車票信息更新系統(tǒng)中的訂票信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反應〔如訂票成功〕用戶輸入自己的名字、身份證號;或交易的訂單號檢索系統(tǒng)數(shù)據(jù)庫符合用戶需求的訂票信息用戶輸入自己的名字檢索系統(tǒng)數(shù)據(jù)庫以得到訂票記錄,刪除用戶請求的訂票記錄,更新系統(tǒng)數(shù)據(jù)庫操作反應〔如退票成功等〕性能需求為了保證系統(tǒng)能夠長期、平安、穩(wěn)定、可靠、高效的運行,本系統(tǒng)應該滿足以下的性能需求。1.準確性和及時性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。系統(tǒng)應能及時而且準確的根據(jù)用戶權限及所輸入的信息做出響應。由于本系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票的數(shù)量和時間又影響用戶的決策活動,其準確性和及時性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性和及時性。2.易用性本系統(tǒng)是直接面對用戶的,而用戶往往對計算機并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面,從而保證系統(tǒng)的易用性。3.平安性網(wǎng)上訂票系統(tǒng)中涉及到的數(shù)據(jù)是客運公司相當重要的信息,系統(tǒng)要保證用戶的權限,對于車次等信息用戶只享有查詢效勞,不得更改;系統(tǒng)還要提供方便的手段供系統(tǒng)維護人員進展數(shù)據(jù)備份、日常平安管理、以及系統(tǒng)意外崩潰時數(shù)據(jù)的恢復等工作。同時系統(tǒng)還要保證對數(shù)據(jù)庫進展及時更新,保證數(shù)據(jù)一致性。數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫實例數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫部署環(huán)境數(shù)據(jù)庫設計工具數(shù)據(jù)庫存放位置說明火車票訂票管理SQLServer2008Window7SQLServer存放位置,絕對路徑/相對路徑D:/Program完整的車票管理流程四、數(shù)據(jù)庫的命名規(guī)那么4.1數(shù)據(jù)庫對象命名規(guī)那么數(shù)據(jù)庫對象命名規(guī)那么備注表Tbl_功能描述字符串例如:Checi車次信息表視圖View_功能描述字符串例如:Checi車次信息視圖存儲過程Procedure_功能描述字符串例如:[dbo].[kh]存儲過程觸發(fā)器Insert_功能描述字符串例如:Insert_Or_Update_Sal_1更改庫數(shù)據(jù)庫4.2數(shù)據(jù)項編碼規(guī)那么數(shù)據(jù)項命名規(guī)那么數(shù)據(jù)類型長度圍備注C_ci(G/K/T/D)+varchar10位車次號T_seat1-800int10位座位號C_goTime年—月—日+時:分:秒varchar10位出發(fā)時間C_fanhuiadd地名varchar10位目的地K_name名字varchar10位客戶Y_name名字varchar10位業(yè)務員K_id數(shù)字varchar16位Y_tel數(shù)字varchar11位T_price數(shù)字float10位車票價格T_type一等座/二等座varchar10位座位類型五、邏輯設計關系模式:車次信息〔車次編號、出發(fā)地、目的地、出發(fā)時間、到站時間、火車類型、里程數(shù),座位數(shù)〕車票信息〔座位號、價格、當前預售狀態(tài)、座位類型〕客戶〔、聯(lián)系、〕業(yè)務員〔、工號〕關系圖:售票當前銷售狀態(tài)包含XX 業(yè)務員工號價格客戶車票信息座位類型座位號里程數(shù)火車類型座位數(shù)到站時間出發(fā)時間出發(fā)地車次編號車次信息XX()XX售票當前銷售狀態(tài)包含XX 業(yè)務員工號價格客戶車票信息座位類型座位號里程數(shù)火車類型座位數(shù)到站時間出發(fā)時間出發(fā)地車次編號車次信息XX()XX主鍵主鍵1訂票/退票訂票/退票主鍵n1nn1主鍵圖5.1系統(tǒng)總體構(gòu)造E-R圖圖5.2邏輯關系圖六、物理設計6.1表匯總表名功能說明車次表存儲車次的相關信息及其數(shù)據(jù)類型以及相關的約束車票信息表存儲車票的相關信息及其數(shù)據(jù)類型以及相關的約束客戶表存儲客戶的相關信息及其數(shù)據(jù)類型以及相關的約束業(yè)務員表存儲業(yè)務員的相關信息及其數(shù)據(jù)類型以及相關的約束6.2表的根本信息車次信息表表名車次信息表數(shù)據(jù)庫用戶主鍵車次號其他排序字段無索引字段車次號序號字段名稱數(shù)據(jù)類型〔精度圍〕允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1t_noVARCHAR(10)NY高車次號/主鍵2t_departureVARCHAR(10)NN中出發(fā)地3t_destinationVARCHAR(10)NN中目的地4t_goTimeDATETIMENN中出發(fā)時間5t_returnTimeDATETIMENN中到站時間6t_trainTypeVARCHAR(10)YN低火車類型7mileageNumberINTNN低里程數(shù)8seatNumberINTNN低座位數(shù)sql腳本CREATETABLEtrain_number(t_noVARCHAR(10)PRIMARYKEY,--車次編號〔主鍵〕t_departureVARCHAR(10)NOTNULL,--出發(fā)地t_destinationVARCHAR(10)NOTNULL,--目的地t_goTimeDATETIMENOTNULL,--出發(fā)時間t_returnTimeDATETIMENOTNULL,--到站時間t_trainTypeVARCHAR(10)CHECK(t_trainTypeIN('高鐵','普快','特快','動車')),--火車類型t_mileageNumberINTNOTNULL,--里程數(shù)t_seatNumberINTNOTNULL--座位數(shù))備注車票信息表表名車票信息表數(shù)據(jù)庫用戶主鍵車次編號其他排序字段無索引字段車次編號序號字段名稱數(shù)據(jù)類型〔精度圍〕允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1t_noVARCHAR(10)NY高車次編號/主鍵2ti_seatNoVARCHAR(10)NN中座位號3ti_seatPriceFLOAT(2)NN中車票價格4ti_saleStatusVARCHAR(10)NN中銷售狀態(tài)5ti_seatTypeVARCHAR(10)NN中座位類型sql腳本CREATETABLEtrain_ticket(t_noVARCHAR(10),--車次編號ti_seatNoVARCHAR(10),--座位號ti_seatPriceFLOAT(2)NOTNULL,--車票價格ti_saleStatusVARCHAR(10)CHECK(ti_saleStatusIN('待售','已售')),--銷售狀態(tài)ti_seatTypeVARCHAR(10)CHECK(ti_seatTypeIN('一等座','二等座','三等座')),--座位類型PRIMARYKEY(ti_seatNo,t_no),--主鍵約束FOREIGNKEY(t_no)REFERENCEStrain_number(t_no)--外鍵約束備注客戶信息表表名客戶信息表數(shù)據(jù)庫用戶主鍵其他排序字段無索引字段序號字段名稱數(shù)據(jù)類型〔精度圍〕允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1u_IDVARCHAR(20)NY高/主鍵2u_nameVARCHAR(10)NN中3u_telephoneVARCHAR(10)NN中sql腳本CREATETABLEUsers(u_IDVARCHAR(20)PRIMARYKEY,--u_nameVARCHAR(10)NOTNULL,--u_telphoneVARCHAR(10)NOTNULL,--t_noVARCHAR(10)NOTNULL,--車次號ti_seatNoVARCHAR(10)NOTNULL,--座位號FOREIGNKEY(ti_seatNo,t_no)REFERENCEStrain_ticket(ti_seatNo,t_no)--外鍵約束--FOREIGNKEY()REFERENCEStrain_ticket()--外鍵約束備注業(yè)務員信息表表名業(yè)務員信息表數(shù)據(jù)庫用戶主鍵編號其他排序字段無索引字段編號序號字段名稱數(shù)據(jù)類型〔精度圍〕允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1s_noVARCHAR(20)NY高編號/主鍵2s_nameVARCHAR(20)NN中業(yè)務員sql腳本CREATETABLEsaleMan(s_noVARCHAR(20)PRIMARYKEY,--主鍵約束s_nameVARCHAR(20)NOTNULL,--業(yè)務員ti_seatNoVARCHAR(10)NOTNULL,--座位號t_noVARCHAR(10)NOTNULL,--座位號FOREIGNKEY(ti_seatNo,t_no)REFERENCEStrain_ticket(ti_seatNo,t_no)--外鍵約束)備注6.3視圖的設計圖6.3.1車票信息視圖圖6.3.1售票信息視圖6.4存儲過程、函數(shù)及觸發(fā)器的設計觸發(fā)器1:修正票價和票價對應的座位類型[insert_or_upadte_sal_2]USE[火車票]GO/******Object:Trigger[dbo].[insert_or_upadte_sal_2]ScriptDate:05/28/201606:22:30******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERtrigger[dbo].[insert_or_upadte_sal_2]on[dbo].[Che_ticket]forinsertasbeginDECLAREti_seatNoVARCHAR(10),ti_seatPriceFLOAT(2),ti_seatTypeVARCHAR(10),t_novarchar(10)SELECTti_seatNo=T_seat,ti_seatPrice=T_price,ti_seatType=T_type,t_no=C_ciFROMinsertedIF(ti_seatNoLIKE'A%')UPDATEChe_ticketSETT_price=200IF(ti_seatNoLIKE'A%')UPDATEChe_ticketSETT_price='一等座'IF(ti_seatNoLIKE'B%')UPDATEChe_ticketSETT_price=100IF(ti_seatNoLIKE'B%')UPDATEChe_ticketSETT_price='二等座'IF(ti_seatNoLIKE'A%'ANDt_noLIKE'G-%')UPDATEChe_ticketSETT_price=900WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'B%'ANDt_noLIKE'G-%')UPDATEChe_ticketSETT_price=600WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'C%'ANDt_noLIKE'G-%')UPDATEChe_ticketSETT_price=300WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'A%'ANDt_noLIKE'K-%')--K是普快UPDATEChe_ticketSETT_price=400WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'B%'ANDt_noLIKE'K-%')UPDATEChe_ticketSETT_price=200WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'C%'ANDt_noLIKE'K-%')UPDATEChe_ticketSETT_price=100WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'A%'ANDt_noLIKE'T-%')UPDATEChe_ticketSETT_price=600WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'B%'ANDt_noLIKE'T-%')UPDATEChe_ticketSETT_price=400WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'C%'ANDt_noLIKE'T-%')UPDATEChe_ticketSETT_price=200WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'A%'ANDt_noLIKE'D-%')UPDATEChe_ticketSETT_price=900WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'B%'ANDt_noLIKE'D-%')UPDATEChe_ticketSETT_price=600WHEREti_seatNo=T_seatANDt_no=C_ciIF(ti_seatNoLIKE'C%'ANDt_noLIKE'D-%')UPDATEChe_ticketSETT_price=300WHEREti_seatNo=T_seatANDt_no=C_ciend圖213215觸發(fā)器2:火車類型和對應的座位數(shù)剩余[Insert_Or_Update_Sal_1]USE[火車票]GO/******Object:Trigger[dbo].[Insert_Or_Update_Sal_1]ScriptDate:05/28/201607:11:02******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[Insert_Or_Update_Sal_1]ON[dbo].[Checi]FORINSERTASDECLAREt_noVARCHAR(10),t_seatNumberINT,t_trainTypeVARCHAR(10)SELECTt_no=C_ci,t_seatNumber=C_seatNumber,t_trainType=C_typeFROMinserted--第一局部IF(t_noLIKE'G-%')UPDATECheciSETC_type='高鐵',C_seatNumber=200WHEREt_no=C_ciIF(t_noLIKE'T-%')UPDATECheciSETC_type='特快',C_seatNumber=200WHEREt_no=C_ciIF(t_noLIKE'D-%')UPDATECheciSETC_type='動車',C_seatNumber=300WHEREt_no=C_ciIF(t_noLIKE'K-%')UPDATECheciSETC_type='普快',C_seatNumber=400WHEREt_no=C_ci存儲過程1:客戶買票USE[火車票]GO/******Object:StoredProcedure[dbo].[kh]ScriptDate:05/28/201607:12:03******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[kh]K_idVARCHAR(20),K_nameVARCHAR(10),K_telVARCHAR(10),C_ciVARCHAR(10),T_seatVARCHAR(10)ASIFC_ciISNULLBEGINROLLBACK;RETURN;ENDIFT_seatISNULLBEGINROLLBACK;RETURN;ENDIFK_idISNULLBEGINROLLBACK;RETURN;ENDIFK_nameISNULLBEGINROLLBACK;RETURN;ENDIFK_telISNULLBEGINROLLBACK;RETURN;ENDELSEBEGINUPDATEChe_ticketSETT_sale='已售'WHEREC_ci=C_ciANDT_seat=T_seatUPDATECheciSETC_seatNumber=C_seatNumber-1WHEREC_ci=C_ciINSERTINTOKehu(K_id,K_name,K_tel,T_seat,C_ci)VALUES(K_id,K_name,K_tel,T_seat,C_ci)DELETEFROMYewuyuanWHEREC_ci=C_ciANDT_seat=T_seatPRINT'買票成功!'END圖6.4.1存儲過程買票的實現(xiàn)存儲過程2:業(yè)務員退票USE[火車票]GO/******Object:StoredProcedure[dbo].[ywy]ScriptDate:05/28/201607:33:15******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[ywy]y_idvarchar(10),y_namevarchar(10),C_civarchar(10),T_seatvarchar(10),Y_telvarchar(10)asify_nameisnullbeginrollback;return;endifc_ciisnullbeginrollback;return;endify_idisnullbeginrollback;return;endifT_seatisnullbeginrollback;return;endelsebeginupdateChecisetT_sale='待售'whereC_ci=C_ciandT_seat=T_seatupdateChecisetC_seatNumber=C_seatNumber+1whereC_ci=C_ciandC_seatNumber<1000deletefromKehuwhereC_ci=C_ciandT_seat=T_seatinsertintoYewuyuan(Y_id,Y_name,Y_tel,T_seat,C_ci)values(Y_id,Y_name,Y_tel,T_seat,C_ci)print'退票成功'end圖6.4.1存儲過程退票的實現(xiàn)存儲過程:查票信息USE[火車票]GO/******Object:StoredProcedure[dbo].[piao]ScriptDate:05/27/201608:47:29******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[piao]C_goTi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信托與綠色交通基礎設施建設考核試卷
- 體育競賽活動安保措施與實施細節(jié)考核試卷
- 印刷企業(yè)綠色印刷技術發(fā)展趨勢分析考核試卷
- 室內(nèi)模擬賽車與駕駛模擬器設備出租考核試卷
- 整車制造的工藝技術創(chuàng)新考核試卷
- 家庭插花培訓課件
- 借款附加資產(chǎn)合同范本
- 購房合同范本年
- 勞務人工合同范本
- 樓層拆除工程合同范本
- 比較政治制度導論
- 農(nóng)村土地承包調(diào)解仲裁與仲裁庭審技巧課件
- 介入放射學全套教程
- 人教版政治七年級下冊全套課件
- 口語教程4整套課件完整版教學教程最全電子講義教案
- 高壓氧艙課件
- 加德納多元智能測評量表【復制】
- 譯林英語四年級下冊4B各單元教學反思
- 國家電網(wǎng)有限公司十八項電網(wǎng)重大反事故措施(修訂版)
- 環(huán)氧乙烷固定床反應器課程設計
- 班、團、隊一體化建設實施方案
評論
0/150
提交評論