002. 關(guān)系模型介紹
2.1 關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)
關(guān)系數(shù)據(jù)庫由表的集合構(gòu)成李丰,每個(gè)表有唯一的名字。表中的一行代表了一組值之間的一種聯(lián)系瘾杭。一個(gè)表就是這種聯(lián)系的一個(gè)集合挥下。表這個(gè)概念和數(shù)學(xué)中的關(guān)系概念密切相關(guān)。在數(shù)學(xué)中讽膏,元組(tuple)是一組值的序列或列表檩电。n個(gè)值之間的聯(lián)系可用這些值的一個(gè)n元組(n-tuple)來表示,n元組對應(yīng)表中的一行桅打。
在關(guān)系模型中是嗜,關(guān)系指代表,元組指代行挺尾,屬性指代列鹅搪。用關(guān)系實(shí)例表示一個(gè)關(guān)系的特定實(shí)例,也就是所包含的一組特定的行遭铺。由于關(guān)系是元組集合丽柿,所以元組在關(guān)系中出現(xiàn)的順序是無關(guān)緊要的。對于關(guān)系的每個(gè)屬性魂挂,都存在一個(gè)允許取值的集合甫题,成為該屬性的域(domain)。
2.2 數(shù)據(jù)庫模式
數(shù)據(jù)庫模式是數(shù)據(jù)庫的邏輯設(shè)計(jì)涂召,數(shù)據(jù)庫實(shí)例是給定時(shí)刻數(shù)據(jù)庫中數(shù)據(jù)的一個(gè)快照坠非。
關(guān)系的概念對應(yīng)于程序設(shè)計(jì)語言中變量的概念,關(guān)系模式的概念對應(yīng)于程序設(shè)計(jì)語言中類型定義的概念果正。關(guān)系模式由屬性序列及各屬性對應(yīng)域組成炎码。
2.3 碼
區(qū)分給定關(guān)系中不同元組的方法,用其屬性值表示秋泳。一個(gè)元組的屬性值必須是能夠唯一區(qū)分元組的潦闲。
超碼(superkey)是一個(gè)或多個(gè)屬性的集合,這些屬性的組合可以在一個(gè)關(guān)系中唯一地表示一個(gè)元組迫皱。
形式化地描述歉闰,設(shè)R表示關(guān)系r模式中的屬性集合。若R的一個(gè)子集K是r的一個(gè)超碼,則限制了關(guān)系r中任意兩個(gè)不同元組不會(huì)在K的所有屬性上取值完全相等和敬,即若 t1 ≠ t2凹炸,則t1 * K ≠ t2 * K。
若K是一個(gè)超碼概龄,則K的任意超集也是超碼还惠。任意真子集都不為超碼的超碼為候選碼(candidate key)。
用主碼(primary key)代表用于在一個(gè)關(guān)系中區(qū)分不同元組的候選碼私杜。碼是整個(gè)關(guān)系的一種性質(zhì)蚕键,而非單個(gè)元組的性質(zhì)。關(guān)系中的任意兩個(gè)不同的元組不能同時(shí)在碼屬性上具有相同的值衰粹。碼的制定代表了被建模的事物在現(xiàn)實(shí)世界中的約束锣光。
一個(gè)關(guān)系r1可能在它的屬性中包括另一個(gè)關(guān)系模式r2的主碼。這個(gè)屬性在r1上稱作參照r2的外碼铝耻。關(guān)系r1稱為外碼依賴的參照關(guān)系誊爹,r2叫做外碼的被參照關(guān)系。
2.4 模式圖
一個(gè)含有主碼和外碼依賴的數(shù)據(jù)庫模式可以用模式圖來表示瓢捉。
2.5 關(guān)系查詢語言
查詢語言是用戶用來從數(shù)據(jù)庫中請求獲取信息的語言频丘。查詢語言分為過程化的和非過程化的。過程化語言中泡态,用戶指導(dǎo)系統(tǒng)對數(shù)據(jù)庫執(zhí)行一系列操作以計(jì)算出所需結(jié)果搂漠。在非過程化語言中,用戶只需描述所需語言某弦,而不用給出獲取該信息的具體過程桐汤。
2.6 關(guān)系運(yùn)算
所有的過程化查詢語言都提供了一組用于單個(gè)關(guān)系或一對關(guān)系上的運(yùn)算,這些運(yùn)算的結(jié)果總是單個(gè)的關(guān)系靶壮。
常用關(guān)系運(yùn)算:
- 從單個(gè)關(guān)系中選出滿足一些特定謂詞的特殊元組怔毛,其結(jié)果是原始關(guān)系的一個(gè)子集。
- 從一個(gè)關(guān)系中選出特定的屬性(列)腾降,其結(jié)果是一個(gè)只包含那些被選擇屬性的新關(guān)系拣度。
- 連接運(yùn)算,把分別來自兩個(gè)關(guān)系的元祖對合并成單個(gè)元組螃壤。
- 笛卡兒積運(yùn)算抗果,從兩個(gè)關(guān)系中合并元組,其結(jié)果包含來自兩個(gè)關(guān)系元祖的所有對映穗,無論其屬性值是否匹配窖张。
- 標(biāo)準(zhǔn)的集合運(yùn)算幕随,如:選擇蚁滋、投影、自然連接、笛卡爾積辕录、并