關(guān)系數(shù)據(jù)庫設(shè)計_第1頁
關(guān)系數(shù)據(jù)庫設(shè)計_第2頁
關(guān)系數(shù)據(jù)庫設(shè)計_第3頁
關(guān)系數(shù)據(jù)庫設(shè)計_第4頁
關(guān)系數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、關(guān)系數(shù)據(jù)庫設(shè)計(1) 實體間的聯(lián)系(2) 實體內(nèi)部的聯(lián)系數(shù)據(jù)庫設(shè)計的基本問題在屬性集合上成立的數(shù)據(jù)完整性約束數(shù)據(jù)依賴:通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)相互關(guān)系,函數(shù)依賴和多值依賴是最重要的兩種數(shù)據(jù)依賴。關(guān)系模式存在的問題數(shù)據(jù)冗余更新異常插入異常刪除異常1. 完全函數(shù)依賴有一關(guān)系模式r(u),設(shè)x、y是該關(guān)系模式r(u)的不同屬性子集,若xy成立,且x中不存在任何真子集 ,使得 x不是y的子集也成立,則稱y完全函數(shù)依賴于x,即為完全依賴關(guān)系。2. 部分函數(shù)依賴定義3:在關(guān)系模式中,設(shè)x、y是該關(guān)系模式r(u)的不同屬性子集,若xy成立,如果x中存在任何真子集x,而且有xy也成立,則

2、稱y對x是部分函數(shù)依賴3. 傳遞函數(shù)依賴定義4:設(shè)x、y、z是某關(guān)系模式r(u)的不同的屬性子集,定義中說明yx,是因為如果yx,則有xy,實際形成xz是直接函數(shù)依賴,而非傳遞函數(shù)依賴。例:snoclass, classdept,則有:snodept函數(shù)依賴和鍵的關(guān)系(1) 超鍵、候選鍵(2) 主鍵(即主關(guān)鍵字)(3) 外鍵(即外部表的碼)(4) 主屬性和非主屬性模式分解解決數(shù)據(jù)的冗余和操作異常的方法是模式分解,消除“不良”的函數(shù)依賴,從而獲得良好的關(guān)系模式。具有無損連接特性和保持函數(shù)依賴特性無損連接:是指分解后的關(guān)系經(jīng)過自然連接可以恢復(fù)成原來的關(guān)系保持函數(shù)依賴:是指分解后的關(guān)系不能破壞原來的

3、函數(shù)依賴邏輯蘊含和閉包邏輯蘊含:根據(jù)給定的一組函數(shù)依賴來判斷另外一些函數(shù)依賴是否成立。例如:設(shè)f= ab,bc ,則函數(shù)依賴ac被f邏輯蘊含,記作:f |= ac。即函數(shù)依賴集 f 邏輯蘊含函數(shù)依賴ac??赏ㄟ^選擇一個屬性子集,判斷該屬性子集能函數(shù)決定哪些屬性,這就是利用屬性集閉包的概念。可通過選擇一個屬性子集,判斷該屬性子集能函數(shù)決定哪些屬性,這就是利用屬性集閉包的概念。關(guān)系模式的規(guī)范化數(shù)據(jù)依賴引起的主要問題是操作異常,解決的辦法是進行關(guān)系模式的合理分解,也就是進行關(guān)系模式的規(guī)范化。范式:符合某一種級別的關(guān)系模式的集合。由于對關(guān)系模式的規(guī)范化要求不同,出現(xiàn)了不同的范式,有1nf、2nf、3n

4、f、bcnf、4nf、5nf等。其規(guī)范化的條件按上述次序越來越強,后面范式可以看成前面范式的特例。把低級范式的關(guān)系模式,通過分解轉(zhuǎn)換為高一級范式的關(guān)系模式的集合,這個過程稱為關(guān)系模式的規(guī)范化設(shè)計。第一范式如果一個關(guān)系模式r( u )的所有屬性都是基本的、不可再分的最小數(shù)據(jù)項,稱為第一范式。如果關(guān)系模式僅僅滿足第一范式,可能會存在數(shù)據(jù)冗余和操作異常。 函數(shù)依賴包括: (sno, cno) f grade sno sdept (sno, cno) p sdept sno sloc (sno, cno) p sloc sdept sloc (1) 插入異常 假設(shè)sno2005102,sdeptjsj

