![銷售訂單數(shù)據(jù)庫管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/b7da0306-242f-46b6-90e6-acc3fa415f8c/b7da0306-242f-46b6-90e6-acc3fa415f8c1.gif)
![銷售訂單數(shù)據(jù)庫管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/b7da0306-242f-46b6-90e6-acc3fa415f8c/b7da0306-242f-46b6-90e6-acc3fa415f8c2.gif)
![銷售訂單數(shù)據(jù)庫管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/b7da0306-242f-46b6-90e6-acc3fa415f8c/b7da0306-242f-46b6-90e6-acc3fa415f8c3.gif)
![銷售訂單數(shù)據(jù)庫管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/b7da0306-242f-46b6-90e6-acc3fa415f8c/b7da0306-242f-46b6-90e6-acc3fa415f8c4.gif)
![銷售訂單數(shù)據(jù)庫管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/b7da0306-242f-46b6-90e6-acc3fa415f8c/b7da0306-242f-46b6-90e6-acc3fa415f8c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、銷售訂單數(shù)據(jù)庫管理系統(tǒng) 目錄 1 1引言引言 .1 1.1 編寫目的.1 1.2 參考資料.1 2 2需求規(guī)約需求規(guī)約 .2 2.1 業(yè)務(wù)描述.2 2.2 需求分析.2 3 3數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫環(huán)境說明 .4 4 4數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫的命名規(guī)則 .5 4.1 數(shù)據(jù)庫對象命名規(guī)則.5 4.2 數(shù)據(jù)項編碼規(guī)則.5 5 5邏輯設(shè)計邏輯設(shè)計 .7 5.1 er 圖.7 5.2 關(guān)系模式.7 6 6物理設(shè)計物理設(shè)計 .10 6.1 表匯總.10 6.2 表1supplier表(供應商表).10 6.3 表2product表(產(chǎn)品表).11 6.4 表3sp表(供應關(guān)系表) .11 6.5 表4ep
2、c表(訂單表) .12 6.6 表5epc_detailed表(訂單細則表).13 6.7 表6eployee表(雇員表).14 6.8 表7customer表(客戶表).15 6.9 視圖的設(shè)計.16 6.10 存儲過程、函數(shù)及觸發(fā)器的設(shè)計.17 7 7總結(jié)總結(jié) .23 附錄附錄 .24 1 1引言引言 1.11.1 編寫目的編寫目的 本文檔是銷售訂單數(shù)據(jù)庫管理系統(tǒng)設(shè)計文檔的組成部分,編寫數(shù)據(jù)庫設(shè)計文檔的目的是:明確數(shù) 據(jù)庫的表名、字段名等數(shù)據(jù)信息,用來指導后期的數(shù)據(jù)庫腳本的開發(fā),本文檔遵循sql server 2008 數(shù)據(jù)庫設(shè)計和開發(fā)規(guī)范 。本文檔的讀者對象是需求人員、系統(tǒng)設(shè)計人員、開發(fā)
3、人員、測試人員。設(shè)計 該數(shù)據(jù)庫的目的是為了能夠模擬完成一次訂單銷售流程。 1.21.2 參考資料參考資料 表 1.2.1 資料名稱作者文件編號、版本 數(shù)據(jù)庫系統(tǒng)概論 王珊、薩師煊2006 年 5 月第 4 版 數(shù)據(jù)庫設(shè)計入門 經(jīng)典 鮑威爾2007 年 3 月第 1 版 數(shù)據(jù)庫原理克羅恩科2005 年 6 月第 1 版 2 2需求規(guī)約需求規(guī)約 2.12.1 業(yè)務(wù)描述業(yè)務(wù)描述 銷售訂單數(shù)據(jù)庫管理系統(tǒng)的總目標是:在計算機網(wǎng)絡(luò),數(shù)據(jù)庫和先進的開發(fā)平臺上,利用現(xiàn)有的 軟件,配置一定的硬件,開發(fā)一個具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機交互界 面的銷售訂單數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)訂單銷售的自動化
4、的計算機系統(tǒng),為商品供應商提供準確、精細、 迅速的訂單銷售信息。具體功能為供應商供應產(chǎn)品、請假的申請,出差的記錄輸入到系統(tǒng)中,系統(tǒng)將 為員工記錄這些信息。 提示:本部分完成此數(shù)據(jù)庫系統(tǒng)的業(yè)務(wù)描述,例如: (1)數(shù)據(jù)庫系統(tǒng)創(chuàng)建的背景 (2)數(shù)據(jù)庫系統(tǒng)要完成的業(yè)務(wù)流程及工作內(nèi)容 (3)揭示該數(shù)據(jù)庫的資源需求和設(shè)計約束 2.22.2 需求分析需求分析 1、數(shù)據(jù)要求及數(shù)據(jù)關(guān)系 (1)數(shù)據(jù)結(jié)構(gòu):此銷售訂單數(shù)據(jù)庫管理系統(tǒng)包括供應商、產(chǎn)品、客戶、雇員 4 個實體。每個供應 商包含供應商編號、名稱、地址、聯(lián)系電話等信息;每種產(chǎn)品包含產(chǎn)品號、產(chǎn)品名稱、產(chǎn)品類別等信 息;客戶包含編號、姓名、通信地址、電話等信息;
5、雇員包括編號、姓名、聯(lián)系電話等信息。 (2)數(shù)據(jù)關(guān)系:供應商與產(chǎn)品有供應關(guān)系,包含銷量和庫存量;供應商與雇員有雇用關(guān)系;雇員, 客戶,產(chǎn)品有訂單關(guān)系,包含訂單號,日期,訂購量,總額;客戶所下達的訂單號的需求量如果多于 庫存量,那么訂單將不生成。 (3)對應關(guān)系:每個供應商可供應多種產(chǎn)品,每種產(chǎn)品可由多個供應商供應;一個客戶可下多個 訂單,每個訂單只能由一個客戶下;一個雇員可管理多個訂單,每個訂單只能由一個雇員管理;一個 訂單訂購多種產(chǎn)品每種產(chǎn)品可在不同的訂單中訂購;一個供應商能雇用多個雇員,一個雇員只能被一 個供應商雇用。 2、增刪改查操作: (1)增加操作:此銷售訂單數(shù)據(jù)庫管理系統(tǒng)能夠插入供
6、應商數(shù)據(jù),能夠插入產(chǎn)品數(shù)據(jù),能夠插入 客戶信息,能夠插入雇員信息,能夠進行下訂單操作插入訂單信息。 (2)刪除操作:此銷售訂單數(shù)據(jù)庫管理系統(tǒng)能夠刪除供應商數(shù)據(jù),能夠刪除產(chǎn)品數(shù)據(jù),能夠刪除 客戶信息,能夠刪除雇員信息,能夠進行退訂操作刪除訂單信息。 (3)更新操作:此銷售訂單數(shù)據(jù)庫管理系統(tǒng)能夠改變供應商數(shù)據(jù),改變產(chǎn)品數(shù)據(jù),改變客戶信息, 改變雇員信息。 (4)查詢操作:通過供應商編號能查詢到供應商編號、名稱、地址、聯(lián)系電話等信息;通過產(chǎn)品 號能查詢到產(chǎn)品號,產(chǎn)品名稱,產(chǎn)品類別,庫存數(shù)量,售價以;能通過客戶編號能查詢到客戶所有客 戶編號,姓名,通信地址,電話;通過雇員號能查詢到雇員雇員編號,雇員姓
7、名,雇員電話,雇員工 資;此外,通過供應商編號還能查詢到所有雇員信息,通過雇員號可以查詢到該雇員的供應商所有信 息;再通過供應商編號及產(chǎn)品號能過查詢到供應商的產(chǎn)品的產(chǎn)品量,接著通過產(chǎn)品號分組號能夠查詢 所有產(chǎn)品的總銷量,最暢銷產(chǎn)品,通過供應商編號分組能夠查詢該供應商的所有產(chǎn)品的銷量,最受歡 迎供應商;通過產(chǎn)品號跟訂單號能夠查詢到訂購量,及總額,再通過產(chǎn)品號分組能夠可以查詢到所有 產(chǎn)品的總訂購量;通過雇員號能偶查詢到所負責的訂單信息,通過客戶號能查詢到所下達訂單及所有 信息,通過訂單號能夠查詢到所有訂單的訂購的所有產(chǎn)品及信息,所負責雇員及所有信息,所下達客 戶及所有信息。 3、編寫要求: (1)
8、此銷售訂單數(shù)據(jù)庫管理系統(tǒng)全部使用 sql 語句編寫; (2)增刪改查及下訂單退訂等操作通過存儲過程來實現(xiàn),定義級聯(lián)刪除約束,下訂單及退訂使用 到觸發(fā)器,實現(xiàn)并發(fā)操作。 (3)給不同用戶定義不同的視圖,使他們看到是不同的內(nèi)容。 3 3數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫環(huán)境說明 表 3.1 數(shù)據(jù)庫實 例 數(shù)據(jù)庫系 統(tǒng) 數(shù)據(jù)庫部 署環(huán)境 數(shù)據(jù)庫設(shè) 計工具 數(shù)據(jù)庫存放位 置 說明 銷售訂單數(shù) 據(jù)庫管理系 統(tǒng) sql server 2008 windows xp sql server 存放位置,絕對 路徑/相對路徑 用于訂單銷售管理 4 4數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫的命名規(guī)則 4.14.1 數(shù)據(jù)庫對象命名規(guī)則數(shù)據(jù)庫對象命
9、名規(guī)則 表 4.1.1 數(shù)據(jù)庫對象命名規(guī)則備注 表該表名稱的英文字符串例如:supplier,供應商表 視圖view_功能描述字符串例如:view_product 產(chǎn)品視圖 觸發(fā)器tri_功能描述字符串例如:tri_insert 更改庫存觸發(fā)器 存儲過程pro_功能描述字符串例如:pro_insert_suppliers 存儲過 程 4.24.2 數(shù)據(jù)項編碼規(guī)則數(shù)據(jù)項編碼規(guī)則 表 4.2.1 數(shù)據(jù)項命名規(guī)則數(shù)據(jù)類型長度范圍備注 供應商編 號 英文拼寫的加功能 簡寫 可變長度字 符串 12 位supplier_no 產(chǎn)品號英文拼寫的加功能 簡寫 可變長度字 符串 12 位product_no 訂
10、單號英文拼寫的加功能 簡寫 可變長度字 符串 6 位ordero 雇員號英文拼寫的加功能 簡寫 可變長度字 符串 12 位employee_no 客戶號英文拼寫的加功能 簡寫 可變長度字 符串 12 位customer_no 供應商名 稱 英文拼寫的加功能 簡寫 可變長度字 符串 20 位supplier_name 供應商電 話 英文拼寫的加功能 簡寫 可變長度字 符串 20 位supplier_no 供應商地 址 英文拼寫的加功能 簡寫 可變長度字 符串 30 位supplier_address 產(chǎn)品名稱英文拼寫的加功能 簡寫 可變長度字 符串 20 位product_name 產(chǎn)品類型英文
11、拼寫的加功能 簡寫 可變長度字 符串 20 位product_class 售價英文拼寫的加功能 簡寫 整數(shù)product_price 存貨量英文拼寫的加功能整數(shù)rest_product 簡寫 訂單日期英文拼寫的加功能 簡寫 可變長度字 符串 20 位order_time 客戶姓名英文拼寫的加功能 簡寫 可變長度字 符串 20 位customer_name 客戶地址英文拼寫的加功能 簡寫 可變長度字 符串 20 位customer_address 客戶電話英文拼寫的加功能 簡寫 整數(shù)20 位customer_phone 訂購數(shù)量英文拼寫的加功能 簡寫 整數(shù)order_amount 雇員姓名英文拼
12、寫的加功能 簡寫 可變長度字 符串 20 位employee_name 雇員電話英文拼寫的加功能 簡寫 整數(shù)20 位employee_phone 5 5邏輯設(shè)計邏輯設(shè)計 5.15.1 erer 圖圖 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn)產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn)產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) mm 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn)產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) n n n n mm p p 產(chǎn) 產(chǎn) 1 1 n n 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 產(chǎn) 圖 5.1.1 5.25.2
13、關(guān)系模式關(guān)系模式 供應商(供應商編號,名稱,地址,聯(lián)系電話) 產(chǎn)品(產(chǎn)品號,產(chǎn)品名稱,產(chǎn)品類別,售價) 供應(供應商編號,產(chǎn)品號,供應量,存貨數(shù)量) 雇員(雇員號,姓名,聯(lián)系電話,工資,供應商編號) 客戶(客戶編號,姓名,通信地址,電話) 訂單(訂單號,客戶編號,雇員編號,日期) 訂單細則表(產(chǎn)品號,數(shù)量,總額,訂單號,供應商號) 注:有下劃線的表示該屬性為主碼。 表 5.2.1 表 5.2.2 產(chǎn)品表(product) 字段中文名字段名數(shù)據(jù)類型是否為空約束 產(chǎn)品號product _novarchar(12)否primary key 產(chǎn)品名product _namevarchar(20)否 產(chǎn)
14、品類別product_familyvarchar(20)否 產(chǎn)品價格product_pricesmallint否 表 5.2.3 供應表(sp) 字段中文名字段名數(shù)據(jù)類型是否為空約束 供應商編號supplier_novarchar(12)否 產(chǎn)品號product_novarchar(12)否 primary key foreign key 庫存數(shù)量rest_productsmallint否 銷售量sp_amountsmallint否 表 5.2.4 客戶表(customer) 字段中文名字段名數(shù)據(jù)類型是否為空約束 客戶號customer_novarchar(12)否primary key 客戶
15、名customer _namevarchar(20)否 通信地址rest_productvarchar(20)否 電話sp_amountvarchar(12)否 表 5.2.5 雇員表(employee) 字段中文名字段名數(shù)據(jù)類型是否為空約束 雇員號employee_novarchar(12)否primary key 雇員姓名employee_namevarchar(20)否 雇員電話supplier_phonevarchar(12)否 雇員工資employee_salarysmallint否 供應商編號supplier_novarchar(12)否 表 5.2.6 供應商表(supplier
16、) 字段中文名字段名數(shù)據(jù)類型是否為空約束 供應商編號supplier_novarchar(12)否primary key 供應商名supplier_namevarchar(20)否 供應商地址supplier_addressvarchar(20)否 供應商電話supplier_phonevachar(12)否 訂單表(epc) 字段中文名字段名數(shù)據(jù)類型是否為空約束 雇員號employee_novarchar(12)否foreign key 客戶號customer_novarchar(20)否foreign key 訂單號order_novarchar(12)否primary key 日期ord
17、er_timevarchar(20)否 表 5.2.7 訂單細則(epc_detailed) 字段中文名字段名數(shù)據(jù)類型是否為空約束 產(chǎn)品號product_novarchar(12)否foreign key 數(shù)量employee_namesmallint否 訂單號order_novarchar(12)否primary key 總額epc_amountsmallint否 供應商編號supplier_novarchar(12) 6 6物理設(shè)計物理設(shè)計 6.16.1 表匯總表匯總 表 6.1.1 表名功能說明 表 supplier供應商表,存儲供應商的編號,名稱,地址,聯(lián)系電話信息 表 product
18、產(chǎn)品表,存儲產(chǎn)品號,產(chǎn)品名稱,產(chǎn)品類別,售價信息 表 sp供應表,存儲供應商編號,產(chǎn)品號,供應量信息,存貨數(shù)量 表 employee雇員表,存儲雇員號,姓名,聯(lián)系電話,工資,供應商信息 表 customer客戶表,存儲客戶編號,姓名,通信地址,電話信息 表 epc訂單表,存儲訂單號,客戶編號,雇員編號,產(chǎn)品號,日期等信息 表 epc_ detailed訂單細則表,存儲產(chǎn)品號,訂單號,數(shù)量,總額信息 6.26.2 表表1supplier1supplier 表表 (供應商表)(供應商表) 表 6.2.1 表名supplier(供應商表) 數(shù)據(jù)庫用戶sa 主鍵supplier_no 其他排序字段無
19、索引字段無 序號字段名稱數(shù)據(jù)類型 (精度范圍) 允許為 空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1supplier_nochar(12)ny高無主鍵/供應商號 2supplier_namechar(20)nn中無供應商名稱 3supplier_addresschar(20)nn中無供應商地址 4supplier_phonechar(20)nn高無供應商電話 sql 腳本create table supplier ( supplier_no varchar(12)primary key, supplier_name varchar(20)not null, supplier_add
20、ress varchar(20)not null, supplier_phone varchar(12)not null ); -供應商表 6.36.3 表表2product2product 表表 (產(chǎn)品表)(產(chǎn)品表) 表 6.3.1 表名product(產(chǎn)品表) 數(shù)據(jù)庫用戶sa 主鍵product_no 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1prduct_nochar(12)ny高無主鍵/產(chǎn)品編號 2product_na me char(20)nn高無產(chǎn)品名稱 3product_cla ss char(
21、20)nn低無產(chǎn)品類別 4prduct_pric e smallintnn中無產(chǎn)品售價 sql 腳本create table product ( product_no varchar(12)primary key, product_name varchar(20)not null, product_family varchar(20)not null, product_price smallint not null ); -產(chǎn)品表 6 6.4.4 表表3sp3sp 表表 (供應關(guān)系表)(供應關(guān)系表) 表 6.4.1 表名sp(供應關(guān)系表) 數(shù)據(jù)庫用戶sa 主鍵supplier_no,produ
22、ct_no 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1supplier_nochar(12)nn低無主鍵/供應商號 2product_nochar(12)nn低無主鍵/產(chǎn)品編號 3sp_amountsmallintnn低無銷售量 4rest_productsmallintnn低無庫存量 sql 腳本create table sp ( supplier_no varchar(12)not null, product_no varchar(12)not null, sp_amount smallint not n
23、ull, rest_product smallint not null, primary key(supplier_no,product_no), foreign key(supplier_no)references supplier(supplier_no) on delete cascade on update cascade, foreign key(product_no)references product(product_no) on delete cascade on update cascade ); -供應表 6.56.5 表表4epc4epc 表表 (訂單表)(訂單表) 表
24、6.5.1 表名epc(訂單表) 數(shù)據(jù)庫用戶sa 主鍵order_no 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1order_nochar(6)ny高無主鍵/訂單號 2order_timechar(12)nn低無訂單日期 3employee_n o char(12)nn中無雇員號 4customer_n o char(12)nn高無客戶號 sql 腳本create table epc ( order_no varchar(6)primary key, order_time varchar(20)not nul
25、l, customer_no varchar(12)not null, employee_no varchar(12)not null, foreign key(employee_no)references employee(employee_no) on delete cascade on update cascade, foreign key(customer_no)references customer(customer_no) on delete cascade on update cascade ); -訂單表 6.66.6 表表5epc_detailed5epc_detailed
26、表表 (訂單細則表)(訂單細則表) 表 6.6.1 表名epc_detailed(訂單細則表) 數(shù)據(jù)庫用戶sa 主鍵無 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1order_nochar(6)ny高無訂單編號 2supplier_nochar(6)nn高無供應商編號 3product_nochar(6)nn高無產(chǎn)品號 4order_amou nt smallintnn中無訂購數(shù)量 5order_mone y smallintnn低無訂購總額 sql 腳本create table epc_detailed (
27、order_no varchar(6) not null, product_no varchar(12)not null, order_amount smallint not null, order_money smallint not null, supplier_no varchar(12)not null, foreign key(supplier_no)references supplier(supplier_no) on delete cascade on update cascade, foreign key(product_no)references product(produc
28、t_no) on delete cascade on update cascade, foreign key(order_no)references epc(order_no) ); -訂單細則表 6.76.7 表表6eployee6eployee 表表 (雇員表)(雇員表) 表 6.7.1 表名eployee(雇員表) 數(shù)據(jù)庫用戶sa 主鍵employee_no 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1employee_n o char(12)ny高無主鍵/雇員號 2employee_n ame char
29、(20)nn中無雇員名稱 3employee_p hone smallintny高無雇員電話 4employee_s alary smallintnn低無雇員工資 sql 腳本create table employee ( employee_no varchar(12)primary key, employee_name varchar(20)not null, employee_phone varchar(12)not null, employee_salary smallint not null, supplier_no char(12), foreign key(supplier_no)
30、references supplier(supplier_no) on delete cascade on update cascade ); -雇員表 6.86.8 表表7customer7customer 表表 (客戶表)(客戶表) 表 6.8.1 表名customer(客戶表) 數(shù)據(jù)庫用戶sa 主鍵customer_no 其他排序字段無 索引字段無 序號字段名稱數(shù)據(jù)類型(精 度范圍) 允許 為空 y/n 唯一 y/n 區(qū)別度默認值約束條件/說明 1customer_n o char(12)ny高無主鍵/客戶編號 2customer_n ame char(20)nn中無客戶名稱 3cust
31、omer_a ddress char(20)nn中無客戶地址 4customer_p hone char(12)nn高無客戶電話 sql 腳本create table customer ( customer_no varchar(12)primary key, customer_name varchar(20)not null, customer_phone varchar(12)not null, customer_address varchar(20)not null ); -客戶表 6.96.9 視圖的設(shè)計視圖的設(shè)計 1、建立一張供應商查詢視圖 目的:供供應商查詢 功能:能夠查詢到所有產(chǎn)
32、品銷售情況 意義:使供應商能夠看到最暢銷的產(chǎn)品,及時調(diào)整銷售策略。 create view supplier_viwe as select product_no,sum(sp_amount)產(chǎn)品總銷售量 from sp group by product_no 圖 6.9.1 1、建立一張客戶查詢視圖 目的:供客戶查詢 功能:能夠查詢到所有供應商所有產(chǎn)品的總銷售量 意義:是客戶可以看到最暢銷的供應商,便于選擇合適的供應商。 create view customer_viwe as select supplier_no,sum(sp_amount)產(chǎn)品總銷售量 from sp group by s
33、upplier_no 圖 6.9.2 2、建立一張雇員查詢視圖 目的:供雇員查詢 功能:供雇員查詢 意義:能夠看到所有雇員信息及所在供應商 create view employee_viwe as select employee_no,employee_name,employee_phone,supplier_name from employee,supplier where supplier.supplier_no=employee.supplier_no 圖 6.9.3 6.106.10 存儲過程、函數(shù)及觸發(fā)器的設(shè)計存儲過程、函數(shù)及觸發(fā)器的設(shè)計 1、插入供應商信息 插入供應商信息 功能:插
34、入供應商信息 目的:存儲查詢插入供應商信息的操作 意義:下次重復同樣的動作時,可直接執(zhí)行存儲過程,簡化操作步驟 create procedure pro_insert_supplier supplier_no varchar(12), supplier_name varchar(20), supplier_address varchar(20), supplier_phone varchar(12) as if(select count(*)from supplier where supplier_no=supplier_no)0 printerror! else insert into su
35、pplier(supplier_no,supplier_name,supplier_address,supplier_phone)values(supplier_no,supplier_name, supplier_address,supplier_phone) exec pro_insert_supplier 1000,沃爾瑪,美國 exec pro_insert_supplier 1001,英國石油,英國 exec pro_insert_supplier 1002,??松梨?美國 exec pro_insert
36、_supplier 1003,皇家殼牌石油,英國 exec pro_insert_supplier 1004,通用汽車,德國 exec pro_insert_supplier 1005,戴姆勒克萊斯勒,美國 exec pro_insert_supplier 1006,豐田汽車,日本 exec pro_insert_supplier 1007,福特汽車,美國 exec pro_insert_supplier 1008,通用電氣,德國 exec
37、 pro_insert_supplier 1009,海爾,中國 exec pro_insert_supplier 1009,海爾,中國 圖 6.10.1 2、刪除供應關(guān)系信息 功能:刪除供應關(guān)系信息 目的:存儲刪除插入供應關(guān)系信息的操作 意義:下次重復同樣的動作時,可直接執(zhí)行存儲過程,簡化操作步驟 create procedure pro_delete_sp supplier_no varchar(12) as if(select count(*) from sp where supplier_no=supplier_no)0 delete
38、from sp where supplier_no=supplier_no exec pro_delete_sp1001 圖 6.10.2 圖 6.10.3 3、更新雇員信息 功能:更新雇員信息 目的:存儲更新雇員信息的操作 意義:下次重復同樣的動作時,可直接執(zhí)行存儲過程,簡化操作步驟 create procedure pro_update_employee employee_no varchar(12), employee_name varchar(20), employee_phone varchar(12), employee_salary smallint , supplier_no
39、varchar(12) as if exists(select * from employee where employee_no=employee_no) update employee set employee_name=employee_name, employee_phone=employee_phone, employee_salary=employee_salary, supplier_no =supplier_no where employee_no=employee_no else print無此信息! exec pro_update_employee1004,菜廣,18774
40、871311,1000,1001; 圖 6.10.4 圖 6.10.5 4、查詢訂單細則信息 功能:查詢訂單細則信息 目的:存儲查詢訂單細則信息的操作 意義:下次重復同樣的動作時,可直接執(zhí)行存儲過程,簡化操作步驟 create procedure pro_select_epc_detailed order_no varchar(6) as select * from epc_detailed; where order_no=order_no exec pro_select_epc_detailed1001; 圖 6.10.6 5、下訂單流程 功能:下訂單 目的:客戶根據(jù)產(chǎn)品名下訂單 意義:下次
41、重復同樣的動作時,可直接執(zhí)行存儲過程,簡化操作步驟 create procedure pro_exec order_no varchar(6), customer_no varchar(12), employee_no varchar(12), supplier_no varchar(12), product_name varchar(20), order_time varchar(20), order_amount smallint, order_money smallint as if(select count(*) from epc where order_no=order_no)0 p
42、rint已經(jīng)存在訂單號! else if(select count(*) from product where product_name=product_name and product_no in(select product_no from sp where supplier_no=supplier_no)=0 print該供應商不提供應該產(chǎn)品 else if(select rest_product from sp where supplier_no=supplier_no and product_no=(select product_no from product where produ
43、ct_name=product_name)order_amount print庫存量不足! else begin insert into epc(order_no,customer_no,employee_no,order_time)values(order_no,customer_no,employee_no,ord er_time) insert into epc_detailed(order_no,supplier_no,product_no,order_amount,order_money)values(order_no,supplier_no,( select product_no
44、from product where product_name=product_name),order_amount,order_money) print下訂單成功 end exec pro_exec1000,1001,1001,1001,電腦,20130601,1000,10000;-下訂單 exec pro_delete_epc_detailed1000; -退訂 圖 6.10.7 圖 6.10.8 5、觸發(fā)器 功能:并發(fā)操作 目的:減少庫存,增加銷售量 意義:可并發(fā)執(zhí)行,自動增加銷售量,減少庫存量 -刪除觸發(fā)器 create trigger tri_delete on epc_detai
45、led after delete as update sp set rest_product=rest_product+(select order_amount from deleted), sp_amount=sp_amount-(select order_amount from deleted) from deleted,sp where duct_no=duct_no and sp.supplier_no=deleted.supplier_no -插入觸發(fā)器 create trigger tri_insert on epc_detailed after
46、insert as update sp set rest_product=rest_product-(select order_amount from inserted), sp_amount=sp_amount+(select order_amount from inserted) from sp,inserted where duct_no=duct_no and sp.supplier_no=inserted.supplier_no 圖 6.10.9 圖 6.10.10 圖 6.10.11 7 7總結(jié)總結(jié) 經(jīng)過了艱難的兩個星期,終于把這個訂單銷售管理系
47、統(tǒng)做好了。這次課程設(shè)計讓我收獲很多,首 先是思維方式,之前想得國語簡單,以至于發(fā)現(xiàn)無法完成功能,是因為思維方式的局限性,沒有站在 多角度看問題。這次課程設(shè)計后我學會了從多方面分析問題,嚴密了思維方式。然后是對 sql 更加熟 悉了,能夠比較熟練的使用了,一開始,存儲過程寫得總是出錯,建表也有出過錯,寫增刪改查也是 不是出點錯誤,特別是觸發(fā)器,由于一開始沒有透徹的理解,所以寫出了錯的觸發(fā)器,使得數(shù)據(jù)全部 出錯?,F(xiàn)在一般都不會出現(xiàn)低級錯誤了。 附錄附錄 create database ling; use ling; create table supplier ( supplier_no varch
48、ar(12)primary key, supplier_name varchar(20)not null, supplier_address varchar(20)not null, supplier_phone varchar(12)not null ); -供應商表 create table product ( product_no varchar(12)primary key, product_name varchar(20)not null, product_family varchar(20)not null, product_price smallint not null ); -產(chǎn)品表 create tabl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某大型房地產(chǎn)公司合同
- 小麥秸稈購銷合同
- 酒店管理與經(jīng)營合作協(xié)議
- 建筑工地承包食堂的合同
- 重慶市居間合同
- 人教版五年級下冊求最大公因數(shù)練習100題及答案
- Unit 5 Launching your career Apply for a summer job教學設(shè)計-2024-2025學年高中英語人教版(2019)選擇性必修第四冊
- 2025年云安全服務(wù)項目建議書
- 24《司馬光》教學設(shè)計-2024-2025學年語文三年級上冊統(tǒng)編版
- 油罐區(qū)智能防雷接地設(shè)計方案
- 人因工程學第1章人因工程學概述
- 熱烈歡迎領(lǐng)導蒞臨指導工作動態(tài)PPT模板
- 生產(chǎn)管理的目標QCDSM
- 戰(zhàn)地衛(wèi)生與救護教案培訓講學
- 2022版《義務(wù)教育數(shù)學課程標準》測試題
- 全面介紹現(xiàn)貨中遠期交易
- 公安系防暴安全03安檢
- 四年級下冊音樂課件第一課時-感知音樂中的旋律三
- 部編版六年級道德與法治下冊《學會反思》教案
- 部編版四年級下冊語文教案(完整)
- T∕CIS 71001-2021 化工安全儀表系統(tǒng)安全要求規(guī)格書編制導則
評論
0/150
提交評論