三級(jí)偏軟數(shù)據(jù)庫_第1頁
三級(jí)偏軟數(shù)據(jù)庫_第2頁
三級(jí)偏軟數(shù)據(jù)庫_第3頁
三級(jí)偏軟數(shù)據(jù)庫_第4頁
三級(jí)偏軟數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第1章章 主講:本章的任務(wù)本章的任務(wù) odbms的基本功能、組成和選擇原則o關(guān)系數(shù)據(jù)庫管理系統(tǒng)的等級(jí)o數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)o數(shù)據(jù)庫系統(tǒng)的組成o關(guān)系模型的基本概念oe-r模型的建立方法oe-r模型轉(zhuǎn)換為關(guān)系模型的方法o關(guān)系的規(guī)范化理論dbms的基本功能的基本功能o數(shù)據(jù)定義功能o數(shù)據(jù)庫操縱功能o數(shù)據(jù)控制功能o數(shù)據(jù)庫的建立和維護(hù)功能dbms的組成的組成p數(shù)據(jù)描述語言p數(shù)據(jù)操縱/查詢語言p數(shù)據(jù)庫管理例行程序 數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)的步驟數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)的步驟選擇選擇dbms的原則的原則o 分析應(yīng)用環(huán)境,確定信息需求分析應(yīng)用環(huán)境,確定信息需求o 收集各種收集各種dbms資料,分析資料,分析dbms的功的

2、功能和性能能和性能o 綜合衡量,初步篩選綜合衡量,初步篩選 o 詳細(xì)考察,確定目標(biāo)詳細(xì)考察,確定目標(biāo) 關(guān)系數(shù)據(jù)庫管理系統(tǒng)的等級(jí)關(guān)系數(shù)據(jù)庫管理系統(tǒng)的等級(jí)n半關(guān)系型半關(guān)系型dbms(最小關(guān)系型最小關(guān)系型)n基本關(guān)系型基本關(guān)系型dbms(關(guān)系完備型關(guān)系完備型)n完全關(guān)系型完全關(guān)系型(全關(guān)系型全關(guān)系型) 數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫管理員()數(shù)據(jù)庫管理系統(tǒng)(dbms)計(jì)算機(jī)基本系統(tǒng) 數(shù)據(jù)庫關(guān)系的直觀概念關(guān)系的直觀概念表表(table)(table),也稱關(guān)系,也稱關(guān)系 列列(field)(field),也稱字段、域或者屬性,也稱字段、域或者屬性

3、 行行(row)(row),也稱元組,也稱元組(tuple)(tuple) 碼碼(key)(key),也稱主鍵,也稱主鍵 關(guān)系模型的三類完整性關(guān)系模型的三類完整性實(shí)體完整性實(shí)體完整性:在任何關(guān)系的任何一個(gè)元組中,主鍵值的任一分量都不允許為空值。 參照完整性參照完整性:若某個(gè)字段或字段組不是a表的主鍵,但它是另一張b表的主鍵,則該字段或字段組稱為a表的外關(guān)鍵字,或稱為外鍵。在關(guān)系模型中,外關(guān)鍵字等于b中某個(gè)元組的主鍵值。例如:“成績表”的“課程id”只能取“課程信息表”的“課程id”已經(jīng)有的值,即001006中的任何一個(gè)值。 用戶定義完整性用戶定義完整性:由用戶針對(duì)某一具體數(shù)據(jù)庫的約束條件,定義

4、完整性。它由應(yīng)用環(huán)境決定,反映了某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。例如,性別只能是“男”或“女”兩種可能,年齡的取值只能限制在o200之間才合乎情理等。選擇運(yùn)算選擇運(yùn)算例如,在p11的表1-1中,選擇姓名為“張三”的學(xué)生基本情況的結(jié)果為:投影運(yùn)算投影運(yùn)算例如,在表1-1中,選擇學(xué)號(hào)、姓名、性別字段的投影運(yùn)算結(jié)果為:聯(lián)接運(yùn)算(實(shí)例聯(lián)接運(yùn)算(實(shí)例1)a b c1 2 3 4 5 6 7 8 9b d 5 7 8 3 a mb c nb d1 2 3 5 71 2 3 8 3 4 5 6 5 7 4 5 6 8 3 7 8 9 5 7 7 8 9 8 3a mb c nb d1 2 3 5

5、 7 4 5 6 5 7m表n表mn表(m和n表的笛卡爾積)聯(lián)結(jié)運(yùn)算(cd)的結(jié)果聯(lián)接運(yùn)算(實(shí)例聯(lián)接運(yùn)算(實(shí)例2) 在表1-2和表1-3中,要選擇滿足以下條件的元組:“課程信息表”的“課程id”等于“成績表”的“課程id”,其聯(lián)合運(yùn)算的結(jié)果如下: e-r模型模型 實(shí)體實(shí)體(entity) :實(shí)體是客觀存在并可相互區(qū)分的事物。例如,在學(xué)校里,一個(gè)學(xué)生、一個(gè)老師、一門課程都是實(shí)體。 字段字段(field)或?qū)傩裕ɑ驅(qū)傩裕╝ttribute):):字段是實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干字段來刻畫。例如,學(xué)生實(shí)體可由學(xué)號(hào)、姓名、年齡、性別、年級(jí)、系、專業(yè)等字段組成。 聯(lián)系聯(lián)系(relations

6、hip):現(xiàn)實(shí)世界的事物之間是有聯(lián)系的,這種聯(lián)系必然要在信息世界中加以反映。學(xué)校中教與學(xué)的聯(lián)系,可以用教師實(shí)體集與學(xué)生實(shí)體集兩者間的聯(lián)系表示:教師教學(xué)生;學(xué)生從教師的講課中獲取知識(shí)。e-r模型模型1:1模型e-r模型模型1:n 模型e-r模型m:n模型 學(xué)生管理系統(tǒng)的e-r模型將e-r模型轉(zhuǎn)換為關(guān)系模式原則1:每個(gè)實(shí)體集轉(zhuǎn)換為一個(gè)關(guān)系。實(shí)體集中每個(gè)實(shí)體集轉(zhuǎn)換為一個(gè)關(guān)系。實(shí)體集中的實(shí)體的屬性成為該關(guān)系的屬性,實(shí)體的標(biāo)識(shí)的實(shí)體的屬性成為該關(guān)系的屬性,實(shí)體的標(biāo)識(shí)符成為該關(guān)系的關(guān)鍵字,每個(gè)實(shí)體由該關(guān)系的符成為該關(guān)系的關(guān)鍵字,每個(gè)實(shí)體由該關(guān)系的一個(gè)元組表示。一個(gè)元組表示。 將e-r模型轉(zhuǎn)換為關(guān)系模式原則

7、原則2:每個(gè)實(shí)體聯(lián)系集轉(zhuǎn)換成一個(gè)關(guān)。該實(shí)體聯(lián)系自每個(gè)實(shí)體聯(lián)系集轉(zhuǎn)換成一個(gè)關(guān)。該實(shí)體聯(lián)系自身所擁有的非關(guān)鍵字屬性,加到該關(guān)系中去,而該關(guān)系身所擁有的非關(guān)鍵字屬性,加到該關(guān)系中去,而該關(guān)系的主鍵由該聯(lián)系集所聯(lián)系的實(shí)體集的關(guān)鍵字組成。的主鍵由該聯(lián)系集所聯(lián)系的實(shí)體集的關(guān)鍵字組成。將e-r模型轉(zhuǎn)換為關(guān)系模式原則原則3:如果一個(gè)實(shí)體聯(lián)系集的兩側(cè)標(biāo)明的維數(shù)是如果一個(gè)實(shí)體聯(lián)系集的兩側(cè)標(biāo)明的維數(shù)是1:n,則在則在1側(cè)的實(shí)體集的關(guān)鍵字應(yīng)加入到另一側(cè)的實(shí)體轉(zhuǎn)換側(cè)的實(shí)體集的關(guān)鍵字應(yīng)加入到另一側(cè)的實(shí)體轉(zhuǎn)換成的關(guān)系中。成的關(guān)系中。 不符合第一范式的實(shí)例學(xué)生選修課程的記錄: 學(xué)號(hào) 課程 1011c+ 程序設(shè)計(jì),軟件工程 1

8、012access數(shù)據(jù)庫,專業(yè)英語不符合第一范式存在的問題1. 更新困難 如果1011同學(xué)想把選修課程改為access數(shù)據(jù)庫,專業(yè)英語,則系統(tǒng)在處理上面臨二義性: (1)修改1011記錄的課程屬性值 (2)把學(xué)號(hào)屬性值擴(kuò)充為1011,10122. 插入困難 無法在此關(guān)系中加入“成績”屬性符合第一范式的實(shí)例將課程屬性的屬性值拆開,形成如下關(guān)系形式: 學(xué)號(hào) 課程1011c+ 程序設(shè)計(jì)1011軟件工程1012access數(shù)據(jù)庫1012專業(yè)英語第一范式的判斷方法 檢查關(guān)系表中每個(gè)屬性值是否都是不可再分解的最小數(shù)據(jù)單位。將非第一范式規(guī)范為第一范式的方法 依次檢查每個(gè)屬性的取值,如果是組合情況,即不是最小

9、單位,就進(jìn)行屬性值的最小化拆分。不符合第二范式的實(shí)例學(xué)生選課關(guān)系表:主鍵為: (學(xué)號(hào),課號(hào))學(xué)號(hào)姓名系系負(fù)責(zé)人課號(hào)成績1011張茗計(jì)算機(jī)劉超2013871011張茗計(jì)算機(jī)劉超2011901012李麗電子王干201280不符合第二范式存在的問題n插入異常:無法插入還未選課的,由于該學(xué)生無課號(hào)屬性,其相應(yīng)的碼值一部分為空,故該學(xué)生的固有信息無法插入;n刪除異常:某學(xué)生只選了一門課,若現(xiàn)在要放棄這門課,由于課號(hào)是主鍵的一部分,整個(gè)記錄必須刪除,該學(xué)生的其他信息也刪除了;n修改復(fù)雜:若張茗從計(jì)算機(jī)系轉(zhuǎn)入動(dòng)畫系,必須修改系負(fù)責(zé)人,該生選修了多門課,要修改多條記錄符合第二范式的實(shí)例主鍵(學(xué)號(hào),課號(hào)) 主鍵

10、(學(xué)號(hào))學(xué)號(hào)課號(hào)成績1011 2013871011 2011901012 201280學(xué)號(hào)姓名系系負(fù)責(zé)人1011張茗計(jì)算機(jī)劉超1012李麗電子王干第二范式的判斷方法n找出一個(gè)關(guān)系(表)中的主鍵n單個(gè)屬性作為主鍵的情況比較簡單,因?yàn)橹麈I的作用就是能唯一標(biāo)識(shí)表中的每一行,關(guān)系中的非主屬性都能完全函數(shù)依賴于主鍵,這樣的關(guān)系是第二范式。n對(duì)組合屬性作為主鍵的那些關(guān)系,通常要判斷每一個(gè)非主鍵屬性是否能完全函數(shù)依賴于主鍵,即完全由主鍵所決定。若每一個(gè)非關(guān)鍵字屬性能被主鍵所決定,則是第二范式,否則,就不是。將非第二范式規(guī)范為第二范式的方法 1. 將能完全依賴主鍵的屬性從關(guān)系中提取出來,同主鍵一起組成一個(gè)關(guān)系

11、 如: sc(學(xué)號(hào),課號(hào),成績)2. 將剩余的屬性同能完全依賴的主鍵的一部分組成一個(gè)關(guān)系 sd(學(xué)號(hào),姓名,系,系負(fù)責(zé)人)不符合第三范式的實(shí)例學(xué)號(hào)姓名系系負(fù)責(zé)人1011張茗計(jì)算機(jī)劉超1014楊剛計(jì)算機(jī)劉超1013王強(qiáng)計(jì)算機(jī)劉超1012李麗電子王干不符合第三范式存在的問題n插入異常:當(dāng)新成立一個(gè)系,該系還沒有招收任何學(xué)生時(shí),系的有關(guān)信息無法插入表中。n刪除異常:若某個(gè)系的全部學(xué)生都已畢業(yè),則在刪除相應(yīng)學(xué)生信息時(shí),系和系負(fù)責(zé)人的信息也刪除了n修改復(fù)雜:系和系負(fù)責(zé)人的信息反復(fù)存儲(chǔ),造成數(shù)據(jù)冗余,引起修改困難符合第三范式的實(shí)例snd(學(xué)號(hào),姓名,系) dm(系,系負(fù)責(zé)人)學(xué)號(hào)姓名系1011張茗計(jì)算機(jī)1

12、014楊剛計(jì)算機(jī)1013王強(qiáng)計(jì)算機(jī)1012李麗電子系系負(fù)責(zé)人計(jì)算機(jī)劉超電子王干第三范式的判斷方法 判斷關(guān)系模式中是否有傳遞依賴的情況,如果有,不是第三范式,否則是。例如:學(xué)號(hào)系, 系學(xué)號(hào),系系負(fù)責(zé)人 則:學(xué)號(hào)系負(fù)責(zé)人將非第三范式規(guī)范為第三范式的方法 繼續(xù)拆分關(guān)系模式,把有傳遞依賴的屬性放在不同的關(guān)系中,消除傳遞依賴。例如:snd(學(xué)號(hào),姓名,系)dm(系,系負(fù)責(zé)人)不符合bcnf范式的實(shí)例stj(學(xué)生,課程,教師)學(xué)生課程教師1011軟件工程趙明1012數(shù)據(jù)庫楊燕不符合bcnf范式存在的問題 刪除異常:當(dāng)刪除信息“學(xué)生1011學(xué)習(xí)軟件工程課程時(shí)”,將同時(shí)失去“趙明老師主講軟件工程課程”的信息。

13、符合bcnf范式的實(shí)例將關(guān)系模式進(jìn)一步拆分:sj(學(xué)生,課程) tj(教師,課程)學(xué)生課程1011軟件工程1012數(shù)據(jù)庫教師課程趙明軟件工程楊燕數(shù)據(jù)庫bcnf范式的判斷方法 關(guān)系模式中是否有某個(gè)屬性函數(shù)依賴另外一個(gè)屬性,而被依賴的屬性不是主鍵。例如:sjt(學(xué)生,課程,教師)中主鍵是(學(xué)生,課程)或(學(xué)生,教師)存在:教師課程,而教師不是主鍵。所以sjt不是bcnf范式。將非bcnf范式規(guī)范為bcnf范式的方法 繼續(xù)拆分關(guān)系,使每個(gè)被依賴的屬性都是主鍵。關(guān)系的規(guī)范化小結(jié)n從第一范式到bcnf范式,規(guī)范化程度逐漸提高。n規(guī)范化程度越高,越能消除插入、刪除、修改的異常。n規(guī)范化程度越高,關(guān)系拆分的越多,會(huì)增加表間關(guān)系的復(fù)雜性,增加查詢信息所花費(fèi)的時(shí)間。n不是規(guī)范化程度越高就越好,實(shí)際應(yīng)用

溫馨提示

  • 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)論