




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.1編寫目的 11.2參考資料 1 2.1業(yè)務(wù)描述 22.2需求分析 2 3 44.1數(shù)據(jù)庫對象命名規(guī)則 44.2數(shù)據(jù)項(xiàng)編碼規(guī)則 4 5.2關(guān)系模型 5 [1]:[SUPPLIERS表](供應(yīng)商表) 66.3表[2]:[PRODUCT表](產(chǎn)品表) 76.4表[3]:[SP表](供應(yīng)商產(chǎn)品供應(yīng)表) 76.5表[4]:[ORDERS表](訂單表) 86.6表[5]:[PO表](產(chǎn)品訂購表) 96.7表[6]:[EMPLOYEE表](雇員表) 106.8表[7]:[CUSTOMER表](客戶表) 11 6.12函數(shù)的設(shè)計(jì) 30 7.1防止用戶直接操作數(shù)據(jù)庫的方法 317.2用戶帳號密碼的加密方法 31 32 1.1編寫目的庫的表名、字段名等數(shù)據(jù)信息,用來指導(dǎo)后期的數(shù)據(jù)庫腳本的開發(fā),本文檔遵循《SQLSERVER2008該數(shù)據(jù)庫的目的是為了能夠模擬完成一次訂單銷售流程。1.2參考資料《數(shù)據(jù)庫系統(tǒng)概論》《數(shù)據(jù)庫設(shè)計(jì)入門《數(shù)據(jù)庫原理》明務(wù)描述銷售訂單數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)訂單的下發(fā),數(shù)據(jù)的查詢刪除和修改。求分析程??蛻舻墓δ堋@绠?dāng)在訂單的中只要知道訂單的編號,就可以知道訂單的產(chǎn)品的名字,產(chǎn)品的數(shù)量(產(chǎn)的信息,客戶的信息。在訂購的表中知道訂單號就可以知道訂單中產(chǎn)品的數(shù)量??梢孕薷臄?shù)據(jù)庫里面的數(shù)據(jù),例如條件知道供應(yīng)商編號就可以對供應(yīng)商的信息(編號,姓名,x,地址等)進(jìn)行修改,還可以對該供應(yīng)商進(jìn)行刪除。知道客戶的編號就可以對客戶的數(shù)據(jù)(編號,信息姓名,x等)進(jìn)行修改,還可以對該用戶進(jìn)行刪除。能更加完善,能夠滿足更高的要求。明表例統(tǒng)計(jì)放位置SqlServerWindows7存放位置,絕路徑管理對象命名規(guī)則對象則表view能描述字符串insert_功能描述字符串例如:insert_PO更改庫存觸發(fā)器程Procedure述字符串編碼規(guī)則則型供應(yīng)商兩位整數(shù)序號 (00~1000)無兩位整數(shù)序號 (00~1000)無兩位整數(shù)序號 (00~1000)無兩位整數(shù)序號 (00~1000)無兩位整數(shù)序號 (00~1000)無存價(jià)格字姓名地址供應(yīng)n1產(chǎn)品m號數(shù)量nn管理111存價(jià)格字姓名地址供應(yīng)n1產(chǎn)品m號數(shù)量nn管理111雇員姓名地址工資姓名5.1ER圖話應(yīng)商n下下戶號明表,存儲供應(yīng)商的編號等信息表product品的編號、數(shù)量等信息品供應(yīng)表,存儲供應(yīng)商所供應(yīng)的產(chǎn)品對應(yīng)信息號、日期等信息儲產(chǎn)品訂購的對應(yīng)信息,存儲雇員的編號等信息戶的編號等信息Suppliers表](供應(yīng)商表)Suppliers(供應(yīng)商表)用戶段無無數(shù)據(jù)類型(精度范圍)YN1rNY高無主鍵/供應(yīng)商編號2rNN中無名稱3rNN中無供應(yīng)商地址4rNN高無電話createtableSuppliers(mbercharnotnullprimarykeySnamecharnotnullsscharnotnullubcharnotnullproduct表](產(chǎn)品表)Product(產(chǎn)品表)用戶umber段無無數(shù)據(jù)類型(精度范圍)YNYN1umberrNY高無2merNY高無3iceYN中無4priceYN中無5ventoryYN中無createtableproduct(p_numberchar(32)primarykeynotnull,p_namechar(32)notnull,p_priceint,--原價(jià)p_expriceint,--售價(jià)p_inventoryint,--庫存[sp表](供應(yīng)商產(chǎn)品供應(yīng)表sp(供應(yīng)商產(chǎn)品供應(yīng)表)用戶umber段無無數(shù)據(jù)類型(精度范圍)YNYN1rNY高無2umberrNY高無供應(yīng)表reatetablesup(ercharnotnullp_numberchar(32)notnull,primarykey(S_number,p_number),oreignkeySnumberreferencesSuppliersSnumberetecascadeatecascadeoreignkeypnumberreferencesproductpnumberetecascadetecascadeorders表](訂單表)orders(訂單表)用戶er段無無數(shù)據(jù)類型(精度范圍)YNYN1errNY高無2esNN低無3rrYN中無4errNN高無5pnYN中無createtableorders(onumbercharnotnullprimarykey,emplnumbercharnotnull,cnumbercharnotnull,timesdatepnint,--產(chǎn)品總數(shù)oreignkeycnumberreferencescustomercnumberdeletecascadeupdatecascadeoreignkeyemplnumberreferencesemployeeemplnumberetecascadetecascadepo表](產(chǎn)品訂購表)po(產(chǎn)品訂購表)用戶p_numbero_number段無無數(shù)據(jù)類型(精度范圍)YNYN1p_numberrNY高無2errNY高無3NN低無reatetablepo(p_numberchar(32),numbercharquantint,primarykey(p_number,o_number),oreignkeypnumberreferencesproductpnumberetecascadeatecascadeoreignkeyonumberreferencesordersonumberetecascadeatecascadeemployee表](雇員表)employee(雇員表)用戶r段無無數(shù)據(jù)類型(精度范圍)YNYN1rrNY高無2rYN中無稱3rYY高無話4ealYN低無資5rYN中無雇員的地址reatetableemployee(mplnamecharemplnumbercharprimarykey,mpladdrescharmpltelnumbcharmplrealintcustomer表](客戶表)customer(客戶表)用戶er段無無數(shù)據(jù)類型(精度范圍)YNYN1errNY高無2rYN中無3ssrYN中無客戶地址4rYY高無reatetablecustomer(cnumbercharprimarykey,cnamecharcadresscharctelnubchar設(shè)計(jì)功能:能夠向管理員提供簡明,直接的客戶信息展示。意義:有利于數(shù)據(jù)庫安全的維護(hù),防止任意修改數(shù)據(jù)庫中的雇員信息。eateviewvcoustomnamenumbercnamecnumbertomer訂單數(shù)和用來查找下訂單數(shù)最多的客戶。功能:能夠向管理員提供簡明,直接客戶下訂單的信息展示。意義:有利于數(shù)據(jù)的檢索。teviewviewordersselectcnumbercountonumberersupbycnumber的設(shè)計(jì)查詢訂單的數(shù)量同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureSearchOrdersNum訂單的存儲過程selectCOUNT--查詢訂單數(shù)量ders查詢訂單信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureselectorders訂單信息xonumberchar32)texists(select*erswhereo_number=xo_number)print'該訂單不存在'electordersonumbertimespncnameemplnamerderscustomeremployeewherecustomerc_number=orders.c_numberandordersemplnumberemployeeemplnumberandorders.o_number=xo_number查詢訂單最多的客戶信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟ateviewvieworderselectcnumbercountonumberersupbycnumberpviewvieworderscreateprocedureprocedureselectmaxoders查詢訂單數(shù)最多的客戶select*tomerwherec_numberin(umberfromvieworderswhere總數(shù)in()selectMAX(總數(shù))eworders查詢客戶信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureselectcoustom詢客戶信息xnamechar2)ifnotexists(select*tomerwherecname=xname)print'該客戶不存在'select*tomerwherecname=xname;查詢雇員信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureselectempl詢雇員信息xnamechar2)ifnotexists(select*oyeewhereempl_name=xname)print'該客戶不存在'select*oyeewhereemplname=xname;更新客戶信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureupdatecoustome更新客戶信息xnumberchar2),xtellchar2),xaddresschar32)ifnotexists(select*tomerwherec_number=xnumber)print'你輸入的客戶不存在'updatecustomerdressxaddressctelnubxtellwherec_number=xnumber;查詢產(chǎn)品信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureselecprodutxpnumberchar2)--產(chǎn)品的查詢select*ductwherepnumber=xpnumber;插入供應(yīng)商信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureinsersuply應(yīng)商xSnumberchar2),xSnamechar2),xSadresschar2),xStelnubchar2)ifexistsselectfromSupplierswhereS_number=xSnumber)ertppliersluesxSnumberxSname,xSadress,xStelnub);插入訂單信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureinsertorders訂單信息xonumberchar32),xemplnumberchar32),xcnumberchar32),xtimedatexpnintists(select*erswhereo_number=xo_number)print'該訂單已經(jīng)存在,不需重復(fù)下訂單'derslueserxemplnumbercnumberxtime,en插入產(chǎn)品訂購信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedure_oeder_pro--插入訂單產(chǎn)品texists(select*ductwherep_number=xpnumber)print'倉庫里沒有該產(chǎn)品,不予訂購'texists(select*erswhereo_number=xonumber)print'你輸入的訂單號不對'ifexists(select*wherep_number=xpnumberando_number=xonumber)print'該產(chǎn)品已經(jīng)在訂單中'exists(select*ductwherep_inventory<xquanyandp_number=xpnumber)print'該產(chǎn)品庫存不足不予以訂購'tintopoluesberxonumberxquany插入產(chǎn)品信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedure_insert_pro--插入產(chǎn)品xnumberchar32),xnamechar(32),xpriceint,xexpriceint,xinventoryintifexistsselectfromproductwherep_number=xnumber)updateproductventorypinventoryxinventoryroductlues(umberamericexpriceventory)更新供應(yīng)商的信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedure_update_suply--更新供應(yīng)商信息xsnumberchar2),xstellchar2),xsaddresschar2)ifnotexists(select*lierswhereS_number=xsnumber)print'你輸入的供應(yīng)商不存在'updateSuppliersdressxsaddressStelnubxstellwhereS_number=xsnumber;execprocedureupdatesuply','一三656478888','大連';應(yīng)商刪除供應(yīng)商的信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureproceduredeletsupply供應(yīng)商信息xnumberchar2)ifnotexists(select*lierswhereS_number=xnumber)print'你輸入的供應(yīng)商不存在'lierswhereS_number=xnumber;execproceduredeletsupply';圖一三刪除供應(yīng)商圖最多的庫存產(chǎn)品查詢同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟圖應(yīng)的產(chǎn)品查詢供應(yīng)商供應(yīng)的產(chǎn)品查詢同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedureseletpro詢商供應(yīng)的產(chǎn)品xsnumberchar32)ifnotexistsselectsnumberlierswhereS_number=xsnumber)print'該供應(yīng)商不存在'SnamepnameupplierssupproductwhereSuppliers.S_number=sup.S_numberandSuppliers.S_number=xsnumberandumberproductpnumberexecprocedureseletpro'011';更新客戶信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedure_update_coustome--更新客戶信息xnumberchar2),xtellchar2),xaddresschar32)ifnotexists(select*tomerwherec_number=xnumber)print'你輸入的客戶不存在'updatecustomerdressxaddressctelnubxtellwherec_number=xnumber;execprocedureupdatecoustome,'073一三936096','廣州'刪除客戶信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureproceduredeletcoustome客戶信息xnumberchar2)ifnotexists(select*tomerwherec_number=xnumber)print'你輸入的客戶不存在'tomerwherec_number=xnumber;execprocedure_delet_coustome'05'員信息更新雇員信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureprocedure_update_emp--更新雇員信息xenumberchar2),xetellchar2),xeaddresschar2),xerealintifnotexists(select*oyeewhereempl_number=xenumber)print'你輸入的雇員不存在'updateemployeesetempladdresxeaddressempltelnumbxetellemplrealxerealwhereempl_number=xenumber;execprocedureupdateemp','1111111111','changsha',2999;select*圖一八更新雇員信息圖刪除雇員信息同樣的動作時(shí),可直接執(zhí)行存儲過程,簡化操作步驟createprocedureproceduredeletemp雇員信息xnumberchar2)ifnotexists(select*oyeewhereempl_number=xnumber)print'你輸入的雇員不存在'oyeewhereempl_number=xnumber;execproceduredeletemp'員信息按工資高低排序select*oyeerbyemplreal入訂單信息和訂購信息以及修改產(chǎn)品庫存等信息訂單銷售流程,使用戶能夠更簡明的執(zhí)行完整的訂單銷售流程createprocedureprocedureOrd訂單銷售流程xonumberchar2),odatedatexenumberchar2),xcnumberchar2),quantintxpnintxpnumberchar2)ists(select*erswhereo_number=xonumber)print'該訂單已經(jīng)存在,不需重復(fù)下訂單'texists(select*ductwherep_number=xpnumber)print'倉庫里沒有該產(chǎn)品,不予訂購'texists(select*tomerwherec_number=xcnumber)print'你輸入的客戶不存在'texists(select*oyeewhereempl_number=xenumber)print'你輸入的雇員不存在'ists(select*ductwherep_inventory<xquantandp_number=xpnumber)print'該產(chǎn)品庫存不足不予以訂購'begindersluesxonumberxenumberxcnumberxodate,xpn)luesberxonumberxquant)print'訂單下發(fā)成功'end;設(shè)計(jì)功能:能夠根據(jù)數(shù)據(jù)庫中數(shù)據(jù)的變化來自動進(jìn)行數(shù)據(jù)更新操作。意義:為數(shù)據(jù)庫用戶提供一種簡便操作,省去了逐項(xiàng)更改數(shù)據(jù)的麻煩。createtriggerupdate_invert—實(shí)現(xiàn)當(dāng)插人(退)產(chǎn)品的時(shí)候庫存減少(增加)rtdeleteupdateproductventorypinventory()ntetedwhereproduct.p_number=deleted.p_numberoproductdeletedwhereproduct.p_number=deleted.p_numberupdateproductventorypinventory()ntertedwhereproduct.p_number=inserted.p_numberoproductinsertedwhereproductp_number=inserted.p_number;函數(shù)的設(shè)計(jì)無防止用戶直接操作數(shù)據(jù)庫的方法通過建立視圖來控制對數(shù)據(jù)的訪問。用戶帳號密碼的加密方法講原始數(shù)據(jù)變換為不可直接識別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。例如:execspaddloginfanyangcong123','xx'--創(chuàng)建登入名execspgrantdbaccessfanyangcong'xx'--在數(shù)據(jù)庫中創(chuàng)建新用戶execspaddsrvrolememberfanyangcongsysadminspaddrolefanyangcongdbowner-創(chuàng)建數(shù)據(jù)庫角色TCREATETABLETOfanyangcongGRANTCREATEVIEWTOfanyangcongNTSELECTONemployeeTOfanyangcongITHGRANTOPTIONOKEUPDATEoyeeOMfanyangcongVOKEDELETEoyeeOMfanyangcongCASCADE予表表與列限表表部分的控制權(quán)限yangcong表SQLServerSQLServer理--作業(yè)"下面會自動生成若干自動維護(hù)的工作條目,并且每個(gè)條目都有相應(yīng)的計(jì)劃表,這個(gè)才是正常更新系統(tǒng),刪除未銷卡記錄數(shù)據(jù)庫維護(hù)計(jì)劃非常強(qiáng)大,里面有各式各樣對數(shù)據(jù)庫的維護(hù)/備份操作,每樣都可以設(shè)定不同的這一切的基礎(chǔ)。系統(tǒng)每天凌晨更新后,自動備份數(shù)據(jù)庫。sql了只有自己動趣。開始我還以為很簡單,就是建幾個(gè)表,在做幾個(gè)查詢,后來才發(fā)現(xiàn)要求在么多,要畫E-R圖,要老師的安排努力的在機(jī)房完成每次老師布置的任務(wù),最終還是完成了本次課程設(shè)計(jì)的任務(wù)。讓我感覺進(jìn)步了不少,也為將來進(jìn)一步學(xué)習(xí)和工作打下了基礎(chǔ)。實(shí)施。createtableSuppliers(mbercharnotnullprimarykeySnamecharnotnullsscharnotnullubcharnotnullreatetablesup(ercharnotnullp_numberchar(32)notnull,primarykey(S_number,p_number),oreignkeySnumberreferencesSuppliersSnumberetecascadeatecascadeoreignkeypnumberreferencesproductpnumberetecascadetecascadecreatetableorders(onumbercharnotnullprimarykey,emplnumbercharnotnull,cnumbercharnotnull,timesdatepnint,--產(chǎn)品總數(shù)foreignkeycnumberreferencescustomercnumberdeletecascadeupdatecascadeforeignkeyemplnumberreferencesemployeeemplnumberetecascadetecascadecreateprocedureprocedureinsersuply供應(yīng)商xSnumberchar2),xSnamechar2),xSadresschar2),xStelnubchar2)ifexistsselectfromSupplierswhereS_number=xSnumber)pplierslues(numbernamexSadress,elnubprocedure_inser_suply'001','凌章','長沙','16845966345';procedure_inser_suply'002','熊富','長沙','16845966125';procedure_inser_suply'003','張山','長沙','16845123345';procedure_inser_suply'004','李四','長沙','16845486125';procedure_inser_suply'005','王五','長沙',;procedureinsersuply'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨產(chǎn)品運(yùn)輸合同
- 項(xiàng)目合伙的協(xié)議書
- 買賣合同房屋買賣第三方合同
- 股權(quán)分配合作協(xié)議書
- 購買汽車融資租賃合同
- 護(hù)工合同協(xié)議書樣本
- 提高工作效率方案
- 解決方案-提高工作效率的舉措
- 新能源汽車動力電池研發(fā)合作協(xié)議
- 必修4 第一單元 唯物論-高中政治單元教學(xué)設(shè)計(jì)
- GB/T 6418-2008銅基釬料
- 熒光的猝滅解析課件
- 足球訓(xùn)練計(jì)劃 周
- 人教版小學(xué)美術(shù)六年級下冊全冊課件
- 戰(zhàn)略管理教學(xué)ppt課件(完整版)
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter10 Hashing
- 藍(lán)色卡通風(fēng)學(xué)生班干部競選介紹PPT模板課件
- 人教新目標(biāo)英語九年級上冊單詞中文Units
- 機(jī)動車牌證申請表格模板(完整版)
- 部編版小學(xué)語文三年級(下冊)學(xué)期課程綱要
評論
0/150
提交評論