數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫管理系統(tǒng)_第1頁
數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫管理系統(tǒng)_第2頁
數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫管理系統(tǒng)_第3頁
數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫管理系統(tǒng)_第4頁
數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)—訂單銷售數(shù)據(jù)庫管理系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、長(zhǎng)沙學(xué)院 課程設(shè)計(jì)說明書 題目 銷售訂單數(shù)據(jù)庫管理系統(tǒng) 系(部) _ 專業(yè)(班級(jí)) _ 姓名 _ 學(xué)號(hào) _ 指導(dǎo)教師 _ 起止日期 _ 課程設(shè)計(jì)任務(wù)書 課程名稱:數(shù)據(jù)庫系統(tǒng)原理課程名稱:數(shù)據(jù)庫系統(tǒng)原理 設(shè)計(jì)題目:設(shè)計(jì)題目: 銷售訂單數(shù)據(jù)庫管理系統(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è)客戶下。

2、 一個(gè)雇員可管理多個(gè)訂單,每個(gè)訂單只能由一個(gè)雇員管理。 一個(gè)訂單訂購多種產(chǎn)品,每種產(chǎn)品可在不同的訂單中訂購 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ī)

3、 16 周周 四 9-12xxx答疑 16 周周 五 1-4xxx上機(jī) 10 軟件 7 班 16 周周 六 1-4xxx答辯 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)秀” 、 “良好” 、 “及格” 、 “不及格”四類; 目 錄 一、引言一、引言 .5 1.1編寫目的.5 1.2參考資料.5 二、二、需

4、求規(guī)約需求規(guī)約.6 2.1 業(yè)務(wù)描述.6 2.2 需求分析.6 三、三、數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫環(huán)境說明.7 四、四、數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫的命名規(guī)則.7 4.1 數(shù)據(jù)庫對(duì)象命名規(guī)則.7 4.2 數(shù)據(jù)項(xiàng)編碼規(guī)則.7 五、五、邏輯設(shè)計(jì)邏輯設(shè)計(jì).8 5.1 er 圖.8 5.2 關(guān)系模型.8 六、六、物理設(shè)計(jì)物理設(shè)計(jì).9 6.1 表匯總.9 6.2 表1: suppliers表(供應(yīng)商表).9 6.3 表2: product表(產(chǎn)品表) .10 6.4 表3: sp 表(供應(yīng)商產(chǎn)品供應(yīng)表).10 6.5 表4: orders表(訂單表).11 6.6 表5: po 表(產(chǎn)品訂購表).12 6.7 表6

5、: employee表(雇員表) .12 6.8 表7: customer表(客戶表).13 6.9 視圖的設(shè)計(jì).13 6.10 存儲(chǔ)過程的設(shè)計(jì).14 6.11 觸發(fā)器的設(shè)計(jì).18 6.12 函數(shù)的設(shè)計(jì).18 七、七、安全性設(shè)計(jì)安全性設(shè)計(jì).19 7.1 防止用戶直接操作數(shù)據(jù)庫的方法.19 7.1.1 用戶標(biāo)識(shí)和鑒定.19 7.1.2 存取控制.19 7.1.3 數(shù)據(jù)加密.19 7.2 用戶帳號(hào)密碼的加密方法.19 7.3 角色與權(quán)限.19 八、八、數(shù)據(jù)庫管理與維護(hù)說明數(shù)據(jù)庫管理與維護(hù)說明.20 九、九、總結(jié)總結(jié).21 一、引言一、引言 1.1編寫目的編寫目的 本文檔是銷售訂單數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)

6、文檔的組成部分,編寫數(shù)據(jù)庫設(shè)計(jì)文檔的目的是:明確數(shù) 據(jù)庫的表名、字段名等數(shù)據(jù)信息,用來指導(dǎo)后期的數(shù)據(jù)庫腳本的開發(fā),本文檔遵循sql server 2008 數(shù)據(jù)庫設(shè)計(jì)和開發(fā)規(guī)范 。本文檔的讀者對(duì)象是需求人員、系統(tǒng)設(shè)計(jì)人員、開發(fā)人員、測(cè)試人員。 設(shè)計(jì)該數(shù)據(jù)庫的目的是為了能夠模擬完成一次訂單銷售流程。 1.2參考資料參考資料 資料名稱作者文件編號(hào)、版 本 數(shù)據(jù)庫系統(tǒng)概論 王珊、薩師煊2006 年 5 月第 4 版 數(shù)據(jù)庫設(shè)計(jì)入門 經(jīng)典 鮑威爾2007 年 3 月第 1 版 數(shù)據(jù)庫原理克羅恩科2005 年 6 月第 1 版 二、二、需求規(guī)約 2.1 業(yè)務(wù)描述業(yè)務(wù)描述 銷售訂單數(shù)據(jù)庫管理系統(tǒng)的總目標(biāo)是

7、:在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的 軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界 面的銷售訂單數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)訂單銷售的自動(dòng)化的計(jì)算機(jī)系統(tǒng),為商品供應(yīng)商提供準(zhǔn)確、精細(xì)、 迅速的訂單銷售信息。具體功能為供應(yīng)商供應(yīng)產(chǎn)品、請(qǐng)假的申請(qǐng),出差的記錄輸入到系統(tǒng)中,系統(tǒng)將 為員工記錄這些信息。 2.2 需求分析需求分析 本銷售訂單數(shù)據(jù)庫管理系統(tǒng),能夠完成插入產(chǎn)品,供應(yīng)記錄,訂購記錄等等這些信息,以能夠模 擬完成一次訂單銷售的過程,此外,在一個(gè)完整的訂單銷售流程中,本數(shù)據(jù)庫系統(tǒng)還提供查詢某供應(yīng) 商供應(yīng)的產(chǎn)品信息,詢某產(chǎn)品信息,查詢某客戶信息,查

8、詢某訂單訂購的產(chǎn)品的信息。對(duì)于客戶而言, 還提供了查詢訂單最多的客戶的功能。 總的來說,本數(shù)據(jù)庫系統(tǒng)能夠達(dá)到模擬完成一次訂單銷售流程的要求。在本銷售訂單數(shù)據(jù)庫管理 系統(tǒng)中,有一些限制性條件,比如一個(gè)客戶可以下多個(gè)訂單,但一個(gè)訂單只能由一個(gè)客戶下,一個(gè)訂 單可以訂購多種產(chǎn)品,每種產(chǎn)品可被不同訂單訂購等等,這些限制條件的加入能夠使本數(shù)據(jù)庫管理系 統(tǒng)的功能更加完善,能夠滿足更高的要求。 三、三、數(shù)據(jù)庫環(huán)境說明 數(shù)據(jù)庫實(shí) 例 數(shù)據(jù)庫系 統(tǒng) 數(shù)據(jù)庫部 署環(huán)境 數(shù)據(jù)庫設(shè)計(jì) 工具 數(shù)據(jù)庫存放位 置 說明 銷售訂單 數(shù)據(jù)庫管 理系統(tǒng) sql server 2008 windows xp sql server存

9、放位置,絕 對(duì)路徑/相對(duì) 路徑 用于訂單銷售管理 四、四、數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫的命名規(guī)則 4.1 數(shù)據(jù)庫對(duì)象命名規(guī)則數(shù)據(jù)庫對(duì)象命名規(guī)則 數(shù)據(jù)庫對(duì)象命名規(guī)則備注 表s 功能描述字符串例如:suppliers 供應(yīng)商表 視圖view_功能描述字符串例如:view_product 產(chǎn)品視圖 觸發(fā)器insert_功能描述字符串例如:insert_po 更改庫存觸發(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 位無

10、產(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)品 訂購 訂單 管理 雇員 下發(fā)客戶 名稱 地址 聯(lián)系電話 客戶編號(hào) 姓名 通信地址 電話 產(chǎn)品編號(hào) 供應(yīng)商編號(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)商

11、(供應(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)) 訂購(產(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)品的編號(hào)、數(shù)量等信息 表 sp供應(yīng)商產(chǎn)品供應(yīng)表,存儲(chǔ)供應(yīng)商所供應(yīng)的產(chǎn)品對(duì)應(yīng)信息 表 orders訂單表,存儲(chǔ)訂單的編號(hào)、日期等信息 表 p

12、o產(chǎn)品訂購表,存儲(chǔ)產(chǎn)品訂購的對(duì)應(yīng)信息 表 employee雇員表,存儲(chǔ)雇員的編號(hào)等信息 表 customer客戶表,存儲(chǔ)客戶的編號(hào)等信息 6.2 表表1: suppliers 表表(供應(yīng)商表供應(yīng)商表) 表名suppliers(供應(yīng)商表) 數(shù)據(jù)庫用戶 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)商名稱 3saddresschar(30)yn中無供應(yīng)商地址 4stelnumintyn高無供應(yīng)商電

13、話 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ù)庫用戶sa 主鍵 pnumber 其他排序字段無 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認(rèn)值約束條件/說明 1pnumberchar(12)ny 高

14、無主鍵/產(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)品庫存量 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_price real, -出廠

15、價(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ù)庫用戶sa 主鍵 snumber,pnumber 其他排序字段無 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 唯一 y/n 區(qū)別度默認(rèn)值約束條件/說明 y/n 1snumberchar(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),外碼 pnumbe

16、r char(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ù)庫用戶sa 主鍵 onumber 其他排序字段無

17、 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 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

