|
|
|
|
|
1970 年 E.F.
Codd 提出關聯式資料模式理論,他希望能藉由關聯式資料模式達到三個目標: |
|
|
資料獨立(Data Independence) |
|
便於溝通(Communicability) |
|
集合處理(Set Processing) |
|
|
關聯式資料庫系統的基礎理論基於資料的關聯式模式理論,使得關聯式資料庫系統具有以下三個特性: |
|
|
資料結構(Data Structures) |
|
整合限制條件(Integrity Rules) |
|
資料操作(Data manipulation) |
|
|
|
P.K.
|
|
F.K.
|
|
|
Empno
|
Ename
|
Mgr
|
Sal
|
Deptno
|
7369
|
SMITH
|
7499
|
800
|
20
|
7499
|
FORD
|
7566
|
1800
|
10
|
…
|
…
|
…
|
…
|
…
|
7698
|
BLAKE
|
7839
|
2850
|
40
|
7566
|
JONES
|
7839
|
2975
|
10
|
7839
|
KING
|
-
|
3975
|
40
|
員工基本資料表格
EMP
圖
10 選擇運算的例子
|
|
P.K.
|
|
F.K.
|
|
|
Empno
|
Ename
|
Mgr
|
Sal
|
Deptno
|
7369
|
SMITH
|
7499
|
800
|
20
|
7499
|
FORD
|
7566
|
1800
|
10
|
…
|
…
|
…
|
…
|
…
|
7698
|
BLADE
|
7839
|
2850
|
40
|
7566
|
JONES
|
7839
|
2975
|
10
|
7839
|
KING
|
-
|
3975
|
40
|
員工基本資料表格
EMP
圖
11 投影運算的例子
|
|
|
|
關聯式資料模式有其組成元素,下面以圖 12
為例,介紹這些組成的元素: |
圖 12 關聯表的結構說明 |
每個關聯表都有一個關聯表名稱,用來分辨不同的關聯表。此外,關聯表中會含有一個或一個以上的欄位,稱為屬性(Attribute),每一個屬性都有一個屬性名稱(Attribute
Name),而屬性的名稱是不可以重覆。每一個屬性或欄位的值稱為屬性值(Attribute
value) 或欄位值,而其屬性值的範圍稱為值域(Domain)。關聯表本身是由一筆筆的記錄組成,我們稱之為值組(Tuples)。關聯表中屬性的個數稱為維度(Degree)。關聯表中的屬性可分為鍵值(Key)與非鍵值(Non-key)。以下我們介紹與鍵值有關的名詞:
|
|
超鍵(Superkey)
|
|
|
在一個關聯表 R 中,必定存在屬性
SK,使得關聯表 R 中的任何兩列的值組(Tuples) t1 與 t2 的 SK 的屬性值都不同;即t1[SK] ¹
t2[SK]。此時我們稱滿足上述條件的屬性 SK 為關聯表 R 的超鍵(Superkey)。
|
|
候選鍵(Candidate
Key) |
|
|
假設在關聯表 R 中,SK
為一組超鍵,若不存在另一個屬性 Z ,使得 (SK-Z) 仍為關聯表 R 的超鍵,我們稱 SK
為鍵(Key)或候選鍵。也就是說,如果一個超鍵的子集合不再是超鍵,則這種超鍵我們稱為候選鍵。換句話說,候選鍵是最少屬性集合的超鍵。即候選鍵是能明確地區分表格中各值組(Tuple)間之不同的最少屬性集合。
|
|
主鍵(Primary
Key) |
|
|
一個關聯表 R
中可能有一個以上的候選鍵,此時我們可以由這些候選鍵當中選出最方便、最常被使用、長度最短、定義最清楚的候選鍵來當主鍵。一個關聯表中只有一個主鍵。主鍵具有與候選鍵相同的特性,主鍵值是一個值組(Tuple)
中唯一的識別值(Unique Identifier),它是由一個或數個屬性(Attribute) 所組成。
|
|
替代鍵(Alternate
Key) |
|
|
由數個候選鍵中選出一個當主鍵後,則其他剩下的候選鍵便稱之為替代鍵。
|
|
外來鍵(Foreign
Key) |
|
|
外來鍵是表格中一個欄位,其屬性值與另一個
(或同一個) 表格的主鍵 (或候選鍵) 之屬性的值域相同,而形成表格間的關聯。若一個在 R1 表格中的外來鍵 FK 是由 R1
表格中的屬性所構成,必須合乎以下條件:存在某個表格 R2,其候選鍵為 CK (或主鍵 PK),使得 R1 表格的外來鍵 FK 的屬性值必須等於
R2 表格中的候選鍵 CK (或主鍵 PK) 的某值組;或是 R1 表格的外來鍵 FK 為虛值(Null)。
|
P.K.
|
|
|
F.K.
|
|
P.K.
|
|
|
Empno
|
Ename
|
Sal
|
Deptno
|
|
Deptno
|
Dname
|
Loc
|
7369
|
SMITH
|
800
|
20
|
|
10
|
ACCOUTING
|
NEW
YORK
|
7499
|
ALLEN
|
1800
|
10
|
|
20
|
RESEARCH
|
DALLAS
|
7521
|
WARD
|
1450
|
30
|
|
30
|
SALES
|
CHICAGO
|
7566
|
JONES
|
2975
|
-
|
|
40
|
OPERATIONS
|
BOSTON
|
R1
(員工基本資料表格
EMP)
|
|
R2
(部門基本資料表格
DEPT)
|
圖 13 關聯表中外來鍵的例子 |
除了以上介紹的外,關聯表還具備四個性質: |
|
關聯表的值組是沒有順序的 |
|
關聯表的屬性是沒有順序的 |
|
關聯表中的屬性值是單元值 |
|
關聯表中不含重複的數值 |
|
|
|
|
|
關聯表格內的整合限制(Integrity
Constraints) 可分為兩種: |
|
個體整合限制(Entity Integrity Constraints) |
|
參考整合限制(Referential Integrity Constraints) |
|
|