三級數(shù)據(jù)庫技術(shù)輔導(dǎo)第二講:2函數(shù)依賴概念

字號:

2 函數(shù)依賴概念
     數(shù)據(jù)依賴是通過一個(gè)關(guān)系中數(shù)據(jù)間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系,是現(xiàn)實(shí)世界屬性間相互關(guān)系的抽象,是數(shù)據(jù)內(nèi)在的性質(zhì)。
     數(shù)據(jù)依賴中重要的是函數(shù)依賴(Functional Dependency)。
    2.1 函數(shù)依賴
     定義:設(shè)有一關(guān)系模式R(A1,A2,…,An),X和Y均為(A1,A2,…,An)的子集,對于R的值r來說,當(dāng)其中任意兩個(gè)元組u,v中對應(yīng)于X的那些屬性分量的值均相等時(shí),則有u,v中對應(yīng)于Y的那些屬性分量的值也相等,稱X函數(shù)決定Y,或Y依賴于X,記為X->Y。
    例:有關(guān)系,學(xué)生(學(xué)號S#,姓名SN,系名SD),子集X(學(xué)號S#),子集Y(系名SD)。
    每個(gè)學(xué)生有的一個(gè)學(xué)號,學(xué)生中可以有重名的姓名,每個(gè)學(xué)生只能屬于一個(gè)系,每個(gè)系有的系代號。有此,可以找出學(xué)生關(guān)系模式中存在下列函數(shù)依賴:
    S#->SN;S#->SD
    例:有關(guān)系,學(xué)校簡況(學(xué)號S#,系名SD,系主任MN,課程CN,成績G)??蓪懗龊瘮?shù)依賴:
    S#->SD;SD->MN;S#,CN->G
    根據(jù)函數(shù)依賴的不同性質(zhì),函數(shù)依賴可分為完全函數(shù)依賴、部分函數(shù)依賴和傳遞函數(shù)依賴。
    2.2 完全函數(shù)依賴
    定義:在R(U)中,如果X->Y,對于X的任意一個(gè)真子集X’,都有X’不能決定Y,則稱Y對X完全函數(shù)依賴,記為XY 。
    例:(S#,CN)G
    2.3 部分函數(shù)依賴
    定義:在R(U)中,如果X-> Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記為XY 。
    例:(S#,CN)G,但(S#,CN)SD
    2.4 傳遞函數(shù)依賴
    定義:在R(U)中,當(dāng)且僅當(dāng)X-> Y,Y->Z時(shí),稱Z對X傳遞函數(shù)依賴。
    例:描述學(xué)生(S#)、班級(SB)、輔導(dǎo)員(TN)的關(guān)系U(S#,SB,TN)。一個(gè)班有若干學(xué)生,一個(gè)學(xué)生只屬于一個(gè)班,一個(gè)班只有一個(gè)輔導(dǎo)員,但一個(gè)輔導(dǎo)員負(fù)責(zé)幾個(gè)班。根據(jù)現(xiàn)實(shí)世界可得到一組函數(shù)依賴:
    F={S#->SB,SB->TN}
    學(xué)生學(xué)號決定了所在班級,所在班級決定了輔導(dǎo)員,所以輔導(dǎo)員TN傳遞函數(shù)依賴于學(xué)生學(xué)號S#。
     數(shù)據(jù)依賴還包括多值依賴和連接依賴兩種形式。
    2.5 關(guān)鍵字(碼)
    定義:設(shè)K為R(U)中的屬性或?qū)傩越M合,若KU,則稱K為R的(侯選)關(guān)鍵字,也稱為碼。若(候選)關(guān)鍵字多于一個(gè),則選定其中的一個(gè)作為主關(guān)鍵字。