18、key (cnumber) references customer(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)品訂購表產(chǎn)品訂購表) 表名po(產(chǎn)品訂購表) 數(shù)據(jù)庫用戶sa 主鍵 pnumber,onumber 其他排序字段無 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認(rèn)值約束條件/說明 1

19、pnumberchar(12)ny高無主鍵/產(chǎn)品號(hào) 2onumberchar(12)ny高無主鍵/訂單號(hào) 3quantityintnn低無訂購產(chǎn)品數(shù)量 sql 腳本-建立產(chǎn)品訂購表 create table po-產(chǎn)品訂購表 (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 casca

20、de, foreign key (onumber) references orders(onumber)-外碼 on delete cascade on update cascade ); 6.7 表表6: employee 表表(雇員表雇員表) 表名employee(雇員表) 數(shù)據(jù)庫用戶sa 主鍵 enumber 其他排序字段無 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認(rèn)值約束條件/說明 1enumberchar(12)ny高無主鍵/雇員號(hào) 2enamechar(10)nn中無雇員名稱 3etelnumintny高無雇員電話 4ewagesr

21、ealnn低無雇員薪資 sql 腳本-建立雇員表 create table employee-雇員表 (enumber char(12) primary key,-編號(hào) ename char(10),-名字 etelnum int,-電話 ewages real-工資 ); 6.8 表表7: customer 表表(客戶表客戶表) 表名customer(客戶表) 數(shù)據(jù)庫用戶sa 主鍵 cnumber 其他排序字段無 索引字段無 序號(hào)字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認(rèn)值約束條件/說明 1cnumberchar(12)ny高無主鍵/客戶表 2cnamech

22、ar(10)nn中無客戶名稱 3caddresschar(30)yn中無客戶地址 4ctelnumintyy高無客戶電話 sql 腳本-建立客戶表 create table customer-客戶表 (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ù)庫安全的維護(hù),防止任意修改數(shù)據(jù)庫中的雇員信息。 create

23、view view_employee-建立employee視圖,屏蔽工資屬性 as select enumber,ename,etelnum from employee with check option; 2、建立一張產(chǎn)品信息的視圖 目的:屏蔽產(chǎn)品的出廠價(jià)信息。 功能:能夠向管理員提供簡(jiǎn)明,直接的產(chǎn)品信息展示。 意義:有利于數(shù)據(jù)庫安全的維護(hù),防止任意修改數(shù)據(jù)庫中的產(chǎn)品信息。 create view view_producte-建立product視圖,屏蔽出廠價(jià)屬性 as select pnumber,pname,pcategory,pprice,pinventory from view_pr

24、oducte with check option; 6.10 存儲(chǔ)過程存儲(chǔ)過程的設(shè)計(jì)的設(shè)計(jì) 1、查詢訂單數(shù)量 功能:查詢訂單的數(shù)量 目的:存儲(chǔ)查詢訂單數(shù)量的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_searchordersnum -查詢訂單的存儲(chǔ)過程 as select count(*) 訂單總數(shù)-查詢訂單數(shù)量 from orders; 2、查詢客戶的訂單信息 功能:查詢客戶的訂單信息 目的:存儲(chǔ)查詢客戶的訂單信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure

25、 procedure_customerorders-查詢某個(gè)客戶訂單信息 cname char(10) as select onumber,odate,enumber from orders,customer where cname like cname and customer.cnumber like orders.cnumber; 3、查詢訂單最多的客戶信息 功能:查詢訂單最多的客戶信息 目的:存儲(chǔ)查詢訂單最多的客戶信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_searchmaxorders-查詢訂單最多的

26、客戶信息 as select cnumber,cname,caddress,ctelnum from orders,customer where orders.cnunmer=customer.cnunmer group by cnumber having max(cnumber); 4、查詢客戶信息 功能:查詢客戶信息 目的:存儲(chǔ)查詢客戶信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_searchcustomer-查詢某客戶信息 cname char(10) as select * from customer w

27、here cname=cname; 5、查詢雇員信息 功能:查詢雇員信息 目的:存儲(chǔ)查詢雇員信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_searchemployee-查詢某雇員信息 ename char(10) as select * from employee where 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 procedu

28、re_searchpo-查詢某訂單的產(chǎn)品信息 onumber char(12) as select onumber,product.pnumber,pname,pcategory,pprice,pex_price,pinventory from product,po where onumber=onumber and po.pnumber=product.pnumber; 7、查詢產(chǎn)品信息 功能:查詢產(chǎn)品信息 目的:存儲(chǔ)查詢產(chǎn)品信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_searchproduct-查詢某產(chǎn)品信

29、息 pnumber char(12) as select pnumber,pname,pcategory,pprice,pex_price,pinventory,snumber from product,sp where pnumber=pnumber and sp.pnumber=pnumber; 8、插入供應(yīng)商信息 功能:插入供應(yīng)商信息 目的:存儲(chǔ)插入供應(yīng)商信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_insertsuppliers-插入供應(yīng)商信息 snumber char(12),sname char(30

30、),saddress char(30),stelnum int as if exists(select * from suppliers where snumber=snumber) print該供應(yīng)商記錄已經(jīng)存在 else insert into suppliers(snumber,sname,saddress,stelnum) values(snumber,sname,saddress,stelnum); 9、插入訂單信息 功能:插入訂單信息 目的:存儲(chǔ)插入訂單信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí),可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_i

31、nsertorders-插入訂單表 onumber char(12),odate date,enumber char(12),cnumber char(12) as if exists(select * from orders where onumber=onumber) print該訂單記錄已經(jīng)存在 else insert into orders(onumber,odate,enumber,cnumber) values(onumber,odate,enumber,cnumber); 10、插入產(chǎn)品訂購信息 功能:插入產(chǎn)品訂購信息 目的:存儲(chǔ)插入產(chǎn)品訂購信息的操作 意義:下次重復(fù)同樣的動(dòng)作時(shí)

32、,可直接執(zhí)行存儲(chǔ)過程,簡(jiǎn)化操作步驟 create procedure procedure_insertpo-插入產(chǎn)品訂購表 pnumber char(12),onumber char(12),quantity int as if exists(select * from po where pnumber=pnumber and onumber=onumber)-當(dāng)該訂單已經(jīng)訂購 改產(chǎn)品時(shí)不予重復(fù)訂購 print該產(chǎn)品訂購訂單記錄已經(jīng)存在 if exists(select * from product where pinventoryquantity)-當(dāng)庫存量不足時(shí)不予訂購 print該產(chǎn)品庫

33、存不足,無法訂購 else insert 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),pcategory char(15),pprice int,pex_price real,pinventory real as if e

34、xists(select * from product where pnumber=pnumber)-若有相同產(chǎn)品,只更新庫存量 update product set pinventory=pinventory+pinventory else insert into product(pnumber,pname,pcategory,pprice,pex_price,pinventory) values(pnumber,pname,pcategory,pprice,pex_price,pinventory); 12、完整的訂單銷售流程 功能:插入訂單信息和訂購信息以及修改產(chǎn)品庫存等信息 目的:存儲(chǔ)

35、從客戶下單到訂單訂購產(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 int as if exists(select * from orders where onumber=onumber)-若有重復(fù)訂單,則不予下單 print該訂單記錄已存在,不能重復(fù)下訂單 e

36、lse insert into orders(onumber,odate,enumber,cnumber) values(onumber,odate,enumber,cnumber); if exists(select * from po where pnumber=pnumber and onumber=onumber)-若有重復(fù)訂購單, 則不予訂購 print該產(chǎn)品訂購記錄已存在,不能重復(fù)訂購 else if exists(select * from product where pinventoryquantity)-若產(chǎn)品庫存量不足,則不予訂購 print產(chǎn)品庫存量不足,不能訂購 els

37、e insert 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)品訂購信息后,則激活該觸發(fā)器,新的產(chǎn)品庫存量等 于舊庫存量減去產(chǎn)品訂購的數(shù)量。 功能:能夠根據(jù)數(shù)據(jù)庫中數(shù)據(jù)的變化來自動(dòng)進(jìn)行數(shù)據(jù)更新操作。 目的:將必備的操作自動(dòng)化。 意義:為數(shù)據(jù)庫用戶提供一種簡(jiǎn)便操作,省去了逐項(xiàng)更改數(shù)據(jù)的麻煩。 create trigger insert_po-after 觸發(fā)器,當(dāng)訂購產(chǎn)品后,自動(dòng)減少庫存量 on po after i

38、nsert for each row as begin update product set new.pinventory=old.pinventory-new.quantity; end; 6.12 函數(shù)的設(shè)計(jì)函數(shù)的設(shè)計(jì) 無 七、七、安全性設(shè)計(jì) 7.1 防止用戶直接操作數(shù)據(jù)庫的方法防止用戶直接操作數(shù)據(jù)庫的方法 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ù)庫安全性所關(guān)心的主要是 dbms 的存取控制機(jī)制。數(shù)據(jù)庫安

39、全最重要的一點(diǎn)就是確保只授權(quán)給 由資格的用戶訪問數(shù)據(jù)庫的權(quán)限,同時(shí)令所有未授權(quán)的人員無法接近數(shù)據(jù),這主要通過數(shù)據(jù)庫系統(tǒng)的 存取控制機(jī)實(shí)現(xiàn)。 7.1.3 數(shù)據(jù)加密 數(shù)據(jù)加密是防止數(shù)據(jù)庫中數(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 -將指定權(quán)限授予該用戶 on table suppliers,product,sp,orders,po,view_employee,view_product to 阿萊格里 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)限 角色可以訪問的表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論