主題2數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)_第1頁
主題2數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)_第2頁
主題2數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)_第3頁
主題2數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)_第4頁
主題2數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MySQL數(shù)據(jù)庫技術(shù)北京交通大學(xué)海濱學(xué)院計(jì)科系 劉瀟B教219 主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v2.1 數(shù)據(jù)模型v2.2 數(shù)據(jù)庫設(shè)計(jì)流程v2.3 關(guān)系數(shù)據(jù)庫的規(guī)范化主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v2.1 數(shù)據(jù)模型v2.2 數(shù)據(jù)庫設(shè)計(jì)流程v2.3 關(guān)系數(shù)據(jù)庫的規(guī)范化主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)現(xiàn)實(shí)世界現(xiàn)實(shí)世界信息世界信息世界機(jī)器世界機(jī)器世界概念數(shù)據(jù)模型概念數(shù)據(jù)模型邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型物理數(shù)據(jù)模型物理數(shù)據(jù)模型建模建模建模建模建模建模客觀世界客觀世界建模結(jié)果建模結(jié)果轉(zhuǎn)換轉(zhuǎn)換轉(zhuǎn)換轉(zhuǎn)換數(shù)據(jù)模型模型:現(xiàn)實(shí)世界特模型:現(xiàn)實(shí)世界特征的模擬和抽象。征的模擬和抽象。v數(shù)據(jù)模型:是現(xiàn)實(shí)世界數(shù)據(jù)特

2、征的抽象。數(shù)據(jù)模型:是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。v數(shù)據(jù)模型應(yīng)滿足兩方面的要求:一是能比較真實(shí)數(shù)據(jù)模型應(yīng)滿足兩方面的要求:一是能比較真實(shí)地模擬現(xiàn)實(shí)世界,容易被人所理解地模擬現(xiàn)實(shí)世界,容易被人所理解(面向現(xiàn)實(shí)世界、(面向現(xiàn)實(shí)世界、面向用戶)面向用戶);二是便于在計(jì)算機(jī)上實(shí)現(xiàn);二是便于在計(jì)算機(jī)上實(shí)現(xiàn)(面向?qū)崿F(xiàn)目(面向?qū)崿F(xiàn)目的、面向計(jì)算機(jī))的、面向計(jì)算機(jī))。緣由緣由v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)概念模型用于信息世界的建模,是實(shí)現(xiàn)現(xiàn)實(shí)世界到信息世界的第一層抽象,概念模型用于信息世界的建模,是實(shí)現(xiàn)現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶

3、是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言。之間進(jìn)行交流的語言。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u實(shí)體(實(shí)體(EntityEntity):):客觀存在并可相互區(qū)別的事物稱為實(shí)體。如:書客觀存在并可相互區(qū)別的事物稱為實(shí)體。如:書籍和電腦。籍和電腦。u屬性(屬性(AttributeAttribute):):實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。如:書籍可以由書名、作者、頁數(shù)、可以由若干個(gè)屬性來刻畫。如:書籍可以由書名、作者、頁數(shù)、ISB

4、N等屬性來刻畫。等屬性來刻畫。u碼(碼(KeyKey):):唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。如:書籍的唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。如:書籍的ISBN屬性屬性可以作為書籍的碼。可以作為書籍的碼。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u域(域(DomainDomain):):屬性的取值范圍稱為該屬性的域。如:書籍的頁數(shù)屬性的取值范圍稱為該屬性的域。如:書籍的頁數(shù)屬性取值應(yīng)當(dāng)為整數(shù)。屬性取值應(yīng)當(dāng)為整數(shù)。u實(shí)體型(實(shí)體型(Entity TypeEntity Type):):具有相同屬性的實(shí)體必然具有共同的特具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì)。用

5、實(shí)體名與屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體征和性質(zhì)。用實(shí)體名與屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。如:書籍(書名,作者,頁數(shù),型。如:書籍(書名,作者,頁數(shù),ISBN,出版社,出版日期,版,出版社,出版日期,版次)次)u實(shí)體集(實(shí)體集(Entity SetEntity Set):):同型實(shí)體的集合稱為實(shí)體集。如:同型實(shí)體的集合稱為實(shí)體集。如:數(shù)據(jù)數(shù)據(jù)庫導(dǎo)論庫導(dǎo)論課本的集合。課本的集合。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u聯(lián)系(聯(lián)系(RelationshipRelationship):):實(shí)體(型)內(nèi)部和實(shí)體(型)之間存在著

6、實(shí)體(型)內(nèi)部和實(shí)體(型)之間存在著聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系。實(shí)體聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系。實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。兩個(gè)實(shí)體型之間的聯(lián)系之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。兩個(gè)實(shí)體型之間的聯(lián)系通常可以分為以下三類:一對一聯(lián)系(通常可以分為以下三類:一對一聯(lián)系(1:1)、一對多聯(lián)系()、一對多聯(lián)系(1:N)和)和多對多聯(lián)系(多對多聯(lián)系(M:N)。)。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u一對一聯(lián)系(一對一聯(lián)系(1:1)u如果對于實(shí)體集如果對于實(shí)體集A中的每一

7、個(gè)實(shí)體,實(shí)體集中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)(也可中至多有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集與實(shí)體集B具有一具有一對一聯(lián)系,記為對一聯(lián)系,記為1:1。u【舉例舉例】一個(gè)班中只有一個(gè)正班長,一個(gè)班長只在一個(gè)班中任職。一個(gè)班中只有一個(gè)正班長,一個(gè)班長只在一個(gè)班中任職。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u一對多聯(lián)系(一對多聯(lián)系(1:N)u如果對于實(shí)體集如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集中的每一個(gè)實(shí)體,實(shí)體集B中有中有n個(gè)(個(gè)(n0)實(shí)體)實(shí)體與之聯(lián)系,反之對于實(shí)體

8、集與之聯(lián)系,反之對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集中的每一個(gè)實(shí)體,實(shí)體集A中至多只有中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集與實(shí)體集B具有一對多聯(lián)系,記為具有一對多聯(lián)系,記為1:n。u【舉例舉例】一個(gè)班中有若干名學(xué)生,每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)。一個(gè)班中有若干名學(xué)生,每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.信息世界中的基本概念信息世界中的基本概念u多對多聯(lián)系(多對多聯(lián)系(M:N)u如果對于實(shí)體集如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集中的每一個(gè)實(shí)體,實(shí)體集B中有中有n個(gè)(個(gè)(n0)實(shí)體)實(shí)體與之聯(lián)系,反之對于實(shí)體集與之聯(lián)

9、系,反之對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集中的每一個(gè)實(shí)體,實(shí)體集A中也有中也有m個(gè)個(gè)(m0)實(shí)體與之聯(lián)系,則稱實(shí)體集)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集與實(shí)體集B具有一對多聯(lián)系,具有一對多聯(lián)系,記為記為m:n。u【舉例舉例】一門課程同時(shí)有若干名學(xué)生選修,一個(gè)學(xué)生可以同時(shí)選修一門課程同時(shí)有若干名學(xué)生選修,一個(gè)學(xué)生可以同時(shí)選修多門課程。多門課程。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法u常用的概念模型為常用的概念模型為“實(shí)體實(shí)體-聯(lián)系聯(lián)系”模型,也就是模型,也就是E-R方法(方法(E-R圖)。圖)。用菱形表示,菱形框內(nèi)寫明聯(lián)系用菱形表示,菱形框內(nèi)寫明

10、聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(聯(lián)系的類型(1:1,1:n或或m:n)。)。聯(lián)系,一般是動(dòng)詞聯(lián)系,一般是動(dòng)詞用橢圓形表示,并用無向邊將其用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體鏈接起來。與相應(yīng)的實(shí)體鏈接起來。屬性,一般是名詞屬性,一般是名詞用矩形表示,矩形框內(nèi)寫明實(shí)體用矩形表示,矩形框內(nèi)寫明實(shí)體名。名。實(shí)體,一般是名詞實(shí)體,一般是名詞表示方法表示方法含義含義符號(hào)符號(hào)v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法a.兩個(gè)實(shí)體型之間的聯(lián)系兩個(gè)實(shí)體型之間的聯(lián)系實(shí)體

11、型實(shí)體型A實(shí)體型實(shí)體型B聯(lián)系名聯(lián)系名111:1聯(lián)系聯(lián)系實(shí)體型實(shí)體型A實(shí)體型實(shí)體型B聯(lián)系名聯(lián)系名1n1:n聯(lián)系聯(lián)系實(shí)體型實(shí)體型A實(shí)體型實(shí)體型B聯(lián)系名聯(lián)系名mnm:n聯(lián)系聯(lián)系v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法a.兩個(gè)實(shí)體型之間的聯(lián)系兩個(gè)實(shí)體型之間的聯(lián)系班級(jí)班級(jí)班長班長班級(jí)班級(jí)-班長班長111:1聯(lián)系聯(lián)系v實(shí)例實(shí)例一個(gè)班中只有一個(gè)正班長。一個(gè)班中只有一個(gè)正班長。一個(gè)班長只在一個(gè)班中任職。一個(gè)班長只在一個(gè)班中任職。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法a.兩個(gè)實(shí)體型之間的聯(lián)系兩個(gè)實(shí)體型之間的聯(lián)系班級(jí)

12、班級(jí)學(xué)生學(xué)生組成組成1n1:n聯(lián)系聯(lián)系v實(shí)例實(shí)例一個(gè)班中有若干名學(xué)生。一個(gè)班中有若干名學(xué)生。每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)。每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法a.兩個(gè)實(shí)體型之間的聯(lián)系兩個(gè)實(shí)體型之間的聯(lián)系課程課程學(xué)生學(xué)生選修選修mnm:n聯(lián)系聯(lián)系v實(shí)例實(shí)例一門課程同時(shí)有若干名學(xué)生選修。一門課程同時(shí)有若干名學(xué)生選修。一個(gè)學(xué)生可以同時(shí)選修多門課程。一個(gè)學(xué)生可以同時(shí)選修多門課程。v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法b.兩個(gè)以上實(shí)體型之間的聯(lián)系兩個(gè)以上實(shí)體型之間的聯(lián)系v實(shí)例實(shí)

13、例一門課程有若干個(gè)教師講授。一門課程有若干個(gè)教師講授。使用若干本參考書。使用若干本參考書。每一個(gè)教師只講授一門課程。每一個(gè)教師只講授一門課程。每一本參考書只供一門課程使用。每一本參考書只供一門課程使用。課程課程教師教師講授講授mn兩個(gè)以上實(shí)體型之間兩個(gè)以上實(shí)體型之間1:n聯(lián)系聯(lián)系參考書參考書1v概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法b.兩個(gè)以上實(shí)體型之間的聯(lián)系兩個(gè)以上實(shí)體型之間的聯(lián)系v實(shí)例實(shí)例一個(gè)供應(yīng)商可以供給多個(gè)項(xiàng)目多一個(gè)供應(yīng)商可以供給多個(gè)項(xiàng)目多種零件。種零件。每個(gè)項(xiàng)目可以使用多個(gè)供應(yīng)商供每個(gè)項(xiàng)目可以使用多個(gè)供應(yīng)商供應(yīng)的零件。應(yīng)的零件。每種零件

