書名: Access 2010數(shù)據(jù)庫程序設(shè)計作者名: 邵敏敏 董保蓮 張楠本章字?jǐn)?shù): 1443字更新時間: 2019-10-23 13:59:08
1.2.1 關(guān)系模型
關(guān)系模型由一組關(guān)系組成。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)就是一張規(guī)范化的二維表。圖1.2給出了一張Access中的學(xué)生表,這就是一個關(guān)系。圖1.3是一張選課成績表,這也是一個關(guān)系。這兩張表中都有同樣的屬性“學(xué)生編號”,根據(jù)學(xué)生編號將兩個關(guān)系關(guān)聯(lián)起來。

圖1.2 學(xué)生表

圖1.3 選課成績表
1.基本術(shù)語
(1)關(guān)系(Relation)
一個關(guān)系就是一張二維表,每個關(guān)系都有一個相對應(yīng)的關(guān)系名。在Access中,一張數(shù)據(jù)表就是一個關(guān)系,表的名字就是關(guān)系名。
關(guān)系模式:對關(guān)系的描述。
關(guān)系模式的格式為:
關(guān)系名(屬性名1,屬性名2,…,屬性名n)
在Access中,關(guān)系模式表現(xiàn)為表的結(jié)構(gòu):
表名(列名1,列名2,…,列名n)
例如:學(xué)生(學(xué)生編號,姓名,性別,年齡,入校日期,團員否,住址,照片)
選課成績(選課ID,學(xué)生編號,課程編號,成績)
(2)元組(Tuple)
在一個二維表中,一行即為一個元組,也稱為一條記錄。元組在Access表中對應(yīng)一條具體的記錄。例如,學(xué)生表和選課成績表中都包含了多條記錄,每一行即為一條記錄。
(3)屬性(Attribute)
在一個二維表中,一列即為一個屬性,也稱為字段。給每個屬性起一個名稱即屬性名(或稱字段名)。例如,學(xué)生表有8列,對應(yīng)8個屬性(學(xué)生編號,姓名,性別,年齡,入校日期,團員否,住址,照片)。
(4)域(Domain)
域就是屬性的取值范圍。例如,“性別”屬性取值范圍為“男”“女”兩個漢字,“團員否”屬性取值范圍只能從邏輯真或邏輯假兩個值中取值(Yes或No)。
(5)分量(Component)
分量就是元組中的一個屬性值。例如,“121032101”是一個學(xué)生的學(xué)生編號。
(6)碼(也稱關(guān)鍵字或鍵,Key)
表中的某個屬性或?qū)傩越M,其值可以唯一確定一個元組。例如,學(xué)生表中的學(xué)生編號可以唯一確定一個學(xué)生,也就成為學(xué)生關(guān)系的碼。姓名字段中,有可能兩個學(xué)生的姓名是一樣的,因此,姓名不能作為唯一確定一個元組的關(guān)鍵字。假如學(xué)生表中還有一個身份證號屬性,因為每個人的身份證號均不相同,它也能唯一確定一個學(xué)生,因此,它可作為候選鍵。在一張表中,可以有多個候選鍵,選擇其中一個可以作為此表中的主關(guān)鍵字(主鍵)。在Access中,主鍵就起到了唯一標(biāo)識一條記錄的作用。例如,學(xué)生編號即為學(xué)生表中的主鍵,選課ID是選課成績表中的主鍵。
(7)外關(guān)鍵字(Foreign Key)
如果表中的一個關(guān)鍵字不是本表的主關(guān)鍵字,而是另外一個表的主關(guān)鍵字或者候選關(guān)鍵字,則這個屬性就稱為外關(guān)鍵字(外鍵)。
例如,選課成績表中,學(xué)生編號不能唯一確定表中的一條記錄,它不是本表中的主鍵,但它是學(xué)生表中的主鍵,則學(xué)生編號就是選課成績表中的外鍵。外鍵可以把兩張有聯(lián)系的表關(guān)聯(lián)起來。學(xué)生表和選課成績表通過學(xué)生編號這個字段建立了聯(lián)系。
2.關(guān)系的性質(zhì)
(1)關(guān)系的每一個屬性值必須是不可再分的元素。
關(guān)系模型要求關(guān)系必須是規(guī)范化的,即關(guān)系必須滿足一定的規(guī)范條件。其中最基本的條件就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,也就是說,表中不能再含有表。
(2)每一列中的數(shù)值是同類型的數(shù)據(jù),來自同一個域。
(3)不同的列應(yīng)給予不同的屬性名。
在同一個關(guān)系中不能出現(xiàn)相同的屬性名。在Access中,同一張表中不能有相同的字段名。
(4)任意兩個元組不能完全相同。
在Access中,同一張表中不能有兩條完全相同的記錄。
(5)行列的次序可以任意交換。
在一個關(guān)系中,行的次序無關(guān)緊要,列的次序也無關(guān)緊要。任意交換兩行或兩列的位置不影響數(shù)據(jù)實際的意義。例如,在學(xué)生表中,學(xué)生編號為“121032101”的學(xué)生記錄與學(xué)生編號為“121032102”的學(xué)生記錄次序可以交換,學(xué)生編號和姓名兩列次序可以交換,均不會影響學(xué)生的信息。
表1.1給出了關(guān)系術(shù)語和一般表格術(shù)語的對比。
表1.1 術(shù)語對比

- 大規(guī)模數(shù)據(jù)分析和建模:基于Spark與R
- 數(shù)據(jù)可視化:從小白到數(shù)據(jù)工程師的成長之路
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)
- 大數(shù)據(jù)可視化
- Learning Spring Boot
- Ceph源碼分析
- Microsoft Power BI數(shù)據(jù)可視化與數(shù)據(jù)分析
- 辦公應(yīng)用與計算思維案例教程
- Python數(shù)據(jù)分析與數(shù)據(jù)化運營
- Construct 2 Game Development by Example
- 數(shù)字IC設(shè)計入門(微課視頻版)
- Mastering ROS for Robotics Programming(Second Edition)
- 機器學(xué)習(xí):實用案例解析
- 一本書讀懂大數(shù)據(jù)
- 數(shù)據(jù)中心UPS系統(tǒng)運維