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