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)和它相關。例如,學生表和課程表,每個學生可以選擇多門課程,每門課程可以有多個學生選修。對於多對多的關系,需要建立第三個表,把多對多關系轉化為兩個一對多關系。例如,對於學生表和課程表的多對多關系,增加一個成績表,轉換成為兩個一對多關系。
3、一對一關系;在此類關系類型中,對於表A的每一個紀錄,表B中至多有一個紀錄和它相關,反之亦然。例如,對於學生表和學生健康表(由學號、姓名、性別、身高、出生日期等字段組成),學生表中的每一個學號與學生健康表中的一個學號相對應。
在關系性數據庫中,大量處理的是一對多關系,也有少量的一對一關系。
四、字段的類型
字段的類型就是字段的數據類型,不同數據類型的字段用來表達不同的信息。在設計表時,必須要定義表中字段使用的數據類型。Access2007中共有文本、數字、日期/時間、查閱向導和附件等11種數據類型。
數字性數據還細分為字節型、整型、長整型、單精度型和雙精度型等幾種類型。
不同數據類型,數據的存儲方式不同,占用的空間大小也不同。字節型占1個字節,它能表示數的范圍為0~255之間的整數;整型占2個字節,它能表示數的范圍為-32768~32767;而長整型要占4個字節,它能表示的整型數的范圍更大一些。使用哪種類型,要根據實際需要而定。比如表示人的年齡,使用字節型就可以了;表示學生成績,如果要考慮小數,則要采用單精度數字類型,如只考慮整數,則要采用整型數字類型。Access2007中的數據類型,如表2所示。
表2 Access2007中的數據類型
類型名稱
接受的數據
大小
文本
文本或文本和數字的組合
最多為255字節
數字
用於數學計算的數值數據
1、2、4、8個字節
日期/時間
100~9999年的日期和時間值
8個字節
貨幣
用於數值數據,整數位為15,小數位為4
8個字節
自動編號
自動給每一條紀錄分配唯一的遞增,唯一數值
4個字節