5、,slocn的學(xué)生還未選課,無課程號,由于“課程號”這一主屬性未賦值,導(dǎo)致該生的sdept等信息無法錄入slc。(2) 刪除異常 假定某個學(xué)生已選修了一門課程,但因身體不適,需放棄所選修課程。由于課程號是主屬性,要刪除該學(xué)生選修的課程,將導(dǎo)致該生信息的整個元組都要刪除。(3) 修改復(fù)雜 學(xué)生轉(zhuǎn)系時,在修改學(xué)生元組的sdept值的同時,還可能需要修改住處(sloc)。如果這個學(xué)生選修了多門課,則必須無遺漏地修改該生有關(guān)的所有元組中的sdept、sloc信息。(4) 數(shù)據(jù)冗余度大 如果一個學(xué)生選修了10門課程,那么他的sdept和sloc值就要重復(fù)存儲了10次。sc(sno, cno, grade

6、) sl(sno, sdept, sloc)第二范式定義: 如果關(guān)系模式r滿足第一范式,且它的任何一個非主屬性都完全函數(shù)依賴于任一個候選碼,則r滿足第二范式(簡記為r屬于2nf)。(1)所有單屬性關(guān)鍵字關(guān)系都自然是2nf關(guān)系 (2)如果關(guān)鍵字是多屬性組成的復(fù)合關(guān)鍵字,且存在非主屬性對關(guān)鍵字的部分函數(shù)依賴,則這個關(guān)系不是2nf關(guān)系。 函數(shù)依賴:snosdept sdeptsloc snosloc sloc傳遞函數(shù)依賴于sno,即sl中存在非主屬性對碼的傳遞函數(shù)依賴。這種傳遞函數(shù)依賴的存在仍會導(dǎo)致操作異常和數(shù)據(jù)冗余問題第三范式定義:如果關(guān)系模式r滿足 2nf,并且它的任何一個非主屬性都不傳遞函數(shù)依

7、賴于任何候選碼,則稱r是第三范式3nf, 記作r屬于3nf。 如果存在非主屬性對關(guān)鍵字的傳遞依賴,則相應(yīng)的關(guān)系模式就不是3nf關(guān)系。例:sl(sno, sdept, sloc) 2nf sl(sno, sdept, sloc) 3nf2nf關(guān)系分解為多個3nf關(guān)系后,可以解決原2nf關(guān)系中存在的操作異常和數(shù)據(jù)冗余問題。函數(shù)依賴圖:采用投影分解法,把sl分解為如下兩個關(guān)系模式,以消除傳遞函數(shù)依賴: sd(sno, sdept) dl(sdept, sloc)sd的碼為sno, dl的碼為sdept。bc范式(bcnf)設(shè)關(guān)系模式r1nf,如果對于r的每個函數(shù)依賴xy,若y不屬于x,則x必含有候選

8、碼,那么rbcnf。如果r(u,f)3nf,并且不存在主屬性對非主屬性的函數(shù)依賴,則r(u,f)bcnf。由關(guān)系模式的定義可以得到如下結(jié)論,若r屬于bcnf,則r有:1.所有非主屬性對每一個碼都是完全函數(shù)依賴。2.所有的主屬性對每一個不包含它的碼,也是完全函數(shù)依賴。3.沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。由于rbcnf,按定義排除了任何屬性對碼的傳遞依賴與部分依賴,所以r3nf。但是若r3nf,則r未必屬于bcnf。保持3nf,警惕主屬性對非主屬性的函數(shù)依賴帶來的操作異常現(xiàn)象。一個關(guān)系模式如果屬于bcnf,那么在函數(shù)依賴范疇內(nèi)已實現(xiàn)了徹底的分解。多值依賴(多值依賴的缺點是:數(shù)據(jù)冗余太

9、大)設(shè)r(u)是屬性集u上的一個關(guān)系模式。x,y,z是u的子集,并且z=u-x-y。關(guān)系模式r(u)中多值依賴xy成立,當(dāng)且僅當(dāng)對r(u)的任一關(guān)系r,給定的一對(x,z)值有一組y的值,這組值僅僅決定于x值而與z值無關(guān)。平凡的多值依賴與非平凡的多值依賴:若xy,而z為空集,則稱xy為平凡的多值依賴;若z不為空,則稱其為非平凡的多值依賴。第四范式r1nf,如果對于r的每個非平凡多值依賴xy(y x),x都含有候選碼,則r4nf。4nf就是限制關(guān)系模式的屬性值之間不允許有非平凡且非函數(shù)依賴的多值依賴。因為根據(jù)定義,對于每一個非平凡的多值依賴xy,x都含有候選碼,于是就有xy,所以4nf所允許的非平凡的多值依賴實際上是函數(shù)依賴。函數(shù)依賴和多值依賴是兩種最重要的數(shù)據(jù)依賴。如果只考慮函數(shù)依賴,則修正第三范式后的bcnf的關(guān)系模式規(guī)范化程度已經(jīng)是最高的了。數(shù)據(jù)庫設(shè)計過程:指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。軟件設(shè)計1 可行性分析2 需求分析3 總體設(shè)計4 詳細(xì)設(shè)計5 編碼與測試6 綜合測試7 軟件運行維護數(shù)據(jù)庫系統(tǒng)設(shè)計流程l 規(guī)劃l 需求分析階段l 概念設(shè)計階段l 邏輯設(shè)計階段l 物理設(shè)計階段l 數(shù)據(jù)庫實施階段l 數(shù)據(jù)庫運行和維護階段數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,通常包括數(shù)據(jù)項、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論