中文Access2000答應定義三種類型的主鍵:自動編號、單字段及多字段,它們的特點如下所述。
1.自動編號主鍵
在前面的操作中,您一定注重到了當向表中添加一行記錄時,中文Access2000總是會自動設置編號,即使您指定了不同的編號,這個軟件也會讓您將自動編號字段設置為自動輸入連續數字的編號,從而將自動編號字段指定為表的主鍵,這是創建主鍵的最簡單方法,相信您一定還記得前面就是這樣做。
其實,假如在保存新建的表之前沒有設置主鍵,那麼中文Access2000將詢問是否要創建主鍵。假如回答為“是”,就將創建“自動編號主鍵”。這種建立主鍵的方法可以應用於任何中文Access2000的表中,而在中文VisualFoxPro6中不會如此便利,初學者把握起來是比較困難的。
注:指定了表的主鍵之後,為確保其唯一性,中文Access2000將防止在主鍵字段中輸入重復值或Null。Null表示字段中沒有值,或者是未知值。
2.單字段主鍵
假如某些信息相關的表中擁有相同的字段,而且所包含的都是唯一的值,如ID號或零件編號,那麼就可以將該字段指定為主鍵。假如選擇的字段有重復值或Null值,Access 2000將不會設置其主鍵, 為此可運行“查找重復項”查詢可以找出包含重復數據的記錄,然後編輯修改它。
注重:假如通過編輯數據仍然不輕易消除這些重復項,可以添加一個自動編號字段並將它設置為主鍵,或定義多字段主鍵,這是一個很有用的操作技巧。
3.多字段主鍵
在不能保證任何單字段都包含唯一值時,可以將兩個或更多的字段指定為主鍵。這種情況最常出現在用於多對多關系中關聯另外兩個表的表。“多對多關系”是關系數據庫中較難理解的概念,但卻非常實用,它說明如A表中的記錄能與B表中的許多行記錄匹配,並且B表中的記錄也能與A表中的許多行記錄匹配。此關系的類型僅能通過定義第三張表(稱作“聯結表”)的方法來實現,其主鍵包含二個字段,即來源於A和B兩張表的外部鍵。多對多關系實際上是使用第三張表的兩個一對多關系。例如,“訂單”表和“產品”表就可能有一個多對多的關系,它是通過“訂單明細”表中兩個一對多關系來創建的。
注:“一對多關系”是最常用的關系類型。在這種關系中,A表中的一行記錄能與B表中的許多行記錄匹配,但是在B表中的一行記錄僅能與A表中的一行記錄匹配。若A表中的一行記錄只與B表中的另一行記錄匹配,這就是“一對一關系”。因此可將“一對一關系”看成是“一對多關系”的特例。多對多關系、一對一關系、一對多關系,是應用關系數據庫的基本概念。
若要指定或者更改主鍵,可以在“設計”視圖中打開相應的表,然後從“行選定器”中選擇所要定義為主鍵的那一個或多個字段,接著單擊“設計視圖”工具欄中的“主鍵”按鈕即可,參見圖29。若要刪除一個主鍵的話,也只需要在“行選定器”中選定它,接著單擊“設計視圖”工具欄中的“主鍵”按鈕
假如您沒有在屏幕上看到“設計視圖”工具欄,那麼就不能使用“主鍵”按鈕。為了讓它顯示出來,需要單擊“數據庫視圖”工具欄中的“視圖”下拉按鈕,然後從下拉菜單中選擇“設計視圖”命令,它就會顯示出來,參見圖32與9-33。