14、可由不同的供應(yīng)商供給。每種零件可由不同的供應(yīng)商供給。供應(yīng)商供應(yīng)商項(xiàng)目項(xiàng)目供應(yīng)供應(yīng)np兩個(gè)以上實(shí)體型之間兩個(gè)以上實(shí)體型之間m:n聯(lián)系聯(lián)系零件零件mv概念模型概念模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.概念模型的表示方法概念模型的表示方法c.單個(gè)實(shí)體型之間的聯(lián)系單個(gè)實(shí)體型之間的聯(lián)系v實(shí)例實(shí)例職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系。導(dǎo)的聯(lián)系。某一職工(干部)某一職工(干部)“領(lǐng)導(dǎo)領(lǐng)導(dǎo)”若干名若干名職工。職工。一個(gè)職工僅被另外一個(gè)職工直接一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo)。領(lǐng)導(dǎo)。職工職工領(lǐng)導(dǎo)領(lǐng)導(dǎo)單個(gè)實(shí)體型內(nèi)部單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系聯(lián)系1n主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)以某物流中心物

15、資管理系統(tǒng)為例,用以某物流中心物資管理系統(tǒng)為例,用E-R圖描述該系統(tǒng)的概念數(shù)據(jù)模型。圖描述該系統(tǒng)的概念數(shù)據(jù)模型。v該系統(tǒng)涉及的實(shí)體如下:該系統(tǒng)涉及的實(shí)體如下:供應(yīng)商:屬性有供應(yīng)商編號(hào)、供應(yīng)商名稱、供應(yīng)商地址、聯(lián)系人、供應(yīng)商:屬性有供應(yīng)商編號(hào)、供應(yīng)商名稱、供應(yīng)商地址、聯(lián)系人、聯(lián)系方式等。聯(lián)系方式等。商品:屬性有商品編號(hào)、商品名稱、批號(hào)、價(jià)格等。商品:屬性有商品編號(hào)、商品名稱、批號(hào)、價(jià)格等。庫房:屬性有倉庫號(hào)、面積、位置、聯(lián)系電話等。庫房:屬性有倉庫號(hào)、面積、位置、聯(lián)系電話等。員工:屬性有工號(hào)、姓名、性別、年齡、職稱等。員工:屬性有工號(hào)、姓名、性別、年齡、職稱等。v這些實(shí)體之間的聯(lián)系有:這些實(shí)體之

16、間的聯(lián)系有:一家供應(yīng)商可以供應(yīng)多種商品,而一種商品可以由多家供應(yīng)商供應(yīng)。一家供應(yīng)商可以供應(yīng)多種商品,而一種商品可以由多家供應(yīng)商供應(yīng)。一個(gè)倉庫可以存放多種商品,而一種商品可以存放在多個(gè)倉庫。一個(gè)倉庫可以存放多種商品,而一種商品可以存放在多個(gè)倉庫。一個(gè)倉庫有多名員工,而一個(gè)員工只能在一個(gè)倉庫工作。一個(gè)倉庫有多名員工,而一個(gè)員工只能在一個(gè)倉庫工作。每個(gè)倉庫由其中的一名員工擔(dān)當(dāng)主任職位,領(lǐng)導(dǎo)其他員工開展工作。每個(gè)倉庫由其中的一名員工擔(dān)當(dāng)主任職位,領(lǐng)導(dǎo)其他員工開展工作。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)供應(yīng)商供應(yīng)商庫房庫房員工員工商品商品供應(yīng)供應(yīng)工作工作存放存放領(lǐng)導(dǎo)領(lǐng)導(dǎo)1n1mmnmnE-R圖實(shí)例v邏輯模型邏輯

17、模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)常見的邏輯數(shù)據(jù)模型包括:層次模型、網(wǎng)狀模型和關(guān)系模型。關(guān)系模型是目常見的邏輯數(shù)據(jù)模型包括:層次模型、網(wǎng)狀模型和關(guān)系模型。關(guān)系模型是目前數(shù)據(jù)庫管理系統(tǒng)中實(shí)現(xiàn)最多的一類數(shù)據(jù)模型,它是用二維表結(jié)構(gòu)來表示實(shí)前數(shù)據(jù)庫管理系統(tǒng)中實(shí)現(xiàn)最多的一類數(shù)據(jù)模型,它是用二維表結(jié)構(gòu)來表示實(shí)體及實(shí)體間聯(lián)系的模型,并以二維表格的形式組織數(shù)據(jù)庫中的數(shù)據(jù)。體及實(shí)體間聯(lián)系的模型,并以二維表格的形式組織數(shù)據(jù)庫中的數(shù)據(jù)。v邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)A.A.層次模型層次模型層次模型表示數(shù)據(jù)間的從屬關(guān)系結(jié)構(gòu),是一種以記錄某一事物的類型為根層次模型表示數(shù)據(jù)間的從屬關(guān)系結(jié)構(gòu),是一種以記錄某一事物

18、的類型為根節(jié)點(diǎn)的有向樹結(jié)構(gòu)。層次模型像一棵倒置的節(jié)點(diǎn)的有向樹結(jié)構(gòu)。層次模型像一棵倒置的“樹樹”,根節(jié)點(diǎn)在上,層次最,根節(jié)點(diǎn)在上,層次最高;子節(jié)點(diǎn)在下,逐層排列。高;子節(jié)點(diǎn)在下,逐層排列。僅僅有一個(gè)無雙親的節(jié)點(diǎn),有一個(gè)無雙親的節(jié)點(diǎn),該節(jié)點(diǎn)稱為根節(jié)點(diǎn)該節(jié)點(diǎn)稱為根節(jié)點(diǎn)。除根節(jié)點(diǎn)以外的任何一個(gè)除根節(jié)點(diǎn)以外的任何一個(gè)子節(jié)點(diǎn),向上子節(jié)點(diǎn),向上僅僅有一個(gè)父有一個(gè)父節(jié)點(diǎn),向下節(jié)點(diǎn),向下可以可以有若干個(gè)有若干個(gè)子節(jié)點(diǎn)。子節(jié)點(diǎn)。層次模型表示的是從根節(jié)點(diǎn)到子節(jié)點(diǎn)的層次模型表示的是從根節(jié)點(diǎn)到子節(jié)點(diǎn)的一個(gè)節(jié)點(diǎn)對多個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)對多個(gè)節(jié)點(diǎn),或從子節(jié),或從子節(jié)點(diǎn)到父節(jié)點(diǎn)的點(diǎn)到父節(jié)點(diǎn)的多個(gè)節(jié)點(diǎn)對一個(gè)節(jié)點(diǎn)多個(gè)節(jié)點(diǎn)對一個(gè)節(jié)點(diǎn)。v

19、邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)B.B.網(wǎng)狀模型網(wǎng)狀模型網(wǎng)狀模型是層次模型的擴(kuò)展,它表示多個(gè)從屬關(guān)系的層次結(jié)構(gòu),呈現(xiàn)一種交網(wǎng)狀模型是層次模型的擴(kuò)展,它表示多個(gè)從屬關(guān)系的層次結(jié)構(gòu),呈現(xiàn)一種交叉關(guān)系的網(wǎng)絡(luò)結(jié)構(gòu)。叉關(guān)系的網(wǎng)絡(luò)結(jié)構(gòu)。有有一個(gè)以上一個(gè)以上的節(jié)點(diǎn)無雙親。的節(jié)點(diǎn)無雙親。至少有一個(gè)至少有一個(gè)節(jié)點(diǎn)有多個(gè)雙親。節(jié)點(diǎn)有多個(gè)雙親。網(wǎng)狀模型可以表示較復(fù)雜的數(shù)據(jù)結(jié)構(gòu),即可以表示數(shù)據(jù)間的縱向關(guān)系與網(wǎng)狀模型可以表示較復(fù)雜的數(shù)據(jù)結(jié)構(gòu),即可以表示數(shù)據(jù)間的縱向關(guān)系與橫向關(guān)系。橫向關(guān)系。v邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)C.C.關(guān)系模型關(guān)系模型在關(guān)系模型中,不同數(shù)據(jù)之間的聯(lián)系用關(guān)系來表示,其實(shí)質(zhì)是

20、將數(shù)據(jù)的邏輯在關(guān)系模型中,不同數(shù)據(jù)之間的聯(lián)系用關(guān)系來表示,其實(shí)質(zhì)是將數(shù)據(jù)的邏輯結(jié)構(gòu)歸為滿足一定條件的結(jié)構(gòu)歸為滿足一定條件的二維表二維表形式,每個(gè)二維表稱為一個(gè)形式,每個(gè)二維表稱為一個(gè)關(guān)系關(guān)系。在二維表。在二維表中,每一行稱為一個(gè)中,每一行稱為一個(gè)記錄記錄每一列稱為一個(gè)每一列稱為一個(gè)字段字段,整個(gè)表表示一個(gè)關(guān)系。,整個(gè)表表示一個(gè)關(guān)系。v邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)C.C.關(guān)系模型關(guān)系模型關(guān)系中每一列具有關(guān)系中每一列具有相同相同的的屬性,每個(gè)屬性被指定一屬性,每個(gè)屬性被指定一個(gè)個(gè)不同不同的屬性名(也叫字的屬性名(也叫字段名),屬性名不能重復(fù),段名),屬性名不能重復(fù),列數(shù)根據(jù)需要而設(shè)置

21、。列數(shù)根據(jù)需要而設(shè)置。關(guān)系中的每一個(gè)數(shù)據(jù)必須關(guān)系中的每一個(gè)數(shù)據(jù)必須是是不可再分不可再分的數(shù)據(jù)項(xiàng),而的數(shù)據(jù)項(xiàng),而不是組合的數(shù)據(jù)項(xiàng)。不是組合的數(shù)據(jù)項(xiàng)。關(guān)系中的關(guān)系中的每一個(gè)記每一個(gè)記錄由一個(gè)錄由一個(gè)個(gè)體事物個(gè)體事物的的諸多屬諸多屬性性構(gòu)成。構(gòu)成。行和列的排列順序是任意的。一個(gè)關(guān)系是一張二維表,行和列的排列順序是任意的。一個(gè)關(guān)系是一張二維表,不允許不允許有相同的有相同的字段名,也字段名,也不允許不允許有相同的記錄存在。有相同的記錄存在。v邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)C.C.關(guān)系模型關(guān)系模型u關(guān)系關(guān)系一個(gè)關(guān)系邏輯上對應(yīng)一張二維表(格)。可以為每個(gè)關(guān)系取一個(gè)名稱進(jìn)行一個(gè)關(guān)系邏輯上對應(yīng)一張二

22、維表(格)。可以為每個(gè)關(guān)系取一個(gè)名稱進(jìn)行標(biāo)識(shí)。與之同義的術(shù)語是標(biāo)識(shí)。與之同義的術(shù)語是“表表”。如:。如:“教師信息表教師信息表”就是一個(gè)關(guān)系。就是一個(gè)關(guān)系。u元組(記錄)元組(記錄)表中的一行即為一個(gè)元組。與之同義的術(shù)語是表中的一行即為一個(gè)元組。與之同義的術(shù)語是“行行”。如:。如:“(0100,劉,劉洋,助教,洋,助教,0212)”就是一個(gè)元組。就是一個(gè)元組。u屬性(字段)屬性(字段)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。與之同義表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。與之同義的術(shù)語是的術(shù)語是“列列”。如:。如:“職稱職稱”就是一個(gè)屬性。就是一個(gè)屬性。v邏輯模

23、型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)C.C.關(guān)系模型關(guān)系模型u主碼(主碼(PRIMARY KEY)表中的一列或一組列,其值能夠唯一區(qū)分表中的每個(gè)行。其中,由一組列表中的一列或一組列,其值能夠唯一區(qū)分表中的每個(gè)行。其中,由一組列構(gòu)成的主碼稱為組合主碼。與之同義的術(shù)語是構(gòu)成的主碼稱為組合主碼。與之同義的術(shù)語是“主鍵主鍵”。如:教師信息表中。如:教師信息表中“工號(hào)工號(hào)”可以唯一區(qū)分一條記錄,可以單獨(dú)作為主碼。可以唯一區(qū)分一條記錄,可以單獨(dú)作為主碼。u外碼(外碼(FOREIGN KEY)表中的一列或一組列,其包含另一張表的主鍵值,主要用于定義兩個(gè)表之表中的一列或一組列,其包含另一張表的主鍵值,主要用于

24、定義兩個(gè)表之間的關(guān)系。與之同義的術(shù)語是間的關(guān)系。與之同義的術(shù)語是“外鍵外鍵”。如:教師信息表中的。如:教師信息表中的“課程號(hào)課程號(hào)”可可作為另一張作為另一張“課程表課程表”的主鍵,用于同教師信息表關(guān)聯(lián),可作為教師信息表的主鍵,用于同教師信息表關(guān)聯(lián),可作為教師信息表的外碼。的外碼。v邏輯模型邏輯模型主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)C.C.關(guān)系模型關(guān)系模型u域域?qū)傩缘娜≈捣秶Ec之同義的術(shù)語是屬性的取值范圍。與之同義的術(shù)語是“數(shù)據(jù)類型數(shù)據(jù)類型”。如:教師信息表中。如:教師信息表中“工號(hào)工號(hào)”屬性值要求由屬性值要求由4位阿拉伯?dāng)?shù)字構(gòu)成,數(shù)據(jù)類型為位阿拉伯?dāng)?shù)字構(gòu)成,數(shù)據(jù)類型為“文本型文本型”。u 分量分量元

25、組中的一個(gè)屬性值。與之同義的術(shù)語是元組中的一個(gè)屬性值。與之同義的術(shù)語是“列值列值”。如:張彩的。如:張彩的“職稱職稱”屬性值為屬性值為“講師講師”。u關(guān)系模式關(guān)系模式對關(guān)系的描述,一般表示為對關(guān)系的描述,一般表示為“關(guān)系名(屬性關(guān)系名(屬性1,屬性,屬性2,屬性,屬性n)”。如:如:“教師(工號(hào),姓名,職稱,課程號(hào))教師(工號(hào),姓名,職稱,課程號(hào))”。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v2.1 數(shù)據(jù)模型v2.2 數(shù)據(jù)庫設(shè)計(jì)流程v2.3 關(guān)系數(shù)據(jù)庫的規(guī)范化主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v按照數(shù)據(jù)庫規(guī)范設(shè)計(jì)的方法,可將數(shù)據(jù)庫設(shè)計(jì)分按照數(shù)據(jù)庫規(guī)范設(shè)計(jì)的方法,可將數(shù)據(jù)庫設(shè)計(jì)分為六個(gè)階段:為六個(gè)階段: 需求分析:需

26、求分析:分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。 概念結(jié)構(gòu)設(shè)計(jì):概念結(jié)構(gòu)設(shè)計(jì):概念結(jié)構(gòu)設(shè)計(jì)就是將需求分析得到的用戶需求抽象概念結(jié)構(gòu)設(shè)計(jì)就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(即概念模型)的過程,它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。為信息結(jié)構(gòu)(即概念模型)的過程,它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。 邏輯結(jié)構(gòu)設(shè)計(jì):邏輯結(jié)構(gòu)設(shè)計(jì):邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段已設(shè)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段已設(shè)計(jì)好的基本計(jì)好的基本E-R圖轉(zhuǎn)換為關(guān)系模型。圖轉(zhuǎn)換為關(guān)系模型。 物理結(jié)構(gòu)設(shè)計(jì):物理結(jié)構(gòu)設(shè)計(jì):數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)是為一個(gè)給定的邏輯數(shù)據(jù)模數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)是為一個(gè)給定的邏輯數(shù)據(jù)模

27、型選定一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。型選定一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。 數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫實(shí)施 數(shù)據(jù)庫運(yùn)行與維護(hù)數(shù)據(jù)庫運(yùn)行與維護(hù)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v邏輯結(jié)構(gòu)設(shè)計(jì)(邏輯結(jié)構(gòu)設(shè)計(jì)(E-R圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)A.A.(1:11:1)聯(lián)系的)聯(lián)系的E-RE-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換1)聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式。)聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式。BJ(班級(jí)編號(hào)班級(jí)編號(hào),院系,專業(yè)名,人數(shù)),院系,專業(yè)名,人數(shù))BZ(學(xué)號(hào)學(xué)號(hào),姓名),姓名)SY(學(xué)號(hào)學(xué)號(hào),班級(jí)編號(hào)),班級(jí)編號(hào))2)聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,聯(lián)系的屬性)聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,聯(lián)系

