客戶訂購登記數(shù)據(jù)庫設計資料(共14頁)_第1頁
客戶訂購登記數(shù)據(jù)庫設計資料(共14頁)_第2頁
客戶訂購登記數(shù)據(jù)庫設計資料(共14頁)_第3頁
客戶訂購登記數(shù)據(jù)庫設計資料(共14頁)_第4頁
客戶訂購登記數(shù)據(jù)庫設計資料(共14頁)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學 號: 課 程 設 計題 目客戶訂購登記數(shù)據(jù)庫設計學 院計算機學院專 業(yè)物聯(lián)網(wǎng)工程專業(yè)班 級姓 名指導教師2013年1月7日 課程設計任務書學生姓名: 專業(yè)班級: 指導教師: 工作單位: 計算機學院 題目:客戶訂購登記數(shù)據(jù)庫設計初始條件:一個公司希望為其客戶訂購行為建立一個數(shù)據(jù)庫。一個消費者可以有一個或多個訂單,每個訂單可以有一種或多種商品。每個訂單有一張發(fā)票,可以通過多種方式來支付,例如支票、信用卡或現(xiàn)金。要求完成的主要任務:1. 根據(jù)上述的初始條件,進行調(diào)查分析并設計適當?shù)膶傩?。設計一個客戶訂購數(shù)據(jù)庫,DBMS可選Ms SQL Server、Access、VFP等。2. 完成課程設計說明

2、書,其格式遵守學校今年的新規(guī)定。主要內(nèi)容包括:需求分析,概念設計,邏輯設計,物理實現(xiàn)等。3. 基于該數(shù)據(jù)庫,最好實現(xiàn)一個或多個應用程序(自己確定功能),程序設計語言(工具)任選。這一項是選作,不作硬性要求。時間安排:本學期第18周:1. 消化資料、系統(tǒng)調(diào)查1天2. 系統(tǒng)分析1天3. 總體設計,實施計劃2天 4. 撰寫報告1天指導教師簽名:年月日系主任(或責任教師)簽名:年月日一需求分析.3 1.初始條件.3 2.設計目標.3 3.功能析.3二.概念設計.3 1.總體功能圖.3 2.E-R圖.4 三.邏輯結(jié)構(gòu)設計.5 四.物理結(jié)構(gòu)設計6 1.存取方法的選擇.6 2.數(shù)據(jù)庫的存儲結(jié)構(gòu).7

3、 五.程序代碼7 1.基本表的定義.7 2.數(shù)據(jù)的插入.8 3.查詢功能.8 4.數(shù)據(jù)的更新.9 六.系統(tǒng)運行,調(diào)試與維護.9 1.基本表輸入數(shù)據(jù)后結(jié)果.9 2.查詢功能結(jié)果.10 3. 數(shù)據(jù)的更新.104. 數(shù)據(jù)庫的維護.11七.小結(jié).11客戶訂購登記系統(tǒng)軟件設計一. 需求分析1.初始條件一個公司希望為其客戶訂購行為建立一個數(shù)據(jù)庫。一個消費者可以有一個或多個訂單,每個訂單可以有一種或多種商品。每個訂單有一張發(fā)票,可以通過多種方式來支付,例如支票、信用卡或現(xiàn)金。2.設計目標根據(jù)上述的初始條件,進行調(diào)查分析并設計適當?shù)膶傩?。設計一個客戶訂購數(shù)據(jù)庫,DBMS?;谠摂?shù)據(jù)庫,實現(xiàn)一個或多個應用程序(

4、自己確定功能)。3.功能分析通過對設計目的的分析,可以確定該系統(tǒng)需要完成幾個基本功能的實現(xiàn):客戶信息的查詢:通過輸入客戶號對客戶的基本信息進行查詢,客戶的基本信息包括姓名,電話,地址,公司,所擁有的訂單;訂單的查詢:通過輸入訂單號對訂單的基本信息進行查詢,訂單的基本信息包括持有該訂單的客戶,該訂單對應的發(fā)票號,該訂單的支付方式以及該訂單中所包含的商品號及其數(shù)量;發(fā)票的查詢:通過輸入發(fā)票號對發(fā)票的基本信息進行查詢,發(fā)票的基本信息包括該發(fā)票對應的客戶號,訂單號,該發(fā)票上的總額以及支付方式;客戶的新建:能夠?qū)?shù)據(jù)庫中所沒有的新客戶進行創(chuàng)建并將新客戶的信息保存到數(shù)據(jù)庫中;訂單的新建(發(fā)票的新建):能夠

