版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)上訂票管理系統(tǒng)問(wèn)題描述網(wǎng)上訂票管理系統(tǒng)是在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)飛機(jī)的訂票業(yè)務(wù)的管理系統(tǒng)。系統(tǒng)改變了傳統(tǒng)的手工訂票、送票、柜臺(tái)支付方式,具有廣泛的實(shí)用性。網(wǎng)上訂票系統(tǒng)的總目標(biāo)是:在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫(kù)和先進(jìn)的開(kāi)發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開(kāi)發(fā)一個(gè)具有開(kāi)放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的網(wǎng)上訂票系統(tǒng)。該系統(tǒng)是為機(jī)場(chǎng)、航空公司和客戶(hù)提供訂票退票等與機(jī)票相關(guān)容的管理系統(tǒng),方便機(jī)場(chǎng)工作人員對(duì)機(jī)票的管理,以提高機(jī)場(chǎng)工作人員對(duì)機(jī)票管理工作的效率。當(dāng)前飛機(jī)訂票問(wèn)題:手工訂票所產(chǎn)生的客座率低。而我們的目標(biāo)是:建立一個(gè)網(wǎng)上飛機(jī)訂票系統(tǒng)數(shù)據(jù)庫(kù)。航空公司提供航線(xiàn)和飛機(jī)的資料,機(jī)場(chǎng)則對(duì)在本機(jī)場(chǎng)起飛和降落的航班和機(jī)票進(jìn)行管理,而客戶(hù)能得到的服務(wù)應(yīng)該有查詢(xún)航班航線(xiàn)、班次、票價(jià)和剩余票數(shù)以及網(wǎng)上訂票功能。需求分析功能性需求用戶(hù)類(lèi)功能性需求航空公司1) 增加航線(xiàn)2) 修改航線(xiàn)3) 刪除航線(xiàn)4) 修改公司信息機(jī)場(chǎng)1) 根據(jù)航空公司提供的航線(xiàn),安排航班以及航班的機(jī)票2) 如果出現(xiàn)晚點(diǎn)等情況,要記錄并發(fā)送信息3) 管理航空公司提供的航線(xiàn)和飛機(jī)(座位數(shù))資料中所提供的相關(guān)數(shù)據(jù)4) 管理航班機(jī)票5) 管理客戶(hù)資料客戶(hù)1) 注冊(cè)2) 查詢(xún)航班3) 查詢(xún)余票和票價(jià)非功能性需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,網(wǎng)上訂票系統(tǒng)應(yīng)該滿(mǎn)足以下的性能需求:系統(tǒng)處理的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿(mǎn)足企業(yè)對(duì)信息處理的需求。由于網(wǎng)上訂票管理系統(tǒng)的查詢(xún)功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,而機(jī)票數(shù)量和時(shí)間又影響企業(yè)的決策活動(dòng),其準(zhǔn)確性很大程度上決定了網(wǎng)上訂票管理系統(tǒng)的成敗。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性網(wǎng)上訂票管理系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶(hù)查詢(xún)的需求會(huì)不斷的更新和完善。這些都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過(guò)系統(tǒng)的開(kāi)放性來(lái)完成,既系統(tǒng)應(yīng)是一個(gè)開(kāi)放系統(tǒng),只要符合一定的規(guī),可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過(guò)軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。系統(tǒng)的易用性和易維護(hù)性網(wǎng)上訂票管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶(hù)接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶(hù)熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶(hù)可能出現(xiàn)的使用問(wèn)題,要提供足夠的在線(xiàn)幫助,縮短用戶(hù)對(duì)系統(tǒng)熟悉的過(guò)程。網(wǎng)上訂票管理系統(tǒng)中涉及到的數(shù)據(jù)是航空公司和機(jī)場(chǎng)的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。2.1.4系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)使用過(guò)程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。同時(shí),在自主開(kāi)發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī),保證代碼的易讀性、可操作性和可移植性。2.1.5系統(tǒng)的先進(jìn)性目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,作為網(wǎng)上訂票管理系統(tǒng)工程,應(yīng)該保證系統(tǒng)在相當(dāng)長(zhǎng)的時(shí)間仍舊是先進(jìn)的,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過(guò)系統(tǒng)的開(kāi)放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的過(guò)程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。2.1.6系統(tǒng)的響應(yīng)速度網(wǎng)上訂票管理系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí)以及時(shí)反饋信息。根據(jù)所需數(shù)據(jù)量的不同而從秒級(jí)到分鐘級(jí),原則是保證操作人員不會(huì)因?yàn)樗俣葐?wèn)題而影響工作效率。2.3數(shù)據(jù)需求2.3.1頂層數(shù)據(jù)流圖2.3.20層數(shù)據(jù)流圖概念設(shè)計(jì)3.1局部視圖設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的第一步就是對(duì)需求分析階段收集到的數(shù)據(jù)按照E-R模型的要求進(jìn)行分類(lèi)、組織,形成實(shí)體、實(shí)體的屬性,標(biāo)識(shí)試題的碼,確定實(shí)體之間的聯(lián)系類(lèi)型(1:1?1n?m:n?),設(shè)計(jì)分E-R圖。3.1.1將航空公司提供資料部分提取出來(lái),如下圖所示:航線(xiàn)信息對(duì)每個(gè)實(shí)體的屬性定義如下:航空公司{編號(hào),名稱(chēng),地址,聯(lián)系方式}飛機(jī){編號(hào),型號(hào),座位數(shù)}航線(xiàn){起點(diǎn),終點(diǎn),編號(hào)}3.1.2將機(jī)場(chǎng)安排航班部分提取出來(lái),如下圖所示經(jīng)分析之后得到的分E-R圖如下所示:航線(xiàn)信息航線(xiàn)信息航線(xiàn)信息求查詢(xún)航線(xiàn)信息航線(xiàn)機(jī)場(chǎng)查詢(xún)飛機(jī)信息請(qǐng)求信息航班信息航班信息班n航班信息飛機(jī)丿息、排查新飛機(jī)航班信息機(jī)場(chǎng)對(duì)每個(gè)實(shí)體的屬1性定義如下飛機(jī){編號(hào),型號(hào),座位數(shù)}航線(xiàn){起點(diǎn),終點(diǎn),編號(hào)}
將客戶(hù)的查詢(xún)部分提取出來(lái),如下圖所示:在數(shù)據(jù)流圖中的“客戶(hù)信息”都可以作為屬性來(lái)對(duì)待。對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:航班安排{編號(hào),時(shí)間,票價(jià)}客戶(hù){編號(hào),,性別,年齡,聯(lián)系方式}3.1.4將客戶(hù)的訂票、退票部分提取出來(lái),如下圖對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:訂票信息{編號(hào),票價(jià)}客戶(hù){編號(hào),,性別,年齡,聯(lián)系方式}視圖集成
3.2.1各子系統(tǒng)的分E-R圖設(shè)計(jì)好后,下一步就是將所有的分E-R圖綜合成一個(gè)系統(tǒng)的總E-R圖。則集成后的總E-R圖如下所示:提供nmm1訂票11退票航班安排飛機(jī)航線(xiàn)航空公司訂票信息客戶(hù)機(jī)場(chǎng)其中對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:提供nmm1訂票11退票航班安排飛機(jī)航線(xiàn)航空公司訂票信息客戶(hù)機(jī)場(chǎng)其中對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:航班安排{編號(hào),時(shí)間,票價(jià)}航空公司{編號(hào),名稱(chēng),地址,聯(lián)系方式}客戶(hù){編號(hào),,性別,年齡,聯(lián)系方式}飛機(jī){編號(hào),型號(hào),座位數(shù)}航線(xiàn){起點(diǎn),終點(diǎn),編號(hào)}訂票信息{編號(hào),票價(jià)}3.2.2再將屬性加到上頁(yè)所示的E-R圖上,最后得到的E-R圖如下所示:機(jī)場(chǎng)機(jī)場(chǎng)飛機(jī)航線(xiàn)飛機(jī)航線(xiàn)4邏輯設(shè)計(jì)概念結(jié)構(gòu)獨(dú)立于任何DBMS數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。4.1E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問(wèn)題是如何將實(shí)體和實(shí)體型間的聯(lián)系轉(zhuǎn)換成為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。E-R圖則是由實(shí)體型、實(shí)體型的屬性和實(shí)體之間的聯(lián)系3個(gè)要素組成的。所以將E-R圖轉(zhuǎn)換成關(guān)系模型實(shí)際上就是要將實(shí)體型、實(shí)體型的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換成一組關(guān)系模式。這種轉(zhuǎn)換一般遵循如下原則:(1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為該關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。(2)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。(3)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實(shí)體碼的組合。(4)3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實(shí)體碼的組合(5)具有相同碼的關(guān)系模式可合并。根據(jù)以上的原則,通過(guò)E/R模型到關(guān)系模型的轉(zhuǎn)化,可以得到如下關(guān)系模式:(1)“航空公司”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Airline(AID,Name,Addr,Cont)2)“客戶(hù)”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Customer(CID,Name,Sex,Age,Cont)“飛機(jī)”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Plane(PID,Type,SeatsNum,AID)此關(guān)系模式已包含了聯(lián)系“提供”“航線(xiàn)”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Line(LID,SPosition,EPosition,AID)此關(guān)系模式已包含了聯(lián)系“提供”“航班安排”聯(lián)系所對(duì)應(yīng)的關(guān)系模式:Flight(FID,PID,LID,Ftime,Price)“訂票信息”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:BookTicket(BID,FID,CID,Price)此關(guān)系模式已包含了聯(lián)系“訂票”和“退票”其中,以上的每個(gè)關(guān)系模式的鍵碼都用下劃線(xiàn)標(biāo)出,外鍵碼用斜體標(biāo)出。4.2數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。為了提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,還應(yīng)該根據(jù)應(yīng)用需要適當(dāng)?shù)男薷?、調(diào)整關(guān)系模式,這就是個(gè)數(shù)據(jù)模型的優(yōu)化。4.2.1確定數(shù)據(jù)依賴(lài):關(guān)系模式Airline(AID,Name,Addr,Cont)中的數(shù)據(jù)依賴(lài)AID->Name,AID->Name,AID->Addr,AID->Cont關(guān)系模式Customer(CID,Name,Sex,Age,Cont)中的數(shù)據(jù)依賴(lài)CID->Name,CID->Sex,CID->Age,CID->Cont關(guān)系模式Plane(PID,Type,SeatsNum,AID)中的數(shù)據(jù)依賴(lài)PID->Type,PID->SeatsNum,PID->AID關(guān)系模式Line(LID,SPosition,EPosition,AID)中的數(shù)據(jù)依賴(lài)LID->SPosition,LID->EPosition,LID->AID關(guān)系模式Flight(FID,PID,LID,Ftime.Price)中的數(shù)據(jù)依賴(lài)FID->PID,FID->LID,FID->Ftime,FID->Price關(guān)系模式BookTicket(BID,F(xiàn)ID,CID,Price)中的數(shù)據(jù)依賴(lài)BID->FID,BID->CID,BID->Pay4.2.2對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴(lài)進(jìn)行極小化處理,消除冗余的聯(lián)系。分析后可知,關(guān)系模式BookTicket(BID,FID,CID,Price)和關(guān)系模式Flight(FID,PID,LID,Ftime.Price)有Price的數(shù)據(jù)冗余,于是將關(guān)系模式BookTicket改成BookTicket(BID,F(xiàn)ID,CID)。修改后的各個(gè)關(guān)系模式均沒(méi)有冗余的聯(lián)系。按照規(guī)化理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴(lài)、傳遞函數(shù)依賴(lài)、多值依賴(lài)等,確定各關(guān)系模式分別屬于第幾式。由于以上的關(guān)系模式的主碼只有一個(gè),所以不會(huì)存在部分函數(shù)依賴(lài)。分析后可知也不存在傳遞依賴(lài)和多值依賴(lài),以上的各關(guān)系模式都是3NF。按照需求分析階段得到的信息要求和處理要求,分析這些模式是否滿(mǎn)足這些要求,確定是否要對(duì)某些模式進(jìn)行合并或分解。關(guān)系模式Airline(AID,Name,Addr,Cont)能滿(mǎn)足“修改公司信息"“增加航線(xiàn)”“修改航線(xiàn)”“刪除航線(xiàn)”功能。關(guān)系模式Customer(CID,Name,Sex,Age,Cont)能滿(mǎn)足“管理客戶(hù)資料"“修改個(gè)人信息”功能。關(guān)系模式Plane(PID,Type,SeatsNum,AID)能滿(mǎn)足“管理飛機(jī)(座位數(shù))資料中所提供的相關(guān)數(shù)據(jù)”功能。關(guān)系模式Line(LID,SPosition,EPosition,AID)能滿(mǎn)足“管理航空公司提供的航線(xiàn)”功能。關(guān)系模式Flight(FID,PID,LID,Ftime.Price)能滿(mǎn)足“根據(jù)航空公司提供的航線(xiàn),安排航班以及航班的機(jī)票”“如果出現(xiàn)晚點(diǎn)等情況,要記錄并發(fā)送信息”“管理航班機(jī)票”功能。關(guān)系模式BookTicket(BID,F(xiàn)ID,CID)能滿(mǎn)足“注冊(cè)”“登錄”“查詢(xún)航班”“查詢(xún)余票和票價(jià)”“預(yù)定機(jī)票”“退票”“注銷(xiāo)”4.3數(shù)據(jù)庫(kù)的模式定義數(shù)據(jù)庫(kù)需要表述的信息有以下幾種:航空公司信息客戶(hù)信息飛機(jī)信息航線(xiàn)信息航班信息訂票信息根據(jù)以上的關(guān)系模式可以建立如下的表:
4.3.1航空公司信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明AIDVarcharNotnull航空公司編號(hào)NameVarcharNotnull航空公司名稱(chēng)AddrVarchar航空公司地址ContVarchar航空公司聯(lián)系方式4.3.2客戶(hù)信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明CIDVarcharNotnull客戶(hù)編號(hào)NameVarcharNotnull客戶(hù)SexVarchar客戶(hù)性別AgeInt客戶(hù)年齡ContVarchar客戶(hù)聯(lián)系方式4.3.3飛機(jī)信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明PIDVarcharNotnull飛機(jī)編號(hào)TypeVarcharNotnull飛機(jī)型號(hào)SeatsNumVarcharNotnull飛機(jī)座位數(shù)AIDvarchar航空公司編號(hào)4.3.4航線(xiàn)信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明LIDVarcharNotnull航線(xiàn)編號(hào)SPositionVarcharNotnull航線(xiàn)起點(diǎn)EPositionVarcharNotnull航線(xiàn)終點(diǎn)AIDvarchar航空公司編號(hào)4.3.5航班安排信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明FIDVarcharNotnull航班編號(hào)PIDVarchar飛機(jī)編號(hào)LIDVarchar航線(xiàn)編號(hào)FtimeDatetimeNotnull航班時(shí)間PriceRealNotnull票價(jià)4.3.6訂票信息表列名數(shù)據(jù)類(lèi)型可否空說(shuō)明BIDVarcharNotnull機(jī)票編號(hào)FIDVarchar航班編號(hào)CIDVarchar客戶(hù)編號(hào)5物理設(shè)計(jì)數(shù)據(jù)庫(kù)在實(shí)際物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法成為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。對(duì)于設(shè)計(jì)好的邏輯數(shù)據(jù)模型選擇一個(gè)符合應(yīng)用要求的物理結(jié)構(gòu)就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。為了提高在表中搜索元組的速度,在實(shí)際實(shí)現(xiàn)的時(shí)候應(yīng)該基于鍵碼建立索引。下面各表中建立索引的表項(xiàng)。(1)Airline(AID)Customer(CID)Plane(PID)Line(LID)Flight(FID)BookTicket(BID)6數(shù)據(jù)庫(kù)實(shí)現(xiàn)6.1用SQL實(shí)現(xiàn)建表6.1.1建立航空公司表CREATETABLEAirline(AIDvarchar(20)PRIMARYKEY,Namevarchar(100)NOTNULL,Addrvarchar(100),Contvarchar(200));6.1.2建立客戶(hù)表CREATETABLECustomer(CIDvarchar(20)PRIMARYKEY,Namevarchar(50)NOTNULL,Sexvarchar(2),Ageint,Contvarchar(200));6.1.3建立飛機(jī)信息表CREATETABLEPlane(PIDvarchar(20)PRIMARYKEY,Typevarchar(50)NOTNULL,SeatsNumintNOTNULL,AIDvarchar(20),CONSTRAINTFK_PLANE_AIDFOREIGNKEY(AID)REFERENCESAirline(AID));6.1.4建立航線(xiàn)表CREATETABLELine(LIDvarchar(20)PRIMARYKEY,SPositionvarchar(100)NOTNULL,EPositionvarchar(100)NOTNULL,AIDvarchar(20),CONSTRAINTFK_LINE_AIDFOREIGNKEY(AID)REFERENCESAirline(AID));6.1.5建立航班安排表CREATETABLEFlight(FIDvarchar(20)PRIMARYKEY,PIDvarchar(20),CONSTRAINTFK_FLIGHT_PIDFOREIGNKEY(PID)REFERENCESPlane(PID),LIDvarchar(20),CONSTRAINTFK_FLIGHT_LIDFOREIGNKEY(LID)REFERENCESLine(LID),FtimedatetimeNOTNULL,PricerealNOTNULL);6.1.6建立訂票信息表CREATETABLEBookTicket(BIDintPRIMARYKEYAUTO_INCREMENT,FIDvarchar(20),CONSTRAINTFK_BOOKTICKET_FIDFOREIGNKEY(FID)REFERENCESFlight(FID),CIDvarchar(20),CONSTRAINTFK_BOOKTICKET_CIDFOREIGNKEY(CID)REFERENCESCustomer(CID));6.2用SQL實(shí)現(xiàn)操作6.2.1航空公司操作6.2.1.1注冊(cè)公司INSERTINTOAirline(AID,Name,Addr,Cont)VALUES(#AID,#Name,#Addr,#Cont);這里的#AID必須是惟一的,否則不可以插入到數(shù)據(jù)庫(kù)中.使用下列語(yǔ)句建表insertintoAirline(AID,Name,Addr,Cont)values('CA','中國(guó)國(guó)際航空股份','北京','-66013336');insertintoAirline(AID,Name,Addr,Cont)values('CZ','中國(guó)南方航空股份','','950333');insertintoAirline(AID,Name,Addr,Cont)values('MU','中國(guó)東方航空公司','上海','86-21-95108');insertintoAirline(AID,Name,Addr,Cont)values('HU','中國(guó)航空股份','','950718');再用select*fromAirline;語(yǔ)句查看:@1ResultOZMessagBE汁3TableData宀4Objects亡;15HistoryES龜毘毘[(Re顯Only) iXjSSR9AIDNameAfldrCont.rCA中因國(guó)誦航空股悄有限舍司北2中國(guó)囲右航空股伯有限公司廣州950333HU申國(guó)圍闔航空収悄宥限吉司550718MU申因東方航空公司上唇66-21-951086.2.1.2刪除公司DELETEFROMAirlineWHERE(AID=#AID);即使用下列語(yǔ)句操作:deletefromAirlinewhere(AID='HU');再用select*fromAirline;語(yǔ)句查看:宣1Result|O2.Messages 3TableData宀4Objects亡〕5HistoryEi畐謁屜(Ke^dOrly) 叼圃凰圃劣AID打血亡AddtCont廠CA中國(guó)國(guó)際航空膽診有限公司北C2申固南方航空股穆盲隈公司廣州9-50333廠MU申國(guó)東方航空公司上海Se-21-9510S6.2.1.3修改公司信息UPDATEAirlineSETName=#Name,Addr=#Addr,Cont=#ContWHERE(AID=#AID);即使用下列語(yǔ)句操作:updateAirlinesetCont='955333'where(AID='CZ');再用select*fromAirline;語(yǔ)句查看:S1Result|02M&553gs5嚴(yán)3TableData宀4Objects)5History[血顯Onl巧 匕冒Ei冒気AIDllameAddrCont廠CA中國(guó)國(guó)際■骯空服勵(lì)育限公司業(yè)CZ申國(guó)南方航空服悄有限公司廣州355333rMU中國(guó)瑋■方骯空公司上魁86-21-951086.2.1.4增加飛機(jī)INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES(#PID,#Type,#SeatsNum,#AID);即使用下列語(yǔ)句操作:INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('1001','波音737',148,'CA');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('2001','波音747',360,'MU');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('1002','波音777',350,'CA');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('3001','MD-82',145,'CZ');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('2002','M11',340,'MU');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('3002','A300',148,'CZ');INSERTINTOPlane(PID,Type,SeatsNum,AID)VALUES('1003','A300',148,'CA');再用select*fromPlane;語(yǔ)句查看:國(guó)1ResultO2Messages 3TableData圍龜龍星?!癘rdyJ <P、J三PIDTypeAIDr1001^>737148CA1002350CA1003A300148CA2001波音747360MU2002MIL340MU3001MD-82145CE30C2A30014SCZ6.2.1.5刪除飛機(jī)DELETEFROMPlaneWHERE(PID=#PID);即使用下列語(yǔ)句操作:deletefromPlanewhere(PID='1003');再用select*fromPlane;語(yǔ)句查看:@1ResultO2Messages尹3TableDatag|冨電霍|(ReadOnly〕 叵]國(guó)日直P(pán)IDType勺亡at-sNumAID 11001波音麗7148CA1002波音廠?350CA2C01^<747350HU2002MIL340MU3001MD-82145CZ3C02A30J143CE6.2.1.6修改飛機(jī)UPDATEPlaneSETType=#Type,SeatsNum=#SeatsNumWHERE(PID=#PID);即使用下列語(yǔ)句操作:updatePlanesetSeatsNum=149where(PID='1001');再用select*fromPlane;語(yǔ)句查看:?1ResultO2Messages 3TableData胃晶S3崩矗顯Only) 叼國(guó)tJEPIDTypeSeatsllun |AID廠10Q1逆譽(yù)m149CA1002波音777350CA2001波音747360MU2002MIL340MU3001MD-82145CZ3002A3Q014SCZ6.2.1.7增加航線(xiàn)INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES(#LID,#SPosition,#EPosition,#AID);即使用下列語(yǔ)句操作:INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('BS123','北京','上海','CA');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('BT321','北京','天津','CZ');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('SG893','上海','','MU');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('NW214','','','MU');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('BN125','北京','','CA');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('WY908','','','CZ');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('YG149','','','CA');INSERTINTOLine(LID,SPosition,EPosition,AID)VALUES('TW736','天津','','MU');再用select*fromLine;語(yǔ)句查看:1ResultIO2Messages產(chǎn)3TableData圍噩逼躍1(EeidCinly〕 [Vj [J?LIDSPosition EPositicm北京CA.B5123北京上海匚止BT321匚Z南京HPJ5G693上羈廣州HITTW736天津武浜1WTTY50S武僅CEYG149云闌CA匚匚匚廠6.2.1.8刪除航線(xiàn)DELETEFROMLineWHERE(LID=#LID);即使用下列語(yǔ)句操作:DELETEFROMLineWHERE(LID='BS123');再用select*fromLine;語(yǔ)句查看:廠廠廠廠廠廠廠廠廠廠廠廠LIDEN125北京閩京CAET32L天津CEW214南京武僅MU5G893上趣廣州MUTW736天譯武演MUUY9Q3云南CEYG143云闊匚直SPositionEPositionIAID@1Result|OZNessages 3TableData園畐最毘l.ReadUiLly) 回國(guó)H囲6.2.1.9修改航線(xiàn)UPDATELineSETSPosition=#SPosition,EPosition=#EPositionWHERE(PID=#PID);即使用下列語(yǔ)句操作:updateLinesetSPosition='',AID='CA'where(LID='SG893');再用select*fromLine;語(yǔ)句查看:廠廠廠廠廠BE125廠廠廠廠廠BE125CAET321北京天律CSW214武權(quán)MU5GS93廣州CAnn%天津武視MUTJY90B武漢云陶CZYG149云南CALIDSPosition.EPositionIAID宜1Result|OZMBeeagee產(chǎn)3TableData宀13霊毘亀[侃旨a_dOnly) ElSH囲6.2.2機(jī)場(chǎng)操作6.2.2.1航班安排INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES(#FID,#PID,#LID,#Ftime,#Price)即使用下列語(yǔ)句操作:INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H001','1001','BN125','2008-7-1201:12:00',1000);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H002','1002','BT321','2008-7-1313:12:00',580);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H003','2001','NW214','2008-7-1212:2:00',985);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H004','1002','SG893','2008-7-1015:22:00',1036);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H005','3001','TW736','2008-7-1123:14:00',689);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H006','3002','WY908','2008-7-1222:21:00',1320);INSERTINTOFlight(FID,PID,LID,Ftime,Price)VALUES('H007','2002','YG149','2008-7-1314:20:00',489);再用select*fromFlight;語(yǔ)句查看:9 ?a(ReailOnly) BIBSS3fIDFIDLIDFtim.亡Pri匚亡rHOOL1001BNL252008-07-1201:12:OO1000H0021002BT3212003-07-1313:12:OO530HQ032001NW2L42003-Q7-L212:02:DO93-5H00410025G8332008-07-1015:22:001036HOOS3001TM7362008-07-1123:14:00689H0053002WY90S200S-07-L222:21:00132CH0072002TGI492008-07-1314:20:004896.2.2.2通知客戶(hù)航班變化SELECTName,ContFROMCustomerWHERECID(SELECTCIDFROMBookTicketWHEREFID=#FID);6.2.3客戶(hù)操作6.2.3.1注冊(cè)INSERTINTOCustomer(CID,Name,Sex,Age,Cont)
VALUES(#CID,#Name,#Sex,#Age,#Cont);客戶(hù)注冊(cè)的時(shí)候,CID必須是惟一的,否則不可以插入數(shù)據(jù)庫(kù)。即使用下列語(yǔ)句操作:INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0001','力','男',23,'');INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0002','紅','女',24,'');INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0003','華','男',45,'');INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0004','歐陽(yáng)紛紛',34,'','');INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0005','周建','男',54,'');INSERTINTOCustomer(CID,Name,Sex,Age,Cont)VALUES('0006','肖小花','女',32,'');再用select*fromCustomer;語(yǔ)句查看:□E3凰國(guó)陳S1Result102Messages1TableData宀4ObjectsCIDNameSexContr0001菲力舅23L59072517S20002李紅女24134871297420003禺45L35677CB9220004歐陽(yáng)紺緡340L50123S5S390005周建舅54156889728340006腎小花32150720495736.2.3.2注銷(xiāo)DELETEFROMCustomerWHERE(CID=#CID);即使用下列語(yǔ)句操作:DELETEFROMCustomerWHERE(CID='0004');再用select*fromCustomer;語(yǔ)句查看:
宜1Result2Messages 3TableData亠4Objects(ReadOnly) duaCIDOCOl000200030005CIDOCOl0002000300050006Mam已張力李紅MWSexCont231530729L7S22413487123742舅45J.35胡兀曲22舅541568897Z8343215872B455736.2.3.3修改個(gè)人信息UPDATELineSETName=#Name,Cont=#ContWHERE(CID=#CID);即使用下列語(yǔ)句操作:UPDATELineSETName='立',Cont=''WHERE(CID='1001');再用select*fromCustomer;語(yǔ)句查看:6.2.3.4訂票INSERTINTOBookTicket(BID,FID,CID)VALUES(#BID,#FID,#CID)即使用下列語(yǔ)句操作:INSERTINTOBookTicket(BID,FID,CID)VALUES(1,'H001','0001');INSERTINTOBookTicket(BID,FID,CID)VALUES(2,'H001','0001');INSERTINTOBookTicket(BID,FID,CID)VALUES(4,'H002','0002');INSERTINTOBookTicket(BID,FID,CID)VALUES(3,'H006','0006');INSERTINTOBookTicket(BID,FID,CID)VALUES(5,'H005','0003');再用select*fromBookTicket;語(yǔ)句查看:國(guó)1ResultOZPle55ages晶昆韻|血説CigBIDFIDCIDr1H0010001r2H0010001r3H0060005r4H0020002r5H0050003查看客戶(hù)訂票后,是否超過(guò)可容納的座位數(shù)目,如果超過(guò),取消所有操作。SELECTseats=SeatsNumFROMPlaneWHEREPID=(SELECTPIDFROMFlightWHEREFID=#FID)SELECTbooked=count(*)FROMBookTicketWHEREFID=#FIDIFbooked>seatsROLLBACKTRANSACTIONELSECOMMITTRANSACTIONGO6.2.2.5退票DELETEFROMBookTicketWHERE(BID=#BID);即使用下列語(yǔ)句操作:DELETEFROMBookTicketWHERE(BID=3);再用select*fromBookTicket;語(yǔ)句查看:
S1Result|l02Messages彗駅盂屋(ReadOnly〕BIDFIDCIDr1HQOL0001廠2HOOL0001r4H00200025H0050003應(yīng)用系統(tǒng)開(kāi)發(fā)用應(yīng)用程序?qū)崿F(xiàn)訂票的功能:駐祁.韻【2I 俱!::■.:[F/l-.::■扛磐 /::■'."Ii-T.j-0QO8-OMZDl:lZ:DDIJ0:闔制 j,二口訃1口;|:二別aLI3M-IHM:皿J5Mi莖 「〕■7;加TH:】二"5!"lIT"別■ri:諏 J■':i忙二仁;T:m::0r:?3:二i7J=聊何卜IH4G;皿:ll:iI驚當(dāng)輸入的用戶(hù)ID存在時(shí):PEG-P[DUD吐HePtLce制甫她網(wǎng):UDW匸HDfflOlLI01BNLE5MQEH37TEQLILQQ1DI01TGL49CAfflOELIOZET5ZI200MM513.1L00SEIirsna=TCZZI01fffZMM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)習(xí)投資風(fēng)格與風(fēng)險(xiǎn)管理計(jì)劃
- 幼兒園游戲規(guī)則與禮儀教育方案計(jì)劃
- 主管的親和力提升建議計(jì)劃
- 學(xué)校教學(xué)工作總體計(jì)劃
- 包裝材料加工機(jī)械相關(guān)項(xiàng)目投資計(jì)劃書(shū)范本
- 一卡通管理系統(tǒng)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 射頻消融儀相關(guān)項(xiàng)目投資計(jì)劃書(shū)
- 體外診斷儀器行業(yè)相關(guān)投資計(jì)劃提議
- 加油站安全管理教育課件
- 《教師專(zhuān)業(yè)標(biāo)準(zhǔn)》課件
- 2024年汽配行業(yè)分析報(bào)告
- 【世界睡眠日】3.21主題班會(huì)(3月21日)良好睡眠健康作息-課件
- 2024年房地產(chǎn)經(jīng)紀(jì)協(xié)理考試題庫(kù)附參考答案(綜合題)
- c型鋼加工工藝
- 中藥在護(hù)理中的應(yīng)用
- 業(yè)余無(wú)線(xiàn)電愛(ài)好者培訓(xùn)-基礎(chǔ)篇
- 電工基礎(chǔ)技能實(shí)訓(xùn)指導(dǎo)書(shū)
- 110~750KV架空輸電線(xiàn)路施工及驗(yàn)收規(guī)范
- 脊柱外科臨床指南
- 萬(wàn)千教育學(xué)前透視幼兒的戶(hù)外學(xué)習(xí)
- 《抗菌藥物知識(shí)培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論