《數(shù)據(jù)庫課程設(shè)計》課程設(shè)計外貿(mào)公司的訂單管理系統(tǒng)
《《數(shù)據(jù)庫課程設(shè)計》課程設(shè)計外貿(mào)公司的訂單管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫課程設(shè)計》課程設(shè)計外貿(mào)公司的訂單管理系統(tǒng)(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、杭州電子科技大學(xué) 《數(shù)據(jù)庫課程設(shè)計》課程設(shè)計手冊 外貿(mào)公司的訂單管理系統(tǒng) 姓 名 學(xué) 號 07031760 設(shè)計小組長 其 他 設(shè) 計 小 組 成 員 指 導(dǎo) 教 師 設(shè) 計 時 間 2009.9.7 至 2009.9.18 杭州電子科技大學(xué)管理學(xué)院編制 一、需求分析 1.針對外貿(mào)
2、企業(yè)的訂單管理系統(tǒng),分別對商品、訂單、訂單明細(xì)、客戶、生產(chǎn)商和供應(yīng)商在整個訂單管理系統(tǒng)中的定位進(jìn)行詳細(xì)的分析,獲得其需求信息如下: 訂單的接收是按照商品分類進(jìn)行的,所以需要有每個商品的信息。 登記于同一張訂單明細(xì)的必須是同一種商品。 如果一個商品的訂單有一個或者多個勝生產(chǎn)商滿足,則該訂單不可被退回。 需要完整地記錄商品、客戶、生產(chǎn)商、供應(yīng)商的信息。 針對每一筆業(yè)務(wù),在訂單中的商品信息欄中都要仔細(xì)的紀(jì)錄每一種商品的編號、日期、數(shù)量、單價和總價。 在每一張訂單中都要詳盡的紀(jì)錄下訂單的單位名稱、單位號、單位地址、交貨日期、貨品名稱、貨品號、貨品單價和貨品總價。 把所有相同的產(chǎn)品紀(jì)錄到同
3、一張訂單明細(xì)表中,每一張訂單明細(xì)表中只能紀(jì)錄同一種商品。 在每一張訂單明細(xì)表中需要紀(jì)錄訂單號、單位名稱、商品號、商品名、規(guī)格、交貨日期、數(shù)量、單價和簽訂日期等。 根據(jù)貨品名稱、交貨日期、貨品數(shù)量、生產(chǎn)商的生產(chǎn)能力以及單位地址等實際因素,將訂單明細(xì)表進(jìn)行合理的合并和拆分,從而達(dá)到降低成本的目的。 對接收訂單的貨品的生產(chǎn)商以及貨品的供應(yīng)商信息進(jìn)行詳盡的紀(jì)錄。 訂單的接收、處理要有相應(yīng)的業(yè)務(wù)員信息。 只有管理員登錄之后才可以使用系統(tǒng)。 默認(rèn)的管理員不可以刪除。 可以對作廢的、待生產(chǎn)的、正生產(chǎn)的、生產(chǎn)完成的訂單進(jìn)行分類查找,但不能進(jìn)行修改、添加、刪除等操作。 當(dāng)進(jìn)行訂單接收和處理操作后
4、,能相應(yīng)更新數(shù)據(jù)庫更新。 對所接收的訂單進(jìn)行數(shù)據(jù)分析,總結(jié)相應(yīng)商品的訂單服務(wù)。 2. 經(jīng)上述系統(tǒng)功能分析和需求總結(jié),考慮其業(yè)務(wù)和功能的不斷擴(kuò)展,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu): 商品信息,包括的數(shù)據(jù)項有: 商品號,名稱,規(guī)格,單價,描述。 訂單明細(xì)信息,包括的數(shù)據(jù)項有: 訂單號,單位名稱,商品號,商品名,規(guī)格,交貨日期,數(shù)量,單價,簽訂日期。 訂單信息,包括的數(shù)據(jù)項有: 訂單號,單位,操作員號,地址,簽訂日期,單價,數(shù)量,商品號,交貨日期。 業(yè)務(wù)員信息,包括的數(shù)據(jù)項有: 職工號,姓名,年齡,職稱。 客戶信息,包括的數(shù)據(jù)項有:客戶姓名,賬號,地址,聯(lián)系方式。 生產(chǎn)訂單信息,包括的數(shù)
5、據(jù)項有:生產(chǎn)商,商品名,數(shù)量,單價,賬號,聯(lián)系方式。 供應(yīng)商信息,包括的數(shù)據(jù)項有: 姓名,地址,電話號碼,賬號。 3.數(shù)據(jù)流圖 訂單管理系統(tǒng)數(shù)據(jù)流圖如下: 在整個數(shù)據(jù)流圖中,P1,P2,P3,P4分別是客戶信息管理系統(tǒng),產(chǎn)品信息管理系統(tǒng),員工信息管理系統(tǒng),供應(yīng)商管理系統(tǒng),我們這里只作簡單處理。P5.1,P5.2,P5.3是訂單管理系統(tǒng)的核心部分,P5.2審核系統(tǒng)是根據(jù)客戶的信用情況,剔除一部分不合格的訂單并觸發(fā)修改訂單明細(xì),P5.3是根據(jù)供應(yīng)商的供應(yīng)能力等情況對訂單明細(xì)進(jìn)行拆分和合并處理,最終形成生產(chǎn)訂單。 4.數(shù)據(jù)字典 (1)、數(shù)據(jù)項 數(shù)據(jù)項描述= {職工號
6、,char(6),000000~999999,前兩個數(shù)字表示所屬部門,中間兩個數(shù)字表示工作起始年份}; {姓名,varchar(8)}; {年齡,int(2),18~65,職工的年齡必須大于18周歲且小于65周歲}; {商品號,char(14) ,由阿拉伯?dāng)?shù)字和英文小寫字母組成}; {單位名稱,varchar(10)} {單位號,char(10)} (2)、數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)描述= {業(yè)務(wù)員信息,組成:{職工號,姓名,年齡,職稱}}; {訂單信息,組成:{訂單號,單位號,操作員號,地址,簽訂日期,單價,數(shù)量,交貨日期}}; {客戶信息,組成:{客戶號,客戶姓名,賬號,地
7、址,聯(lián)系方式}}; (3)、數(shù)據(jù)流 數(shù)據(jù)流描述= {員工信息流,來源:人工錄入,去向:員工信息表,組成:{業(yè)務(wù)員信息}}; (4)、數(shù)據(jù)存儲 數(shù)據(jù)存儲描述={訂單明細(xì),{客戶信息流,產(chǎn)品信息流,員工信息流},{訂單明細(xì)信息流},組成:{業(yè)務(wù)員信息,商品信息,客戶信息}}; (5)、處理過程 處理過程描述={下單,輸入:{客戶信息流,產(chǎn)品信息流,員工信息流},輸出:{訂單明細(xì)信息流},處理:{通過員工的操作,使顯示具體的訂單信息表和訂單明細(xì)表}}; 2、 概念模型設(shè)計 訂單管理系統(tǒng)E-R圖如下: 在這里,我們?yōu)榱撕喕瘮?shù)據(jù)庫,將訂單管理設(shè)置為只處理一種商品,
8、所以訂單的拆分和合并聯(lián)系分別是1:n 和n:1 。在訂單明細(xì)中可以反映商品的供應(yīng)者,在生產(chǎn)訂單中可以顯示每個供應(yīng)商的供應(yīng)量等信息。 生產(chǎn)訂單屬性中的生產(chǎn)商號和供應(yīng)商供應(yīng)商號為異名同義,訂單明細(xì)屬性中的單位名稱和客戶信息屬性的客戶姓名為異名同義。 三、邏輯模型設(shè)計 職工信息表 屬性名 數(shù)據(jù)類型 可否為空 備注 職工號 Char(6) 否 主鍵 姓名 Varchar(8) 否 年齡 Int 否 職稱 Varchar 否 訂單信息表 屬性名 數(shù)據(jù)類型 可否為空 備注 訂單號 Char(6) 否 主鍵
9、 單位姓名 Varchar(20) 否 外鍵 地址 Varchar(100) 否 商品單價 Money 否 數(shù)量 Int 否 簽訂日期 Datetime 否 交貨日期 Datetime 否 操作員號 Char(6) 否 外鍵 商品號 Varchar(10) 否 外鍵 商品信息表 屬性名 數(shù)據(jù)類型 可否為空 備注 商品號 Varchar(10) 否 主鍵 名稱 Varchar(20) 否 單價 Money 否 規(guī)格 Varchar(20) 否
10、描述 Varchar(50) 可 訂單明細(xì)表 屬性名 數(shù)據(jù)類型 可否為空 備注 訂單號 Char(6) 否 外鍵 商品號 Char(10) 否 外鍵 商品名 Varchar(20) 否 單價 Money 否 數(shù)量 Int 否 簽訂日期 Datetime 否 交貨日期 Datetime 否 單位名稱 Char(10) 否 外鍵 規(guī)格 Varchar(20) 否 生產(chǎn)商號 Char(10) 否 外鍵 生產(chǎn)訂單信息表 屬性名 數(shù)據(jù)類型 可否為空
11、備注 生產(chǎn)商 Varchar(20) 否 外鍵 地址 Varchar(100) 否 單價 Money 否 賬號 Varchar(20) 否 聯(lián)系方式 Varchar(21) 否 供應(yīng)量 Int 否 訂單號 Char(6) 否 外鍵 商品號 Char(10) 否 外鍵 供應(yīng)商信息表 屬性名 數(shù)據(jù)類型 可否為空 備注 姓名 Varchar(20) 否 主鍵 地址 Varchar(100) 否 電話號碼 Varchar(20) 可 賬號 Varchar(20) 否
12、 客戶信息表 屬性名 數(shù)據(jù)類型 可否為空 備注 客戶姓名 Varchar(20) 否 主鍵 賬號 Varchar(20) 否 地址 Varchar(100) 否 聯(lián)系方式 Varchar(20) 否 4、 物理模型設(shè)計 (1) 、由于經(jīng)常在查詢條件中出現(xiàn),所以決定在職工信息表中的職工號上建立 唯一索引; (2) 、由于經(jīng)常在連接操作的鏈接條件中出現(xiàn),所以決定在訂單信息表中的訂 單號上建立唯一索引; (3) 、由于經(jīng)常在查詢條件中出現(xiàn),所以決定在客戶信息表中的客戶姓名上建 立唯一索引; (4) 、由于經(jīng)常在查詢條
13、件中出現(xiàn),所以決定在供應(yīng)商信息表中的姓名上建立 唯一索引; (5) 、由于經(jīng)常在連接操作的鏈接條件中出現(xiàn),所以決定在商品信息表中的商 品號上建立唯一索引; 5、 數(shù)據(jù)庫實施和維護(hù) 1、 創(chuàng)建數(shù)據(jù)庫 create database 訂單管理系統(tǒng) 2、 創(chuàng)建表 創(chuàng)建職工信息表 create table 職工信息表 (職工號 char(6) not null primary key, 姓名 Varchar(8) not null, 年齡 Int not null, 職稱 Varchar(10) not null,) 創(chuàng)建商品信息表 create
14、table 商品信息表 (商品號 Varchar(10) not null primary key, 名稱 Varchar(20) not null, 單價 Money not null, 規(guī)格 Varchar(20) not null, 描述 Varchar(50)) 創(chuàng)建供應(yīng)商信息表 create table 供應(yīng)商信息表 (姓名 Varchar(20) not null primary key, 地址 Varchar(100) not null, 電話號碼 Varchar(20) not null, 賬號 Varchar(50) not null) 創(chuàng)
15、建客戶信息表 create table 客戶信息表 (客戶姓名 Varchar(20) not null primary key, 賬號 Varchar(20) not null, 地址 Varchar (100)not null, 聯(lián)系方式 Varchar(20) not null) 創(chuàng)建訂單信息表 create table 訂單信息表 (訂單號 char(6) not null primary key, 地址 Varchar(100) not null, 商品單價 Money not null, 數(shù)量 int not null, 簽訂日期 datetim
16、e not null, 交貨日期 datetime not null, 單位 Varchar (20) foreign key references 客戶信息表(客戶姓名), 操作員號 char(6) foreign key references 職工信息表(職工號), 商品號 Varchar(10)foreign key references 商品信息表(商品號)) 創(chuàng)建訂單明細(xì)表 create table 訂單明細(xì)表 (訂單號 char(6) not null foreign key references 訂單信息表(訂單號), 商品號 Varchar(10) no
17、t null foreign key references 商品信息表(商品號), 商品名 Varchar(20) not null, 單價 Money not null, 數(shù)量 int not null, 簽訂日期 datetime not null, 交貨日期 datetime not null, 單位 Varchar(20) foreign key references 客戶信息表(客戶姓名), 規(guī)格 Varchar(20) not null, 生產(chǎn)商 Varchar (20) foreign key references 供應(yīng)商信息表(姓名)) 創(chuàng)建生產(chǎn)訂單信息表
18、 create table 生產(chǎn)訂單信息表 (地址 Varchar (100) not null, 單價 Money not null, 賬號 Varchar(20) not null, 聯(lián)系方式 Varchar(21) not null, 供應(yīng)量 int not null, 生產(chǎn)商 Varchar(20) not null foreign key references 供應(yīng)商信息表(姓名), 訂單號 char(6) not null foreign key references 訂單信息表(訂單號), 商品號 Varchar(10) not null foreign k
19、ey references 商品信息表(商品號)) 3、創(chuàng)建視圖 Create view 訂單明細(xì)視圖 As select 訂單號,單位,商品號,生產(chǎn)商 From 訂單明細(xì)表 Create view 生產(chǎn)訂單視圖 As select 生產(chǎn)商,訂單號,商品號,供應(yīng)量,聯(lián)系方式 From 生產(chǎn)訂單表 4、 創(chuàng)建索引 在主鍵屬性和外鍵屬性列上都建立索引,檢查唯一性和完整性,加快連接查詢速度。 Create unique index IX_職工號 on 職工信息表(職工號); Create unique index IX_訂單號 on 訂單信息表(訂單號
20、); Create unique index IX_客戶姓名 on 客戶信息表(客戶姓名); Create unique index IX_姓名 on 供應(yīng)商信息表(姓名); Create unique index IX_商品號 on 商品信息表(商品號); 5、 表中數(shù)據(jù)操作 1、給數(shù)據(jù)庫賦值 insert into 職工信息表 values(070934,kimikong,24,操作員); insert into 職工信息表 values(070317,massa,29,主管); insert into 職工信息表 Values
21、(040201,aloso,34,操作員) Insert Into 商品信息表 Values (07031760,klmin,2000,長度172cm,重量60KG,暢銷貨啊); Insert Into 商品信息表 Values(07031763,lljing,1500,長度165cm,體重70KG,有點胖胖); Insert Into 客戶信息表 Values(雷敬文,07031761,16-624,15869027542); Insert Into 客戶信息表 Values(李俊,07031764,16-610,1586902432);
22、 Insert Into 訂單信息表 Values(001, 杭電16#624,2000,10,2009.09.15,2009.09.18,雷經(jīng)文,070934,07031760) Insert Into 訂單信息表 Values(002, 杭電16#625,1500,20,2009.09.14,2009.09.17,李俊,040201,07031763) Insert Into 訂單明細(xì)表 Values(001,07031760,klmin,2000,10,2009.09.15,2009.09.16,雷經(jīng)文,長度172cm,重量60KG,老大) Ins
23、ert Into 訂單明細(xì)表 Values(002,07031763,lljing,1500,20,2009.09.14,2009.09.17,李俊,長度165cm,重量70KG,老邱) Insert Into 生產(chǎn)訂單信息表 Values(杭電2,2000,166261,110轉(zhuǎn)1,10,老大,001,07031760) Insert Into 生產(chǎn)訂單信息表 Values(杭電3,1500,166262,110轉(zhuǎn)2,20,老邱,002,07031763) Insert In耀 供應(yīng)商信息表 Values(老大,杭電2,110轉(zhuǎn)1,166261)
24、 Insert Into 供應(yīng)商信息表 Values(老邱,杭電3,110轉(zhuǎn)2,166262) 2、其他操作 把客戶信息表中李俊的聯(lián)系方式更正為15869023242 update 客戶信息表 set 聯(lián)系方式=15869023242 where 客戶姓名=李俊; 員工因故辭職 Delete from 職工信息表 where 職工號=070317 6、 使用表格操作 1、查找所有職工的年齡,并按年齡大小進(jìn)行排序 select 職工號,姓名,年齡 from 職工信息表 order by 年齡 2、 查找訂單號為001的商品的描述 sele
25、ct 訂單號,a.商品號,名稱,單價,描述 from 訂單信息表 as a,商品信息表 as b where 訂單號=001 and b.商品號 = (select 商品號 from 訂單明細(xì)表 where 訂單號=001) 3、 查找由供應(yīng)商老大供應(yīng)商的商品情況 select 商品號,商品名,單價,規(guī)格,數(shù)量 from 訂單明細(xì)表 where 生產(chǎn)商=老大 4、 查找指定客戶購買的商品的具體信息 select 商品號,名稱,單價,規(guī)格,描述 from 商品信息表 where 商品號=(select 商品號 from 訂單明細(xì)表 where
26、單位=雷經(jīng)文) 7、 創(chuàng)建觸發(fā)器,游標(biāo)和存儲過程 在訂單明細(xì)表上建立觸發(fā)器,實現(xiàn)在商品規(guī)格作出改變時,相應(yīng)的訂單明細(xì)信息也作出更正。 Use 訂單管理系統(tǒng) Go Create trigger tri_商品信息更新 on 訂單明細(xì)表 For update As If @@rowcount=0 Return Update 商品信息表 Set 規(guī)格=(select 規(guī)格 from inserted) Where 規(guī)格=(select 規(guī)格
27、from deleted) If @@error!=0 Begin Rollback Return End Return Go 在客戶信息表建立游標(biāo),用游標(biāo)和變量逐行輸出客戶姓名和聯(lián)系方式 declare @name varchar(20),@telephone varchar(20) declare cur_1 cursor for select 客戶姓名,聯(lián)系方式 from 客戶
28、信息表 for read only open cur_1 fetch from cur_1 into @name,@telephone print 客戶姓名+@name+聯(lián)系方式+@telephone while @@fetch_status=0 begin fetch from cur_1 into @name,@telephone print 客戶姓名+@name+聯(lián)系方式+@telephone end close cur_1 deallocate cur_1 在數(shù)據(jù)庫中創(chuàng)建一個存儲過程,返回指定的生產(chǎn)訂單信息 create proc pro_生產(chǎn)訂單
29、信息 @生產(chǎn)商 Varchar(20), @訂單號 char(6),@商品號 Varchar(10),@單價 Money,@供應(yīng)量 int output As select 訂單號,商品號,單價,供應(yīng)量 from 生產(chǎn)訂單信息表 where 生產(chǎn)商=老邱 Go 6、 總結(jié) 通過這次數(shù)據(jù)庫課程,我學(xué)到了不少。我發(fā)現(xiàn)考試題目會做根本不代表也會設(shè)計數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)庫系統(tǒng)最重要的環(huán)節(jié)是需求分析,只有把業(yè)務(wù)流程都理順了之后才能做下面的環(huán)節(jié)。我們的課題——外貿(mào)公司的訂單管理,網(wǎng)上資料比較少,在老師的指導(dǎo)下,我們最終搞明白了訂單管理的具體流程和板塊。E-R圖不是那么好畫的,在設(shè)計的時候要考慮的因素,因為我們是第一次,在轉(zhuǎn)換為邏輯模式和后面的數(shù)據(jù)庫實施時,我們對E-R圖作了一遍又一遍的修改,發(fā)現(xiàn)最后的圖跟剛開始的圖已經(jīng)很不一樣了。 在整個數(shù)據(jù)庫設(shè)計過程中,我們得到了陳老師細(xì)心的指導(dǎo),尤其是前面需求分析和概念模型設(shè)計階段,這對我們的成果非常重要。
- 溫馨提示:
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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時圖形的位置練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時圖形的認(rèn)識與測量1平面圖形的認(rèn)識練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負(fù)數(shù)第1課時負(fù)數(shù)的初步認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯清單十二課件新人教版
- 標(biāo)準(zhǔn)工時講義
- 2021年一年級語文上冊第六單元知識要點習(xí)題課件新人教版
- 2022春一年級語文下冊課文5識字測評習(xí)題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時數(shù)學(xué)思考1練習(xí)課件新人教版