日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一步一步設(shè)計(jì)你的數(shù)據(jù)庫之縱覽高級ER模型

 

引言:《一步一步設(shè)計(jì)你的數(shù)據(jù)庫三》中我們討論了基本實(shí)體關(guān)系模型構(gòu)件及其語義。這些概念非常重要,是今天這一講的基礎(chǔ),在開始本文內(nèi)容之前建議大家可以再回顧一下上一篇的內(nèi)容。今天我們將討論高級實(shí)體關(guān)系模型構(gòu)件,與上一篇一起涵蓋了ER模型構(gòu)圖的大部分內(nèi)容。三元關(guān)系是今天這一講的難點(diǎn),大家可以重點(diǎn)關(guān)注。

泛化(Generalization):超類型與子類型

原始的ER模型已經(jīng)能描述基本的數(shù)據(jù)和關(guān)系,但泛化(Generalization)概念的引入能方便多個(gè)概念數(shù)據(jù)模型的集成。

泛化關(guān)系是指抽取多個(gè)實(shí)體的共同屬性作為超類實(shí)體。泛化層次關(guān)系中的低層次實(shí)體——子類型,對超類實(shí)體中的屬性進(jìn)行繼承與添加,子類型特殊化了超類型。

ER模型中的泛化與面向?qū)ο缶幊讨械睦^承概念相似,但其標(biāo)記法(構(gòu)圖方式)有些差異。

下圖表示員工與經(jīng)理、工程師、技術(shù)員、秘書之間的泛化關(guān)系。Employee為超類實(shí)體,并包含共同屬性,Manager、Engineer、Technician、Secretary都是Employee的子類實(shí)體,它們能包含自身特有的屬性。

圖1  Employee與Manager、Engineer、Technician、Secretary之間的泛化關(guān)系

泛化可以表達(dá)子類型的兩種重要約束,重疊性約束(disjointness)與完備性約束(completeness)。

重疊性約束表示各個(gè)子類型之間是否是排他的。若為排他的則用字母“d”標(biāo)識,否則用“o”標(biāo)識(o -> overlap)。圖1中各子類實(shí)體概念上是排他的。

對員工、客戶實(shí)體進(jìn)行泛化,抽象出超類實(shí)體個(gè)人,得到如下關(guān)系圖。由于部分Employee也可能是Customer,故子類實(shí)體Employee與Customer之間概念是重疊的。

圖2  Individual與Employee、Customer之間的泛化關(guān)系

完備性約束表示所有子類型在當(dāng)前系統(tǒng)中是否能完全覆蓋超類型。若能完全覆蓋則在超類型與圓圈之間用雙線標(biāo)識(可以把雙線理解為等號)。在圖2中子類實(shí)體Employee與Customer能完全覆蓋超類Individual實(shí)體。

聚合(Aggregation)

聚合是與泛化抽象不同的另一種超類型與子類型間的抽象。

泛化表示“is-a”語義,聚合表示“part-of”語義。聚合中子類型與超類型間沒有繼承關(guān)系。

聚合關(guān)系的標(biāo)記法是在圓圈中標(biāo)識字母“A”來表示。

下圖表示軟件產(chǎn)品由程序與用戶手冊組成。

圖3  Software-product與Program、User’s Guide之間的聚合關(guān)系

三元關(guān)系(Ternary Relationships)

當(dāng)通過二元關(guān)系無法準(zhǔn)確描述三個(gè)實(shí)體間的聯(lián)系時(shí),我們需要使用三元關(guān)系。

三元關(guān)系中“連通數(shù)”的確定方法:

  1.  以三元關(guān)系中的一個(gè)實(shí)體作為中心,假設(shè)另兩個(gè)實(shí)體都只有一個(gè)實(shí)例
  2. 若中心實(shí)體只有一個(gè)實(shí)例能與另兩個(gè)實(shí)體的一個(gè)實(shí)例進(jìn)行關(guān)聯(lián),則中心實(shí)體的連通數(shù)為“一”
  3. 若中心實(shí)體有多于一個(gè)實(shí)例能與另兩個(gè)實(shí)體實(shí)例進(jìn)行關(guān)聯(lián),則中心實(shí)體的連通數(shù)為“多”

注:什么時(shí)候需要使用三元關(guān)系的實(shí)例請參看:《一步一步設(shè)計(jì)你的數(shù)據(jù)庫三》中的“關(guān)系的度(Degree of a Relationship)”小節(jié)。關(guān)系的“連通數(shù)”概念請參看:《一步一步設(shè)計(jì)你的數(shù)據(jù)庫三》的“關(guān)系的連通數(shù)(Connectivity of a Relationship)”小節(jié)。

我們來看幾個(gè)三元關(guān)系的實(shí)例,注意各個(gè)圖中關(guān)系的度,并理解其中的語義。

圖4  技術(shù)員在項(xiàng)目中使用手冊的關(guān)系

圖4中蘊(yùn)含的語義為:

  1. 一名技術(shù)員對于每一個(gè)項(xiàng)目使用一本手冊
  2. 每一本手冊對于每一個(gè)項(xiàng)目屬于一名技術(shù)員
  3. 一名技術(shù)員可能在做多個(gè)項(xiàng)目,對于不同的項(xiàng)目維護(hù)不同的手冊

用數(shù)學(xué)中的函數(shù)依賴表示圖4的關(guān)系:

  1. emp-id, project-name -> notebook-no
  2. emp-id, notebook-no -> project-name
  3. project-name, notebook-no -> emp-id

 

圖5  員工被分配不同地點(diǎn)的項(xiàng)目之間的關(guān)系

圖5中蘊(yùn)含的語義為:

  1. 每一個(gè)員工在一個(gè)地點(diǎn)只能被分配一個(gè)項(xiàng)目,但可以在不同地點(diǎn)做不同的項(xiàng)目
  2. 在一個(gè)特定的地點(diǎn),一個(gè)員工只能做一個(gè)項(xiàng)目
  3. 在一個(gè)特定的地點(diǎn),一個(gè)項(xiàng)目可以由多個(gè)員工來做

用數(shù)學(xué)中的函數(shù)依賴表示圖5的關(guān)系:

  1. emp-id, loc-name -> project-name
  2. emp-id, project-name -> loc-name

 

圖6  經(jīng)理管理項(xiàng)目與工程師的關(guān)系

圖6中蘊(yùn)含的語義為:

  1. 一名經(jīng)理手下的一名工程師可能參與多個(gè)項(xiàng)目
  2. 一名經(jīng)理管理的一個(gè)項(xiàng)目可能會有多名工程師
  3. 做某一個(gè)項(xiàng)目的一名工程師只會有一名經(jīng)理

用數(shù)學(xué)中的函數(shù)依賴表示圖6的關(guān)系:

  1. project-name, emp-id -> mgr-id

 

圖7  員工在項(xiàng)目中使用技能的關(guān)系

圖7中蘊(yùn)含的語義為:

  1. 一名員工在一個(gè)項(xiàng)目中可以使用多種技能
  2. 一名員工的一種技能可以在多個(gè)項(xiàng)目中使用
  3. 一種技能在一個(gè)項(xiàng)目中可以被多名員工使用

圖7各實(shí)體之間沒有函數(shù)依賴

上述4種形式的三元關(guān)系,連通數(shù)為“一”的實(shí)體數(shù)量與該三元關(guān)系反映的函數(shù)依賴語義的數(shù)目一致。

三元關(guān)系也能有屬性。屬性值由三個(gè)實(shí)體的鍵的組合唯一確定。

n元關(guān)系(General n-ary Relationships)

三元關(guān)系可以擴(kuò)展到n元關(guān)系,描述n個(gè)實(shí)體之間的關(guān)系。

一般而言,n元關(guān)系中每一個(gè)連通數(shù)為“一”的實(shí)體的鍵都會出現(xiàn)在一個(gè)函數(shù)依賴表達(dá)式的右側(cè)。

對于n元關(guān)系,使用語言來表達(dá)其中的約束相對較為困難。建議使用數(shù)學(xué)形式即函數(shù)依賴(FD)來表現(xiàn)。

n元關(guān)系的函數(shù)依賴條目數(shù)量與關(guān)系圖中“一”端實(shí)體的數(shù)量相同(0~n條)。

n元關(guān)系的函數(shù)依賴表達(dá)式包含n個(gè)元素,n-1個(gè)元素出現(xiàn)在表達(dá)式左側(cè),1個(gè)元素出現(xiàn)在右側(cè)。

圖8  n元關(guān)系圖例

排他性約束(Exclusion Constraint)

一般(默認(rèn))情況下,多種關(guān)系之間是兼容的“或”關(guān)系,即允許任意或所有實(shí)體參與這些關(guān)系。

在某些情況下,多種關(guān)系之間是非兼容性“或”關(guān)系,即參與關(guān)系的實(shí)體只能選擇其中一種關(guān)系,不能同時(shí)選擇多種關(guān)系。

下圖表示的語義為:一項(xiàng)工作任務(wù)要么被歸為外部項(xiàng)目中,要么被歸為內(nèi)部項(xiàng)目中,不可能同時(shí)屬于外部項(xiàng)目和內(nèi)部項(xiàng)目。

圖9  排他性約束關(guān)系圖例

我們對上一篇《一步一步設(shè)計(jì)你的數(shù)據(jù)庫三》與本篇的重點(diǎn)內(nèi)容做一個(gè)總的回顧

  1. 我們討論了ER模型及構(gòu)圖的基本概念
  2. 一個(gè)實(shí)體可以是一個(gè)人,地方,東西或事件
  3. 屬性是實(shí)體的描述信息
  4. 屬性可以是唯一標(biāo)識或非唯一的描述
  5. 關(guān)系描述了實(shí)體之間“一對一”,“一對多”,“多對多”的聯(lián)系
  6. 關(guān)系的度反映了參與關(guān)系的實(shí)體數(shù)量,如二元關(guān)系,三元關(guān)系,n元關(guān)系
  7. 角色(名)定義了一個(gè)實(shí)體在一個(gè)關(guān)系中所具有的功能
  8. 關(guān)系的存在概念表示一個(gè)實(shí)體在關(guān)系中是強(qiáng)制存在還是可選的
  9. 泛化允許把實(shí)體抽象成超類與子類
  10. 三元關(guān)系可使用函數(shù)依賴來定義

網(wǎng)站題目:一步一步設(shè)計(jì)你的數(shù)據(jù)庫之縱覽高級ER模型
文章地址:http://m.5511xx.com/article/cdggoig.html