數(shù)據(jù)庫課程設(shè)計-快餐店的網(wǎng)上訂餐_第1頁
數(shù)據(jù)庫課程設(shè)計-快餐店的網(wǎng)上訂餐_第2頁
數(shù)據(jù)庫課程設(shè)計-快餐店的網(wǎng)上訂餐_第3頁
數(shù)據(jù)庫課程設(shè)計-快餐店的網(wǎng)上訂餐_第4頁
數(shù)據(jù)庫課程設(shè)計-快餐店的網(wǎng)上訂餐_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

通過一個快餐店的網(wǎng)上訂餐業(yè)務(wù)實例,重點介紹數(shù)據(jù)庫設(shè)計。一、需求分析

通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫系統(tǒng)的如下需求:功能需求(處理要求):即用戶需要系統(tǒng)具有什么處理功能。2.數(shù)據(jù)庫建庫需求(信息要求、安全性與完整性要求):即在數(shù)據(jù)庫中需要存儲那些數(shù)據(jù)、數(shù)據(jù)的可靠性等。

功能需求(選擇不同的開發(fā)工具及語言,略)

根據(jù)需求分析,系統(tǒng)應(yīng)具有如下功能:登錄功能;更改密碼功能;查詢功能;按價格查詢、按菜名查詢、按推薦指數(shù)查詢。統(tǒng)計功能;按時間統(tǒng)計經(jīng)營額、訂餐數(shù)量。訂餐功能;退餐功能;留言板功能;廣告板功能;幫助功能;幻燈片37

數(shù)據(jù)庫建庫需求根據(jù)需求分析,得知在數(shù)據(jù)庫中需要存儲那些數(shù)據(jù)。系統(tǒng)涉及的數(shù)據(jù)主要有:顧客的信息、菜式的信息、價格信息、營業(yè)額信息、廚師信息、送餐員的信息和訂單的信息等等。要求:

a.數(shù)據(jù)庫應(yīng)具有安全性。不同的用戶應(yīng)具有不同的使用權(quán)限,并具有各自的用戶帳號和密碼等。

b.數(shù)據(jù)庫應(yīng)具有完整性。對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行各種操作后,數(shù)據(jù)庫的數(shù)據(jù)應(yīng)保持正確有效性。

二、數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計

將用戶對數(shù)據(jù)的需求抽象為概念模型的過程

1、概念結(jié)構(gòu)設(shè)計的步驟數(shù)據(jù)的流向和對數(shù)據(jù)進(jìn)行的加工。包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程。2、局部E-R圖設(shè)計設(shè)計分E-R圖選擇局部應(yīng)用(在網(wǎng)上訂餐業(yè)務(wù)中選擇一個適當(dāng)?shù)墓δ?,作為分E-R圖的出發(fā)點)①作為“屬性”不能再具有需要描逐一設(shè)計分E-R圖述的性質(zhì)

②“屬性”不能與其他實體具有聯(lián)系

確定局部應(yīng)用中的實體,實體的屬性、碼及實體間的聯(lián)系。地址省市名街道街道名門牌號有的事物有時可定義為實體也可定義為屬性

在網(wǎng)上訂餐業(yè)務(wù)中選擇訂餐功能,作為分E-R圖的出發(fā)點。訂餐功能涉及的數(shù)據(jù)主要有:顧客的信息、菜式的信息、送餐員的信息和訂單的信息等。訂餐功能與分E-R圖

根據(jù)分析得到以下業(yè)務(wù)規(guī)則:一個顧客可以有多個訂單,一個訂單只能由一個顧客來下;一個訂單只能由一個員工來送餐,一個員工可以同時送多份訂單;一個訂單中可以有多種菜式,一種菜式可以被多個訂單訂購。由此可得概念模型,概念模型(E-R圖)中應(yīng)具有顧客、訂單、員工、菜式這四個實體。它們之間的聯(lián)系如下圖。

根據(jù)以上業(yè)務(wù)規(guī)則可以畫出系統(tǒng)分E-R圖幻燈片17

幻燈片18

顧客訂單員工菜式下訂單送餐訂購1NNNN1基數(shù)Inarelationdatabase,thenumberoftuplesinarelation.關(guān)系數(shù)據(jù)庫中,一個關(guān)系的元組數(shù)目。(,N)(,1)(,N)(,1)(,N)(,N)將屬性加入分E-R圖顧客訂單員工菜式下訂單送餐訂購顧客號顧客名地址電話訂單號是否送餐數(shù)量員工號員工名地址電話時間菜式號菜式名價格其它信息1NNNN13、分E-R圖的集成與設(shè)計訂餐功能分E-R圖類似,逐一設(shè)計系統(tǒng)其它功能的分E-R圖,然后將他們集成為系統(tǒng)總E-R圖。分E-R圖的集成的方法

a.多個分E-R圖一次集成

b.逐步集成無論是哪種方式一般分兩步走:1.合并屬性沖突屬性值的類型,取值范圍等

單位解決沖突命名沖突同名異義

異義同名

結(jié)構(gòu)沖突同一對象有的當(dāng)作實體,有的作屬性同一實體

新包含的屬性個數(shù)不同

