自考計(jì)算機(jī)應(yīng)用基礎(chǔ)重點(diǎn):數(shù)據(jù)庫(3)
關(guān)系模型與關(guān)系數(shù)據(jù)庫
1.關(guān)系模型
關(guān)系模型是一種新的數(shù)據(jù)模型。它建立在集合論和謂詞演算公式的基礎(chǔ)上。它提供的邏輯結(jié)構(gòu)簡單,數(shù)據(jù)獨(dú)立性強(qiáng),存取具有對稱性、操縱靈活。
在數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu)如果依照關(guān)系模型定義,就是關(guān)系數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫系統(tǒng)由許多不同的關(guān)系構(gòu)成,其中每個關(guān)系就是一個實(shí)體,可以用一張二維表表示。
關(guān)系二維表中的術(shù)語解釋如下:
關(guān)系(Relation):一張二維表對應(yīng)一個關(guān)系。
屬性(Attribute):表中每一列叫做一個屬性,屬性有名和值的區(qū)別。
元組(Topl):由屬性值組成的每一行叫做一個元組。
框架(rramework):由屬性名組成的表頭稱為框架(關(guān)系型)。
分量:表中的每一個屬性值。
域(Domain):每個屬性的取值范圍。
候選碼(Candidate Key):可以惟一確定的一個元組的屬性或?qū)傩越M(可簡稱碼)。
主碼(Primary Key):一個關(guān)系中往往會有多個候選碼,可以指定一個為主碼。
主屬性(Primary Attribute):可以作為候選碼的屬性也叫主屬性。
非主屬性(Non-key Attribute):不能作為候選碼的屬性叫做非主屬性。
關(guān)系模式:對關(guān)系的描述稱為關(guān)系模式,常常記做:
關(guān)系名(屬性1,屬性2,屬性3,……,屬性n)
在關(guān)系模型中,不但實(shí)體用關(guān)系表示,而且實(shí)體之間的聯(lián)系也用關(guān)系來表示。
關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求每個關(guān)系必須滿足一定的條件,其中最基本的一條就是,關(guān)系中每個分量必須是不可再分的基本項(xiàng)。
作為一個關(guān)系模型的基本約束條件,起碼必須具備以下幾條:
表格中每一數(shù)據(jù)項(xiàng)不可再分,是基本項(xiàng)。
每一列數(shù)據(jù)有相同的類型,叫做屬性。各列都有惟一的屬性名和不同的屬性值,列數(shù)可根據(jù)需要而設(shè)定。
每列的順序是任意的。
每一行數(shù)據(jù)是一個實(shí)體諸多屬性值的集合,叫做元組。一個表格中不允許有完全相同的行出現(xiàn)。
各行順序可以是任意的。
2.關(guān)系操作
關(guān)系數(shù)據(jù)模型的理論基礎(chǔ)是集合論,每一個關(guān)系就是一個笛卡爾積的子集。
(1) 傳統(tǒng)集合運(yùn)算。傳統(tǒng)集合運(yùn)算有并、交、差三種。
。2) 專門的關(guān)系運(yùn)算。專門的關(guān)系運(yùn)算主要有選擇(篩選)、投影和連接三種。選擇運(yùn)算是對關(guān)系表中元組(行) 的操作,操作結(jié)果是找出滿足條件的元組。其中,
投影運(yùn)算是對關(guān)系表中屬性(列) 的操作,操作結(jié)果是找出關(guān)系中指定屬性全部值的子集。
選擇運(yùn)算和投影運(yùn)算可以同時用一條命令來實(shí)現(xiàn)。
連接運(yùn)算是對兩個關(guān)系的運(yùn)算,操作結(jié)果是找出滿足連接條件的所有元組,并且拼接成一個新的關(guān)系。完善的關(guān)系數(shù)據(jù)庫管理系統(tǒng)總是以數(shù)據(jù)操縱語言及結(jié)構(gòu)化查詢語言(SQL) ,來實(shí)現(xiàn)各種關(guān)系運(yùn)算。
責(zé)編:Lisa