數(shù)據(jù)庫(kù)系統(tǒng)2-2:關(guān)系的定義

字號(hào):

從集合的角度上給出關(guān)系數(shù)據(jù)結(jié)構(gòu)的定義。
    定義1:集合元素的取值范圍稱為域,記為D(Domain)。所以域是值的集合,是一組具有相同數(shù)值類型的值的集合。
    定義2:一組域D1,D2,D3,......Dn 的笛卡兒積為D1XD2XD3X......XDn={(d1,d2,d3,……dn)| di?Di ,i=1,2,3,…n},其中每個(gè)元素(d1,d2,d3,……dn)稱為一個(gè)元組(tuple),有n個(gè)元素,稱為n元組,元組中的每個(gè)值di 叫做分量。
    若Di(i=1,2,3……n)為有限集,其基數(shù)為mi=|Di|,則D1XD2XD3X......XDn的基數(shù)M為
    例如D1、D2、D3 三個(gè)域分別為:
    D1為學(xué)生集合={李明、王平、林麗娟}
    D2為課程集合={英語(yǔ)、高數(shù)、政治}
    D3為成績(jī)集合={合格、不合格}
    則D1、D2、D3的笛卡兒積為:
    D1XD2XD3={(李明,英語(yǔ),合格),(李明,英語(yǔ),不合格),
     ?。ɡ蠲?,高數(shù),合格),(李明,高數(shù),不合格),
     ?。ɡ蠲?,政治,合格),(李明,政治,不合格),
      (王平,英語(yǔ),合格),(王平,英語(yǔ),不合格),
     ?。ㄍ跗?,高數(shù),合格),(王平,高數(shù),不合格),
      (王平,政治,合格),(王平,政治,不合格),
    ?。蛀惥辏⒄Z(yǔ),合格),(林麗娟,英語(yǔ),不合格),
    ?。蛀惥辏邤?shù),合格),(林麗娟,高數(shù),不合格),
    ?。蛀惥辏?,合格),(林麗娟,政治,不合格)}
    D1XD2XD3的基數(shù)為:
    | D1XD2XD3|= |D1|X|D2|X|D3|=3 X 3 X 2=18,一共有十八個(gè)元素,每個(gè)元素為一個(gè)元組,每個(gè)元組分別包含學(xué)生姓名、課程名稱、成績(jī)?nèi)齻€(gè)分量。
    定義3:笛卡兒積的子集叫做關(guān)系。如D1XD2XD3X......XDn的子集叫做域D1,D2,D3,......Dn上的關(guān)系,表示為 R(D1,D2,D3,......Dn)
    其中R為關(guān)系的名稱,n為關(guān)系的目或度。當(dāng)n=1時(shí)稱為一元關(guān)系,當(dāng)n=2時(shí)稱為二元關(guān)系。
    無(wú)限關(guān)系在數(shù)據(jù)庫(kù)系統(tǒng)中是無(wú)意義的,所以關(guān)系必須是笛卡兒積的有限子集。它對(duì)應(yīng)一張二維表,表中的每一行對(duì)應(yīng)一個(gè)元組,表中的每一列對(duì)應(yīng)一個(gè)域,給每一列起一個(gè)名字,稱為屬性名。n目關(guān)系必須有n個(gè)屬性名。由于笛卡積不滿足交換律,根據(jù)定義,(d1,d2,d3,……dn) ≠(d2,d1,d3,……dn)。當(dāng)我們給每列附加一個(gè)屬性名后,關(guān)系元組的有序性便可取消,即(d1,d2,d3,……dn)= (d2,d1,d3,……dn)。
    若關(guān)系中的某個(gè)屬性或?qū)傩越M能地標(biāo)識(shí)一個(gè)元組,稱該屬性或?qū)傩越M為候選碼,若一個(gè)關(guān)系中有多個(gè)候選碼,則選中其中一個(gè)為主碼。主碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性。
    關(guān)系有以下性質(zhì):
    1. 每一列的數(shù)據(jù)來(lái)自同一個(gè)域,具有相同的數(shù)據(jù)類型,為元組的一個(gè)屬性。
    2. 不同列的數(shù)據(jù)可以來(lái)自同一個(gè)域,但這些列的屬性名不能相同。
    3. 列的順序可以任意的,可以隨意交換列的位置。
    4. 表中的任意兩行不能相同,即一個(gè)關(guān)系中不能有相同的元組。
    5. 元組在關(guān)系中的次序是任意的。
    6. 每個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)。