數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)課件_第1頁
數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)課件_第2頁
數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)課件_第3頁
數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)課件_第4頁
數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)-邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ)。為了能夠用某一DBMS實(shí)現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。邏輯結(jié)構(gòu)設(shè)計(jì) 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化轉(zhuǎn)化為一般轉(zhuǎn)化為一般數(shù)據(jù)模型數(shù)據(jù)模型轉(zhuǎn)化為特定轉(zhuǎn)化為特定DBMS所所支持的支持的數(shù)據(jù)模型數(shù)據(jù)模型優(yōu)化模型優(yōu)化模型轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則特定特定DBMS的的特點(diǎn)與限制特點(diǎn)與限制優(yōu)化方法優(yōu)化方法(規(guī)范化理論規(guī)范化理論)概念概念結(jié)構(gòu)結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)物理物理設(shè)計(jì)

2、設(shè)計(jì)基本基本E-R圖圖邏輯模型邏輯模型E-R圖向關(guān)系模型的轉(zhuǎn)換 E-R圖由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成 關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合 將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。E-R圖向關(guān)系模型的轉(zhuǎn)換。 關(guān)系的屬性:實(shí)體型的屬性 關(guān)系的碼:實(shí)體型的碼 例,學(xué)生實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī))性別、宿舍、班級(jí)、檔案材料、教師、課程、教室、教科書都分別轉(zhuǎn)換為一個(gè)關(guān)系模式。E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體

3、碼的組合 例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼:選修(學(xué)號(hào),課程號(hào),成績(jī))E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:n端實(shí)體的碼 與n端對(duì)應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變 可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法E-R圖向關(guān)系模型的轉(zhuǎn)換 例,“組成”聯(lián)系為1:n聯(lián)系。將其轉(zhuǎn)換為關(guān)系模式的兩種方法:組成(學(xué)號(hào),班級(jí)號(hào)):學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年

4、級(jí),班級(jí)號(hào),平均成績(jī))E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換。 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼 與某一端對(duì)應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變E-R圖向關(guān)系模型的轉(zhuǎn)換 例,“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉(zhuǎn)換方法: 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:管理(職工號(hào),班級(jí)號(hào))或管理(職工號(hào),班級(jí)號(hào)) “管理”聯(lián)系與班級(jí)關(guān)系模式合并,則只需在班級(jí)關(guān)系中加入教師關(guān)系的碼,即職工號(hào):班級(jí):(班級(jí)號(hào),學(xué)生人數(shù),職工號(hào)) “管理”聯(lián)系與教師關(guān)系模式合并,

5、則只需在教師關(guān)系中加入班級(jí)關(guān)系的碼,即班級(jí)號(hào):教師:(職工號(hào),姓名,性別,職稱,班級(jí)號(hào),是否為優(yōu)秀班主任)E-R圖向關(guān)系模型的轉(zhuǎn)換 注意: 從理論上講,1:1聯(lián)系可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。 但在一些情況下,與不同的關(guān)系模式合并效率會(huì)大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。 由于連接操作是最費(fèi)時(shí)的操作,所以。 例如,如果經(jīng)常要查詢某個(gè)班級(jí)的班主任姓名,則將管理聯(lián)系與教師關(guān)系合并更好些。E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換。 關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體碼的組合 例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它

6、轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書號(hào)為關(guān)系的組合碼:講授(課程號(hào),職工號(hào),書號(hào))E-R圖向關(guān)系模型的轉(zhuǎn)換 例,如果教師實(shí)體集內(nèi)部存在領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實(shí)體合并,這時(shí)主碼職工號(hào)將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分:教師:職工號(hào),姓名,性別,職稱,E-R圖向關(guān)系模型的轉(zhuǎn)換 目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。 合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換 一般的數(shù)據(jù)模型還需要向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換。 轉(zhuǎn)換的主要依據(jù)是所選用的D

7、BMS的功能及限制。沒有通用規(guī)則。 對(duì)于關(guān)系模型來說,這種轉(zhuǎn)換通常都比較簡(jiǎn)單。數(shù)據(jù)模型的優(yōu)化 數(shù)據(jù)庫邏輯設(shè)計(jì)的結(jié)果不是唯一的。 得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。 關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)。數(shù)據(jù)模型的優(yōu)化優(yōu)化數(shù)據(jù)模型的方法按需求分析階段所得到的語義,分別寫出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,各關(guān)系模式分別。按照需求分析階段得

8、到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,對(duì)它們進(jìn)行。按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率數(shù)據(jù)模型的優(yōu)化 例:課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴:課程號(hào)課程名課程號(hào)學(xué)分課程號(hào)教室號(hào)選修關(guān)系模式中存在下列數(shù)據(jù)依賴:(學(xué)號(hào),課程號(hào))成績(jī)數(shù)據(jù)模型的優(yōu)化 例:學(xué)生關(guān)系模式中存在下列數(shù)據(jù)依賴:學(xué)號(hào)姓名學(xué)號(hào)性別學(xué)號(hào)出生日期學(xué)號(hào)所在系學(xué)號(hào)年級(jí)學(xué)號(hào)班級(jí)號(hào)學(xué)號(hào)平均成績(jī)學(xué)號(hào)檔案號(hào)學(xué)生關(guān)系模式的學(xué)號(hào)與選修關(guān)系模式的學(xué)號(hào)之間存在數(shù)據(jù)依賴:學(xué)生.學(xué)號(hào)選修.學(xué)號(hào)數(shù)據(jù)模型的優(yōu)化 例:經(jīng)過分析可知,課程關(guān)系模式屬于BC范式。數(shù)據(jù)模型的優(yōu)化

