中文Access2000速成教程--1.6 定義“主鍵”
更新時間:2006年11月03日 00:00:00 作者:
第六講 定義“主鍵” 在中文Access 2000中,可以建立一個龐大的數(shù)據(jù)信息庫,而要將這些分布于不同表中的數(shù)據(jù)作為一個“庫”來使用,就需要為各表建立好“主鍵”,從而建立起一個關(guān)系型數(shù)據(jù)庫系統(tǒng)。這種系統(tǒng)的特點是可以使用查詢、窗體和報表快速查找數(shù)據(jù),并能組合保存來自各個不同表中信息。如果要做到這一點,每一張表就應(yīng)該包含相同的一個或一組字段,它些都是保存在表中的、每一條記錄的唯一標識,即表的“主鍵”,通常需要在建立數(shù)據(jù)表時一并制定,以便節(jié)省時間,因此本章在這里插入了這一小節(jié)。
中文Access 2000允許定義三種類型的主鍵:自動編號、單字段及多字段,它們的特點如下所述。
1.自動編號主鍵
在前面的操作中,您一定注意到了當(dāng)向表中添加一行記錄時,中文Access 2000總是會自動設(shè)置編號,即使您指定了不同的編號,這個軟件也會讓您將自動編號字段設(shè)置為自動輸入連續(xù)數(shù)字的編號,從而將自動編號字段指定為表的主鍵,這是創(chuàng)建主鍵的最簡單方法,相信您一定還記得前面就是這樣做。
其實,如果在保存新建的表之前沒有設(shè)置主鍵,那么中文Access 2000將詢問是否要創(chuàng)建主鍵。如果回答為“是”,就將創(chuàng)建“自動編號主鍵”。這種建立主鍵的方法可以應(yīng)用于任何中文Access 2000的表中,而在中文Visual FoxPro 6中不會如此便利,初學(xué)者掌握起來是比較困難的。
注:指定了表的主鍵之后,為確保其唯一性,中文Access 2000將防止在主鍵字段中輸入重復(fù)值或 Null。Null表示字段中沒有值,或者是未知值。
2.單字段主鍵
如果某些信息相關(guān)的表中擁有相同的字段,而且所包含的都是唯一的值,如ID 號或零件編號,那么就可以將該字段指定為主鍵。如果選擇的字段有重復(fù)值或 Null 值,Access 2000將不會設(shè)置其主鍵,為此可運行“查找重復(fù)項”查詢可以找出包含重復(fù)數(shù)據(jù)的記錄,然后編輯修改它。
注意:如果通過編輯數(shù)據(jù)仍然不容易消除這些重復(fù)項,可以添加一個自動編號字段并將它設(shè)置為主鍵,或定義多字段主鍵,這是一個很有用的操作技巧。
3.多字段主鍵
在不能保證任何單字段都包含唯一值時,可以將兩個或更多的字段指定為主鍵。這種情況最常出現(xiàn)在用于多對多關(guān)系中關(guān)聯(lián)另外兩個表的表?!岸鄬Χ嚓P(guān)系”是關(guān)系數(shù)據(jù)庫中較難理解的概念,但卻非常實用,它說明如A 表中的記錄能與 B 表中的許多行記錄匹配,并且B表中的記錄也能與A表中的許多行記錄匹配。此關(guān)系的類型僅能通過定義第三張表(稱作“聯(lián)結(jié)表”)的方法來實現(xiàn),其主鍵包含二個字段,即來源于A和B兩張表的外部鍵。多對多關(guān)系實際上是使用第三張表的兩個一對多關(guān)系。例如,“訂單”表和“產(chǎn)品”表就可能有一個多對多的關(guān)系,它是通過“訂單明細”表中兩個一對多關(guān)系來創(chuàng)建的。
注:“一對多關(guān)系”是最常用的關(guān)系類型。在這種關(guān)系中,A表中的一行記錄能與B表中的許多行記錄匹配,但是在B表中的一行記錄僅能與A表中的一行記錄匹配。若A表中的一行記錄只與B表中的另一行記錄匹配,這就是“一對一關(guān)系”。因此可將“一對一關(guān)系”看成是“一對多關(guān)系”的特例。多對多關(guān)系、一對一關(guān)系、一對多關(guān)系,是應(yīng)用關(guān)系數(shù)據(jù)庫的基本概念。
若要指定或者更改主鍵,可以在“設(shè)計”視圖中打開相應(yīng)的表,然后從“行選定器”中選擇所要定義為主鍵的那一個或多個字段,接著單擊“設(shè)計視圖”工具欄中的“主鍵”按鈕即可,參見圖29。若要刪除一個主鍵的話,也只需要在“行選定器”中選定它,接著單擊“設(shè)計視圖”工具欄中的“主鍵”按鈕,參見圖32。

圖29單擊這個按鈕
如果您沒有在屏幕上看到“設(shè)計視圖”工具欄,那么就不能使用“主鍵”按鈕。為了讓它顯示出來,需要單擊“數(shù)據(jù)庫視圖”工具欄中的“視圖”下拉按鈕,然后從下拉菜單中選擇“設(shè)計視圖”命令,它就會顯示出來,參見圖32與9-33。

圖30單擊這個下拉按鈕

圖31選擇這一條命令

圖32“行選定器”的位置
注:選定一個字段時,只需要單擊“行選定器”中的相應(yīng)方框即可。若要選定多個字段,可請按Ctrl鍵后,在“行選定器”中分別單擊它們的方框,參見圖34
相關(guān)文章
Access數(shù)據(jù)庫提示OleDbException (0x80004005): 操作必須使用一個可更新的查詢
使用Access當(dāng)數(shù)據(jù)庫時,這個問題郁悶了我好幾天啊![OleDbException (0x80004005): 操作必須使用一個可更新的查詢。]2011-06-06中文Access2000速成教程--1.2 使用“數(shù)據(jù)庫向?qū)А眲?chuàng)建表
中文Access2000速成教程--1.2 使用“數(shù)據(jù)庫向?qū)А眲?chuàng)建表...2006-11-11中文Access2000速成教程--1.8 定義表之間的關(guān)系
第八講 定義表之間的關(guān)系前面定義了主鍵,以及相應(yīng)的表后,就可以制定各表部的關(guān)系,從而建立起一個關(guān)系數(shù)據(jù)庫。的應(yīng)用與管理關(guān)系數(shù)據(jù)庫,中文Access2000具有很強的能力,這正是中文Visual FoxPro 6與中文Excel 2000所不及的。為了建立關(guān)系數(shù)據(jù)庫,首先要建立好各相關(guān)表,接著將它們?nèi)筷P(guān)閉,即可按下列步驟進行操作。2006-11-11union這個連接是有什么用的和INNER JOIN有什么區(qū)別
union這個連接是有什么用的和INNER JOIN有什么區(qū)別...2006-07-07恢復(fù)從 Access 2000、 Access 2002 或 Access 2003 中數(shù)據(jù)庫刪除表的方法
恢復(fù)從 Access 2000、 Access 2002 或 Access 2003 中數(shù)據(jù)庫刪除表的方法...2007-08-08