




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)十二某管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)名稱:某管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):8實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)的目的是為了讓學(xué)生能夠全面了解數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程,逐步掌握系統(tǒng)開(kāi)發(fā)的以下相關(guān)技術(shù):(1)鞏固數(shù)據(jù)庫(kù)理論知識(shí),熟悉一種具體的數(shù)據(jù)庫(kù)管理系統(tǒng)(例如:SQLServer)的使用方法。(2)掌握針對(duì)特定應(yīng)用環(huán)境數(shù)據(jù)庫(kù)的設(shè)計(jì)。(3)綜合使用SQLServer中數(shù)據(jù)庫(kù)、表、視圖、索引、觸發(fā)器、存儲(chǔ)過(guò)程的創(chuàng)建使用方法。(4)體會(huì)運(yùn)用軟件工程的設(shè)計(jì)思想進(jìn)行軟件系統(tǒng)開(kāi)發(fā)的過(guò)程與方法。通過(guò)本課程設(shè)計(jì),有助于學(xué)生鞏固數(shù)據(jù)庫(kù)系統(tǒng)的理論,掌握數(shù)據(jù)庫(kù)的設(shè)計(jì)方法及數(shù)據(jù)庫(kù)的運(yùn)用和開(kāi)發(fā)技術(shù).實(shí)驗(yàn)內(nèi)容及步驟:針對(duì)某部門(mén)或公司的實(shí)踐調(diào)研,通過(guò)系統(tǒng)需求分析、數(shù)據(jù)庫(kù)概念設(shè)計(jì)、邏輯設(shè)計(jì),用SQL上機(jī)編程、調(diào)試和應(yīng)用實(shí)現(xiàn)數(shù)據(jù)庫(kù)的設(shè)計(jì),最終完成某管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)。系統(tǒng)需求分析和系統(tǒng)設(shè)計(jì)用軟件工程的方法進(jìn)行系統(tǒng)需求分析和系統(tǒng)設(shè)計(jì)得出系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)字典和信息模型。數(shù)據(jù)庫(kù)設(shè)計(jì)按數(shù)據(jù)庫(kù)設(shè)計(jì)方法和規(guī)范化理論得出符合3NF的邏輯模型,外模型和物理模型。數(shù)據(jù)庫(kù)定義和數(shù)據(jù)安全性與完整性定義定義SQL、Server2000的基本表和安全性、完整性要求。應(yīng)用程序設(shè)計(jì)和程序調(diào)試設(shè)計(jì)并編寫(xiě)輸入\輸出、查詢\統(tǒng)計(jì)、數(shù)據(jù)維護(hù)等功能模塊的應(yīng)用程序。撰寫(xiě)課程設(shè)計(jì)報(bào)告對(duì)系統(tǒng)的各個(gè)功能模塊進(jìn)行集成、總調(diào)試,撰寫(xiě)課程設(shè)計(jì)報(bào)告。參考選題:1民航售票系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)(系統(tǒng)簡(jiǎn)述)民航訂票系統(tǒng)主要分為機(jī)場(chǎng)、航空公司和客戶三方的服務(wù)。航空公司提供航線和飛機(jī)的資料,機(jī)場(chǎng)則對(duì)在本機(jī)場(chǎng)起飛和降落的航班和機(jī)票進(jìn)行管理,而客戶能得到的服務(wù)應(yīng)該有航班線路和剩余票數(shù).的查詢,以及網(wǎng)上訂票等功能。客戶又可以分為兩類,一類是普通客戶,對(duì)于普通客戶只有普通的查詢功能和訂票功能,沒(méi)有相應(yīng)的機(jī)票優(yōu)惠,另一種是經(jīng)常旅客,需要辦理注冊(cè)手續(xù),但增加了里程積分功能和積分優(yōu)惠政策。機(jī)場(chǎng)還要有緊急應(yīng)對(duì)措施,在航班出現(xiàn)延誤時(shí),要發(fā)送相應(yīng)的信息。2圖書(shū)管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)(系統(tǒng)簡(jiǎn)述)一個(gè)簡(jiǎn)單的圖書(shū)管理系統(tǒng)包括圖書(shū)館內(nèi)書(shū)籍的信息、學(xué)校在校學(xué)生的信息以及學(xué)生的借閱信息。此系統(tǒng)功能分為面向?qū)W生和面向管理員兩部分,其中學(xué)生可以進(jìn)行借閱、續(xù)借、歸還和查詢書(shū)籍等操作,管理員可以完成書(shū)籍和學(xué)生的增加,刪除和修改以及對(duì)學(xué)生,借閱、續(xù)借、歸還的確認(rèn)。人事管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)碟片出租系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)酒店管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)汽車(chē)租借信息系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)酒店管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)超市管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)學(xué)生信息管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)工資信息管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)
課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告模版:綜合性、設(shè)計(jì)性實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程名稱學(xué)生信息管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)01學(xué)號(hào)姓名學(xué)號(hào)姓名學(xué)號(hào)姓名指導(dǎo)教師及職稱_(講師)_開(kāi)課學(xué)期2015至2016學(xué)年第二學(xué)期設(shè)計(jì)時(shí)間
設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)?zāi)康模罕菊n程設(shè)計(jì)的目的是為了讓學(xué)生能夠全面了解數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程,逐步掌握系統(tǒng)開(kāi)發(fā)的以下相關(guān)技術(shù):(1)鞏固數(shù)據(jù)庫(kù)理論知識(shí),熟悉一種具體的數(shù)據(jù)庫(kù)管理系統(tǒng)(例如:SQLServer)的使用方法。(2)掌握針對(duì)特定應(yīng)用環(huán)境數(shù)據(jù)庫(kù)的設(shè)計(jì)。(3)綜合使用SQLServer中數(shù)據(jù)庫(kù)、表、視圖、索引、觸發(fā)器、存儲(chǔ)過(guò)程的創(chuàng)建使用方法。(4)體會(huì)運(yùn)用軟件工程的設(shè)計(jì)思想進(jìn)行軟件系統(tǒng)開(kāi)發(fā)的過(guò)程與方法。軟硬件環(huán)境:Win7實(shí)驗(yàn)設(shè)計(jì)簡(jiǎn)述:運(yùn)用access進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),綜合考慮多個(gè)因素,權(quán)衡各自利弊,確定數(shù)據(jù)表的結(jié)構(gòu),做到3NF。系統(tǒng)需求分析與功能設(shè)計(jì)(根據(jù)課題的要求進(jìn)行簡(jiǎn)單的需求分析,設(shè)計(jì)相應(yīng)的數(shù)據(jù)流圖,得出相應(yīng)的系統(tǒng)功能需要,系統(tǒng)數(shù)據(jù)流圖)高校教務(wù)管理系統(tǒng)應(yīng)有一下幾個(gè)方面的數(shù)據(jù):有關(guān)學(xué)生的數(shù)據(jù):學(xué)號(hào)、姓名、性別、年齡、籍貫、學(xué)籍、政治面貌、民族、班級(jí)所在、身份證號(hào)有關(guān)學(xué)生的成績(jī)的數(shù)據(jù):
學(xué)號(hào),課程編號(hào)、成績(jī)、考試次數(shù)、是否補(bǔ)修、重考。有關(guān)課程的數(shù)據(jù):
課程編號(hào)、課程名稱、開(kāi)課學(xué)期、開(kāi)課系部、授課時(shí)數(shù)、學(xué)分、課程類型、考試形式有關(guān)班級(jí)的數(shù)據(jù):班級(jí)編號(hào)、班級(jí)名稱、班級(jí)簡(jiǎn)稱、年級(jí)、班級(jí)人數(shù)、班主任、所屬系部有關(guān)教師的數(shù)據(jù):教師編號(hào)、教師姓名、性別、職稱、學(xué)歷、身份證號(hào)、聯(lián)系電話、所屬部門(mén)、政治面貌、民族、籍貫。學(xué)生信息管理系統(tǒng)中應(yīng)有處理查找學(xué)生信息,統(tǒng)計(jì)學(xué)生成績(jī),查詢課程信息,等功能。概念模型設(shè)計(jì)(按數(shù)據(jù)庫(kù)設(shè)計(jì)方法和規(guī)范化理論,從實(shí)踐概括抽象出ER模型)1.確定實(shí)體:學(xué)生信息管理系統(tǒng)應(yīng)對(duì)學(xué)生,班級(jí)、教師、課程就行有效的管理,掌握課程信息,和老師受課程情況,對(duì)學(xué)生成績(jī)進(jìn)行匯總,統(tǒng)計(jì)。經(jīng)過(guò)需求分析后,發(fā)現(xiàn)設(shè)計(jì)的實(shí)體主要有,部門(mén)、班級(jí)、學(xué)生、課程、教師。教師通過(guò)和學(xué)生授課建立聯(lián)系。確定屬性:列舉各個(gè)實(shí)體的屬性構(gòu)成。(詳見(jiàn)上頁(yè))3.實(shí)體聯(lián)系類型班級(jí)與學(xué)生是一對(duì)多的關(guān)系,學(xué)生與課程是多對(duì)多的關(guān)系4.E-R圖NN成績(jī)課程選修學(xué)生M1課程教學(xué)教師NN成績(jī)課程選修學(xué)生M1課程教學(xué)教師成績(jī)表課程表學(xué)生表教師表數(shù)據(jù)表選修教學(xué)課程學(xué)生教師成績(jī)NNM選修教學(xué)課程1學(xué)生教師成績(jī)表課程表學(xué)生表教師表數(shù)據(jù)表選修教學(xué)課程學(xué)生教師成績(jī)NNM選修教學(xué)課程1學(xué)生教師6.邏輯模型設(shè)計(jì)(按數(shù)據(jù)庫(kù)設(shè)計(jì)方法和規(guī)范化理論得出符合3NF的邏輯模型,ER圖設(shè)計(jì),ER圖轉(zhuǎn)化為相應(yīng)的關(guān)系模式,設(shè)計(jì)數(shù)據(jù)庫(kù)的邏輯模型)教師實(shí)體轉(zhuǎn)化為關(guān)系:教師(教師編號(hào)、教師姓名、性別、職稱。。。。。。)主關(guān)鍵字為教師編號(hào)學(xué)生實(shí)體轉(zhuǎn)化為關(guān)系:學(xué)生(學(xué)號(hào)、姓名、性別、籍貫、學(xué)籍。。。。。。)主關(guān)鍵字為學(xué)號(hào)課程實(shí)體轉(zhuǎn)化為關(guān)系:課程(課程編號(hào)、課程名稱、開(kāi)課學(xué)期。。。。。。。)主關(guān)鍵字為課程編號(hào)聯(lián)系轉(zhuǎn)化為關(guān)系:成績(jī)(學(xué)生編號(hào)、課程編號(hào)、成績(jī))主關(guān)鍵字為學(xué)生編號(hào)7.物理模型設(shè)計(jì)(存儲(chǔ)記錄結(jié)構(gòu)設(shè)計(jì),物理文件的安排和建立索引)8.實(shí)現(xiàn)(數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的程序代碼,基本操作的程序代碼)9.實(shí)驗(yàn)總結(jié)(主要對(duì)本實(shí)驗(yàn)開(kāi)發(fā)過(guò)程進(jìn)行歸納和總結(jié),還應(yīng)包括在設(shè)計(jì)過(guò)程中所遇到的技術(shù)難點(diǎn)及解決方法,尚存在的問(wèn)題以及進(jìn)一步開(kāi)發(fā)的見(jiàn)解與建議。)10.參考文獻(xiàn)指導(dǎo)老師評(píng)語(yǔ)及得分:簽名:年月日
參考示例——交易中心管理系統(tǒng)(實(shí)驗(yàn)?zāi)康?針對(duì)零件交易中心的實(shí)踐調(diào)研,通過(guò)系統(tǒng)需求分析、數(shù)據(jù)庫(kù)概念設(shè)計(jì)、邏輯設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過(guò)程完成零件交易中心管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)。(實(shí)驗(yàn)環(huán)境)略(實(shí)驗(yàn)設(shè)計(jì)簡(jiǎn)述)零件交易中心管理系統(tǒng)主要提供顧客和供應(yīng)商之間完成零件交易的功能,其中包括供應(yīng)商信息、顧客信息以及零件信息。此系統(tǒng)可以讓供應(yīng)商增加、刪除和修改所提供的零件產(chǎn)品,還可以讓顧客增加、刪除和修改所需求的零件。交易員可以利用顧客提出的需求信息和供應(yīng)商提出的供應(yīng)信息來(lái)提出交易的建議,由供應(yīng)商和顧客進(jìn)行確認(rèn)后即完成這筆交易。(系統(tǒng)需求分析)l.供應(yīng)商供應(yīng)商的操作流程圖如圖A1所示。增加供應(yīng)項(xiàng)增加供應(yīng)項(xiàng)修改供應(yīng)項(xiàng)刪除供應(yīng)項(xiàng)修改個(gè)人信息供應(yīng)項(xiàng)注冊(cè)注銷圖A1供應(yīng)商操作分類表2.顧客顧客的地位和供應(yīng)商幾乎是對(duì)稱的,所以功能分類上也很相似.顧客的操作流程圖如圖A2所示。增加需求項(xiàng)增加需求項(xiàng)修改需求項(xiàng)刪除需求項(xiàng)修改個(gè)人信息顧客注冊(cè)注銷圖A2顧客操作分類表圖A2顧客操作分類表3.交易員交易員的工作就是提出交易和完成交易。這里需要仔細(xì)考慮的問(wèn)題是:一個(gè)交易如何產(chǎn)生,并如何達(dá)成,可以用圖A3來(lái)說(shuō)明這個(gè)問(wèn)題.我們?cè)谔幚斫灰椎臅r(shí)候可能面臨如下問(wèn)題:(1)一個(gè)交易只能在交易雙方都同意的情況下才可以進(jìn)行,所以數(shù)據(jù)庫(kù)中的供求信息只能作為達(dá)成某個(gè)交易的基礎(chǔ);(2)交易的雙方可能不同時(shí)使用這個(gè)系統(tǒng),因此需要系統(tǒng)提供一個(gè)雙方交換信息的方式;(3)系統(tǒng)需要提供一種方便系統(tǒng)(交易員)向用戶提出建議來(lái)促成交易的途徑,并在保證數(shù)據(jù)庫(kù)數(shù)據(jù)完整性的情況下達(dá)成交易。交易員交易員協(xié)議書(shū)草案供應(yīng)商以及顧客簽字正式簽字交易員簽發(fā)完成交易供應(yīng)商提出交易顧客提出交易申請(qǐng)交易員提出交易建議圖A.3交易員操作圖(概念模型設(shè)計(jì))數(shù)據(jù)庫(kù)需要表述的信息有以下幾種:(1)零件信息(2)供應(yīng)商信息(3)顧客信息(4)供應(yīng)商集和零件集之間的聯(lián)系(供應(yīng))M:NM:N零件顏色零件號(hào)零件名重量簡(jiǎn)介供應(yīng)商名供應(yīng)商供應(yīng)商號(hào)地址電話簡(jiǎn)介供應(yīng)數(shù)量?jī)r(jià)格圖A.4供應(yīng)商和零件之間的聯(lián)系(供應(yīng))ER模型(5)顧客集和零件集之間的聯(lián)系(求購(gòu))M:NM:N零件顏色零件號(hào)零件名重量簡(jiǎn)介顧客電話顧客號(hào)顧客名地址求購(gòu)數(shù)量?jī)r(jià)格圖A.5顧客和零件之間的聯(lián)系(求購(gòu))ER模型(6)交易(三元聯(lián)系)可以用E/R模型表述該模型的設(shè)計(jì),E/R圖如圖A7所示。零件名零件號(hào)零件名零件號(hào)簡(jiǎn)介求購(gòu)數(shù)量簡(jiǎn)介求購(gòu)數(shù)量?jī)r(jià)格供應(yīng)數(shù)量?jī)r(jià)格重量顏色供應(yīng)數(shù)量?jī)r(jià)格重量顏色零件零件nmnmmnmnpm交易顧客號(hào)pm交易顧客號(hào)n顧客電話供應(yīng)商n顧客電話供應(yīng)商顧客名簡(jiǎn)介顧客名簡(jiǎn)介地址供應(yīng)商名數(shù)量地址供應(yīng)商名數(shù)量?jī)r(jià)格地址電話供應(yīng)商號(hào)價(jià)格地址電話供應(yīng)商號(hào)圖A.7全局ER模型(邏輯模型設(shè)計(jì))通過(guò)ER模型到關(guān)系模型的轉(zhuǎn)化,可以得到如下關(guān)系模式:(1)零件實(shí)體集轉(zhuǎn)換為關(guān)系:Part(ID,Color,Name,Weight,Intro)(2)供應(yīng)商實(shí)體集轉(zhuǎn)換為關(guān)系Provider(ID,Name,Addtess,Tel,Intro)(3)顧客實(shí)體集轉(zhuǎn)換為關(guān)系Customer(ID,Name,Addtess,Tel)(4)供應(yīng)聯(lián)系轉(zhuǎn)換為關(guān)系Supply(PartlD,ProviderlD,Price,Quantity)(5)求購(gòu)聯(lián)系轉(zhuǎn)換為關(guān)系OfferToBuy(CustomerlD,PartID,Price,Quantity)(6)交易聯(lián)系轉(zhuǎn)換為關(guān)系Business(CustomerlD,ProviderlD,PartID,Price,Quantity)每個(gè)關(guān)系模式的主鍵碼都用下劃線標(biāo)出。同時(shí),對(duì)于從聯(lián)系導(dǎo)出的關(guān)系Supply(供應(yīng)),OfferToBuy(求購(gòu))和Business(交易),使用與之相聯(lián)系的實(shí)體集的主健碼作為自己的鍵碼,必須符合外鍵碼約束。對(duì)于Customer(顧客),Provider(供應(yīng)商)和Part(零件)之間,不存在直接的約束,所以可以存在沒(méi)有供應(yīng)商供應(yīng)同時(shí)也沒(méi)有顧客求購(gòu)的零件。(物理模型設(shè)計(jì))1.存儲(chǔ)記錄結(jié)構(gòu)設(shè)計(jì)Part表列名類型長(zhǎng)度約束IDsmallintPRIMARYKEYColorvarchar20Namevarchar20NOTNULLWeightintDEFAULT0Introtext其他表類似2.為了提高在表中搜索元組的速度,在實(shí)際實(shí)現(xiàn)的時(shí)候應(yīng)該基于鍵碼建立索引是各表中建立索引的表項(xiàng):(1)part(ID)(2)Provider(ID)(3)Customer(ID)(4)Supply(PartID,ProviderID>(5)OfferTOBuy(CustomerID,PartID)(6)Business(CustomerlD,ProviderID,PartID)(實(shí)現(xiàn))實(shí)現(xiàn)該設(shè)計(jì)的環(huán)境為Windows2000Perfessinal+MSSQLServer2000.01.建立Part表CREATETABLEPart(IDsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,Colorvarchar(20),Namevarchar(20)NOTNULL,WeightintDEFAULT0,Introtext)2.建立Provider表CREATETABLEProvider(IDsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,Namevarchar(20)NOTNULL,passwordvarchar(8)NOTNULL,Addressvarchar(30),Telvarchar(20),Introtext)3.建立Customer表CREATETABLECustomer(IDSmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,Namevarchar(20)NOTNULL,Addressvarchar(30),TeLVarchar(20))4.建立Supply表CREATETABLESupply(PartIDSmallint,ProviderIDsmallint,Priceint,QUantityint,CONSTRAINTPK_SUPPLYPRIMARYKEYCLUSTERED(PartID,ProviderID),CONSTRAINTFK_SUPPLY_PARTIDFOREIGNKEY(PartID)REFERENCESPart(ID),CONSTRAINTFK_SUPPLY_PROVIDERIDFOREIGNKEY(ProviderID)REFERENCESProvider(ID))5.建立OfferToBuy表CREATETABLEOfferToBuy(CustomerIDsmallint,PartIDSmallint,Priceint,Quantityint,CONSTRAINTPK_OFFERTOBUYPRIMARYKEYCLUSTERED(CustomerID,PartID),CONSTRAINTFK_OFFERTOBUY_CUSTOMERIDFOREIGNKEY(CustomerID)REFERENCESCustomer(ID),CONSTRAINTFK_OFFERTOBUYFOREIGNKEY(PartID)REFERENCESPart(ID))6.建立Business表CREATETABLEBusiness(CustomerIDsmallint,ProviderIDsmallint,PartIDSmallint,Priceint,Quantityint,CONSTRAINTPK_BUSINEssPRIMARYKEYClUSTERED(CuscomerID,ProviderID,PartID),CONSTRAINTFK_BUSINESS_CUSTOMERIDFOREIGNKEY(CustomerID)REFERENCESCustomer(ID),CONSTRAINTFK_BUSINESS_PROVIDERlDFOREIGNKEY(ProviderID)REFERENCESProvider(ID),CONSTRAINTFK_BUSINESS_PARTIDFOREIGNKEY(PartID)REFERENCESPart(ID))7.供應(yīng)商操作(1)注冊(cè)(register)INSERTINTOProvider(Name,password,Address,TeI,Intro)VALUES(#Name,#password,#Address,#Tel,#Intro)在登記操作后,供應(yīng)商得到一個(gè)唯一的ID,可以根據(jù)這個(gè)ID采查詢和修改供應(yīng)商的數(shù)據(jù)。(2)注銷(unregister)DELETEProviderWHERE(ID=#ID);(3)修改個(gè)人館息(update)UPdateProviderSet(Name=#Name,Address=#Address,Tel=#Tel,Intro=#Intro)WHERE(ID=#ID);(4)增加供應(yīng)項(xiàng)(add_supply_item)INSERTINTOSupply(PartID,Providerid,Price,Quantity)VALUES(#PartID,#ProvderlD,#Price;#Quantily);(5)刪除供應(yīng)項(xiàng)(delete_supply_item)DELETESupPlyWHERE(PartlD=#PartIDANDProvideID=#ProviderlD);(6)修改供應(yīng)項(xiàng)(update_supply_item)UPDATESupplySET(Price=#Price,Quantity=#Quantity)WHERE(PartlD=#PartIDANDProviderID=#ProviderID)‘很明顯,系統(tǒng)并沒(méi)有提供面向供應(yīng)商修改零件信息的接口,所以供應(yīng)商提供的零件必須已經(jīng)在零件表中存在;可以這祥假設(shè),交易所的管理員負(fù)責(zé)更新零件信息,而供應(yīng)商可以向交易所申請(qǐng)?jiān)黾幽撤N零件的信息.事實(shí)上顧客也可以提出這樣的要求。8.顧客操作‘(1)注冊(cè)(register)INSERTINTOCustomer(Name,Address,Tel)VALUES(#Name,#Address,#Tel);在登記操作后,顧客得到一個(gè)唯一的ID,可以根據(jù)這個(gè)ID來(lái)查詢和修改顧客的數(shù)據(jù).(2)注銷(unregister)DELETECustomerWHERE<ID=#ID);(3)修改個(gè)人信息(update)UPDATECustomerSet(Name=#Name,Address=#Address,Tel=#Tel)WHERE(1D=#ID);(4)增加需求項(xiàng)(add_OfferToBuy_item)INSERTINTOOfferToBuy(PartID,CustomeriD,Price,Quantity)VALUES(#PartID,#CustomerID,#Price,#Quantity)'(5)刪除需求項(xiàng)(delete_OfferToBuy_iterm)DELETEOfferToBuyWHERE(PartlD=#PartlDANDCustomerlD=#CustomerID);(6)修改需求項(xiàng)(叩date_OfferToBuy_item)UPDATEOfferToBuySET(Price=#Price,Quantity=#QuantityWHERE(PartlD=#PartIDANDCustomeriD=#CustomerID)9.交易員針對(duì)需求分析中提出的問(wèn)題,我們提出了“協(xié)議書(shū)”的解決方案,方案的說(shuō)明如下:(1)每個(gè)交易在達(dá)成以前都作為協(xié)議書(shū)保存在數(shù)據(jù)庫(kù)中,協(xié)議書(shū)具有和交易一樣的完備信息,可以在條件成熟的情況下轉(zhuǎn)為一個(gè)達(dá)成的交易;(2)協(xié)議書(shū)只有在供應(yīng)商和顧客都簽字的情況下才有效;有效的協(xié)議書(shū)由交易員簽發(fā),協(xié)議書(shū)一經(jīng)簽發(fā),就生效,表明一個(gè)交易的達(dá)成,數(shù)據(jù)庫(kù)中的數(shù)據(jù)將同時(shí)予以修改;(3)協(xié)議書(shū)可以由供應(yīng)商、顧客或者交易員中的任意一個(gè)人提出申請(qǐng)。當(dāng)協(xié)議書(shū)在雙方?jīng)]有都簽字前,協(xié)議的雙方或者交易員都可以刪除這個(gè)協(xié)議書(shū);但是,當(dāng)協(xié)議書(shū)簽字完畢后,協(xié)議書(shū)就不得刪除(修改),只能由交易員進(jìn)行處理;(4)協(xié)議書(shū)有可能在轉(zhuǎn)成交易的過(guò)程中失敗,因?yàn)樵诮灰走_(dá)成以前,數(shù)據(jù)庫(kù)中的數(shù)據(jù)有可能因?yàn)槠渌灰锥兓?,一個(gè)協(xié)議書(shū)可能失效,這是允許的。根據(jù)以上分析,對(duì)數(shù)據(jù)庫(kù)的模型作一些修改,增加協(xié)議書(shū)表,其關(guān)系模式如下:Agreement(CustomerlD,ProviderID,PartID,Price,Quantity,CustomerSign,ProviderSign)對(duì)應(yīng)的SQL描述為:CREATETABLEAgreement(Customermsmallint,ProviderlDsmallint,PartlDsmallint,Priceint,Quantityint,CustomerSignint,ProviderSignint,CONSTRAINTPK_AGREEMENTPRIMARYKEYCLUSTERED(CustomerID,ProviderID,PartID),CONSTRAINTFK_AGREEMENT_CUSTOMERIDFOREIGNKEY(CustomerID)REFERENCESCustomer(ID),CONSTRAINTFK_AGREEMENT_PROVlDERIDFOREIGNKEY(ProviderID)REFERENCESProvider(ID),CONSTRAINTFK_AGREEMENT_PARTIDFOREIGNKEY(PartID)REFERENCESPart(ID))與上述其他操作相比,對(duì)交易的操作對(duì)數(shù)據(jù)完整性要求比較高,其中需要注意的地方是;要防止同一用戶(供應(yīng)商,顧客)的數(shù)據(jù)因兩個(gè)交易而同時(shí)修改;需要同時(shí)對(duì)供應(yīng)數(shù)據(jù)庫(kù)(Supply)、需求數(shù)據(jù)庫(kù)(OfferToBuy)、交易數(shù)據(jù)庫(kù)(Business)和協(xié)議數(shù)據(jù)庫(kù)(Agreement)作出修改,而且需要保持這些修改的原子性;很顯然,這些要求正是對(duì)于一個(gè)事務(wù)(transaction)的要求,所以可以用一個(gè)事務(wù)來(lái)完成簽發(fā)一個(gè)協(xié)議的操作。事務(wù)的描述如下:CREATEPROCPASS_AGREEMENT@providerIDint,@customeridint,@partlDintASDECLARE@TransNameVARCHAR(20)SELECT@TransName='Pass_Agreement'BEGINTRANSACTION@TransNameDEClARE@priceINT,@qUANTITYintSELECT@price=price,@quantity=quantityFROMAgreementWHEREprIVIderID=@providerIDANDcustomerID=@customerIDANDPanID=@partIDINSERTINTOBusiness(ProviderID,CustomerID,PartID,Price,Quantity)VALues(@providerid,@customerID,@PartID,@price,@quantity)UPDATESupplySETquantity=quantity-@quantityWHEREProviderID=@prividerIDANDpartID=@partIDIF(SELECTquantityFROMSupplyWHEREProiderid=@providerANDpartID=@PartID)<0ROLLBACKTRANSACTlON@TranSNameDELETEFROMSupplyWHEREquantity=0UPDATEOfferToBuySETquantity=quanttity-@quantityWHERECustomerID=@customeridANDpartlD=@partIDIF(SELECTquandtityFROMOfferToBuyWHERECustomerID=@CustomerIDANDpartID=@partlD)<0ROLLBACKTRANSACTION@TransNameDELETEFROMOfferToBuyWHEREquantity=0COMMITTRANSACTION@TransName為了使用方便,這里定義了一個(gè)存貯過(guò)程;功能是完成從Agreementt的一個(gè)元組到Business的一個(gè)元組的轉(zhuǎn)化工作。這里考慮到了刪除空的Suppiy和OfferTOBUY項(xiàng),更加重要的是,這里考慮到了非法的Agreement的情況,在一段時(shí)間后,由于供應(yīng)商或者顧客修改數(shù)據(jù),Agreement可能就非法,這時(shí)就需要把這個(gè)事務(wù)廢除,所以,這里檢查了Supply表和OfferToBuy表中的數(shù)據(jù),確保數(shù)據(jù)仍然正確。另外交易員,或者說(shuō)交易所必須承擔(dān)的一項(xiàng)任務(wù)是更新零件列表。這里在考慮顧客和供應(yīng)商的時(shí)候÷并沒(méi)有給予他們修改零件列表的權(quán)利,所以他們必須根據(jù)數(shù)據(jù)庫(kù)中已有的項(xiàng)更新自己的供求信息。由于這個(gè)數(shù)據(jù)庫(kù)實(shí)際上更加偏重于模型化,而不是一個(gè)實(shí)際環(huán)境中的數(shù)據(jù)庫(kù),所以在實(shí)現(xiàn)應(yīng)用模型的時(shí)候我們還需要對(duì)這個(gè)數(shù)據(jù)庫(kù)的模型作一些修改。由于本實(shí)驗(yàn)在模型設(shè)計(jì)上使用了MicrosoftTransact-SQL的語(yǔ)法,因此以上的數(shù)據(jù)庫(kù)操作都是在SQLSERVER2000上測(cè)試通過(guò)的。[實(shí)驗(yàn)數(shù)據(jù)示例:測(cè)試階段](1.實(shí)驗(yàn)方案設(shè)計(jì)2.測(cè)試,查找錯(cuò)誤校正錯(cuò)誤,檢查是否符合用戶的功能性能要求)1.實(shí)驗(yàn)方案設(shè)計(jì)(1)輸入數(shù)據(jù)設(shè)計(jì):1)插入零件信息;insertintoPart(Color,Name,Weight,Intro)values('black','stick','30','ofsteel');顯示剛插人的零件id:selectidfromPartwherename='stick';id----1(1row(s)affected)(不同的實(shí)驗(yàn),id值可能不同。以后相應(yīng)操作要保持前后一致就可以丁。)2)插入供應(yīng)商信息:insertintoProvider(Name,password,Address,Tel,Intro)values('coml','1234','北京',6543210,'nothing');顯示剛插入的供應(yīng)商id:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氧化石與納米親水二氧化硅在流變性和攜砂能力中的作用研究
- 安全施工方案
- 智能時(shí)代個(gè)人信息保護(hù)自律機(jī)制構(gòu)建研究
- 基于PLC的機(jī)床電氣控制設(shè)計(jì)原理與應(yīng)用實(shí)例
- 聽(tīng)覺(jué)視角下的文學(xué)作品深度解讀
- 構(gòu)建學(xué)習(xí)型社會(huì):教育關(guān)系重構(gòu)與創(chuàng)新路徑探索
- 公務(wù)接待相關(guān)管理辦法
- 安全生產(chǎn)十四五
- 新媒體環(huán)境下播音主持話語(yǔ)表達(dá)的創(chuàng)新范式研究
- 儲(chǔ)運(yùn)部工作總結(jié)
- 2025至2030中國(guó)中小型風(fēng)電行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 六大茶類培訓(xùn)
- 2025-2030中國(guó)油田化學(xué)品行業(yè)市場(chǎng)深度調(diào)研及行情監(jiān)測(cè)與投資前景研究報(bào)告
- 2025年烏魯木齊危險(xiǎn)品駕駛員模擬試題
- 2025至2030中國(guó)質(zhì)子束治療系統(tǒng)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 外事安保活動(dòng)方案
- 自主招生面試題及答案
- 深基坑監(jiān)測(cè)管理制度
- 2025年甘肅省民航機(jī)場(chǎng)集團(tuán)校園招聘45人筆試參考題庫(kù)帶答案詳解
- 2025年高考真題-英語(yǔ)(全國(guó)一卷) 含答案
- 統(tǒng)編版高中政治必修三《政治與法治》期末復(fù)習(xí):選擇題刷題練習(xí)題(含答案解析)
評(píng)論
0/150
提交評(píng)論