《數(shù)據(jù)庫課程設計》課程設計外貿(mào)公司的訂單管理系統(tǒng)
《《數(shù)據(jù)庫課程設計》課程設計外貿(mào)公司的訂單管理系統(tǒng)》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫課程設計》課程設計外貿(mào)公司的訂單管理系統(tǒng)(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、杭州電子科技大學數(shù)據(jù)庫課程設計課程設計手冊 外貿(mào)公司的訂單管理系統(tǒng)姓 名 學 號 07031760 設計小組長 其 他 設 計小 組 成 員 指 導 教 師 設 計 時 間 2009.9.7 至 2009.9.18 杭州電子科技大學管理學院編制一、需求分析1.針對外貿(mào)企業(yè)的訂單管理系統(tǒng),分別對商品、訂單、訂單明細、客戶、生產(chǎn)商和供應商在整個訂單管理系統(tǒng)中的定位進行詳細的分析,獲得其需求信息如下:訂單的接收是按照商品分類進行的,所以需要有每個商品的信息。登記于同一張訂單明細的必須是同一種商品。如果一個商品的訂單有一個或者多個勝生產(chǎn)商滿足,則該訂單不可被退回。需要完整地記錄商品、客戶、生產(chǎn)商、供應
2、商的信息。針對每一筆業(yè)務,在訂單中的商品信息欄中都要仔細的紀錄每一種商品的編號、日期、數(shù)量、單價和總價。在每一張訂單中都要詳盡的紀錄下訂單的單位名稱、單位號、單位地址、交貨日期、貨品名稱、貨品號、貨品單價和貨品總價。把所有相同的產(chǎn)品紀錄到同一張訂單明細表中,每一張訂單明細表中只能紀錄同一種商品。在每一張訂單明細表中需要紀錄訂單號、單位名稱、商品號、商品名、規(guī)格、交貨日期、數(shù)量、單價和簽訂日期等。根據(jù)貨品名稱、交貨日期、貨品數(shù)量、生產(chǎn)商的生產(chǎn)能力以及單位地址等實際因素,將訂單明細表進行合理的合并和拆分,從而達到降低成本的目的。對接收訂單的貨品的生產(chǎn)商以及貨品的供應商信息進行詳盡的紀錄。訂單的接收
3、、處理要有相應的業(yè)務員信息。只有管理員登錄之后才可以使用系統(tǒng)。默認的管理員不可以刪除??梢詫ψ鲝U的、待生產(chǎn)的、正生產(chǎn)的、生產(chǎn)完成的訂單進行分類查找,但不能進行修改、添加、刪除等操作。當進行訂單接收和處理操作后,能相應更新數(shù)據(jù)庫更新。對所接收的訂單進行數(shù)據(jù)分析,總結相應商品的訂單服務。2. 經(jīng)上述系統(tǒng)功能分析和需求總結,考慮其業(yè)務和功能的不斷擴展,設計如下的數(shù)據(jù)項和數(shù)據(jù)結構:商品信息,包括的數(shù)據(jù)項有: 商品號,名稱,規(guī)格,單價,描述。訂單明細信息,包括的數(shù)據(jù)項有: 訂單號,單位名稱,商品號,商品名,規(guī)格,交貨日期,數(shù)量,單價,簽訂日期。訂單信息,包括的數(shù)據(jù)項有: 訂單號,單位,操作員號,地址,簽
4、訂日期,單價,數(shù)量,商品號,交貨日期。業(yè)務員信息,包括的數(shù)據(jù)項有: 職工號,姓名,年齡,職稱??蛻粜畔?,包括的數(shù)據(jù)項有:客戶姓名,賬號,地址,聯(lián)系方式。 生產(chǎn)訂單信息,包括的數(shù)據(jù)項有:生產(chǎn)商,商品名,數(shù)量,單價,賬號,聯(lián)系方式。供應商信息,包括的數(shù)據(jù)項有: 姓名,地址,電話號碼,賬號。3.數(shù)據(jù)流圖訂單管理系統(tǒng)數(shù)據(jù)流圖如下: 在整個數(shù)據(jù)流圖中,P1,P2,P3,P4分別是客戶信息管理系統(tǒng),產(chǎn)品信息管理系統(tǒng),員工信息管理系統(tǒng),供應商管理系統(tǒng),我們這里只作簡單處理。P5.1,P5.2,P5.3是訂單管理系統(tǒng)的核心部分,P5.2審核系統(tǒng)是根據(jù)客戶的信用情況,剔除一部分不合格的訂單并觸發(fā)修改訂單明細,P
5、5.3是根據(jù)供應商的供應能力等情況對訂單明細進行拆分和合并處理,最終形成生產(chǎn)訂單。4.數(shù)據(jù)字典(1)、數(shù)據(jù)項數(shù)據(jù)項描述=職工號,char(6),000000999999,前兩個數(shù)字表示所屬部門,中間兩個數(shù)字表示工作起始年份;姓名,varchar(8);年齡,int(2),1865,職工的年齡必須大于18周歲且小于65周歲;商品號,char(14) ,由阿拉伯數(shù)字和英文小寫字母組成;單位名稱,varchar(10)單位號,char(10)(2)、數(shù)據(jù)結構數(shù)據(jù)結構描述=業(yè)務員信息,組成:職工號,姓名,年齡,職稱;訂單信息,組成:訂單號,單位號,操作員號,地址,簽訂日期,單價,數(shù)量,交貨日期;客戶信
6、息,組成:客戶號,客戶姓名,賬號,地址,聯(lián)系方式;(3)、數(shù)據(jù)流數(shù)據(jù)流描述=員工信息流,來源:人工錄入,去向:員工信息表,組成:業(yè)務員信息;(4)、數(shù)據(jù)存儲數(shù)據(jù)存儲描述=訂單明細,客戶信息流,產(chǎn)品信息流,員工信息流,訂單明細信息流,組成:業(yè)務員信息,商品信息,客戶信息;(5)、處理過程處理過程描述=下單,輸入:客戶信息流,產(chǎn)品信息流,員工信息流,輸出:訂單明細信息流,處理:通過員工的操作,使顯示具體的訂單信息表和訂單明細表;2、 概念模型設計訂單管理系統(tǒng)E-R圖如下:在這里,我們?yōu)榱撕喕瘮?shù)據(jù)庫,將訂單管理設置為只處理一種商品,所以訂單的拆分和合并聯(lián)系分別是1:n 和n:1 。在訂單明細中可以反
7、映商品的供應者,在生產(chǎn)訂單中可以顯示每個供應商的供應量等信息。生產(chǎn)訂單屬性中的生產(chǎn)商號和供應商供應商號為異名同義,訂單明細屬性中的單位名稱和客戶信息屬性的客戶姓名為異名同義。三、邏輯模型設計職工信息表屬性名數(shù)據(jù)類型可否為空備注職工號Char(6)否主鍵姓名Varchar(8)否年齡Int否職稱Varchar否訂單信息表屬性名數(shù)據(jù)類型可否為空備注訂單號Char(6)否主鍵單位姓名 Varchar(20)否外鍵地址Varchar(100)否商品單價Money否數(shù)量Int否簽訂日期Datetime否交貨日期Datetime否操作員號Char(6)否外鍵商品號Varchar(10)否外鍵商品信息表屬性
8、名數(shù)據(jù)類型可否為空備注商品號Varchar(10)否主鍵名稱Varchar(20)否單價Money否規(guī)格Varchar(20)否描述Varchar(50)可訂單明細表屬性名數(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ù)類型可否為空備注生產(chǎn)商Varchar(20)否外鍵地址Varchar(100)否單價Money否賬號Varchar(20)否聯(lián)系方式
9、Varchar(21)否供應量Int否訂單號Char(6)否外鍵商品號Char(10)否外鍵供應商信息表屬性名數(shù)據(jù)類型可否為空備注姓名Varchar(20)否主鍵地址Varchar(100)否電話號碼Varchar(20)可賬號Varchar(20)否客戶信息表屬性名數(shù)據(jù)類型可否為空備注客戶姓名Varchar(20)否主鍵賬號Varchar(20)否地址Varchar(100)否聯(lián)系方式Varchar(20)否4、 物理模型設計(1) 、由于經(jīng)常在查詢條件中出現(xiàn),所以決定在職工信息表中的職工號上建立唯一索引;(2) 、由于經(jīng)常在連接操作的鏈接條件中出現(xiàn),所以決定在訂單信息表中的訂 單號上建立唯
10、一索引;(3) 、由于經(jīng)常在查詢條件中出現(xiàn),所以決定在客戶信息表中的客戶姓名上建立唯一索引;(4) 、由于經(jīng)常在查詢條件中出現(xiàn),所以決定在供應商信息表中的姓名上建立唯一索引;(5) 、由于經(jīng)常在連接操作的鏈接條件中出現(xiàn),所以決定在商品信息表中的商品號上建立唯一索引;5、 數(shù)據(jù)庫實施和維護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 nul
11、l,)創(chuàng)建商品信息表create table 商品信息表(商品號 Varchar(10) not null primary key,名稱 Varchar(20) not null,單價 Money not null,規(guī)格 Varchar(20) not null,描述 Varchar(50)創(chuàng)建供應商信息表create table 供應商信息表(姓名 Varchar(20) not null primary key,地址 Varchar(100) not null,電話號碼 Varchar(20) not null,賬號 Varchar(50) not null)創(chuàng)建客戶信息表create t
12、able 客戶信息表(客戶姓名 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,簽訂日期 datetime not null,交貨日期 datetime not null,單位 Varchar
13、 (20) foreign key references 客戶信息表(客戶姓名),操作員號 char(6) foreign key references 職工信息表(職工號),商品號 Varchar(10)foreign key references 商品信息表(商品號)創(chuàng)建訂單明細表create table 訂單明細表(訂單號 char(6) not null foreign key references 訂單信息表(訂單號),商品號 Varchar(10) not null foreign key references 商品信息表(商品號),商品名 Varchar(20) not null
14、,單價 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 供應商信息表(姓名)創(chuàng)建生產(chǎn)訂單信息表create table 生產(chǎn)訂單信息表(地址 Varchar (100) not null,單價 Money not null,賬號 Varchar(20) not nu
15、ll,聯(lián)系方式 Varchar(21) not null,供應量 int not null,生產(chǎn)商 Varchar(20) not null foreign key references 供應商信息表(姓名),訂單號 char(6) not null foreign key references 訂單信息表(訂單號),商品號 Varchar(10) not null foreign key references 商品信息表(商品號)3、創(chuàng)建視圖Create view 訂單明細視圖As select 訂單號,單位,商品號,生產(chǎn)商From 訂單明細表Create view 生產(chǎn)訂單視圖As sel
16、ect 生產(chǎn)商,訂單號,商品號,供應量,聯(lián)系方式From 生產(chǎn)訂單表4、 創(chuàng)建索引在主鍵屬性和外鍵屬性列上都建立索引,檢查唯一性和完整性,加快連接查詢速度。Create unique index IX_職工號 on 職工信息表(職工號);Create unique index IX_訂單號 on 訂單信息表(訂單號);Create unique index IX_客戶姓名 on 客戶信息表(客戶姓名);Create unique index IX_姓名 on 供應商信息表(姓名);Create unique index IX_商品號 on 商品信息表(商品號);5、 表中數(shù)據(jù)操作1、給數(shù)據(jù)庫賦
17、值insert into 職工信息表values(070934,kimikong,24,操作員);insert into 職工信息表values(070317,massa,29,主管);insert into 職工信息表Values(040201,aloso,34,操作員)Insert Into 商品信息表Values (07031760,klmin,2000,長度172cm,重量60KG,暢銷貨啊);Insert Into 商品信息表Values(07031763,lljing,1500,長度165cm,體重70KG,有點胖胖);Insert Into 客戶信息表Values(雷敬文,070
18、31761,16-624,15869027542);Insert Into 客戶信息表Values(李俊,07031764,16-610,1586902432);InsertInto 訂單信息表Values(001,杭電16#624,2000,10,2009.09.15,2009.09.18,雷經(jīng)文,070934,07031760)InsertInto 訂單信息表Values(002,杭電16#625,1500,20,2009.09.14,2009.09.17,李俊,040201,07031763)InsertInto 訂單明細表Values(001,07031760,klmin,2000,1
19、0,2009.09.15,2009.09.16,雷經(jīng)文,長度172cm,重量60KG,老大)InsertInto 訂單明細表Values(002,07031763,lljing,1500,20,2009.09.14,2009.09.17,李俊,長度165cm,重量70KG,老邱)InsertInto 生產(chǎn)訂單信息表Values(杭電2,2000,166261,110轉1,10,老大,001,07031760)InsertInto 生產(chǎn)訂單信息表Values(杭電3,1500,166262,110轉2,20,老邱,002,07031763)InsertIn耀 供應商信息表Values(老大,杭電
20、2,110轉1,166261)InsertInto 供應商信息表Values(老邱,杭電3,110轉2,166262)2、其他操作把客戶信息表中李俊的聯(lián)系方式更正為15869023242update 客戶信息表set 聯(lián)系方式=15869023242where 客戶姓名=李俊;員工因故辭職Delete from 職工信息表where 職工號=0703176、 使用表格操作1、查找所有職工的年齡,并按年齡大小進行排序select 職工號,姓名,年齡from 職工信息表order by 年齡2、 查找訂單號為001的商品的描述select 訂單號,a.商品號,名稱,單價,描述from 訂單信息表
21、as a,商品信息表 as bwhere 訂單號=001 and b.商品號 = (select 商品號from 訂單明細表where 訂單號=001)3、 查找由供應商老大供應商的商品情況select 商品號,商品名,單價,規(guī)格,數(shù)量from 訂單明細表where 生產(chǎn)商=老大4、 查找指定客戶購買的商品的具體信息select 商品號,名稱,單價,規(guī)格,描述from 商品信息表where 商品號=(select 商品號from 訂單明細表where 單位=雷經(jīng)文)7、 創(chuàng)建觸發(fā)器,游標和存儲過程 在訂單明細表上建立觸發(fā)器,實現(xiàn)在商品規(guī)格作出改變時,相應的訂單明細信息也作出更正。 Use 訂單
22、管理系統(tǒng) Go Create trigger tri_商品信息更新 on 訂單明細表 For update As If rowcount=0 Return Update 商品信息表 Set 規(guī)格=(select 規(guī)格 from inserted) Where 規(guī)格=(select 規(guī)格 from deleted) If error!=0 Begin Rollback Return End Return Go在客戶信息表建立游標,用游標和變量逐行輸出客戶姓名和聯(lián)系方式declare name varchar(20),telephone varchar(20)declare cur_1 curso
23、r for select 客戶姓名,聯(lián)系方式from 客戶信息表for read onlyopen cur_1fetch from cur_1 into name,telephoneprint 客戶姓名+name+聯(lián)系方式+telephonewhile fetch_status=0beginfetch from cur_1 into name,telephoneprint 客戶姓名+name+聯(lián)系方式+telephoneendclose cur_1deallocate cur_1在數(shù)據(jù)庫中創(chuàng)建一個存儲過程,返回指定的生產(chǎn)訂單信息create proc pro_生產(chǎn)訂單信息生產(chǎn)商 Varchar
24、(20),訂單號 char(6),商品號 Varchar(10),單價 Money,供應量 int outputAs select 訂單號,商品號,單價,供應量 from 生產(chǎn)訂單信息表 where 生產(chǎn)商=老邱Go6、 總結通過這次數(shù)據(jù)庫課程,我學到了不少。我發(fā)現(xiàn)考試題目會做根本不代表也會設計數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)庫系統(tǒng)最重要的環(huán)節(jié)是需求分析,只有把業(yè)務流程都理順了之后才能做下面的環(huán)節(jié)。我們的課題外貿(mào)公司的訂單管理,網(wǎng)上資料比較少,在老師的指導下,我們最終搞明白了訂單管理的具體流程和板塊。E-R圖不是那么好畫的,在設計的時候要考慮的因素,因為我們是第一次,在轉換為邏輯模式和后面的數(shù)據(jù)庫實施時,我們對E-R圖作了一遍又一遍的修改,發(fā)現(xiàn)最后的圖跟剛開始的圖已經(jīng)很不一樣了。在整個數(shù)據(jù)庫設計過程中,我們得到了陳老師細心的指導,尤其是前面需求分析和概念模型設計階段,這對我們的成果非常重要。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。