Access2007數據庫設計的基本內容就是明確應該建立哪些表以及如何和建立表與表之間的關系。創建Access2007表之前,應該仔細評估需求並規劃數據庫,以確定所需的表。
一、Access2007表與主題
在Access2007中,表是具有相同主題的數據集合。依據每個不同的主題創建不同的表,存放不同的數據。例如學生表就是關於學生信息的主題,它包括學號、姓名、性別、入學日期等信息。
對於本文中主要介紹的示例數據庫——“教學管理”數據庫而言,所涉及的主題和所對應的表,如表1所示。
表1 教學管理數據庫中的主題和表
二、Access2007表的結構
Access2007的表又稱為二維表,它有若干行和列組成。下面介紹一下表的有關概念。
1、字段:表中的列稱為字段,它描述數據的某類特性。例如學生表中的學號、姓名、性別等,分別描述了學生的不同特性。
2、紀錄:表的行稱為紀錄,它由若干個字段組成。一個課程表的紀錄由課程號、課程名稱、課程性質和考試類別等字段組成,紀錄描述了某一具體對象(課程)的全部信息。
3、值:紀錄和字段的相交處是值——存儲的數據,它一般有一定的取值范圍。
4、主鍵:其值用來唯一標識表中的每一個紀錄的一個或多個字段,又成為主關鍵字。例如學生表中學號是主鍵。
5、外鍵:引用其他表中的主鍵的字段,外鍵用於表明表之間的關系。
三、表之間的關系
表必須相互協調,以便檢索相關信息。這種協調是通過創建表之間的關系來實現的。關系數據庫的工作方式是:使每個表的鍵字段(主鍵或外鍵)中的數據與其他表中的數據匹配。大多數情況下,這些匹配字段是一個表中的主鍵,並且是其他表中的外鍵。例如,通過在學生表的學號字段和選課表的相同字段之間創建關系,可以將學生與選課相關聯。
在關系數據庫中,表與表之間的關系有三種:
1、一對多的關系:這是最普通的關系。對於表A的每一個紀錄,表B中有幾個紀錄(可以為0)和它相關;反之,對於表B的每一個紀錄,表A中至多有一個紀錄和它相關。例如
對於學生表的一個學號,在成績表中有多門課程的成績與之相對應。
2、多對多的關系:在這類關系中,對於表A的每一個紀錄,表B中有多個紀錄(可以為0)和它相關,同樣,對於表B的每有一個紀錄,表A中有多個紀錄(可以為0)和它相關。例如,學生表和課程表,每個學生可以選擇多門課程,每門課程可以有多個學生選修。對於多對多的關系,需要建立第三個表,把多對多關系轉化為兩個一對多關系。例如,對於學生表和課程表的多對多關系,增加一個成績表,轉換成為兩個一對多關系。