關(guān)系數(shù)據(jù)模型
1.2 關(guān)系數(shù)據(jù)庫
自20 世紀(jì)80年代以來,新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系數(shù)據(jù)模型,Access就是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)。本節(jié)將結(jié)合Access來集中介紹關(guān)系數(shù)據(jù)庫系統(tǒng)的基本概念。
1.2.1 關(guān)系數(shù)據(jù)模型
關(guān)系數(shù)據(jù)模型的用戶界面非常簡單,一個關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實體一和實體一間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。
一、關(guān)系術(shù)語
在Access中,一個“表”就是一個關(guān)系。圈1.5給出了一張教師表,圖1.6 給出了一張工資表,這是兩個關(guān)系。這兩個表中都有唯一標(biāo)識一名教師的屬性--編號,根據(jù)教師編號通過一定的關(guān)系運算可以將兩個關(guān)系聯(lián)系起來。
1.關(guān)系
-個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。在Access中,一個關(guān)系存儲為一個表, 具有一個表名。
對關(guān)系的描述稱為關(guān)系模式,一個關(guān)系模式對應(yīng)一個關(guān)系的結(jié)構(gòu)。其格式為:
關(guān)系名(屬性名1,屬性名2,……,屬性名n)
在Access中,表示為表結(jié)構(gòu):
表名(字段名1,字段名2,……,字段名n)
2.元組
在一個二維表(一個具體關(guān)系)中,水平方向的行稱為元組,每一行是一個元組。元組對應(yīng)表中的一條具體記錄。例如,教師表和工資表兩個關(guān)系各包括多條記錄(或多個元組〉。
3.屬性
二維表中垂直方向的列稱為屬性,每一列有一個屬性名,與前面講的實體屬性相同。在Access中表示為字段名。每個字段的數(shù)據(jù)類型、寬度等在創(chuàng)建表的結(jié)抅時規(guī)定。例如,教師表中的編號、姓名、性別等字段名及其相應(yīng)的數(shù)據(jù)類型組成表的結(jié)構(gòu)。
4.域
屬性的取值范圍,即不同元組對同一個屬性的取值所限定的范圍。例如,姓名的取值范圍是文字字符;性別只能從“男”、“女”兩個漢字中取一;邏輯型屬性婚否只能從邏輯真或邏輯假兩個值中取值。
5.關(guān)鍵字
其值能夠唯一地標(biāo)識一個元組的屬性或?qū)傩缘慕M合。在Access中表示為字段或字段的組合,教師表中的編號可以作為標(biāo)識一條記錄的關(guān)鍵字。由于具有某一職稱的可能不止一人,職稱字段不能作為唯一標(biāo)識的關(guān)鍵字。在Access中,主關(guān)鍵字和候選關(guān)鍵字就起到唯一標(biāo)識一個元組的作用。
6.外部關(guān)鍵字
如果表中的一個字段不是本表的主關(guān)鍵字,而是另外一個表的主關(guān)鍵字和候選關(guān)鍵字,這個字段(屬性)就稱為外關(guān)鍵字。
從集合論的觀點來定義關(guān)系,可以將關(guān)系定義為元組的集合。關(guān)系模式是命名的域性集合。元組是屬性值的集合。一個具體的關(guān)系模型是若干各有聯(lián)系的關(guān)系模式的集合。
在Access中,將相互之間存在聯(lián)系的表放在一個數(shù)據(jù)庫中統(tǒng)一管理。例如,在“教學(xué)管理”數(shù)據(jù)庫中可以加人教師表、學(xué)生表、課程表和成績表等。
二、關(guān)系的特點
關(guān)系模型看起來簡單,但是并不能將日常手工管理所用的各種表格,按照一張表一個關(guān)系直接存放到數(shù)據(jù)庫系統(tǒng)中。在關(guān)系模型中對關(guān)系有一定的要求,關(guān)系必須具有以下特點:
1.關(guān)系必須規(guī)范化。所謂規(guī)范化是指關(guān)系模型中的每一個關(guān)系模式都必須滿足一定的要求。最基本的要求是每個屬性必須是不可分割的數(shù)據(jù)單元,即表中不能再包含表。
手工制表中經(jīng)常出現(xiàn)如表1.1所示的復(fù)合表。這種表格不是二維表,不能直接作為關(guān)系來存放,只要去掉表1.1中的應(yīng)發(fā)工資和應(yīng)扣工資兩個表項就可以了。如果有必要,在數(shù)據(jù)輸出時可以另行設(shè)計打印格式,從而滿足用戶的要求。
2.在同一個關(guān)系中不能出現(xiàn)相同的屬性名。在Access中不允許一個表中有相同的字段名。
3.關(guān)系中不允許有完全相同的元組,即冗余。在Access的一個表中不能有兩個完全相同的記錄。
4.在一個關(guān)系中元組的次序無關(guān)緊要。也就是說,任意交換兩行的位置并不影響數(shù)據(jù)的實際含義。日常生活中常見到的“排名不分先后”正反映這種意義。
5.在一個關(guān)系中列的次序無關(guān)緊要。任意交換兩列的位置不影響數(shù)據(jù)的實際含義。例如,工資單里獎金和基本工資哪一項在前面都不重要,重要的是實際數(shù)額。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |