數(shù)據(jù)庫(kù)實(shí)例零件銷售中心管理系統(tǒng)概述樣本_第1頁(yè)
數(shù)據(jù)庫(kù)實(shí)例零件銷售中心管理系統(tǒng)概述樣本_第2頁(yè)
數(shù)據(jù)庫(kù)實(shí)例零件銷售中心管理系統(tǒng)概述樣本_第3頁(yè)
數(shù)據(jù)庫(kù)實(shí)例零件銷售中心管理系統(tǒng)概述樣本_第4頁(yè)
數(shù)據(jù)庫(kù)實(shí)例零件銷售中心管理系統(tǒng)概述樣本_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

重慶工商大學(xué)計(jì)算機(jī)科學(xué)和技術(shù)專業(yè)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)教學(xué)試驗(yàn)指導(dǎo)書 關(guān)鍵課程數(shù)據(jù)庫(kù)原理教研組.1數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)教學(xué)試驗(yàn)指導(dǎo)SQLServer課程設(shè)計(jì)教學(xué)試驗(yàn)指導(dǎo)A.1綜合試驗(yàn)本課程教學(xué)試驗(yàn)分為兩部分:第一部分是根據(jù)試驗(yàn)指導(dǎo)書所要求試驗(yàn)在計(jì)算機(jī)上完成;第二部分是作完上述試驗(yàn)后根據(jù)本課程設(shè)計(jì)教學(xué)試驗(yàn)指導(dǎo)書做一個(gè)綜合性試驗(yàn)。經(jīng)過(guò)教學(xué)試驗(yàn)可使讀者較系統(tǒng)、全方面地掌握相關(guān)教學(xué)內(nèi)容和必需上機(jī)操作。下面給出三個(gè)試驗(yàn)課題,其中第一個(gè)課題還附有參考答案。期望讀者在了解題意基礎(chǔ)上發(fā)揮自己創(chuàng)新精神,有創(chuàng)意地完成教學(xué)試驗(yàn)。假如認(rèn)為有參考答案可能會(huì)束縛自己思維,也可選作第二或第三個(gè)試驗(yàn)課題.??偠灾驎r(shí)間關(guān)系,只要求每個(gè)讀者任選一個(gè)課題。若有時(shí)間,有愛(ài)好,可考慮另外兩個(gè)課題,也會(huì)有所收益.A.1.1試驗(yàn)一零件交易中心管理系統(tǒng)(試驗(yàn)?zāi)繕?biāo)]經(jīng)過(guò)完成從用戶需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過(guò)程,深入了解和掌握本書中所講解內(nèi)容。(試驗(yàn)簡(jiǎn)述)零件交易中心管理系統(tǒng)關(guān)鍵提供用戶和供給商之間完成零件交易功效,其中包含供給商信息、用戶信息和零件信息。供給商信息包含供給商號(hào)、供給商名、地址、電話、介紹;用戶信息包含用戶號(hào),用戶名、地址、電話;零件信息包含零件號(hào)、零件名、重量、顏色、介紹等。此系統(tǒng)能夠讓供給商增加、刪除和修改所提供零件產(chǎn)品,還能夠讓用戶增加、刪除和修改所需求零件。交易員能夠利用用戶提出需求信息和供給商提出供給信息來(lái)提出交易提議,由供給商和用戶進(jìn)行確定后即完成這筆交易。(試驗(yàn)要求)完成該系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì):用SQl實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì),并在SQLServer上調(diào)試經(jīng)過(guò).A.1.2試驗(yàn)三民航售票系統(tǒng)(試驗(yàn)?zāi)繕?biāo))經(jīng)過(guò)完成從用戶需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過(guò)程,深入了解和掌握本書中所講解內(nèi)容?!ぁ?試驗(yàn)簡(jiǎn)述]民航訂票系統(tǒng)關(guān)鍵分為機(jī)場(chǎng)、航空企業(yè)和用戶三方服務(wù)。航空企業(yè)提供航線和飛機(jī)資料,機(jī)場(chǎng)則對(duì)在本機(jī)場(chǎng)起飛和降落航班和機(jī)票進(jìn)行管理,而用戶能得到服務(wù)應(yīng)該有航班線路和剩下票數(shù).查詢,和網(wǎng)上訂票等功效。用戶又能夠分為兩類,一類是一般用戶,對(duì)于一般用戶只有一般查詢功效和訂票功效,沒(méi)有對(duì)應(yīng)機(jī)票優(yōu)惠,另一個(gè)是常常旅客,需要辦理注冊(cè)手續(xù),但增加了里程積分功效和積分優(yōu)惠政策。機(jī)場(chǎng)還要有緊急應(yīng)對(duì)方法,在航班出現(xiàn)延誤時(shí),要發(fā)送對(duì)應(yīng)信息。(試驗(yàn)要求)完成該系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì);用SQL、實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì),并在SQlServcr上調(diào)試經(jīng)過(guò)。A.1.3試驗(yàn)二圖書管理系統(tǒng)(試驗(yàn)?zāi)繕?biāo))經(jīng)過(guò)完成從用戶需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過(guò)程,深入了解和掌握本書中所講解內(nèi)容.[試驗(yàn)簡(jiǎn)述]一個(gè)簡(jiǎn)單圖書管理系統(tǒng)包含圖書館內(nèi)書籍信息、學(xué)校在校學(xué)生信息和學(xué)生借閱信息。此系統(tǒng)功效分為面向?qū)W生和面向管理員兩部分,其中學(xué)生能夠進(jìn)行借閱、續(xù)借、歸還和查詢書籍等操作,管理員能夠完成書籍和學(xué)生增加,刪除和修改和對(duì)學(xué)生,借閱、續(xù)借、歸還確實(shí)定.[試驗(yàn)要求]完成該系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì);用SQL實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì),并在SQSQLServer上調(diào)試經(jīng)過(guò).A.2零件交易中心管理系統(tǒng)試驗(yàn)匯報(bào)(參考答案)(試驗(yàn)?zāi)繕?biāo))經(jīng)過(guò)完成從用戶需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過(guò)程,深入了解和掌握本書中所講解內(nèi)容。(試驗(yàn)簡(jiǎn)述)零件交易中心管理系統(tǒng)關(guān)鍵提供用戶和供給商之間完成零件交易功效,其中包含供給商信息、用戶信息和零件信息。此系統(tǒng)能夠讓供給商增加、刪除和修改所提供零件產(chǎn)品,還能夠讓用戶增加、刪除和修改所需求零件。交易員能夠利用用戶提出需求信息和供給商提出供給信息來(lái)提出交易提議,由供給商和用戶進(jìn)行確定后即完成這筆交易。[課程設(shè)計(jì)全過(guò)程]1需求分析:(實(shí)際具體調(diào)查)2數(shù)據(jù)庫(kù)設(shè)計(jì):(SQLServer設(shè)計(jì))概念(模型)設(shè)計(jì)(實(shí)際到概念)邏輯設(shè)計(jì)(邏輯推導(dǎo))物理設(shè)計(jì)(理論到實(shí)現(xiàn))SQL編程、調(diào)試(測(cè)試驗(yàn)證)(實(shí)踐反復(fù)檢驗(yàn))3應(yīng)用程序編程、調(diào)試、測(cè)試(用人機(jī)交互前臺(tái)開(kāi)發(fā)工具VB.NET開(kāi)發(fā)windows和Web應(yīng)用程序)[需求分析](具體地調(diào)查分析系統(tǒng)對(duì)象、功效、性能等需求)l供給商供給商操作步驟圖圖A1所表示。增加供給項(xiàng)增加供給項(xiàng)修改供給項(xiàng)刪除供給項(xiàng)修改個(gè)人信息供給項(xiàng)注冊(cè)注銷圖A1供給商操作分類表2.用戶用戶地位和供給商幾乎是對(duì)稱,所以功效分類上也很相同.用戶操作步驟圖圖A2示所。增加需求項(xiàng)增加需求項(xiàng)修改需求項(xiàng)刪除需求項(xiàng)修改個(gè)人信息用戶注冊(cè)注銷圖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è)雙方交換信息方法;交易員協(xié)議書草案交易員協(xié)議書草案供給商和用戶簽字正式簽字交易員簽發(fā)完成交易供給商提出交易用戶提出交易申請(qǐng)交易員提出交易提議圖A.3交易員操作圖[概念模型設(shè)計(jì)](從實(shí)踐概括抽象出理論模型E/R)數(shù)據(jù)庫(kù)需要表述信息有以下多個(gè):(1)零件信息(2)供給商信息(3)用戶信息(4)供給商集和零件集之間聯(lián)絡(luò)(供給)M:NM:N零件顏色零件號(hào)零件名重量介紹供給商名供給商供給商號(hào)地址電話介紹供給數(shù)量?jī)r(jià)格圖A.4供給商和零件之間聯(lián)絡(luò)(供給)E/R模型(5)用戶集和零件集之間聯(lián)絡(luò)(求購(gòu))M:NM:N零件顏色零件號(hào)零件名重量介紹用戶電話用戶號(hào)用戶名地址求購(gòu)數(shù)量?jī)r(jià)格圖A.5用戶和零件之間聯(lián)絡(luò)(求購(gòu))E/R模型(6)交易(三元聯(lián)絡(luò))能夠用E/R模型表述該模型設(shè)計(jì),E/R圖圖A7所表示。供給商供給商交易價(jià)格數(shù)量求購(gòu)數(shù)量?jī)r(jià)格供給商號(hào)供給商名地址電話介紹供給數(shù)量?jī)r(jià)格零件顏色零件號(hào)零件名重量介紹用戶電話用戶號(hào)用戶名地址圖A.7全局E/R模型[邏輯設(shè)計(jì)](從理論‘E/R模型’到理論‘關(guān)系模型’整理轉(zhuǎn)換)經(jīng)過(guò)E/R模型到關(guān)系模型轉(zhuǎn)化,能夠得到以下關(guān)系模式:(1)零件實(shí)體集轉(zhuǎn)換為關(guān)系:Part(ID,Color,Name,Weight,Intro)(2)供給商實(shí)體集轉(zhuǎn)換為關(guān)系Provider(ID,Name,Addtess,Tel,Intro)(3)用戶實(shí)體集轉(zhuǎn)換為關(guān)系Customer(ID,Name,Addtess,Tel)(4)供給聯(lián)絡(luò)轉(zhuǎn)換為關(guān)系Supply(PartlD,ProviderlD,Price,Quantity)(5)求購(gòu)聯(lián)絡(luò)轉(zhuǎn)換為關(guān)系OfferToBuy(CustomerlD,PartID,Price,Quantity)(6)交易聯(lián)絡(luò)轉(zhuǎn)換為關(guān)系Business(CustomerlD,ProviderlD,PartID,Price,Quantity)每個(gè)關(guān)系模式主鍵碼全部用下劃線標(biāo)出。同時(shí),對(duì)于從聯(lián)絡(luò)導(dǎo)出關(guān)系Supply(供給),OfferToBuy(求購(gòu))和Business(交易),使用和之相聯(lián)絡(luò)實(shí)體集主健碼作為自己鍵碼,必需符合外鍵碼約束。對(duì)于Customer(用戶),Provider(供給商)和Part(零件)之間,不存在直接約束,所以能夠存在沒(méi)有供給商供給同時(shí)也沒(méi)有用戶求購(gòu)零件。[物理設(shè)計(jì)](從理論‘關(guān)系模型’到實(shí)現(xiàn)\實(shí)施‘?dāng)?shù)據(jù)庫(kù)建立’)(物理文件安排和建立索引)1為了提升在表中搜索元組速度,在實(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)2[用SQL實(shí)現(xiàn)設(shè)計(jì)]實(shí)現(xiàn)該設(shè)計(jì)環(huán)境為WindowsPerfessinal+MSSQLServer.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.供給商操作(1)注冊(cè)(register)INSERTINTOProvider(Name,password,Address,TeI,Intro)VALUES(#Name,#password,#Address,#Tel,#Intro)在登記操作后,供給商得到一個(gè)唯一ID,能夠依據(jù)這個(gè)ID采查詢和修改供給商數(shù)據(jù)。(2)注銷(unregister)DELETEProviderWHERE(ID=#ID);(3)修改個(gè)人館息(update)UPdateProviderSet(Name=#Name,Address=#Address,Tel=#Tel,Intro=#Intro)WHERE(ID=#ID);(4)增加供給項(xiàng)(add_supply_item)INSERTINTOSupply(PartID,Providerid,Price,Quantity)VALUES(#PartID,#ProvderlD,#Price;#Quantily);(5)刪除供給項(xiàng)(delete_supply_item)DELETESupPlyWHERE(PartlD=#PartIDANDProvideID=#ProviderlD);(6)修改供給項(xiàng)(update_supply_item)UPDATESupplySET(Price=#Price,Quantity=#Quantity)WHERE(PartlD=#PartIDANDProviderID=#ProviderID)‘很顯著,系統(tǒng)并沒(méi)有提供面向供給商修改零件信息接口,所以供給商提供零件必需已經(jīng)在零件表中存在;能夠這祥假設(shè),交易所管理員負(fù)責(zé)更新零件信息,而供給商能夠向交易所申請(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é)議書”處理方案,方案說(shuō)明以下:(1)每個(gè)交易在達(dá)成以前全部作為協(xié)議書保留在數(shù)據(jù)庫(kù)中,協(xié)議書含有和交易一樣完備信息,能夠在條件成熟情況下轉(zhuǎn)為一個(gè)達(dá)成交易;(2)協(xié)議書只有在供給商和用戶全部簽字情況下才有效;有效協(xié)議書由交易員簽發(fā),協(xié)議書一經(jīng)簽發(fā),就生效,表明一個(gè)交易達(dá)成,數(shù)據(jù)庫(kù)中數(shù)據(jù)將同時(shí)給予修改;(3)協(xié)議書能夠由供給商、用戶或交易員中任意一個(gè)人提出申請(qǐng)。當(dāng)協(xié)議書在雙方?jīng)]有全部簽字前,協(xié)議雙方或交易員全部能夠刪除這個(gè)協(xié)議書;不過(guò),當(dāng)協(xié)議書簽字完成后,協(xié)議書就不得刪除(修改),只能由交易員進(jìn)行處理;(4)協(xié)議書有可能在轉(zhuǎn)成交易過(guò)程中失敗,因?yàn)樵诮灰走_(dá)成以前,數(shù)據(jù)庫(kù)中數(shù)據(jù)有可能因?yàn)槠渌灰锥淖?,一個(gè)協(xié)議書可能失效,這是許可。依據(jù)以上分析,對(duì)數(shù)據(jù)庫(kù)模型作部分修改,增加協(xié)議書表,其關(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ù)防同一用戶(供給商,用戶)數(shù)據(jù)因兩個(gè)交易而同時(shí)修改;需要同時(shí)對(duì)供給數(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=@partID1NSERTINTOBusiness(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),愈加關(guān)鍵是,這里考慮到了非法Agreement情況,在一段時(shí)間后,因?yàn)楣┙o商或用戶修改數(shù)據(jù),Agreement可能就非法,這時(shí)就需要把這個(gè)事務(wù)廢除,所以,這里檢驗(yàn)了Supply表和OfferToBuy表中數(shù)據(jù),確保數(shù)據(jù)仍然正確。另外交易員,或說(shuō)交易所必需負(fù)擔(dān)一項(xiàng)任務(wù)是更新零件列表。這里在考慮用戶和供給商時(shí)候÷并沒(méi)有給她們修改零件列表權(quán)利,所以她們必需依據(jù)數(shù)據(jù)庫(kù)中已經(jīng)有項(xiàng)更新自己供求信息。因?yàn)檫@個(gè)數(shù)據(jù)庫(kù)實(shí)際上愈加偏重于模型化,而不是一個(gè)實(shí)際環(huán)境中數(shù)據(jù)庫(kù),所以在實(shí)現(xiàn)應(yīng)用模型時(shí)候我們還需要對(duì)這個(gè)數(shù)據(jù)庫(kù)模型作部分修改。因?yàn)楸驹囼?yàn)在模型設(shè)計(jì)上使用了MicrosoftTransact-SQL語(yǔ)法,所以以上數(shù)據(jù)庫(kù)操作全部是在SQLSERVER上測(cè)試經(jīng)過(guò)。[試驗(yàn)數(shù)據(jù)示例:測(cè)試階段](1.試驗(yàn)方案設(shè)計(jì)2.測(cè)試,查找錯(cuò)誤校正錯(cuò)誤,檢驗(yàn)是否符適用戶功效性能要求)1.試驗(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)(不一樣試驗(yàn),id值可能不一樣。以后對(duì)應(yīng)操作要保持前后一致就能夠丁。)2)插入供給商信息:insertintoProvider(Name,password,Address,Tel,Intro)values('coml','1234','北京',6543210,'nothing');顯示剛插入供給商id:selectidfromProviderwherename='coml';id---1(1row(s)affected)3)插入用戶信息:insertintoCustomer(Name,Address,Tel)values('cusl','北京','6666666')'顯示剛插入用戶id:selectidfromCustomerwherenameid---1(1row(S)affected)4)插入供給商供給信息:insertintoSupply(PartID,ProviderlD,Price,Quantity)values(1,1,20,100);5)插入用戶需求信息:insertintoOfferToBuy(PartlD,CustomerID,Priee,Quantity)values(1,1,20,50);6)插入?yún)f(xié)議信息:insertintoAgreement(CustomerID,ProviderID,PartlD,Price,Quantity,CustomerSign,ProviderSign)values(1,1,1,20,30,1,1);(2)實(shí)施交易操作設(shè)計(jì):1)實(shí)施交易存放過(guò)程PASS_AGREEMENT,參數(shù)為:1,1,1:PASS_AGREEMENT1,1,1;(后面三個(gè)參數(shù)分別對(duì)應(yīng)前面選擇出供給商ID、用戶ID和零件ID。)2)結(jié)果:顯示交易后供給信息和需求信息:selectQuantityfromSupplywherePartlD=1andProviderlD=1;Quantity----70(1row(s)affected)selectQuantityfromOfferToBuywherePartlD=landCustomerID;Quantity-----20(1row(s)affected)3)分析結(jié)果:首先,保留在Supply表中1D為1零件供給量為100(參見(jiàn)Supply表Insert語(yǔ)句),保留在OfferToBuy表中ID為1零件需求量為50(參見(jiàn)OFFERToBuy表Insert語(yǔ)句)。在Agreement表中指出ID為1供給商和ID為1用戶要交易30個(gè)ID為1零件。當(dāng)實(shí)施存放過(guò)程PASS_AGREEMENT以后,Supply和OfferToBuy表中對(duì)應(yīng)數(shù)量全部降低了30,交易成功。4)再次實(shí)施交易操作:deletefromBusiness;附錄:交易系統(tǒng)另一個(gè)SQL語(yǔ)言(數(shù)據(jù)表建立):/*MicrosoftSQLServer-Scripting *//*Server:7523TEACHER *//*Database:商品交易系統(tǒng) *//*CreationDate02-10-189:46:43 */CREATETABLE[dbo].[customer]( [id][smallint]IDENTITY(1,1)NOTNULL, [name][varchar](20)NOTNULL, [address][varchar](30)NULL, [Intro][text]NULL)GOALTERTABLE[dbo].[customer]WITHNOCHECKADD CONSTRAINT[PK_customer]PRIMARYKEYCLUSTERED ( [id] )ON[PRIMARY]GOCREATETABLE[dbo].[part]( [id][smallint]IDENTITY(1,1)NOTNULL, [color][varchar](20)NULL, [name][varchar](20)NOTNULL, [weight][int]NULL, [Intro][text]NULL)GOALTERTABLE[dbo].[part]WITHNOCHECKADD CONSTRAINT[PK_part]PRIMARYKEYCLUSTERED ( [id] )ON[PRIMARY]GOCREATETABLE[dbo].[provider]( [id][smallint]IDENTITY(1,1)NOTNULL, [name][varchar](20)NOTNULL, [password][varchar](8)NOTNULL, [address][varchar](30)NULL, [Tel][varchar](20)NULL, [Intro][text]NULL)GOALTERTABLE[dbo].[provider]WITHNOCHECKADD CONSTRAINT[PK_provider]PRIMARYKEYCLUSTERED ( [id] )ON[PRIMARY]GOCREATETABLE[dbo].[supply]( [partid][smallint]NOTNULL, [providerid][smallint]NOTNULL, [price][smallint]NULL, [quantity][int]NULL)GOCREATETABLE[dbo].[bussiness]( [customerID][smallint]NOTNULL, [partid][smallint]NOTNULL, [providerid][smallint]NOTNULL, [price][smallint]NULL, [quantity][int]NULL)GOCREATETABLE[dbo].[offertobuy]( [customerID][smallint]NOTNULL, [partid][smallint]NOTNULL, [price][smallint]NULL, [quantity][int]NULL)ALTERTABLE[dbo].[bussiness]WITHNOCHECKADDCONSTRAINT[PK_bussiness]PRIMARYKEYCLUSTERED( [customerID], [partid], [providerid] )ON[PRIMARY]GOALTERTABLE[dbo].[offertobuy]WITHNOCHECKADD CONSTRAINT[PK_offertobuy]PRIMARYKEYCLUSTERED ( [customerID], [partid] )ON[PRIMARY]GOALTERTABLE[dbo].[supply]WITHNOCHECKADD CONSTRAINT[PK_supply]PRIMARYKEYCLUSTERED ( [partid], [providerid] )ON[PRIMARY]GOALTERTABLE[dbo].[bussiness]ADDCONSTRAINT[FK_bussiness_customer]FOREIGNKEY([customerID])REFERENCES[dbo].[customer]([id]),CONSTRA

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論