資料庫系統概論第 二章 資料庫系統簡介   上一頁    下一頁

2-4 關聯式資料庫簡介

內容

2-4-1 關聯就是表格

關聯式資料庫模型將所有物件都以一個關聯來表式,每一關聯由若干個屬性來描述它。到底需多少個屬性是依環境的需求而定,並沒一定規則。關聯表如下圖所示,相關名詞如下:

2-4 關聯式資料庫之關聯表(表格)

  • 關聯(Relation)表示某一物件的現象,以 Windows 系列的產都稱為『資料表』(Table)。也給予每一個資料表一個名稱,譬如:學生資料表(Relation name)

  • 屬性(Attribute)每一個關聯是由若干個屬性所組成,我們稱之為『欄位』(Field)。也給予每欄位一個名稱,譬如:學號、姓名、班級代碼、性別等等(Attribute name)

  • 屬性集(Attribute Set)又稱為值組(Tuple)。屬性集表示關聯表內屬性的集合,我們稱之為『紀錄』(Record)。每一筆記錄表示一筆資料,譬如:在學生資料表內,每一筆記錄描述一個學生的資料。

  • 值域(Domain)每一個 Attribute 的資料格式範圍,我們稱為『欄位資料格式』。譬如:學生資料表內的姓名欄位,它的資料格式就被限制於 CHAR(20),由 20 個以內的字元表示。

  • 維度(Degree)表示資料表內有多少筆紀錄。

**** 何謂關聯式資料庫:*****

1. 是利用若干個資料表所構成的資料庫。

2. 資料表之間都必須有關聯(或稱關係連結)。

3. 沒有和其他資料表產生關聯的資料表是多餘的。

2-4-2 資料表的特性

當我們設計資料表之前,應該先了解它得特性如何:

  • (1) 不含重複的紀錄:資料表內每一筆記錄應該都是獨立性,並表示一個物件,不應該有重複的現象。譬如:每一位學生在學生資料表內應該只有一筆記錄,不會有重複或由兩筆記錄描述同一位學生。

  • (2) 紀錄之間並沒有順序性:紀錄在資料表內並沒有前後之分,也就是沒有順序性。

  • (3) 欄位之間沒有順序性:資料表內的欄位也沒有前後之分。

  • (4) 欄位內容是單元值( Atomic Value)表示欄位內所儲存的資料是不可再分割的單元值。譬如:某一位學生的姓名欄位是『張簡單』,它就是一個單元值,無法區分『張』是姓、『簡單』是名,或『張簡』是姓、『單』是名。如果真的需要區分姓與名,那資料表要重新設計,將『姓名』欄位更改為『姓』、『名』兩個欄位。

2-4-3 欄位的限制

為了滿足上述的資料表的特性,對於資料表內欄位的規劃就需要某些限制,針對欄位的特質,有下列定義:

(A)主鍵(Primary Key)

雖然我們要求資料表內紀錄不可以重複,但許多情況下還是會重複,譬如,學生資料表內可能出現相同姓名、相同性別、相同地址、等等情況導致紀錄重複。因此為了不讓資料有重複現象,必須找到一個欄位,它的內容能讓每一筆資料都不相同。譬如,學生資料表內找到『學號』,它是不可能重複的,我們就選定它當『主鍵』。

如果在某一個資料表內找不到一個欄位是不可能重複的,也許我們可以組合 2 3 個欄位組合當主鍵。譬如選課總表,則選用『學號』與『開課代碼』兩個欄位的組合當為主鍵,我們還限制每位學生不可以選修兩次相同的課程。

(B) 候補鍵(Candidate Keys)

         『候補鍵』表示具有被選為主鍵特質的欄位,可能是一個或若干欄位的組合。主鍵表示可以辨識各筆資料之間的不同。譬如學生資料表{學號、姓名、班級代碼、性別、電話、電子郵件、地址}內有資格當主鍵有{學號}{學號、姓名}{學號、班級代碼}… 這些具有主鍵的特質。候補鍵須找出他們之間最小的集合,當然就是 {學號},就取它來當主鍵。如果多了『身分證號』欄位,它也具有主鍵功能也是候補鍵之一。因此主鍵具有下列兩條件:

    • 唯一性

    • 最小性

(C) 替代鍵(Alternative Key)

具有主鍵功能而未選上者稱之,它具有替代主鍵的特質。假設學生資料中 {學號}{身分證號}都具有候補鍵的特質,我們選擇了{學號}當主鍵,則{身分證號}就是替代鍵。

(D)外來鍵(Foreign Key)

該欄位與其它表格的主鍵關聯稱之。外來鍵是表格之間連繫的主要管道,如下圖所示。譬如,學生是屬於哪一個班是利用該學生資料的『班級代碼』對應到班級資料表的『班級代碼』欄位,找到他所屬班級的相關資料(班級名稱、系別代碼與入學年度),接著『系別代碼』也是外來鍵,它對應系別資料表的主鍵,可透過此聯繫找到該班是屬於哪一系所有。

2-5 表格之間的關聯性

翻轉工作室:粘添壽

 

資料庫系統概論(含邏輯設計)

翻轉電子書系列: