官术网_书友最值得收藏!

1.2.1 關系模型

關系模型由一組關系組成。每個關系的數據結構就是一張規范化的二維表。圖1.2給出了一張Access中的學生表,這就是一個關系。圖1.3是一張選課成績表,這也是一個關系。這兩張表中都有同樣的屬性“學生編號”,根據學生編號將兩個關系關聯起來。

圖1.2 學生表

圖1.3 選課成績表

1.基本術語

(1)關系(Relation)

一個關系就是一張二維表,每個關系都有一個相對應的關系名。在Access中,一張數據表就是一個關系,表的名字就是關系名。

關系模式:對關系的描述。

關系模式的格式為:

關系名(屬性名1,屬性名2,…,屬性名n)

在Access中,關系模式表現為表的結構:

表名(列名1,列名2,…,列名n)

例如:學生(學生編號,姓名,性別,年齡,入校日期,團員否,住址,照片)

選課成績(選課ID,學生編號,課程編號,成績)

(2)元組(Tuple)

在一個二維表中,一行即為一個元組,也稱為一條記錄。元組在Access表中對應一條具體的記錄。例如,學生表和選課成績表中都包含了多條記錄,每一行即為一條記錄。

(3)屬性(Attribute)

在一個二維表中,一列即為一個屬性,也稱為字段。給每個屬性起一個名稱即屬性名(或稱字段名)。例如,學生表有8列,對應8個屬性(學生編號,姓名,性別,年齡,入校日期,團員否,住址,照片)。

(4)域(Domain)

域就是屬性的取值范圍。例如,“性別”屬性取值范圍為“男”“女”兩個漢字,“團員否”屬性取值范圍只能從邏輯真或邏輯假兩個值中取值(Yes或No)。

(5)分量(Component)

分量就是元組中的一個屬性值。例如,“121032101”是一個學生的學生編號。

(6)碼(也稱關鍵字或鍵,Key)

表中的某個屬性或屬性組,其值可以唯一確定一個元組。例如,學生表中的學生編號可以唯一確定一個學生,也就成為學生關系的碼。姓名字段中,有可能兩個學生的姓名是一樣的,因此,姓名不能作為唯一確定一個元組的關鍵字。假如學生表中還有一個身份證號屬性,因為每個人的身份證號均不相同,它也能唯一確定一個學生,因此,它可作為候選鍵。在一張表中,可以有多個候選鍵,選擇其中一個可以作為此表中的主關鍵字(主鍵)。在Access中,主鍵就起到了唯一標識一條記錄的作用。例如,學生編號即為學生表中的主鍵,選課ID是選課成績表中的主鍵。

(7)外關鍵字(Foreign Key)

如果表中的一個關鍵字不是本表的主關鍵字,而是另外一個表的主關鍵字或者候選關鍵字,則這個屬性就稱為外關鍵字(外鍵)。

例如,選課成績表中,學生編號不能唯一確定表中的一條記錄,它不是本表中的主鍵,但它是學生表中的主鍵,則學生編號就是選課成績表中的外鍵。外鍵可以把兩張有聯系的表關聯起來。學生表和選課成績表通過學生編號這個字段建立了聯系。

2.關系的性質

(1)關系的每一個屬性值必須是不可再分的元素。

關系模型要求關系必須是規范化的,即關系必須滿足一定的規范條件。其中最基本的條件就是,關系的每一個分量必須是一個不可分的數據項,也就是說,表中不能再含有表。

(2)每一列中的數值是同類型的數據,來自同一個域。

(3)不同的列應給予不同的屬性名。

在同一個關系中不能出現相同的屬性名。在Access中,同一張表中不能有相同的字段名。

(4)任意兩個元組不能完全相同。

在Access中,同一張表中不能有兩條完全相同的記錄。

(5)行列的次序可以任意交換。

在一個關系中,行的次序無關緊要,列的次序也無關緊要。任意交換兩行或兩列的位置不影響數據實際的意義。例如,在學生表中,學生編號為“121032101”的學生記錄與學生編號為“121032102”的學生記錄次序可以交換,學生編號和姓名兩列次序可以交換,均不會影響學生的信息。

表1.1給出了關系術語和一般表格術語的對比。

表1.1 術語對比

主站蜘蛛池模板: 富源县| 海淀区| 金堂县| 平阴县| 亚东县| 巴青县| 顺平县| 怀化市| 民乐县| 山东| 安远县| 郓城县| 黔西县| 略阳县| 噶尔县| 邵武市| 喜德县| 印江| 长宁区| 嘉兴市| 滕州市| 昆山市| 长白| 日喀则市| 安龙县| 潮州市| 芦溪县| 昌江| 荥阳市| 玉树县| 东乡族自治县| 平阳县| 长阳| 龙门县| 新巴尔虎右旗| 深水埗区| 九龙坡区| 新兴县| 彰化市| 寿宁县| 丹棱县|