數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫(kù)管理系統(tǒng)
《數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫(kù)管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫(kù)管理系統(tǒng)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、長(zhǎng)沙學(xué)院課程設(shè)計(jì)說明書題目 銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng) 系(部) _ 專業(yè)(班級(jí)) _ 姓名 _ 學(xué)號(hào) _ 指導(dǎo)教師 _ 起止日期 _課程設(shè)計(jì)任務(wù)書課程名稱:數(shù)據(jù)庫(kù)系統(tǒng)原理課程名稱:數(shù)據(jù)庫(kù)系統(tǒng)原理設(shè)計(jì)題目:設(shè)計(jì)題目:銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng)1、某銷售商的訂單系統(tǒng)需要如下信息:每個(gè)供應(yīng)商包含供應(yīng)商編號(hào)、名稱、地址、聯(lián)系電話等信息。每種產(chǎn)品包含產(chǎn)品號(hào)、產(chǎn)品名稱、產(chǎn)品類別等信息。每個(gè)供應(yīng)商可供應(yīng)多種產(chǎn)品,每種產(chǎn)品可由多個(gè)供應(yīng)商供應(yīng)。客戶包含編號(hào)、姓名、通信地址、電話等信息。雇員包括編號(hào)、姓名、聯(lián)系電話等信息。訂單包括訂單號(hào)等信息。一個(gè)客戶可下多個(gè)訂單,每個(gè)訂單只能由一個(gè)客戶下。一個(gè)雇員可管理多個(gè)訂單,每個(gè)
2、訂單只能由一個(gè)雇員管理。一個(gè)訂單訂購(gòu)多種產(chǎn)品,每種產(chǎn)品可在不同的訂單中訂購(gòu)2、系統(tǒng)功能基本要求:按照一定條件查詢、統(tǒng)計(jì)訂單信息,例如訂單量最多的客戶或者產(chǎn)品。能夠模擬完成一個(gè)訂單交易全過程。設(shè)計(jì)工作量:設(shè)計(jì)工作量:40 課時(shí)工作計(jì)劃:工作計(jì)劃:班級(jí)周次節(jié)次教室內(nèi)容指導(dǎo)教師15 周周一1-4XXX布置任務(wù)15 周周三1-4XXX上機(jī)15 周周四9-12XXX答疑15 周周五9-12XXX答疑15 周周六1-4XXX上機(jī)16 周周一9-12XXX答疑16 周周二1-2XXX上機(jī)16 周周三1-2XXX上機(jī)16 周周四9-12XXX答疑16 周周五1-4XXX上機(jī)10 軟件7 班16 周周六1-4X
3、XX答辯XXX指導(dǎo)教師簽名:日期:教研室主任簽名: 日期:系主任簽名: 日期: 長(zhǎng)沙學(xué)院課程設(shè)計(jì)鑒定表姓名學(xué)號(hào)專業(yè)班級(jí)設(shè)計(jì)題目指導(dǎo)教師指導(dǎo)教師意見:評(píng)定等級(jí): 教師簽名: 日期: 答辯小組意見:評(píng)定等級(jí):答辯小組長(zhǎng)簽名:日期:教研室意見:教研室主任簽名: 日期: 系(部)意見:系主任簽名:日期:說明課程設(shè)計(jì)成績(jī)分“優(yōu)秀” 、 “良好” 、 “及格” 、 “不及格”四類;目 錄一、引言一、引言 .51.1編寫目的.51.2參考資料.5二、二、需求規(guī)約需求規(guī)約.62.1 業(yè)務(wù)描述.62.2 需求分析.6三、三、數(shù)據(jù)庫(kù)環(huán)境說明數(shù)據(jù)庫(kù)環(huán)境說明.7四、四、數(shù)據(jù)庫(kù)的命名規(guī)則數(shù)據(jù)庫(kù)的命名規(guī)則.74.1 數(shù)據(jù)
4、庫(kù)對(duì)象命名規(guī)則.74.2 數(shù)據(jù)項(xiàng)編碼規(guī)則.7五、五、邏輯設(shè)計(jì)邏輯設(shè)計(jì).85.1 ER 圖.85.2 關(guān)系模型.8六、六、物理設(shè)計(jì)物理設(shè)計(jì).96.1 表匯總.96.2 表1: SUPPLIERS表(供應(yīng)商表).96.3 表2: PRODUCT表(產(chǎn)品表) .106.4 表3: SP 表(供應(yīng)商產(chǎn)品供應(yīng)表).106.5 表4: ORDERS表(訂單表).116.6 表5: PO 表(產(chǎn)品訂購(gòu)表).126.7 表6: EMPLOYEE表(雇員表) .126.8 表7: CUSTOMER表(客戶表).136.9 視圖的設(shè)計(jì).136.10 存儲(chǔ)過程的設(shè)計(jì).146.11 觸發(fā)器的設(shè)計(jì).186.12 函數(shù)的
5、設(shè)計(jì).18七、七、安全性設(shè)計(jì)安全性設(shè)計(jì).197.1 防止用戶直接操作數(shù)據(jù)庫(kù)的方法.197.1.1 用戶標(biāo)識(shí)和鑒定.197.1.2 存取控制.197.1.3 數(shù)據(jù)加密.197.2 用戶帳號(hào)密碼的加密方法.197.3 角色與權(quán)限.19八、八、數(shù)據(jù)庫(kù)管理與維護(hù)說明數(shù)據(jù)庫(kù)管理與維護(hù)說明.20九、九、總結(jié)總結(jié).21一、引言一、引言1.1編寫目的編寫目的本文檔是銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)文檔的組成部分,編寫數(shù)據(jù)庫(kù)設(shè)計(jì)文檔的目的是:明確數(shù)據(jù)庫(kù)的表名、字段名等數(shù)據(jù)信息,用來指導(dǎo)后期的數(shù)據(jù)庫(kù)腳本的開發(fā),本文檔遵循SQL SERVER 2008 數(shù)據(jù)庫(kù)設(shè)計(jì)和開發(fā)規(guī)范 。本文檔的讀者對(duì)象是需求人員、系統(tǒng)設(shè)計(jì)人員、開
6、發(fā)人員、測(cè)試人員。設(shè)計(jì)該數(shù)據(jù)庫(kù)的目的是為了能夠模擬完成一次訂單銷售流程。1.2參考資料參考資料 資料名稱作者文件編號(hào)、版本數(shù)據(jù)庫(kù)系統(tǒng)概論 王珊、薩師煊2006 年 5 月第 4 版數(shù)據(jù)庫(kù)設(shè)計(jì)入門經(jīng)典鮑威爾2007 年 3 月第 1 版數(shù)據(jù)庫(kù)原理克羅恩科2005 年 6 月第 1 版二、二、需求規(guī)約2.1 業(yè)務(wù)描述業(yè)務(wù)描述銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng)的總目標(biāo)是:在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫(kù)和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)訂單銷售的自動(dòng)化的計(jì)算機(jī)系統(tǒng),為商品供應(yīng)商提供準(zhǔn)確、精細(xì)、迅速的訂單銷售信
7、息。具體功能為供應(yīng)商供應(yīng)產(chǎn)品、請(qǐng)假的申請(qǐng),出差的記錄輸入到系統(tǒng)中,系統(tǒng)將為員工記錄這些信息。2.2 需求分析需求分析本銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng),能夠完成插入產(chǎn)品,供應(yīng)記錄,訂購(gòu)記錄等等這些信息,以能夠模擬完成一次訂單銷售的過程,此外,在一個(gè)完整的訂單銷售流程中,本數(shù)據(jù)庫(kù)系統(tǒng)還提供查詢某供應(yīng)商供應(yīng)的產(chǎn)品信息,詢某產(chǎn)品信息,查詢某客戶信息,查詢某訂單訂購(gòu)的產(chǎn)品的信息。對(duì)于客戶而言,還提供了查詢訂單最多的客戶的功能??偟膩碚f,本數(shù)據(jù)庫(kù)系統(tǒng)能夠達(dá)到模擬完成一次訂單銷售流程的要求。在本銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng)中,有一些限制性條件,比如一個(gè)客戶可以下多個(gè)訂單,但一個(gè)訂單只能由一個(gè)客戶下,一個(gè)訂單可以訂購(gòu)多種產(chǎn)
8、品,每種產(chǎn)品可被不同訂單訂購(gòu)等等,這些限制條件的加入能夠使本數(shù)據(jù)庫(kù)管理系統(tǒng)的功能更加完善,能夠滿足更高的要求。三、三、數(shù)據(jù)庫(kù)環(huán)境說明數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)部署環(huán)境數(shù)據(jù)庫(kù)設(shè)計(jì)工具數(shù)據(jù)庫(kù)存放位置說明銷售訂單數(shù)據(jù)庫(kù)管理系統(tǒng)Sql Server 2008Windows XPSql Server存放位置,絕對(duì)路徑/相對(duì)路徑用于訂單銷售管理四、四、數(shù)據(jù)庫(kù)的命名規(guī)則數(shù)據(jù)庫(kù)的命名規(guī)則4.1 數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則備注表S 功能描述字符串例如:Suppliers 供應(yīng)商表視圖view_功能描述字符串例如:view_Product 產(chǎn)品視圖觸發(fā)器insert_功能描述字符串例如
9、:insert_PO 更改庫(kù)存觸發(fā)器存儲(chǔ)過程Procedure_功能描述字符串例如:pro_insertSuppliers 存儲(chǔ)過程 4.2 數(shù)據(jù)項(xiàng)編碼規(guī)則數(shù)據(jù)項(xiàng)編碼規(guī)則數(shù)據(jù)項(xiàng)命名規(guī)則數(shù)據(jù)類型長(zhǎng)度范圍備注供應(yīng)商編號(hào)兩位整數(shù)序號(hào)(0099)定長(zhǎng)字符串12 位無產(chǎn)品號(hào)兩 位 整 數(shù) 序 號(hào)(0099)定長(zhǎng)字符串12 位無訂單號(hào)兩位整數(shù)序號(hào)(0099)定長(zhǎng)字符串12 位無雇員號(hào)兩位整數(shù)序號(hào)(0099)定長(zhǎng)字符串12 位無客戶號(hào)兩位整數(shù)序號(hào)(0099)定長(zhǎng)字符串12 位無五、五、邏輯設(shè)計(jì)邏輯設(shè)計(jì)5.1 ER 圖圖供應(yīng)商供應(yīng)產(chǎn)品訂購(gòu)訂單管理雇員下發(fā)客戶名稱地址聯(lián)系電話客戶編號(hào)姓名通信地址電話產(chǎn)品編號(hào)供應(yīng)
10、商編號(hào)產(chǎn)品編號(hào)產(chǎn)品名稱產(chǎn)品類型產(chǎn)品編號(hào)訂單編號(hào)訂單編號(hào)雇員編號(hào)姓名聯(lián)系電話供應(yīng)商編號(hào)售價(jià)出廠價(jià)存貨量數(shù)量日期雇員編號(hào)工資客戶編號(hào)5.2 關(guān)系模型關(guān)系模型供應(yīng)商(供應(yīng)商編號(hào),名稱,地址,聯(lián)系電話)產(chǎn)品(產(chǎn)品編號(hào),產(chǎn)品名稱,產(chǎn)品類別,售價(jià),出廠價(jià),存貨量)供應(yīng)(供應(yīng)商編號(hào),產(chǎn)品編號(hào))訂購(gòu)(產(chǎn)品編號(hào),訂單編號(hào),數(shù)量)客戶(客戶編號(hào),姓名,通信地址,電話)訂單(訂單編號(hào),日期,客戶編號(hào),雇員編號(hào))雇員(雇員編號(hào),姓名,聯(lián)系電話,工資)注:有下劃線的表示該屬性為主碼。六、六、物理設(shè)計(jì)6.1 表匯總表匯總表名功能說明表 Suppliers供應(yīng)商表,存儲(chǔ)供應(yīng)商的編號(hào)等信息表 Product產(chǎn)品表,存儲(chǔ)產(chǎn)品的
11、編號(hào)、數(shù)量等信息表 SP供應(yīng)商產(chǎn)品供應(yīng)表,存儲(chǔ)供應(yīng)商所供應(yīng)的產(chǎn)品對(duì)應(yīng)信息表 Orders訂單表,存儲(chǔ)訂單的編號(hào)、日期等信息表 PO產(chǎn)品訂購(gòu)表,存儲(chǔ)產(chǎn)品訂購(gòu)的對(duì)應(yīng)信息表 Employee雇員表,存儲(chǔ)雇員的編號(hào)等信息表 Customer客戶表,存儲(chǔ)客戶的編號(hào)等信息6.2 表表1: Suppliers 表表(供應(yīng)商表供應(yīng)商表)表名Suppliers(供應(yīng)商表)數(shù)據(jù)庫(kù)用戶Sa主鍵Snumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空 Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1Snumberchar(12)NY高無主鍵/供應(yīng)商號(hào)2Snamechar(30)NN中無供應(yīng)商名稱3S
12、addresschar(30)YN中無供應(yīng)商地址4StelnumintYN高無供應(yīng)商電話sql 腳本-建立供應(yīng)商表create table Suppliers -供應(yīng)商表(Snumber char(12) primary key,-供應(yīng)商編號(hào),主碼 Sname char(30) not null,-姓名 Saddress char(30), -地址 Stelnum int -電話);6.3 表表2: Product 表表(產(chǎn)品表產(chǎn)品表)表名Product(產(chǎn)品表)數(shù)據(jù)庫(kù)用戶sa主鍵Pnumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件
13、/說明1Pnumberchar(12)NY高無主鍵/產(chǎn)品編號(hào)2Pnamechar(30)NY高無產(chǎn)品名稱3Pcategorychar(15)YN低無產(chǎn)品類別4PpriceintYN中無產(chǎn)品售價(jià)5Pex_pricerealYN中無產(chǎn)品出廠價(jià)6PinventoryrealYN中無產(chǎn)品庫(kù)存量sql 腳本-建立產(chǎn)品表create table Product -產(chǎn)品表(Pnumber char(12) primary key, -產(chǎn)品編號(hào),主碼 Pname char(30) not null, -產(chǎn)品名稱 Pcategory char(15), -產(chǎn)品類別- Pprice int, -售價(jià)- Pex_p
14、rice real, -出廠價(jià)- Pinventory real -存貨量-);6.4 表表3: SP 表表(供應(yīng)商產(chǎn)品供應(yīng)表供應(yīng)商產(chǎn)品供應(yīng)表)表名SP(供應(yīng)商產(chǎn)品供應(yīng)表)數(shù)據(jù)庫(kù)用戶sa主鍵Snumber,Pnumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空唯一Y/N區(qū)別度默認(rèn)值約束條件/說明Y/N1Snumberchar(12)NY高無主鍵/供應(yīng)商號(hào)2Pnumberchar(12)NY高無主鍵/產(chǎn)品編號(hào)sql 腳本-建立供應(yīng)商產(chǎn)品供應(yīng)表create table SP-供應(yīng)商供應(yīng)產(chǎn)品表-(Snumber char(12),-供應(yīng)商編號(hào),外碼 Pnumber char(
15、12),-產(chǎn)品編號(hào),外碼 primary key(Snumber,Pnumber),-聯(lián)合主碼 foreign key (Pnumber) references Product(Pnumber) on delete cascade on update cascade, foreign key (Snumber) references Suppliers(Snumber) on delete cascade on update cascade);6.5 表表4: Orders 表表(訂單表訂單表)表名Orders(訂單表)數(shù)據(jù)庫(kù)用戶sa主鍵Onumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類
16、型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1Onumberchar(12)NY高無主鍵/訂單號(hào)2OdatedateNN低無訂單日期3Enumberchar(12)YN中無雇員號(hào)4Cnumberchar(12)NN高無客戶號(hào)sql 腳本-建立訂單表create table Orders-訂單表(Onumber char(12)primary key,-編號(hào),主碼 Odate date,-日期 Enumber char(12),-設(shè)置雇員號(hào),外碼 Cnumber char(12),-設(shè)置客戶號(hào),外碼 foreign key (Cnumber) references Custo
17、mer(Cnumber) on delete cascade on update cascade, foreign key (Enumber) references Employee(Enumber) on delete cascade on update cascade);6.6 表表5: PO 表表(產(chǎn)品訂購(gòu)表產(chǎn)品訂購(gòu)表)表名PO(產(chǎn)品訂購(gòu)表)數(shù)據(jù)庫(kù)用戶sa主鍵Pnumber,Onumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1Pnumberchar(12)NY高無主鍵/產(chǎn)品號(hào)2Onumberchar(12)NY高無主鍵
18、/訂單號(hào)3QuantityintNN低無訂購(gòu)產(chǎn)品數(shù)量sql 腳本-建立產(chǎn)品訂購(gòu)表create table PO-產(chǎn)品訂購(gòu)表(Pnumber char(12),-產(chǎn)品編號(hào) Onumber char(12),-訂單編號(hào) Quantity int,-產(chǎn)品數(shù)量 primary key(Pnumber,Onumber),-聯(lián)合主碼 foreign key (Pnumber) references Product(Pnumber)-外碼 on delete cascade on update cascade, foreign key (Onumber) references Orders(Onumber)
19、-外碼 on delete cascade on update cascade); 6.7 表表6: Employee 表表(雇員表雇員表)表名Employee(雇員表)數(shù)據(jù)庫(kù)用戶sa主鍵Enumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1Enumberchar(12)NY高無主鍵/雇員號(hào)2Enamechar(10)NN中無雇員名稱3EtelnumintNY高無雇員電話4EwagesrealNN低無雇員薪資sql 腳本-建立雇員表create table Employee-雇員表(Enumber char(12) prima
20、ry key,-編號(hào) Ename char(10),-名字 Etelnum int,-電話 Ewages real-工資);6.8 表表7: Customer 表表(客戶表客戶表)表名Customer(客戶表)數(shù)據(jù)庫(kù)用戶sa主鍵Cnumber其他排序字段無索引字段無序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1Cnumberchar(12)NY高無主鍵/客戶表2Cnamechar(10)NN中無客戶名稱3Caddresschar(30)YN中無客戶地址4CtelnumintYY高無客戶電話sql 腳本-建立客戶表create table Customer-
21、客戶表(Cnumber char(12) primary key,-編號(hào) Cname char(10),-姓名 Caddress char(30),-地址 Ctelnum int-電話);6.9 視圖的設(shè)計(jì)視圖的設(shè)計(jì)1、建立一張雇員信息的視圖目的:屏蔽雇員的工資信息。功能:能夠向管理員提供簡(jiǎn)明,直接的雇員信息展示。意義:有利于數(shù)據(jù)庫(kù)安全的維護(hù),防止任意修改數(shù)據(jù)庫(kù)中的雇員信息。create view view_Employee-建立Employee視圖,屏蔽工資屬性asselect Enumber,Ename,Etelnumfrom Employeewith check option;2、建立一
22、張產(chǎn)品信息的視圖目的:屏蔽產(chǎn)品的出廠價(jià)信息。功能:能夠向管理員提供簡(jiǎn)明,直接的產(chǎn)品信息展示。意義:有利于數(shù)據(jù)庫(kù)安全的維護(hù),防止任意修改數(shù)據(jù)庫(kù)中的產(chǎn)品信息。create view view_Producte-建立Product視圖,屏蔽出廠價(jià)屬性asselect Pnumber,Pname,Pcategory,Pprice,Pinventoryfrom view_Productewith check option;6.10 存儲(chǔ)過程存儲(chǔ)過程的設(shè)計(jì)的設(shè)計(jì)1、查詢訂單數(shù)量功能:查詢訂單的數(shù)量目的:存儲(chǔ)查詢訂單數(shù)量的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create proc
23、edure procedure_SearchOrdersNum -查詢訂單的存儲(chǔ)過程asselect COUNT(*) 訂單總數(shù)-查詢訂單數(shù)量from Orders;2、查詢客戶的訂單信息功能:查詢客戶的訂單信息目的:存儲(chǔ)查詢客戶的訂單信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_CustomerOrders-查詢某個(gè)客戶訂單信息Cname char(10)asselect Onumber,Odate,Enumberfrom Orders,Customerwhere Cname like Cname and Cust
24、omer.Cnumber like Orders.Cnumber;3、查詢訂單最多的客戶信息功能:查詢訂單最多的客戶信息目的:存儲(chǔ)查詢訂單最多的客戶信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_SearchMaxOrders-查詢訂單最多的客戶信息asselect Cnumber,Cname,Caddress,Ctelnumfrom Orders,Customerwhere Orders.Cnunmer=Customer.Cnunmergroup by Cnumber having MAX(Cnumber);4、查詢
25、客戶信息功能:查詢客戶信息目的:存儲(chǔ)查詢客戶信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_SearchCustomer-查詢某客戶信息Cname char(10)asselect *from Customerwhere Cname=Cname;5、查詢雇員信息功能:查詢雇員信息目的:存儲(chǔ)查詢雇員信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_SearchEmployee-查詢某雇員信息Ename char(10)asselect *from
26、Employeewhere Ename=Ename;6、查詢某訂單對(duì)應(yīng)的產(chǎn)品信息功能:查詢某訂單對(duì)應(yīng)的產(chǎn)品信息目的:存儲(chǔ)查詢某訂單對(duì)應(yīng)的產(chǎn)品信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_SearchPO-查詢某訂單的產(chǎn)品信息Onumber char(12)asselect Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventoryfrom Product,POwhere Onumber=Onumber and PO.Pnumber=Produ
27、ct.Pnumber;7、查詢產(chǎn)品信息功能:查詢產(chǎn)品信息目的:存儲(chǔ)查詢產(chǎn)品信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_SearchProduct-查詢某產(chǎn)品信息Pnumber char(12)asselect Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumberfrom Product,SPwhere Pnumber=Pnumber and SP.Pnumber=Pnumber;8、插入供應(yīng)商信息功能:插入供應(yīng)商信息目的:存儲(chǔ)插入供應(yīng)商信息的操作意義
28、:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_InsertSuppliers-插入供應(yīng)商信息Snumber char(12),Sname char(30),Saddress char(30),Stelnum intasIF EXISTS(SELECT * FROM Suppliers WHERE Snumber=Snumber)print該供應(yīng)商記錄已經(jīng)存在ELSEinsert into Suppliers(Snumber,Sname,Saddress,Stelnum)values(Snumber,Sname,Saddress,S
29、telnum);9、插入訂單信息功能:插入訂單信息目的:存儲(chǔ)插入訂單信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_InsertOrders-插入訂單表Onumber char(12),Odate date,Enumber char(12),Cnumber char(12)asIF EXISTS(SELECT * FROM Orders WHERE Onumber=Onumber)print該訂單記錄已經(jīng)存在ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)val
30、ues(Onumber,Odate,Enumber,Cnumber);10、插入產(chǎn)品訂購(gòu)信息功能:插入產(chǎn)品訂購(gòu)信息目的:存儲(chǔ)插入產(chǎn)品訂購(gòu)信息的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_InsertPO-插入產(chǎn)品訂購(gòu)表Pnumber char(12),Onumber char(12),Quantity intasIF EXISTS(SELECT * FROM PO WHERE Pnumber=Pnumber and Onumber=Onumber)-當(dāng)該訂單已經(jīng)訂購(gòu)改產(chǎn)品時(shí)不予重復(fù)訂購(gòu)print該產(chǎn)品訂購(gòu)訂單記錄已經(jīng)存在
31、IF EXISTS(SELECT * FROM Product WHERE PinventoryQuantity)-當(dāng)庫(kù)存量不足時(shí)不予訂購(gòu)print該產(chǎn)品庫(kù)存不足,無法訂購(gòu)ELSEinsert into PO(Onumber,Pnumber,Quantity)values(Onumber,Pnumber,Quantity);11、插入產(chǎn)品信息功能:插入產(chǎn)品信息目的:存儲(chǔ)產(chǎn)品的操作意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟create procedure procedure_InsertProduct -插入產(chǎn)品信息Pnumber char(12),Pname char(30)
32、,Pcategory char(15),Pprice int,Pex_price real,Pinventory realasIF EXISTS(SELECT * FROM Product WHERE Pnumber=Pnumber)-若有相同產(chǎn)品,只更新庫(kù)存量update Productset Pinventory=Pinventory+PinventoryELSEinsert into Product(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory)values(Pnumber,Pname,Pcategory,Pprice,Pex_p
33、rice,Pinventory);12、完整的訂單銷售流程功能:插入訂單信息和訂購(gòu)信息以及修改產(chǎn)品庫(kù)存等信息目的:存儲(chǔ)從客戶下單到訂單訂購(gòu)產(chǎn)品的流程的操作意義:直觀展示訂單銷售流程,使用戶能夠更簡(jiǎn)明的執(zhí)行完整的訂單銷售流程create procedure procedure_Order -完整的訂單銷售流程Onumber char(12),Odate date,Enumber char(12),Cnumber char(12)Pnumber char(12),Onumber char(12),Quantity intasIF EXISTS(SELECT * FROM Orders WHERE
34、Onumber=Onumber)-若有重復(fù)訂單,則不予下單print該訂單記錄已存在,不能重復(fù)下訂單ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)values(Onumber,Odate,Enumber,Cnumber);IF EXISTS(SELECT * FROM PO WHERE Pnumber=Pnumber and Onumber=Onumber)-若有重復(fù)訂購(gòu)單,則不予訂購(gòu)print該產(chǎn)品訂購(gòu)記錄已存在,不能重復(fù)訂購(gòu)ELSEIF EXISTS(SELECT * FROM Product WHERE PinventoryQu
35、antity)-若產(chǎn)品庫(kù)存量不足,則不予訂購(gòu)print產(chǎn)品庫(kù)存量不足,不能訂購(gòu)ELSEinsert into PO(Onumber,Pnumber,Quantity)values(Onumber,Pnumber,Quantity);6.11 觸發(fā)器的設(shè)計(jì)觸發(fā)器的設(shè)計(jì)1、建立觸發(fā)器 insert_PO:當(dāng)插入了一條新的產(chǎn)品訂購(gòu)信息后,則激活該觸發(fā)器,新的產(chǎn)品庫(kù)存量等于舊庫(kù)存量減去產(chǎn)品訂購(gòu)的數(shù)量。功能:能夠根據(jù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的變化來自動(dòng)進(jìn)行數(shù)據(jù)更新操作。目的:將必備的操作自動(dòng)化。意義:為數(shù)據(jù)庫(kù)用戶提供一種簡(jiǎn)便操作,省去了逐項(xiàng)更改數(shù)據(jù)的麻煩。create trigger insert_PO-AFTER
36、 觸發(fā)器,當(dāng)訂購(gòu)產(chǎn)品后,自動(dòng)減少庫(kù)存量on po after insertfor each rowas beginupdate Product set new.Pinventory=old.Pinventory-new.Quantity;end;6.12 函數(shù)的設(shè)計(jì)函數(shù)的設(shè)計(jì)無七、七、安全性設(shè)計(jì)7.1 防止用戶直接操作數(shù)據(jù)庫(kù)的方法防止用戶直接操作數(shù)據(jù)庫(kù)的方法7.1.1 用戶標(biāo)識(shí)和鑒定用戶標(biāo)識(shí)和鑒別是系統(tǒng)提供的最外層安全保護(hù)措施。其方法是由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供機(jī)器使用權(quán)。7.1.2 存取控制數(shù)據(jù)庫(kù)安全性所關(guān)心的主要
37、是 DBMS 的存取控制機(jī)制。數(shù)據(jù)庫(kù)安全最重要的一點(diǎn)就是確保只授權(quán)給由資格的用戶訪問數(shù)據(jù)庫(kù)的權(quán)限,同時(shí)令所有未授權(quán)的人員無法接近數(shù)據(jù),這主要通過數(shù)據(jù)庫(kù)系統(tǒng)的存取控制機(jī)實(shí)現(xiàn)。7.1.3 數(shù)據(jù)加密 數(shù)據(jù)加密是防止數(shù)據(jù)庫(kù)中數(shù)據(jù)在存儲(chǔ)和傳輸中關(guān)系的有效字段。加密的基本思想是根據(jù)一定的算法講原始數(shù)據(jù)變換為不可直接識(shí)別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。例如:EXEC sp_addlogin Employee_manage,123456,Sales_System;EXEC SP_GRANTDBACCESS Employee_manage,阿萊格里;GRANT ALL privileges
38、 -將指定權(quán)限授予該用戶on table Suppliers,Product,SP,Orders,PO,view_Employee,view_productto 阿萊格里7.2 用戶帳號(hào)密碼的加密方法用戶帳號(hào)密碼的加密方法為用戶帳號(hào)密碼加密,需要用程序?qū)崿F(xiàn),對(duì)用戶的帳號(hào)密碼實(shí)行加密算法,并在后臺(tái)實(shí)現(xiàn)轉(zhuǎn)換。7.3 角色與權(quán)限角色與權(quán)限角色可以訪問的表與列操作權(quán)限ss可訪問所有表完全控制權(quán)限admin可訪問所有表部分的控制權(quán)限Employee_manage可訪問部分表部分的操作權(quán)限八、八、數(shù)據(jù)庫(kù)管理與維護(hù)說明數(shù)據(jù)庫(kù)管理與維護(hù)說明1)數(shù)據(jù)庫(kù)維護(hù)計(jì)劃設(shè)定完成之后,如果 SQL Server 代理是啟動(dòng)
39、的,那么在管理SQL Server代理作業(yè)下面會(huì)自動(dòng)生成若干自動(dòng)維護(hù)的工作條目,并且每個(gè)條目都有相應(yīng)的計(jì)劃表,這個(gè)才是正常的。系統(tǒng)每天凌晨自動(dòng)更新系統(tǒng),刪除未銷卡記錄2)數(shù)據(jù)庫(kù)維護(hù)計(jì)劃非常強(qiáng)大,里面有各式各樣對(duì)數(shù)據(jù)庫(kù)的維護(hù)/備份操作,每樣都可以設(shè)定不同的 Schedule,當(dāng)然,每設(shè)定一項(xiàng),在 JOB 里面就會(huì)自動(dòng)多出來一條。SQL Server Agent 服務(wù)的正常運(yùn)作是這一切的基礎(chǔ)。系統(tǒng)每天凌晨更新后,自動(dòng)備份數(shù)據(jù)庫(kù)。九、九、總結(jié)總結(jié)不得不說本次課程設(shè)計(jì)給我?guī)砹朔浅4蟮氖斋@。首先,設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)本身,鍛煉了自己的能力,增長(zhǎng)了自己的實(shí)踐經(jīng)驗(yàn)。其次,課程設(shè)計(jì)本身對(duì)于學(xué)生的能力鍛煉更是功
40、不可沒,既鞏固了平時(shí)學(xué)到的理論知識(shí),又能鍛煉我們發(fā)現(xiàn)、提出、分析和解決實(shí)際問題的能力,也能讓學(xué)生體會(huì)到數(shù)據(jù)庫(kù)開發(fā)的流程。在實(shí)際操作中遇到的各種問題,讓我思考、求助,直到最終解決,在此過程中更是獲益匪淺。在最開始數(shù)據(jù)庫(kù)系統(tǒng)的時(shí)候,感覺設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)并不是一件難事,也并沒太放在心上。但是后來開始動(dòng)手做的時(shí)候,才知道做一個(gè)完整的數(shù)據(jù)庫(kù)管理系統(tǒng)需要做大量的準(zhǔn)備工作,要做出一個(gè)功能完善的數(shù)據(jù)庫(kù)系統(tǒng),并非易事。數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)需要花費(fèi)大量的時(shí)間和精力,必須按照課程設(shè)計(jì)的要求,遵循老師的教導(dǎo),一步步的做好需求分析和邏輯設(shè)計(jì),并完成物理設(shè)計(jì),并不斷對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行改善,最終才能完成一個(gè)完善的數(shù)據(jù)庫(kù)管理
41、系統(tǒng)。這次課程設(shè)計(jì)最后能夠順利完成,離不開老師的悉心教導(dǎo),也離不開同學(xué)間的互相交流和幫助,再通過我自己不斷努力,終于能夠完成完整的數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì),能夠完成這次課程設(shè)計(jì),自己感覺也很有成就感,感覺收獲真的很大,知識(shí)方面的收獲和實(shí)際動(dòng)手能力的鍛煉,都讓我感覺進(jìn)步了不少,也為將來進(jìn)一步學(xué)習(xí)和工作打下了基礎(chǔ)。每一次動(dòng)手實(shí)際操作的機(jī)會(huì)都是很珍貴的,這次課程設(shè)計(jì)下來,也得出了幾條數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)方面的經(jīng)驗(yàn),現(xiàn)將所獲知識(shí)點(diǎn)或者數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)驗(yàn)總結(jié)如下:1、如何創(chuàng)建兩張相互參照的表,并插入數(shù)據(jù)。在插入數(shù)據(jù)時(shí),外碼的值必須是作為主碼在被參照表中出現(xiàn)過的值,否則,就會(huì)出現(xiàn)異常(不僅屬性必須先存在,屬性值也必須先存在) 。2、以元組為單位插入數(shù)據(jù)時(shí),根據(jù)建表時(shí)屬性的順序,屬性值的插入必須嚴(yán)格按照此順序進(jìn)行,也要注意屬性的類型與寬度。3、以上問題自認(rèn)為都注意到了,但是插入數(shù)據(jù)是仍然出錯(cuò)了,就可以將這些數(shù)據(jù)通過企業(yè)管理器進(jìn)行插入,就可以發(fā)現(xiàn)問題出現(xiàn)在哪。4、為了能對(duì)各個(gè)表進(jìn)行正常刪除操作,應(yīng)該在創(chuàng)建表時(shí)對(duì)外碼設(shè)置級(jí)聯(lián)刪除。5、最重要的是,通過這次試驗(yàn)我學(xué)會(huì)了,不是拿到題目就建數(shù)據(jù)庫(kù),而是先根據(jù)題目寫好需求分析,然后進(jìn)行概念結(jié)構(gòu)設(shè)計(jì),然后進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì),然后進(jìn)行物理設(shè)計(jì),然后數(shù)據(jù)庫(kù)安全及維護(hù)設(shè)計(jì),最后在建數(shù)據(jù)庫(kù)實(shí)施。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版小學(xué)數(shù)學(xué)二年級(jí)下冊(cè)《總復(fù)習(xí)圖形的運(yùn)動(dòng)》ppt課件
- 鉆石小鳥電子商務(wù)案例分析x
- 貴州專版201x中考語(yǔ)文復(fù)習(xí)第二輪古詩(shī)文閱讀專題十文言文閱讀專項(xiàng)訓(xùn)練二課外古詩(shī)詞賞析課件
- 計(jì)算機(jī)發(fā)展簡(jiǎn)史
- 五年級(jí)最小公倍數(shù)
- 分?jǐn)?shù)除法應(yīng)用題(一)1
- 人教版小學(xué)科學(xué)三年級(jí)《空氣占據(jù)空間嗎》
- 腹腔鏡脾切除技巧探討
- 水下溷凝土的灌注
- 主題班會(huì)關(guān)注小環(huán)境共享大健康
- 章引言數(shù)字圖像處理
- 學(xué)情通報(bào)會(huì)二課件
- 醫(yī)療企業(yè)組織氣氛建設(shè)方案分析
- 數(shù)據(jù)中心供配電系統(tǒng)概述
- 小學(xué)三年級(jí)口算題卡課件