28、的屬性及一方的主碼加入另一方實(shí)體集對應(yīng)的關(guān)系模及一方的主碼加入另一方實(shí)體集對應(yīng)的關(guān)系模式中。式中。BJ(班級(jí)編號(hào)班級(jí)編號(hào),院系,專業(yè)名,人數(shù)),院系,專業(yè)名,人數(shù))BZ(學(xué)號(hào)學(xué)號(hào),姓名,班級(jí)編號(hào)),姓名,班級(jí)編號(hào))或者或者BJ(班級(jí)編號(hào)班級(jí)編號(hào),院系,專業(yè)名,人數(shù),學(xué)號(hào)),院系,專業(yè)名,人數(shù),學(xué)號(hào))BZ(學(xué)號(hào)學(xué)號(hào),姓名),姓名)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v邏輯結(jié)構(gòu)設(shè)計(jì)(邏輯結(jié)構(gòu)設(shè)計(jì)(E-R圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)B. B. (1:n1:n)聯(lián)系的)聯(lián)系的E-RE-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換1)聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式。)聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式。BJ(班級(jí)編號(hào)班

29、級(jí)編號(hào),院系,專業(yè)名,人數(shù)),院系,專業(yè)名,人數(shù))XS (學(xué)號(hào)學(xué)號(hào),姓名,專業(yè)名,性別,出生日期,姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注)總學(xué)分,備注)SY(學(xué)號(hào)學(xué)號(hào),班級(jí)編號(hào)),班級(jí)編號(hào))2)聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,則將聯(lián)系的)聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,則將聯(lián)系的屬性及屬性及1端的主碼加入端的主碼加入n端實(shí)體集對應(yīng)的關(guān)系模端實(shí)體集對應(yīng)的關(guān)系模式中,主碼仍為式中,主碼仍為n端的主碼。端的主碼。 BJ(班級(jí)編號(hào)班級(jí)編號(hào),院系,專業(yè)名,人數(shù)),院系,專業(yè)名,人數(shù))XS (學(xué)號(hào)學(xué)號(hào),姓名,專業(yè)名,性別,出生日期,姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注,班級(jí)編號(hào)總學(xué)分,備注,班級(jí)編號(hào) )

30、主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v邏輯結(jié)構(gòu)設(shè)計(jì)(邏輯結(jié)構(gòu)設(shè)計(jì)(E-R圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)圖轉(zhuǎn)換為對應(yīng)關(guān)系模式)C. C. (m:nm:n)聯(lián)系的)聯(lián)系的E-RE-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換對于(對于(m n)的聯(lián)系,)的聯(lián)系,單獨(dú)對應(yīng)一個(gè)關(guān)系模式。單獨(dú)對應(yīng)一個(gè)關(guān)系模式。XS (學(xué)號(hào)學(xué)號(hào),姓名,專業(yè)名,性別,出生日期,姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注)總學(xué)分,備注)KC(課程號(hào)課程號(hào),課程名稱,類別,開課學(xué)期,學(xué),課程名稱,類別,開課學(xué)期,學(xué)時(shí),學(xué)分)時(shí),學(xué)分)XS_KC (學(xué)號(hào),課程號(hào)學(xué)號(hào),課程號(hào),成績),成績)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)請根據(jù)描述畫出請根據(jù)描述畫出E-R圖,

31、并將它轉(zhuǎn)換為關(guān)系模型。圖,并將它轉(zhuǎn)換為關(guān)系模型。v設(shè)某單位銷售產(chǎn)品所需管理的信息有:訂單號(hào)、訂購日期、客戶號(hào)、設(shè)某單位銷售產(chǎn)品所需管理的信息有:訂單號(hào)、訂購日期、客戶號(hào)、客戶名、客戶地址、產(chǎn)品號(hào)、產(chǎn)品名、產(chǎn)品價(jià)格、訂購數(shù)量。一個(gè)客客戶名、客戶地址、產(chǎn)品號(hào)、產(chǎn)品名、產(chǎn)品價(jià)格、訂購數(shù)量。一個(gè)客戶可以簽訂多個(gè)訂單,但是一個(gè)訂單只能隸屬于一個(gè)客戶。一個(gè)訂單戶可以簽訂多個(gè)訂單,但是一個(gè)訂單只能隸屬于一個(gè)客戶。一個(gè)訂單可以訂購多種產(chǎn)品,一種產(chǎn)品也可以被多個(gè)訂單訂購。可以訂購多種產(chǎn)品,一種產(chǎn)品也可以被多個(gè)訂單訂購。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v2.1 數(shù)據(jù)模型v2.2 數(shù)據(jù)庫設(shè)計(jì)流程

32、v2.3 關(guān)系數(shù)據(jù)庫的規(guī)范化主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響【示例示例】關(guān)系模式關(guān)系模式 R(Tname, Addr, C#, Cname)一個(gè)教師只有一個(gè)地址(戶口所在地)一個(gè)教師只有一個(gè)地址(戶口所在地)一個(gè)教師可教多門課程一個(gè)教師可教多門課程一門課程只有一個(gè)任課教師一門課程只有一個(gè)任課教師主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響R的一個(gè)實(shí)例:主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響問題1:數(shù)據(jù)冗余v 教師教師T1教了三門課程,他的地址被重復(fù)存儲(chǔ)了教了三門課程,他的地址被重復(fù)

33、存儲(chǔ)了2次。次。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響問題2:更新異常v 如果如果T1的地址變了,則需要改變的地址變了,則需要改變3個(gè)元組的地址;若有一個(gè)未更改,就會(huì)出現(xiàn)數(shù)個(gè)元組的地址;若有一個(gè)未更改,就會(huì)出現(xiàn)數(shù)據(jù)不一致。但據(jù)不一致。但DBMS無法獲知這種不一致。無法獲知這種不一致。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響問題3:插入異常v 如果要增加一名教師,但他還未帶課,則如果要增加一名教師,但他還未帶課,則C#和和Cname為空,但由于為空,但由于C是主碼,是主碼,為空違反了實(shí)體完整性,所以這名教師將無法插入到數(shù)據(jù)

34、庫中。為空違反了實(shí)體完整性,所以這名教師將無法插入到數(shù)據(jù)庫中。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響問題4:刪除異常v 如果教師如果教師T3現(xiàn)在不帶課了,則需將現(xiàn)在不帶課了,則需將T3的元組刪去,但同時(shí)也把他的姓名和地址的元組刪去,但同時(shí)也把他的姓名和地址信息刪掉了。信息刪掉了。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v函數(shù)依賴函數(shù)依賴定義定義1 1 設(shè)設(shè) R(U)R(U)是一個(gè)關(guān)系模式,是一個(gè)關(guān)系模式,U U是是R R 的屬性集合,的屬性集合,X X和和Y Y是是U U的子集。對于的子集。對于R(U)R(U)的任意一個(gè)可能的關(guān)系的任意一個(gè)可能的關(guān)系r,r,如果如果r

35、r中中不存在兩個(gè)元組,它們在不存在兩個(gè)元組,它們在X X上的屬性值相同,而在上的屬性值相同,而在Y Y上的屬上的屬性值不同,則稱性值不同,則稱“X X函數(shù)確定函數(shù)確定Y”Y”或或“Y Y函數(shù)依賴于函數(shù)依賴于X”X”,記,記做做XYXY。v 若若XY,則則X叫做叫做決定因素決定因素。v 若若XY,YX,則記做則記做 X Y。 v 若若Y不函數(shù)依賴于不函數(shù)依賴于X,則記做則記做XY。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v函數(shù)依賴函數(shù)依賴定義定義2 2 在在R(U)R(U)中中, ,如果如果X XY Y,并且對于,并且對于X X的任何一個(gè)真子的任何一個(gè)真子集集XX,都有,都有XXY Y,則稱,則稱Y Y完全函

36、數(shù)依賴于完全函數(shù)依賴于X X,記做,記做X XY Y。否則稱否則稱Y Y部分函數(shù)依賴于部分函數(shù)依賴于X X。記做。記做X XY Y。FP(Sno,Cname)Grade 是是完全完全函數(shù)依賴函數(shù)依賴(Sno,Cname)Sdept 是是部分部分函數(shù)依賴函數(shù)依賴主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v函數(shù)依賴函數(shù)依賴定義定義3 3 在關(guān)系模式在關(guān)系模式R(U)R(U)中,如果中,如果X XY Y,Y Y Z Z,且,且Y Y X,YX,YX,X,則稱則稱Z Z傳遞函數(shù)依賴于傳遞函數(shù)依賴于X X,記作,記作X X Z Z 。傳遞傳遞Sno Sdept, Sdept Mname成立,成立, 所以所以Sno Mn

37、ame傳遞傳遞傳遞函數(shù)定義中傳遞函數(shù)定義中YX是必須的,因?yàn)槿绻潜仨毜模驗(yàn)槿绻鸜X ,則,則X Y,這實(shí)際上,這實(shí)際上是是Z直接依賴于直接依賴于X,而不是傳遞函數(shù)依賴了。,而不是傳遞函數(shù)依賴了。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v范式轉(zhuǎn)換范式轉(zhuǎn)換v 范式:范式:滿足特定要求的模式滿足特定要求的模式 不同級(jí)別的范式要求各不相同 范式可以作為衡量一個(gè)關(guān)系模式好壞的標(biāo)準(zhǔn) 若關(guān)系模式R滿足范式xNF,記RxNFv 規(guī)范化:規(guī)范化:將低一級(jí)范式的關(guān)系模式通過模式分解轉(zhuǎn)換為高將低一級(jí)范式的關(guān)系模式通過模式分解轉(zhuǎn)換為高一級(jí)范式的關(guān)系模式集合的過程一級(jí)范式的關(guān)系模式集合的過程v5NF 4NF BCNF 3NF 2

38、NF 1NF主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v范式轉(zhuǎn)換范式轉(zhuǎn)換A.A.第一范式第一范式如果一個(gè)關(guān)系模式如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng)的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng)(即對于關(guān)系模式(即對于關(guān)系模式R的任一實(shí)例,其元組的每一個(gè)屬性值的任一實(shí)例,其元組的每一個(gè)屬性值都只含有一個(gè)值),則都只含有一個(gè)值),則 R1NF。 1NF是關(guān)系的基本要求,否則不能稱其為關(guān)系數(shù)據(jù)庫。是關(guān)系的基本要求,否則不能稱其為關(guān)系數(shù)據(jù)庫。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)非第一范式轉(zhuǎn)化為第一范式非第一范式轉(zhuǎn)化為第一范式A.通過縱向展開的方式將非第一范式轉(zhuǎn)化為第一范式通過縱向展開的方式將非第一范式轉(zhuǎn)化為第一范式可再分可再

39、分主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)非第一范式轉(zhuǎn)化為第一范式非第一范式轉(zhuǎn)化為第一范式B.通過橫向展開的方式將非第一范式轉(zhuǎn)化為第一范式通過橫向展開的方式將非第一范式轉(zhuǎn)化為第一范式可再分可再分主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題1 插入異常 假設(shè)超市新招聘一個(gè)員工,還沒開始工作,需要存儲(chǔ)該員工的信息,如其所假設(shè)超市新招聘一個(gè)員工,還沒開始工作,需要存儲(chǔ)該員工的信息,如其所在部門的信息等。由于該表的主碼是(員工編號(hào),考核期),而這個(gè)元組沒有考在部門的信息等。由于該表的主碼是(員工編號(hào),考核期),而這個(gè)元組沒有考核期,所以無法插入這條數(shù)據(jù)。然而,這與現(xiàn)狀是沖突的。核期,所以無法插入這條數(shù)據(jù)

