




已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)上訂票管理系統(tǒng)1 問(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)、航空公司和客戶提供訂票退票等與機(jī)票相關(guān)內(nèi)容的管理系統(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ù)。 航空公司提供航線和飛機(jī)的資料,機(jī)場(chǎng)則對(duì)在本機(jī)場(chǎng)起飛和降落的航班和機(jī)票進(jìn)行管理,而客戶能得到的服務(wù)應(yīng)該有查詢航班航線、班次、票價(jià)和剩余票數(shù)以及網(wǎng)上訂票功能。2 需求分析 2.1 功能性需求用戶類功能性需求航空公司1)增加航線2)修改航線3) 刪除航線4)修改公司信息機(jī)場(chǎng)1)根據(jù)航空公司提供的航線,安排航班以及航班的機(jī)票2)如果出現(xiàn)晚點(diǎn)等情況,要記錄并發(fā)送信息3)管理航空公司提供的航線和飛機(jī)(座位數(shù))資料中所提供的相關(guān)數(shù)據(jù)4)管理航班機(jī)票5)管理客戶資料客戶1)注冊(cè)2)查詢航班3)查詢余票和票價(jià)4)預(yù)定機(jī)票5)修改個(gè)人信息6)退票7)注銷2.2 非功能性需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,網(wǎng)上訂票系統(tǒng)應(yīng)該滿足以下的性能需求:2.1.1系統(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í)間能夠滿足企業(yè)對(duì)信息處理的需求。由于網(wǎng)上訂票管理系統(tǒng)的查詢功能對(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)確性。2.1.2系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性網(wǎng)上訂票管理系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢的需求會(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代。2.1.3系統(tǒng)的易用性和易維護(hù)性網(wǎng)上訂票管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問(wèn)題,要提供足夠的在線幫助,縮短用戶對(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í)間內(nèi)仍舊是先進(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ù)流圖航空公司資料提供信息網(wǎng)上訂票管理系統(tǒng)客戶訂票查詢管理信息管理查詢訂票信息客戶機(jī)場(chǎng)2.3.2 0層數(shù)據(jù)流圖航空公司機(jī)場(chǎng)提供航線資料提供飛機(jī)資料航線信息飛機(jī)信息訂票信息航班信息客戶信息查詢個(gè)人信息安排航班查詢航班信息訂機(jī)票查詢航線信息查新飛機(jī)信息查看客戶資料退機(jī)票航線信息航線信息航線信息航線信息查詢航線信息請(qǐng)求飛機(jī)信息飛機(jī)信息飛機(jī)信息飛機(jī)信息查詢飛機(jī)信息請(qǐng)求客戶信息客戶信息查詢信息請(qǐng)求客戶信息客戶信息查詢客戶信息請(qǐng)求航班信息航班信息航班信息航班信息查詢航班信息請(qǐng)求訂機(jī)票請(qǐng)求請(qǐng)求退機(jī)票請(qǐng)求請(qǐng)求更新訂票信息更新訂票信息客戶3 概念設(shè)計(jì)3.1局部視圖設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的第一步就是對(duì)需求分析階段收集到的數(shù)據(jù)按照E-R模型的要求進(jìn)行分類、組織,形成實(shí)體、實(shí)體的屬性,標(biāo)識(shí)試題的碼,確定實(shí)體之間的聯(lián)系類型(1:1?1:n?m:n?),設(shè)計(jì)分E-R圖。3.1.1將航空公司提供資料部分提取出來(lái),如下圖所示:航空公司提供航線資料提供飛機(jī)資料航線信息飛機(jī)信息航線信息航線信息飛機(jī)信息飛機(jī)信息 經(jīng)分析之后得到的分E-R圖如下所示:飛機(jī)提供航線1nm對(duì)每個(gè)實(shí)體的屬性定義如下:航空公司航空公司編號(hào),名稱,地址,聯(lián)系方式飛機(jī)編號(hào),型號(hào),座位數(shù)航線起點(diǎn),終點(diǎn),編號(hào)3.1.2將機(jī)場(chǎng)安排航班部分提取出來(lái),如下圖所示:機(jī)場(chǎng)航線信息飛機(jī)信息航班信息安排航班查詢航線信息查新飛機(jī)信息航線信息航線信息查詢航線信息請(qǐng)求飛機(jī)信息飛機(jī)信息查詢飛機(jī)信息請(qǐng)求航班信息航班信息經(jīng)分析之后得到的分E-R圖如下所示:航線航班安排機(jī)場(chǎng)飛機(jī)1nm對(duì)每個(gè)實(shí)體的屬性定義如下:飛機(jī)編號(hào),型號(hào),座位數(shù)航線起點(diǎn),終點(diǎn),編號(hào)3.1.3將客戶的查詢部分提取出來(lái),如下圖所示:客戶航班信息客戶信息查詢個(gè)人信息查詢航班信息客戶信息客戶信息查詢信息請(qǐng)求航班信息航班信息查詢航班信息請(qǐng)求經(jīng)分析之后得到的分E-R圖如下所示:n1航班安排客戶機(jī)場(chǎng)在數(shù)據(jù)流圖中的“客戶信息”都可以作為屬性來(lái)對(duì)待。對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:航班安排編號(hào),時(shí)間,票價(jià)客戶編號(hào),姓名,性別,年齡,聯(lián)系方式3.1.4將客戶的訂票、退票部分提取出來(lái),如下圖客戶訂票信息訂機(jī)票退機(jī)票訂機(jī)票請(qǐng)求請(qǐng)求退機(jī)票請(qǐng)求請(qǐng)求更新訂票信息更新訂票信息經(jīng)分析之后得到的分E-R圖如下所示:1訂票1訂票信息客戶11退票對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:訂票信息編號(hào),票價(jià)客戶編號(hào),姓名,性別,年齡,聯(lián)系方式3.2視圖集成 3.2.1各子系統(tǒng)的分E-R圖設(shè)計(jì)好后,下一步就是將所有的分E-R圖綜合成一個(gè)系統(tǒng)的總E-R圖。 則集成后的總E-R圖如下所示:航空公司提供機(jī)場(chǎng)1飛機(jī)航線n航班安排mm訂票1客戶111退票訂票信息其中對(duì)每個(gè)實(shí)體和聯(lián)系的屬性定義如下:航班安排編號(hào),時(shí)間,票價(jià)航空公司編號(hào),名稱,地址,聯(lián)系方式客戶編號(hào),姓名,性別,年齡,聯(lián)系方式飛機(jī)編號(hào),型號(hào),座位數(shù)航線起點(diǎn),終點(diǎn),編號(hào)訂票信息編號(hào),票價(jià)3.2.2再將屬性加到上頁(yè)所示的E-R圖上,最后得到的E-R圖如下所示:地址名稱聯(lián)系方式編號(hào)航空公司座位數(shù)編號(hào)提供型號(hào)編號(hào)機(jī)場(chǎng)起點(diǎn)航線飛機(jī)終點(diǎn)時(shí)間航班安排票價(jià)年齡客戶姓名聯(lián)系方式編號(hào)性別n1客戶mmm編碼1退票訂票訂票信息1111編號(hào)票價(jià)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.1 E-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)“客戶”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Customer(CID, Name, Sex, Age, Cont)(3)“飛機(jī)”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Plane(PID, Type, SeatsNum, AID)此關(guān)系模式已包含了聯(lián)系“提供”(4)“航線”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:Line(LID, SPosition, EPosition, AID)此關(guān)系模式已包含了聯(lián)系“提供”(5)“航班安排”聯(lián)系所對(duì)應(yīng)的關(guān)系模式:Flight(FID, PID, LID, Ftime, Price)(6)“訂票信息”實(shí)體型所對(duì)應(yīng)的關(guān)系模式:BookTicket(BID, FID, CID, Price)此關(guān)系模式已包含了聯(lián)系“訂票”和“退票”其中,以上的每個(gè)關(guā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ù)依賴:(1)關(guān)系模式Airline(AID, Name, Addr, Cont)中的數(shù)據(jù)依賴 AID-Name, AID-Name, AID-Addr, AID-Cont(2)關(guān)系模式Customer(CID, Name, Sex, Age, Cont)中的數(shù)據(jù)依賴 CID-Name, CID-Sex, CID-Age, CID-Cont(3)關(guān)系模式Plane(PID, Type, SeatsNum, AID) 中的數(shù)據(jù)依賴 PID-Type, PID-SeatsNum,PID-AID(4)關(guān)系模式Line(LID, SPosition, EPosition, AID)中的數(shù)據(jù)依賴 LID-SPosition,LID-EPosition, LID-AID(5)關(guān)系模式Flight(FID, PID, LID, Ftime, Price) 中的數(shù)據(jù)依賴 FID-PID, FID-LID, FID-Ftime, FID-Price(6)關(guān)系模式BookTicket(BID, FID, CID, Price) 中的數(shù)據(jù)依賴 BID-FID, BID-CID, BID-Pay4.2.2 對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(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, FID, CID)。修改后的各個(gè)關(guān)系模式均沒(méi)有冗余的聯(lián)系。4.2.3 按照規(guī)范化理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。 由于以上的關(guān)系模式的主碼只有一個(gè),所以不會(huì)存在部分函數(shù)依賴。分析后可知也不存在傳遞依賴和多值依賴,以上的各關(guān)系模式都是3NF。4.2.4 按照需求分析階段得到的信息要求和處理要求,分析這些模式是否滿足這些要求,確定是否要對(duì)某些模式進(jìn)行合并或分解。(1)關(guān)系模式Airline(AID, Name, Addr, Cont)能滿足“修改公司信息”“增加航線”“修改航線”“刪除航線”功能。(2)關(guān)系模式Customer(CID, Name, Sex, Age, Cont)能滿足“管理客戶資料”“修改個(gè)人信息”功能。(3)關(guān)系模式Plane(PID, Type, SeatsNum, AID) 能滿足“管理飛機(jī)(座位數(shù))資料中所提供的相關(guān)數(shù)據(jù)”功能。(4)關(guān)系模式Line(LID, SPosition, EPosition, AID)能滿足“管理航空公司提供的航線”功能。(5)關(guān)系模式Flight(FID, PID, LID, Ftime, Price) 能滿足“根據(jù)航空公司提供的航線,安排航班以及航班的機(jī)票”“如果出現(xiàn)晚點(diǎn)等情況,要記錄并發(fā)送信息”“管理航班機(jī)票”功能。(6)關(guān)系模式BookTicket(BID, FID, CID) 能滿足“注冊(cè)”“登錄”“查詢航班”“查詢余票和票價(jià)”“預(yù)定機(jī)票”“退票”“注銷”4.3數(shù)據(jù)庫(kù)的模式定義數(shù)據(jù)庫(kù)需要表述的信息有以下幾種:航空公司信息客戶信息飛機(jī)信息航線信息航班信息訂票信息根據(jù)以上的關(guān)系模式可以建立如下的表: 4.3.1航空公司信息表列名數(shù)據(jù)類型可否空說(shuō)明AIDVarcharNot null 航空公司編號(hào)NameVarcharNot null航空公司名稱AddrVarchar航空公司地址ContVarchar航空公司聯(lián)系方式4.3.2客戶信息表列名數(shù)據(jù)類型可否空說(shuō)明CIDVarcharNot null 客戶編號(hào)NameVarcharNot null客戶姓名SexVarchar客戶性別AgeInt客戶年齡ContVarchar客戶聯(lián)系方式4.3.3飛機(jī)信息表列名數(shù)據(jù)類型可否空說(shuō)明PIDVarcharNot null 飛機(jī)編號(hào)TypeVarcharNot null飛機(jī)型號(hào)SeatsNumVarcharNot null飛機(jī)座位數(shù)AIDvarchar航空公司編號(hào)4.3.4航線信息表列名數(shù)據(jù)類型可否空說(shuō)明LIDVarcharNot null 航線編號(hào)SPositionVarcharNot null航線起點(diǎn)EPositionVarcharNot null航線終點(diǎn)AIDvarchar航空公司編號(hào)4.3.5航班安排信息表列名數(shù)據(jù)類型可否空說(shuō)明FIDVarcharNot null 航班編號(hào)PIDVarchar飛機(jī)編號(hào)LIDVarchar航線編號(hào)FtimeDatetimeNot null航班時(shí)間PriceRealNot null票價(jià)4.3.6訂票信息表列名數(shù)據(jù)類型可否空說(shuō)明BIDVarcharNot null 機(jī)票編號(hào)FIDVarchar航班編號(hào)CIDVarchar客戶編號(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)(2)Customer(CID)(3)Plane(PID)(4)Line(LID)(5)Flight(FID)(6)BookTicket(BID)6 數(shù)據(jù)庫(kù)實(shí)現(xiàn)6.1用SQL實(shí)現(xiàn)建表6.1.1建立航空公司表CREATE TABLE Airline(AID varchar(20) PRIMARY KEY, Name varchar(100) NOT NULL,Addr varchar(100), Cont varchar(200);6.1.2建立客戶表CREATE TABLE Customer(CID varchar(20) PRIMARY KEY, Name varchar(50) NOT NULL,Sex varchar(2),Age int,Cont varchar(200);6.1.3建立飛機(jī)信息表CREATE TABLE Plane(PID varchar(20) PRIMARY KEY, Type varchar(50) NOT NULL,SeatsNum int NOT NULL,AID varchar(20), CONSTRAINT FK_PLANE_AID FOREIGN KEY(AID) REFERENCES Airline(AID);6.1.4建立航線表CREATE TABLE Line (LID varchar(20) PRIMARY KEY, SPosition varchar(100) NOT NULL,EPosition varchar(100) NOT NULL,AID varchar(20), CONSTRAINT FK_LINE_AID FOREIGN KEY(AID) REFERENCES Airline(AID);6.1.5建立航班安排表CREATE TABLE Flight(FID varchar(20) PRIMARY KEY, PID varchar(20), CONSTRAINT FK_FLIGHT_PID FOREIGN KEY(PID) REFERENCES Plane(PID),LID varchar(20), CONSTRAINT FK_FLIGHT_LID FOREIGN KEY(LID) REFERENCES Line(LID),Ftime datetime NOT NULL,Price real NOT NULL);6.1.6建立訂票信息表CREATE TABLE BookTicket (BID int PRIMARY KEY AUTO_INCREMENT, FID varchar(20), CONSTRAINT FK_BOOKTICKET_FID FOREIGN KEY(FID) REFERENCES Flight(FID),CID varchar(20), CONSTRAINT FK_BOOKTICKET_CID FOREIGN KEY(CID) REFERENCES Customer(CID);6.2用SQL實(shí)現(xiàn)操作6.2.1航空公司操作6.2.1.1注冊(cè)公司INSERT INTO Airline(AID, Name, Addr, Cont) VALUES(#AID, #Name, #Addr, #Cont);這里的#AID必須是惟一的,否則不可以插入到數(shù)據(jù)庫(kù)中.使用下列語(yǔ)句建表insert into Airline(AID,Name,Addr,Cont) values(CA,中國(guó)國(guó)際航空股份有限公司,北京;insert into Airline(AID,Name,Addr,Cont) values(CZ,中國(guó)南方航空股份有限公司,廣州,950333);insert into Airline(AID,Name,Addr,Cont) values(MU,中國(guó)東方航空公司 ,上海,86-21-95108);insert into Airline(AID,Name,Addr,Cont) values(HU,中國(guó)海南航空股份有限公司,海南,950718);再用 select * from Airline;語(yǔ)句查看:6.2.1.2刪除公司DELETE FROM Airline WHERE(AID = #AID);即使用下列語(yǔ)句操作:delete from Airline where(AID=HU);再用 select * from Airline;語(yǔ)句查看:6.2.1.3修改公司信息UPDATE Airline SET Name=#Name, Addr= #Addr, Cont= #Cont WHERE(AID = #AID);即使用下列語(yǔ)句操作:update Airlineset Cont=955333 where(AID=CZ);再用 select * from Airline;語(yǔ)句查看:6.2.1.4增加飛機(jī)INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(#PID, #Type, #SeatsNum, #AID); 即使用下列語(yǔ)句操作: INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(1001,波音737 , 148, CA);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(2001,波音747 , 360, MU);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(1002,波音777 , 350, CA);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(3001,MD-82 , 145, CZ);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(2002,M11 , 340, MU);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(3002,A300 , 148, CZ);INSERT INTO Plane(PID, Type, SeatsNum, AID) VALUES(1003,A300 , 148, CA); 再用 select * from Plane;語(yǔ)句查看: 6.2.1.5刪除飛機(jī)DELETE FROM Plane WHERE(PID = #PID);即使用下列語(yǔ)句操作:delete from Plane where(PID=1003);再用 select * from Plane;語(yǔ)句查看:6.2.1.6修改飛機(jī)UPDATE Plane SET Type= #Type, SeatsNum= #SeatsNum WHERE(PID = #PID);即使用下列語(yǔ)句操作:update Planeset SeatsNum=149 where(PID=1001);再用 select * from Plane;語(yǔ)句查看:6.2.1.7 增加航線INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(#LID, #SPosition, #EPosition, #AID);即使用下列語(yǔ)句操作:INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(BS123, 北京,上海, CA);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(BT321, 北京,天津, CZ);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(SG893, 上海,廣州, MU);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(NW214, 南京,武漢, MU);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(BN125, 北京,南京, CA);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(WY908, 武漢,云南, CZ);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(YG149, 云南,貴州, CA);INSERT INTO Line(LID, SPosition, EPosition,AID) VALUES(TW736, 天津,武漢, MU);再用 select * from Line;語(yǔ)句查看:6.2.1.8刪除航線DELETE FROM Line WHERE(LID = #LID);即使用下列語(yǔ)句操作:DELETE FROM Line WHERE(LID = BS123);再用 select * from Line;語(yǔ)句查看:6.2.1.9修改航線UPDATE Line SET SPosition=#SPosition, EPosition=#EPosition WHERE(PID = #PID);即使用下列語(yǔ)句操作:update Lineset SPosition=南京,AID=CA where(LID=SG893);再用 select * from Line;語(yǔ)句查看:6.2.2機(jī)場(chǎng)操作6.2.2.1航班安排INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(#FID, #PID, #LID, #Ftime, #Price);即使用下列語(yǔ)句操作:INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H001,1001,BN125,2008-7-12 01:12:00,1000);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H002,1002,BT321,2008-7-13 13:12:00,580);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H003,2001,NW214,2008-7-12 12:2:00,985);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H004,1002,SG893,2008-7-10 15:22:00,1036);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H005,3001,TW736,2008-7-11 23:14:00,689);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H006,3002,WY908,2008-7-12 22:21:00,1320);INSERT INTO Flight(FID, PID, LID, Ftime, Price) VALUES(H007,2002,YG149,2008-7-13 14:20:00,489);再用select * from Flight;語(yǔ)句查看:6.2.2.2通知客戶航班變化SELECT Name,Cont FROM Customer WHERE CID ( SELECT CID FROM BookTicket WHERE FID=#FID );6.2.3客戶操作6.2.3.1注冊(cè)INSERT INTO Customer(CID, Name, Sex, Age, Cont)VALUES(#CID, #Name, #Sex, #Age, #Cont); 客戶注冊(cè)的時(shí)候,CID必須是惟一的,否則不可以插入數(shù)據(jù)庫(kù)。 即使用下列語(yǔ)句操作:INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0001, 張力, 男,23;INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0002, 李紅,女,24;INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0003, 趙華,男,45;INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0004, 歐陽(yáng)紛紛,34;INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0005, 周建,男,54;INSERT INTO Customer(CID, Name,Sex,Age,Cont)VALUES(0006, 肖小花,女,32;再用select * from Customer;語(yǔ)句查看:6.2.3.2注銷DELETE FROM Customer WHERE(CID = #CID);即使用下列語(yǔ)句操作:DELETE FROM Customer WHERE(CID = 0004);再用select * from Customer;語(yǔ)句查看:6.2.3.3修改個(gè)人信息UPDATE Line SET Name= #Name, Cont= #Cont WHERE(CID = #CID);即使用下列語(yǔ)句操作:UPDATE Line SET Name= 張立, Cont=WHERE(CID = 1001);再用select * from Customer;語(yǔ)句查看:6.2.3.4訂票INSERT INTO BookTicket(BID,FID, CID) VALUES(#BID,#FID, #CID)即使用下列語(yǔ)句操作:INSERT INTO BookTicket(BID,FID, CID) VALUES(1,H001,0001);INSERT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江萬(wàn)里學(xué)院《環(huán)境與食品安全》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南交通職業(yè)技術(shù)學(xué)院《人居環(huán)境科學(xué)前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《服裝形態(tài)構(gòu)成》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建中醫(yī)藥大學(xué)《比較政治學(xué)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 榆林職業(yè)技術(shù)學(xué)院《CAD制圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京工業(yè)職業(yè)技術(shù)學(xué)院《高級(jí)商務(wù)口譯》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆輕工職業(yè)技術(shù)學(xué)院《鋼鐵冶金學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 華東理工大學(xué)《書(shū)寫(xiě)技能三》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古化工職業(yè)學(xué)院《核化學(xué)與放射化學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新馬高級(jí)中學(xué)高中歷史一導(dǎo)學(xué)案第課祖國(guó)統(tǒng)一大業(yè)
- 廣東省珠海市2024-2025學(xué)年下學(xué)期期中八年級(jí)數(shù)學(xué)質(zhì)量監(jiān)測(cè)試卷(含答案)
- 焊接工程師職業(yè)技能考核試題及答案
- 初中美育考試試題及答案
- 中小學(xué)教師資格筆試2024年考試真題解析
- 國(guó)際貿(mào)易基礎(chǔ)試題庫(kù)與答案
- 工抵房轉(zhuǎn)讓購(gòu)買(mǎi)合同協(xié)議
- 2025年北京市豐臺(tái)區(qū)九年級(jí)初三一模語(yǔ)文試卷(含答案)
- 財(cái)務(wù)與審計(jì)的關(guān)聯(lián)與差異試題及答案
- 2024年漢中市中醫(yī)醫(yī)院招聘筆試真題
- 租房養(yǎng)寵協(xié)議合同
- 嘉興市申嘉有軌電車運(yùn)營(yíng)管理有限公司招聘筆試題庫(kù)2025
評(píng)論
0/150
提交評(píng)論