5、建立新的訂單,同時建立與訂單對應的發(fā)票,并將新建訂單保存到數(shù)據(jù)庫中;商品的查看:通過輸入商品號對商品進行查看,能查詢到商品的名字,單價及其庫存數(shù)量;4.基本表 根據(jù)該系統(tǒng)的功能,該系統(tǒng)應該包括以下幾個基本表: Customer表(保存客戶相關(guān)信息數(shù)據(jù)) List表(保存訂單的相關(guān)信息數(shù)據(jù)) Goods表(保存商品的相關(guān)信息數(shù)據(jù)) Bill表(保存發(fā)票的相關(guān)信息數(shù)據(jù)) 二. 概念設計1.總體功能圖根據(jù)系統(tǒng)需要實現(xiàn)的功能,可以確定客戶模塊、訂單模塊、發(fā)票模塊和商品模塊,另外為了軟件的使用和管理方便,設計了管理模塊和退出模塊,各模塊下面建立各自的窗口系統(tǒng),模塊圖如下:客戶訂購登記系統(tǒng) 管理模塊商品模

6、塊發(fā)票模塊訂單模塊客戶模塊客戶查詢新建客戶訂單查詢新建訂單發(fā)票查詢商品查詢修改密碼新建賬戶刪除賬戶數(shù)據(jù)庫模塊 圖1:系統(tǒng)功能模塊圖2.E-R圖通過對設計目的的分析,可以確定各個數(shù)據(jù)模型的E-R圖。訂單姓名客戶公司電話 圖2 客戶實體及屬性商品及數(shù)量客戶訂單支付方式發(fā)票 圖3:訂單實體及屬性支付方式發(fā)票發(fā)票總額客戶 圖4:發(fā)票實體及屬性商品庫存名稱單價 圖5:商品實體及屬性客戶訂單發(fā)票商品屬于屬于屬于 n 1 1關(guān)聯(lián) 1 n 1 1 n 圖7:實體及其聯(lián)系圖三.邏輯結(jié)構(gòu)設計 E-R圖是由實體型,實體型的屬性和實體之間的聯(lián)系3個要素組成的。將E-R圖轉(zhuǎn)換為關(guān)系模型就是要將實體型,實體型的屬性和實體

7、之間的聯(lián)系轉(zhuǎn)換為一組關(guān)系模式。 根據(jù)本系統(tǒng)的E_R圖,將其轉(zhuǎn)換為關(guān)系模式如下:Customer表:Cnum是主碼字段名稱數(shù)據(jù)類型Cnum(客戶號)自動編號Cname(姓名)文本Ctel(電話)文本Caddr(地址)文本Ccom(公司)文本Listnum(訂單1)IntList表:Listnum主碼字段名稱數(shù)據(jù)類型Listnum(訂單號)自動編號Cnum(客戶號)IntBillnum(發(fā)票號)IntPayMethod(支付方式)文本Good1(商品號1)文本Num1(商品數(shù)量)文本Good2(商品號2)文本 Bill表:Bill主碼字段名稱數(shù)據(jù)類型Billnum(發(fā)票號)自動編號Listnum(

8、訂單號)IntCnum(客戶號)IntPay(支付金額)文本PayMethod(支付方式)文本Goods表:Goodnum主碼字段名稱數(shù)據(jù)類型Goodnum(商品號)文本Goodsname(商品名)文本Gprice(價格)文本Gstore(庫存量)文本四.物理結(jié)構(gòu)設計 1.存取方法的選擇 索引方法 索引方法有很多中,常用的有B+樹索引,基于函數(shù)的索引,反響索引,位映射索引。如果一個屬性經(jīng)常在查詢條件中出現(xiàn),或者經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù)。Hash方法 Hash方法是用Hash函數(shù)來存儲和存取關(guān)系記錄的方法。指定某個關(guān)系上的一個(組)屬性A作為Hash碼,然后對該Hash碼定義一個函

9、數(shù),關(guān)系記錄的存儲地址由Hash(a)來決定,a是記錄在A上的值。如果一個關(guān)系的屬性主要出現(xiàn)在等連接條件中或主要出現(xiàn)在相等比較選擇條件中,而且一個關(guān)系的大小可以預知且變化不大,則此關(guān)系可以選擇Hash存取方法。 聚簇方法為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性上具有相同值的元組集中存放在連續(xù)的物理塊中稱為聚簇。聚簇方法可以大大提高按聚簇碼進行查詢的效率。聚簇方法不打不適用于單個關(guān)系,也適用于經(jīng)常進行連接操作的多個關(guān)系。一個數(shù)據(jù)庫可以建立多個聚簇,一個關(guān)系只能加入一個聚簇。2.數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫存儲結(jié)構(gòu)主要指確定關(guān)系,索引,聚簇,日志,備份等的存儲安排和存儲結(jié)構(gòu),確定系統(tǒng)

10、配置參數(shù)等。不同的DBMS產(chǎn)品提供的磁盤空間管理策略差別很大,在磁盤上存儲關(guān)系,索引和聚簇的方法也不同,很難拿給出一個通用的數(shù)據(jù)庫存儲結(jié)構(gòu)選擇方法。五.程序代碼 1.基本表的定義 Customer表創(chuàng)建:Create table Customer ( Cnum smallint primary key, Cname char(7), Ctel char (10), Caddr char(20), Ccom char(20), Listnum char(10);List表創(chuàng)建: Create table List( Listnum smallint primary key, Cnum small

11、int , Billnum smallint , PayMethod char (5), Goodnum char (10), Num char (2), Foreign key Cnum references Customer(Cnum), Foreign key Billnum references Bill(Billnum), Foreign key Goodnum references Goods(Goodnum)); Bill表創(chuàng)建: Create table Bill ( Billnum smallint primary key, Listnum smallint , Cnum s

12、mallint, Pay char(10), PayMethod char(5), Foreign key Listnum references List(Listnum),Foreign key Cnum references Customer(Cnum); Goods表創(chuàng)建: Create table Goods ( Goodnum char (10) primary key, Goodname chanr(10), Gprice char(10), Gstore char (5): 2.數(shù)據(jù)的插入 由于數(shù)據(jù)插入方法相似,在此,只寫Goods表的插入代碼 Insert into Goods

13、 values(000001,蘋果,1.5元/公斤,100); Insert into Goods values(000002,梨,0.5元/公斤,50); Insert into Goods values(000003,橘子,0.75元/公斤,150); Insert into Goods values(000001,香蕉,0.8元/公斤,100);3.查詢功能查詢Bill表中,支付方式為“支票”的所有發(fā)票數(shù)據(jù)。 Select Billnum,Listnum,Cnum,Pay From Bill Where PayMethod=“支票”; 查詢“武漢1號”購買的物品的名稱,價格SELECT

14、Cname,Goodname,Gpricefrom Customer,Goodswhere Goods.Goodnum = List.Goodnum and List.Cnum = Customer.Cnum and Cname='武漢1號' 查詢“武漢1號”,購買物品的話費 Select Cname,Pay Form Customer,Bill Where Customer.Cnum=List.Cnum and Bill.Billnum=List.List.billnum and Cname=武漢1號;4.數(shù)據(jù)的更新插入客戶“武漢5號” Insert Into Custome

15、r Values(5,武漢5號,000005,武漢五路,武漢公司5,555555); 刪除數(shù)據(jù) 刪除Customer中用戶武漢5號的數(shù)據(jù) Delete From Customer Where Cname=武漢5號;更新數(shù)據(jù) 更新Customer表中武漢2號中電話號碼為000000 Update Customer Set Ctel=000000 Where Cname=武漢2號;六.系統(tǒng)運行,調(diào)試與維護1.基本表創(chuàng)建和數(shù)據(jù)輸入后的結(jié)果如下:Customer表List表Bill表Goods表2.查詢功能結(jié)果 查詢Bill表中,支付方式為“支票”的所有發(fā)票數(shù)據(jù)。 查詢“武漢1號”購買的物品的名稱,價

16、格查詢“武漢1號”,購買物品的話費3.數(shù)據(jù)的更新插入客戶“武漢5號”刪除Customer中用戶武漢5號的數(shù)據(jù)更新Customer表中武漢2號中電話號碼為0000004. 數(shù)據(jù)庫的維護 數(shù)據(jù)庫的轉(zhuǎn)儲和恢復 數(shù)據(jù)庫的安全性,完整性控制 數(shù)據(jù)庫性能的監(jiān)督,分析和改造 數(shù)據(jù)庫的重組織與重構(gòu)造七.小結(jié)本次的數(shù)據(jù)庫課程設計,花費了了將近一周的時間,基本上了本次的課程設計,取得了預期的效果。 本次的課程設計完全是按照數(shù)據(jù)庫的設計的步驟完成的,首先是需求分析,然后是概念結(jié)構(gòu)設計,邏輯結(jié)構(gòu)的設計,數(shù)據(jù)的物理設計,最后是數(shù)據(jù)庫的實施和數(shù)據(jù)庫的運行與維護。按照數(shù)據(jù)庫的設計步驟,是整個設計很有結(jié)構(gòu)性,同時對于在設計過程中不會出現(xiàn)混亂,有利于設計的順利完成。 在課程設計的過程中遇到很多的問題,比如E-R圖的設計,還有有E-R圖向關(guān)系模型的轉(zhuǎn)化,由于基礎(chǔ)不牢固,其中出現(xiàn)了很多的錯誤,導致耽誤了一些時間。同時通過這些錯誤也是我學到了很多的知識,鞏固和加深了自己對課本知識的理解,受益匪淺。同時,這個數(shù)據(jù)庫也有不足之處,由于自己能力有限,無法實現(xiàn)應用程序的設計與實現(xiàn),但是在課程設計的過程中,我對應用程序的設計有一些想法。我相信,通過以后不斷的學習,我會掌握應用程序所需要的知識。 本次的課程設計,參考了很多的資料和參考書,同時也得到了很多同學的

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論