40、。然而,這與現(xiàn)狀是沖突的。考核期不能為空考核期不能為空主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題2 刪除異常 如果某員工只工作了一個(gè)考核期,現(xiàn)在需要去國外進(jìn)修如果某員工只工作了一個(gè)考核期,現(xiàn)在需要去國外進(jìn)修3年,為了不占用數(shù)年,為了不占用數(shù)據(jù)庫資源,他原來的考核信息將一并刪除,導(dǎo)入到歷史數(shù)據(jù)庫中,只保留其所在據(jù)庫資源,他原來的考核信息將一并刪除,導(dǎo)入到歷史數(shù)據(jù)庫中,只保留其所在部門信息。但是如果執(zhí)行刪除操作的話,連同他的部門信息都刪除了。部門信息。但是如果執(zhí)行刪除操作的話,連同他的部門信息都刪除了。刪除同時(shí)刪掉元組刪除同時(shí)刪掉元組主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題3 數(shù)據(jù)冗余度大 一個(gè)部門有多個(gè)員工,部門的信

41、息會(huì)多次被存儲(chǔ)。如果一個(gè)部門有幾百個(gè)員一個(gè)部門有多個(gè)員工,部門的信息會(huì)多次被存儲(chǔ)。如果一個(gè)部門有幾百個(gè)員工,則這種冗余就大大增加。工,則這種冗余就大大增加。部門信息被多次存儲(chǔ)部門信息被多次存儲(chǔ)主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題4 修改復(fù)雜 假如部門名稱更改,經(jīng)理調(diào)換,需要修改部門名稱和部門經(jīng)理的值。如果某假如部門名稱更改,經(jīng)理調(diào)換,需要修改部門名稱和部門經(jīng)理的值。如果某個(gè)部門有個(gè)部門有n個(gè)員工,則必須無遺漏地修改個(gè)員工,則必須無遺漏地修改n個(gè)元組中全部的部門名稱和部門經(jīng)理個(gè)元組中全部的部門名稱和部門經(jīng)理信息。信息。部門經(jīng)理若修改,需修改多個(gè)元組部門經(jīng)理若修改,需修改多個(gè)元組主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知

42、識(shí)造成造成1NF異常的原因:異常的原因:非主屬性:部門、部門經(jīng)理,它們部分依賴于主碼非主屬性:部門、部門經(jīng)理,它們部分依賴于主碼(員工編號(hào)、考核期員工編號(hào)、考核期)。)。1NF向向2NF的轉(zhuǎn)化過程:消除的轉(zhuǎn)化過程:消除部分函數(shù)依賴。部分函數(shù)依賴。(1)列出主碼的每一個(gè)非空子集:員工編號(hào);考核期;員工編號(hào)、考核期)列出主碼的每一個(gè)非空子集:員工編號(hào);考核期;員工編號(hào)、考核期(2)對于主碼的每一個(gè)非空子集,將它和完全函數(shù)依賴于它的非主屬性放在)對于主碼的每一個(gè)非空子集,將它和完全函數(shù)依賴于它的非主屬性放在一個(gè)集合里:員工編號(hào)、部門、部門經(jīng)理;考核期;員工編號(hào)、考核期、績效一個(gè)集合里:員工編號(hào)、部門

43、、部門經(jīng)理;考核期;員工編號(hào)、考核期、績效分分(3)每個(gè)集合組成一個(gè)新的子關(guān)系模式:)每個(gè)集合組成一個(gè)新的子關(guān)系模式: 員工歸屬(員工編號(hào),部門,部門經(jīng)理) 考核(員工編號(hào),考核期,績效分)主碼主碼主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)v范式轉(zhuǎn)換范式轉(zhuǎn)換B.B.第二范式第二范式若關(guān)系模式若關(guān)系模式R 1NF,且每一非主屬性完全函數(shù)依賴于,且每一非主屬性完全函數(shù)依賴于R的碼,則的碼,則R 2NF。主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)第一范式轉(zhuǎn)化為第二范式第一范式轉(zhuǎn)化為第二范式主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題1 插入異常 假設(shè)超市新設(shè)一個(gè)部門信息部,還沒招聘員工,由于該表的主碼是員工編號(hào),假設(shè)超市新設(shè)一個(gè)部門信息部,還沒

44、招聘員工,由于該表的主碼是員工編號(hào),而這條元組沒有員工編號(hào),所以無法輸入進(jìn)去這條信息。這與先成立部門后招聘而這條元組沒有員工編號(hào),所以無法輸入進(jìn)去這條信息。這與先成立部門后招聘員工的現(xiàn)狀沖突。員工的現(xiàn)狀沖突。不能為空不能為空主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題2 刪除異常 由于員工由于員工S009離職,需要?jiǎng)h除他的相關(guān)信息,而他所在的服務(wù)部只有離職,需要?jiǎng)h除他的相關(guān)信息,而他所在的服務(wù)部只有S009一個(gè)員工,如果執(zhí)行刪除命令,服務(wù)部的信息也一并刪除了。而實(shí)際上,服務(wù)部一個(gè)員工,如果執(zhí)行刪除命令,服務(wù)部的信息也一并刪除了。而實(shí)際上,服務(wù)部還是存在的。還是存在的。刪除員工信息時(shí)一并刪除刪除員工信息時(shí)一并刪除主題2 數(shù)據(jù)庫設(shè)計(jì)相關(guān)知識(shí)問題3 數(shù)據(jù)冗余度大 一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論