組裝機配置系統(tǒng) 數(shù)據(jù)庫設計_第1頁
組裝機配置系統(tǒng) 數(shù)據(jù)庫設計_第2頁
組裝機配置系統(tǒng) 數(shù)據(jù)庫設計_第3頁
組裝機配置系統(tǒng) 數(shù)據(jù)庫設計_第4頁
組裝機配置系統(tǒng) 數(shù)據(jù)庫設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本科學生綜合性試驗報告課程名稱:數(shù)據(jù)庫系統(tǒng)原理組裝機配置系統(tǒng)數(shù)據(jù)庫設計項目組長學號項目組長學號項目組長學號班級指導老師完成時間2012年12月31日引言組裝機配置系統(tǒng)是面向目前大部分不懂電腦配件方面知識用戶開設的,由于中國今年來經(jīng)濟高速發(fā)展,電腦進入平常百姓之家已經(jīng)成為必然趨勢,然而目前由于經(jīng)濟以科技的過快發(fā)展導致我國人員的整體素質跟不上我國的經(jīng)濟的快速發(fā)展,特別是對于電腦方面的撰于知識,所以讓大家普及電腦方面的知識非常有必要,而在電腦的購買方面,該軟件可以為大家提供建議,讓我的人民都可以買到最適合自己的電腦。股通過該軟件可以讓大家更了解電腦方面的知識。1.1編寫目的讓該文檔的使用成員成為該系統(tǒng)的開發(fā)人員以及該系統(tǒng)具體組織管理人員。1.2背景隨著中國經(jīng)濟和科技近年來的高速發(fā)展,電腦已經(jīng)是進入民眾家里的.一種趨勢,然而目前為止民眾對電腦的各個部件又不是十分了解,所以買家去買電腦的時候只能聽從賣家的建議,電視我們又不知道電腦器件各個部位的具體市場價格,容易被賣家忽悠,所以為我們民眾設計一款組裝機的軟件配置系統(tǒng)非常有必要,因為它不僅可以大眾的維護權益,而且可以為大家普及一下電腦方面的知識,我相信隨著電腦方面的知識的普及,在不久的將來該軟件可以成為大家購買組裝機的一個重要參考指標。1.3系統(tǒng)目標根據(jù)賣家提供的要求給出相應的配置(例如賣家需要某種型號的主板,該軟件生成與該主板匹配的組裝機的其他電腦配件,或者買家給定金額和某方面的要求(例如只看電影)該軟件生成可以滿足賣家需求的一系列電腦配件)同時為用戶提供機組適合用戶的性價比比較高的推薦配置(次特權向高級用戶開放)2需求分析需求分析將從編寫目的,背景,系統(tǒng)目標系統(tǒng)功能分析,系統(tǒng)總功能圖,數(shù)據(jù)字典,數(shù)據(jù)需求及業(yè)務規(guī)則分析,實體和聯(lián)系等方面進行分析,為概念設計提供依據(jù)。2.1系統(tǒng)功能分析(1)電腦配件基本信息管理1)工作人員錄入,更新和刪除電腦配件的基本信息,包括電腦的編號,名稱,生產(chǎn)廠家和價格等信息。2)電腦配件查詢。用戶可以根據(jù)電腦配件查詢電腦配件現(xiàn)在的市場價格,也可以根據(jù)用戶提供的價格要求查找用戶所需的電腦配件。(2)用戶基本信息管理工作人員錄入,刪除,修改用戶的基本信息,包括用戶的姓名、生日、等級等信息。工作人員可以對用戶信息進行查詢。 3)系統(tǒng)對顧客的等級按使用次數(shù)進行自動修改(3用戶選擇配件管理1)用戶可以根據(jù)自己的喜好隨意選擇電腦配件信息,用戶可以隨意增加刪除和設定想要的電腦配件信息,最后統(tǒng)計價格2)選擇電腦配件查詢:用戶在選擇電腦配件后可以對所選電腦配件進行查詢3)刪除和改選:選擇電腦配件成功后,用戶可以在未處理組裝機套前對組裝機套內(nèi)的電腦配件進行修改和刪除。組裝機推薦配置管理(1)工作人員負責錄入組裝機推薦信息,根據(jù)電腦配置的性能和價格不同,組合成一系列組裝機配置信息包括電腦配件的生產(chǎn)廠商,價格,名稱和編號供用戶參考。(2)工作人員負責更新組裝機和刪除一整套組裝機4用戶反饋信息管理用戶可以根據(jù)提供的組裝機使用后的性能給予評價缺點和不足,讓工作人員盡快改進更好的推薦信息供用戶選擇。5用戶等級管理工作人員根據(jù)用戶的使用次數(shù)進行累計,在使用次數(shù)超過500次自動升級為高級用戶。2.2系統(tǒng)總功能圖用戶等級管理用戶等級管理組裝機管理組裝機管理系統(tǒng)組裝機基本配件管理用戶基本信息管理用戶基本信息管理用戶選擇配件管理用戶選擇配件管理組裝機推薦配置管理組裝機推薦配置管理用戶反饋信息管理用戶反饋信息管理2.3數(shù)據(jù)需求及業(yè)務規(guī)則分析業(yè)務規(guī)則分析:業(yè)務規(guī)則分析主要是分析數(shù)據(jù)之間的約束以及數(shù)據(jù)庫約束。基于上述功能需求,通過進一步了解,組裝機系統(tǒng)業(yè)務規(guī)則如下:每個普通用戶有唯一的注冊編號,由用戶注冊系統(tǒng)時間分配。(2)每個組裝電腦的配件在軟件中必須有唯一編號用以區(qū)分其它電腦配件。每一整套組裝機的配置標號需唯一的標示。每個用戶由用戶編號唯一標識,會員編號由系統(tǒng)編號按時間順序生成。用戶均可搜到組裝機的匹配信息,不過只有高級用戶才能享受該軟件提供的推薦組裝機信息。用戶可以根據(jù)軟件提供的信息進行自行適當?shù)母淖儭R粋€電腦配件只由一個價位,一個價位可以有多個電腦配件。用戶自能產(chǎn)看和更改自己的評論。顧客只能看到所有評價信息,不能更改其他用戶評論的信息。同類電腦配件推薦中每次只能推薦最多3組組裝機(推薦信息根據(jù)用戶查詢的電腦配件價位及適用情況)以供選擇。自動組裝機推薦中,系統(tǒng)根據(jù)用戶歷史選擇電腦配件及消費水平給出推薦,最多給出5個推薦。系統(tǒng)若查詢不到用戶的歷史查詢記錄,便不可進行組裝機查詢推薦。2.4數(shù)據(jù)約束分析:用戶訪問權限:任何用戶都不能訪問其他用戶的密碼。電腦配件的編碼規(guī)則:以字母C開頭加6位數(shù)字組成,數(shù)字是按流水號逐漸增大。用戶的編號規(guī)則:以字母U開頭加六位數(shù)字組成,數(shù)字是按流水號逐漸增大。組裝機推薦的編號規(guī)則:以字母A開頭加六位數(shù)字組成,數(shù)字是按流水號逐漸增大。數(shù)據(jù)字典數(shù)據(jù)字典包括數(shù)據(jù)項描述、數(shù)據(jù)結構描述、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程,具體內(nèi)容如下。電腦配件表數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明CompartsNoChar(7)NotnullG字符加6個數(shù)字電腦配件編號CompartsNamevarChar(20)Notnull字符電腦配件名稱PriceNumeric(7,2)Notnull數(shù)字電腦配件價格CompartsstyleChar(7)Notnull字符電腦配件類型(鍵盤,鼠標等)用戶表數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明UsenoChar(7)Notnull字符u加6個數(shù)字用戶編號UsenameChar(20)Notnull字符用戶名字組裝機推薦表數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明AssemblymachineNoChar(7)Notnull以字母S開頭加6個數(shù)字自裝機套編碼aPriceNumeric(7,2)Nornull數(shù)字自裝機套價格benefitvarChar(20)Notnull字符自裝機套功能2.5數(shù)據(jù)處理為了實現(xiàn)預期的系統(tǒng)功能,我們建立了以下數(shù)據(jù)處理過程。數(shù)據(jù)處理編號名稱數(shù)據(jù)處理說明1組裝機總價計算建立一個存儲過程,利用游標實現(xiàn)在用戶選擇電腦配件后,通過多選的電腦配件的價格,計算出組裝機套的總價。2組裝機總價控制建立一個觸發(fā)器,控制組裝機套價不能人為操作控制,只能由明細表計算得出。3組裝機評價控制建立一個觸發(fā)器,控制用戶只能修改自己對推薦信息的打分,對其他用戶的打分只能查看。數(shù)據(jù)庫概念設計根據(jù)上述需求分析,可定義下列實體集、聯(lián)系集及其屬性、定義實體集及屬性。3.1定義實體集及屬性組裝機實體集:具有配件編號(compartNo)、配件名稱(comparsName)、價格(price)、配件類型(dishetype)等屬性。用戶實體集Member:具有用戶編號(userNo)、用戶姓名(userName)等屬性。組裝機套實體集(Assemblymachine):具有套餐號(AssemblymachineNo)、套餐價格(aPrice)、套餐功能(benefit)等屬性。3.2定義聯(lián)系集及屬性Combination聯(lián)系集:comparts和Assemblymachine之間多對多的關系,一種配件可以被多種組裝套選擇,一種組裝套可以選擇多個配件。Evaluate聯(lián)系集:user和comparts之間多對多的關系,同時對系統(tǒng)推薦的組裝機配置可以進行評分(有分數(shù)屬性)Create聯(lián)系集:Comparts和Choice聯(lián)系集之間的聯(lián)系,都用集合表示。3.3E-R模型設計所有實體描述如下配件實體集如圖所示。 compartsNocompartsNocompartsnamecompartsnamecompartsstylesCompartscompartsstylesCompartspriceprice用戶實體集UserNoUserNameUserNoUserNameUUserlevelUserUserUsersexUsersexUserbrithUsercountUserbrithUsercount組裝機推薦實體集benefitbenefitassemblymachineNoassemblymachineNoAssemblymachineAssemblymachineaPriceaPriceCompartsNoCompartsNocreate聯(lián)系集DDateCCreateAccemblyAccemblyCompartsevaluate聯(lián)系集ScoreScoreEEvaluateAccemblyUserAccemblyUserchoice聯(lián)系集DDateUserCUserChoiceComparts總體E-R圖CCreateCompartsCompartsAccemblyEEvaluateCChoiceUUser4邏輯設計根據(jù)上述概念設計,將其轉化為系統(tǒng)可以識別、支持的關系數(shù)據(jù)模型。4.1關系設計4.11由實體集轉化來的關系模式由comparts實體集轉化的關系模式為:Comparts(compartsNo。compartsName,price,compartsstype)由user實體轉化的關系模式為:User(userNo,userName)由accembly實體轉化的關系模式為:Accembly(accemblyNo,aPrice,accemblyNo,benefit)4.12由聯(lián)系集轉化而來的關系模式Evaluate聯(lián)系集:Evaluate(accembly,compartsNo,score)由Combination聯(lián)系集轉化為accemnlyDetail:accemblyDetial(accemblyNo,compartsNo,compartsNo,price)4.2約束說明關系設計包括轉換所得的表,轉換之后的關系如表配件表(comparts)數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明其他數(shù)據(jù)項的聯(lián)系compartsNoChar(7)NotnullG字符加6個數(shù)字配件編號主鍵compartsNamevarChar(20)Notnull字符配件名稱與配件號對應priceNotnull數(shù)字配件價格獨立compartsstypeChar(7)null字符配件類型獨立用戶表(user)數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明與其他數(shù)據(jù)項的聯(lián)系userNoChar(7)Notnull字符U加6個數(shù)字用戶編號主鍵userNameChar(20)Notnull字符顧客名字獨立組裝機配置推薦表(accembly)數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明與其他數(shù)據(jù)項的聯(lián)系accemblyChar(7)Notnull以字母A開頭加六位數(shù)字組裝機套編號主鍵apriceNumeric(7,2)Notnull數(shù)字組裝機套價格由組裝機各配件價格計算得來,參照表compartscompartsNoChar(7)NotnullG字符加6個數(shù)字菜品編號compartsNobenefitvarChar(20)Notnull字符套餐功能獨立組裝機配置明細表SmealDeatail數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明與其他數(shù)據(jù)項的聯(lián)系accemblyNoChar(12)Notnull有系統(tǒng)自動按時間提供組裝機套編號主鍵、外鍵,參照Menu表compartsNoChar(7)NotnullG字符加6個數(shù)字配件編號主鍵、外鍵,參照dishes表priceNumeric(7,2)Notnull數(shù)字配件價格與配件對應反饋表Evaluate數(shù)據(jù)項名與別名類型(長度)是否為空數(shù)據(jù)約束數(shù)據(jù)項含義說明與其他數(shù)據(jù)項的聯(lián)系UserChar(4)NotnullU字符加3個數(shù)字用戶編號主鍵、外鍵,參照user表CompartsNoChar(7)NotnullG字符加6個數(shù)字菜品編號主鍵、外鍵,參照comparts表ScoreIntNotnull數(shù)字,0到10分數(shù)獨立函數(shù)依賴關系1)配件表函數(shù)依賴集為F1={配件編號→(配件名稱,配件價格,配件類型,熱量)}3NF。用戶表函數(shù)依賴集為F2={用戶編號→(用戶姓名)}3NF。3)組裝機套表函數(shù)依賴集F3={組裝機套編號→(組裝機套價格,配件編號,組裝機功能)}3NF。組裝機套明細表函數(shù)依賴集為F5={組裝機套編號→(配件編號)}3NF。5)反饋表函數(shù)依賴集F10={用戶編號→(配件編號,分數(shù))}3NF。5.數(shù)據(jù)庫應用設計數(shù)據(jù)庫應用的設計,包括數(shù)據(jù)庫的腳本和安全性設計、數(shù)據(jù)庫的完整性設計和數(shù)據(jù)庫的存儲過程設計。5.1數(shù)據(jù)庫腳本及數(shù)據(jù)庫安全性設計1)數(shù)據(jù)庫安全性設計創(chuàng)建兩個用戶分別為工作人員’work01’和用戶‘user’然后根據(jù)不同表的功能,賦予他們不同的權限。創(chuàng)建用戶代碼如下:/*addmyuser*/execsp_adduserwork01,work01execsp_addlogin'user','123456','AccemblyDB'execsp_adduser'user','user'2)數(shù)據(jù)庫腳本創(chuàng)建各個用戶相關的表,并設計好各表間的主外鍵聯(lián)系,規(guī)定好個用戶的權限,工作人員有所有的權限,而用戶對于菜單表有添加修改的作用,代碼如下:print'creattableComparts'goCREATETABLEComparts(compartsNochar(7)notnull/*電腦配件編號*/check(compartsNolike'[G][0-9][0-9][0-9][0-9][0-9][0-9]'),compartsNamevarchar(10)notnull,/*電腦配件名稱*/pricenumeric(7,2)notnull,/*電腦配件價格*/constraintcompartsPKprimarykey(compartsNo))gograntalloncompartstowork01goprint'createUser'gocreatetableUser(userNochar(7)notnull,/*用戶號*/check(userNolike'[U][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),userNamevarchar(40)notnull,/*用戶姓名*/sexchar(1)notnull,/*性別*/userLevelvarchar(12)notnull,/*用戶等級*/birthdaydatetimenull,/*用戶生日*/constraintUserPKprimarykey(userNo))gograntallonusertowork01goprint'createtablecomparts'gocreatetablecopmparts(accemblylNochar(4)notnull,/*組裝機套編號*/Apricenumeric(7,2)notnull,/*組裝機套價格*/ConstraintaccemblyPKprimarykey(accemblylNo))gograntallonaccemblytowork01goprint'createaccemblyDetail'gocreatetableaccemblyDetail(accemblyNochar(4)notnull,/*組裝機套編號*/compartsNochar(7)notnull/*電腦配件編號*/check(compartsNolike'[G][0-9][0-9][0-9][0-9][0-9][0-9]'),pricenumeric(7,2)notnull,/*電腦配件價格*/constraintaccemblyDetailPKprimarykeyclustered(accemblyNo,compartsNo),constraintaccemblyDetailFK1foreignkey(accemblyNo)referencesaccembly(accemblyNo),constraintaccemblyDetailFK2foreignkey(compartsNo)referencesComparts(compartsNo))gograntallonaccemblyDetailtowork01goprint'createtableEvaluate'gocreatetableEvaluate(compartsNochar(7)notnull/*菜品編號*/check(compartsNolike'[G][0-9][0-9][0-9][0-9][0-9][0-9]'),scoreintnotnull,/*分數(shù)*/constraintEvaluateFKforeignkey(dishesNo)referencesDishes(dishesNo))gograntallonEvaluatetowork01grantupdateonaccemblyDetailtousergrantselectonaccemblyDetailtouser,iGo5.2數(shù)據(jù)庫觸發(fā)器設計根據(jù)具體的數(shù)據(jù)庫要實現(xiàn)的功能,我們設計了相應的3個觸發(fā)器,來實現(xiàn)數(shù)據(jù)庫的完整性。組裝機套總價推薦:建立存儲過程,實現(xiàn)組裝機的總價根據(jù)組裝機明細表中的數(shù)據(jù)計算得出,代碼如下所示。createprocedurep_accemblysumasbegindeclare@accemblynochar(12)declarecur_accemblysumscrollcursorforselectaccemblyNofromaccemblydetailopencur_accemblysumfetchnextfromcur_accemblysuminto@accemblynowhile(@@fetch_status=0)beginupdateaccemblysetaccemblysum=accemblydetail.quantity*accemblydetail.pricefromaccemblydetailawherea.accemblyno=@accemblynofetchnextfromcur_aacemblysuminto@accemblynoendclosecur_accemblysumdeallocatecur_accemblysumEnd建立一個觸發(fā)器,用戶根據(jù)用戶歷史選擇電腦配件時不低于1個不超過5個,否則作無效操作處理CREATETRIGGERquantityInsONordersFORINSERTASDECLARE@quantityint(5)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論