實體間的聯(lián)系,有多對多聯(lián)系,也有一對多2.消除不必要的冗余,設(shè)計基本E-R圖

P182例6.8三、數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計

將E-R圖轉(zhuǎn)換為DBMS支持的邏輯結(jié)構(gòu)E-R圖向關(guān)系模型的轉(zhuǎn)換

將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換關(guān)系模式(表)。關(guān)系、層次和網(wǎng)狀轉(zhuǎn)換原則:1.一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性、碼就是關(guān)系的屬性、碼。2.一個1∶1的聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式,也可以與任意端對應(yīng)的關(guān)系合并。3.一個1∶n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系,也可與n端對應(yīng)的關(guān)系合并。4.一個m∶n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式5.三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系。

幻燈片18

顧客訂單員工菜式下訂單送餐訂購1NNNN1基數(shù)Inarelationdatabase,thenumberoftuplesinarelation.關(guān)系數(shù)據(jù)庫中,一個關(guān)系的元組數(shù)目。(,N)(,1)(,N)(,1)(,N)(,N)將四個實體轉(zhuǎn)換為四張表:顧客(customers),訂單(orders),菜式(goods)和員工(staffs);將兩個1:n的聯(lián)系合并到orders表中。將一個n:n的聯(lián)系轉(zhuǎn)換為一張表(order-goods)。共五張表:Customers(cid,cname,cadd,Tel);Orders(oid,cid,sid,delivery);staffs(sid,sname,sadd,Tel);Goods(gid,gname,price,inf);order-goods(oid,

gid,

qty,time).幻燈片12將四個實體轉(zhuǎn)換為四張表:顧客(customers),訂單(orders),菜式(goods)和員工(staffs);將三個聯(lián)系轉(zhuǎn)換為一張表(order-goods)。共五張表:Customers(cid,cname,cadd,Tel);Orders(oid,delivery);Goods(gid,gname,price,inf);staffs(sid,sname,sadd,Tel);order-goods(cid,oid,gid,sid,qty,time).幻燈片12也可四、數(shù)據(jù)模型的優(yōu)化

根據(jù)應(yīng)用需要適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu)方法:(以規(guī)范化理論為指導(dǎo))1.確定數(shù)據(jù)依賴;2.

清除冗余的聯(lián)系;3.考察關(guān)系中是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,確定屬于第幾范式;4.確定是否對某些模式進(jìn)行合并或分解;5.對關(guān)系進(jìn)行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率。五、設(shè)計用戶子模式

DBMS提供了視圖(View)概念,利用此功能設(shè)計用戶需要的外模式。(1.)使用符合用戶習(xí)慣的列名。在合并分E-R圖時,使命名統(tǒng)一,使同一關(guān)系和屬性具有唯一的名字,但在視圖中可以定義用戶習(xí)慣的列名。(2.)對不同級別的用戶定義不同的View,以保證系統(tǒng)安全性

如:一般顧客視圖:

Goods(gid,gname,price);

銷售部門視圖:

Goods1(gid,gname,price,inf);(3.)簡化用戶對系統(tǒng)的使用(將復(fù)雜的多表查詢定義為單個視圖)例:教師可用班主任、導(dǎo)師等。Createviewv_sasselect教師

as班主任froms;六、數(shù)據(jù)庫物理設(shè)計分兩步:(1)確定物理結(jié)構(gòu)存取方法

存儲結(jié)構(gòu)(2)對物理結(jié)構(gòu)評價B+樹索引聚簇HASH存放位置(如:放在幾個磁盤上)系統(tǒng)配置指邏輯結(jié)構(gòu)在物理上是如何實現(xiàn)的時間空間效率索引若要查找一個數(shù)據(jù)庫文件中的數(shù)據(jù),必須把它從硬盤上搬入內(nèi)存(計算機(jī)的I/O操作是最耗時的)。如果這個文件很大,而要找的數(shù)據(jù)有很少,這樣的查找是很費時、很不合算得的。這時,如果在要查找的數(shù)據(jù)項(字段)上建立索引,則會大大減少查找時間。例如,若要查找數(shù)據(jù)文件Employee中的Lastname和Firstname

就可以在Lastname字段上建立索引,索引文件中只有l(wèi)astname和指針,它的數(shù)據(jù)結(jié)構(gòu)是B+樹結(jié)構(gòu)(加快索引文件本身的查找)。查找時先在索引文件中找到標(biāo)識,再到磁盤的數(shù)據(jù)文件中存取相應(yīng)的記錄,而不需將整個文件搬入內(nèi)存(將在查詢優(yōu)化中計算耗時),從而減少查詢時間。

鏈接Chaper14-D-Organizingrecords-AnimationCreateclusteredindexindstuonstudent(namedesc)

student表中的記錄將按照name值的降序排列。ascendingdescendingAmyAnnDotEvaGuyJanJimJonKayKimRonRoyTimTomJimDotRonAmyGuyKayTimAnnEvaJanJonKimRoyTom順序存儲:索引文件是B+樹結(jié)構(gòu)。因此,可以加快索引文件本身的查找。為了簡便起見看二叉樹結(jié)構(gòu)():小結(jié):數(shù)據(jù)庫設(shè)計分為6個階段:1.

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論