9、 例: 并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。聯(lián)系運(yùn)算的代價(jià)是相當(dāng)高的,可以說關(guān)系模型低效的主要原因就是做聯(lián)接運(yùn)算引起的,因此在這種情況下,第二范式甚至第一范式也許是最好的。 非BCNF的關(guān)系模式雖然從理論上分析會(huì)存在不同程度的更新異常,但如果在實(shí)際應(yīng)用中對(duì)此關(guān)系模式只是查詢,并不執(zhí)行更新操作,則就不會(huì)產(chǎn)生實(shí)際影響。 對(duì)于一個(gè)具體應(yīng)用來說,到底規(guī)范化進(jìn)行到什么程度,需要權(quán)衡響應(yīng)時(shí)間和潛在問題兩者的利弊才能決定。一般說來,第三范式就足夠了。數(shù)據(jù)模型的優(yōu)化 例:雖然可以由其他屬性推算出來,但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績(jī),為提高效率,我們?nèi)匀豢杀A粼撊哂鄶?shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步分解。 常用分

10、解方法 水平分解 垂直分解數(shù)據(jù)模型的優(yōu)化 模式分解方法把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。 滿足“80/20原則”的應(yīng)用 80/20原則:一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20% 把經(jīng)常使用的數(shù)據(jù)分解出來,形成一個(gè)子關(guān)系,可以減少查詢的數(shù)據(jù)量。 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù) 如果關(guān)系R上具有n個(gè)事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個(gè)子關(guān)系,使每個(gè)事務(wù)存取的數(shù)據(jù)對(duì)應(yīng)一個(gè)關(guān)系。數(shù)據(jù)模型的優(yōu)化 模式分解方法把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。:經(jīng)常在一起使用的屬性從R中分解出來形成一個(gè)子關(guān)系模式

11、。:可以提高某些事務(wù)的效率:可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。數(shù)據(jù)模型的優(yōu)化 模式分解方法取決于分解后R上的所有事務(wù)的總效率是否得到了提高。 簡(jiǎn)單情況:直觀分解 復(fù)雜情況:模式分解算法 垂直分解必須不損失關(guān)系模式的語義(保持無損連接性和保持函數(shù)依賴)。設(shè)計(jì)用戶子模式 定義數(shù)據(jù)庫模式主要是從系統(tǒng)的時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。 定義用戶外模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:設(shè)計(jì)用戶子模式 合并各分E-R圖曾做了消除命名沖突的工作,以使數(shù)據(jù)庫系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫整體結(jié)構(gòu)時(shí)是非常必要的。但對(duì)于某些局部應(yīng)用,由于改用了不符合用戶習(xí)

12、慣的屬性名,可能會(huì)使他們感到不方便,因此在設(shè)計(jì)用戶的子模式時(shí)可以重新定義某些屬性名,使其與用戶習(xí)慣一致。 當(dāng)然,為了應(yīng)用的規(guī)范化,我們也不應(yīng)該一味地遷就用戶。 例:負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱教師模式的職工號(hào)為教師編號(hào)。因此可以定義視圖,在視圖中職工號(hào)重定義為教師編號(hào)設(shè)計(jì)用戶子模式。 例:教師關(guān)系模式中包括職工號(hào)、姓名、性別、出生日期、婚姻狀況、學(xué)歷、學(xué)位、政治面貌、職稱、職務(wù)、工資、工齡、教學(xué)效果等屬性。只能查詢教師的職工號(hào)、姓名、性別、職稱數(shù)據(jù);只能查詢教師的職工號(hào)、姓名、性別、學(xué)歷、學(xué)位、職稱、教學(xué)效果數(shù)據(jù);則可以查詢教師的全部數(shù)據(jù)。設(shè)計(jì)用戶子模式 例: 定義兩個(gè)外模式:教師_學(xué)籍管理(職

13、工號(hào),姓名,性別,職稱)教師_課程管理(工號(hào),姓名,性別,學(xué)歷,學(xué)位,職稱,教學(xué)效果) 授權(quán)學(xué)籍管理應(yīng)用只能訪問教師_學(xué)籍管理視圖 授權(quán)課程管理應(yīng)用只能訪問教師_課程管理視圖 授權(quán)教師管理應(yīng)用能訪問教師表 這樣就可以防止用戶非法訪問本來不允許他們查詢的數(shù)據(jù),保證了系統(tǒng)的安全性。設(shè)計(jì)用戶子模式 如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。小結(jié) 邏輯結(jié)構(gòu)設(shè)計(jì)任務(wù):將概念結(jié)構(gòu)轉(zhuǎn)化為具體的數(shù)據(jù)模型 邏輯結(jié)構(gòu)設(shè)計(jì)的步驟 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化 設(shè)計(jì)用戶子模式小結(jié) E-R圖向關(guān)系模型的轉(zhuǎn)換內(nèi)容將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。 E-R圖向關(guān)系模型的轉(zhuǎn)換原則 一個(gè)轉(zhuǎn)換為一個(gè)關(guān)系模式。 一個(gè)轉(zhuǎn)換為一個(gè)關(guān)系模式。 一個(gè)可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。 一個(gè)可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。 5.三個(gè)或三個(gè)以上實(shí)體間的轉(zhuǎn)換為一個(gè)關(guān)系模式。 同一實(shí)體集的實(shí)體間的聯(lián)系,即,也

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論