數(shù)據(jù)庫為什么要設(shè)置主鍵和外鍵 數(shù)據(jù)庫表中的主鍵有什么作用?
數(shù)據(jù)庫表中的主鍵有什么作用?數(shù)據(jù)庫主鍵主鍵:表中你經(jīng)常有一個列或多列的組合,其值能真正地標(biāo)有表中的每一行。這樣的一列或多列一般稱表的主鍵,通過它可強(qiáng)制表的實(shí)體完整性。當(dāng)創(chuàng)建戰(zhàn)隊(duì)或更改后表時可通過定義P
數(shù)據(jù)庫表中的主鍵有什么作用?
數(shù)據(jù)庫主鍵
主鍵:表中你經(jīng)常有一個列或多列的組合,其值能真正地標(biāo)有表中的每一行。這樣的一列或多列一般稱表的主鍵,通過它可強(qiáng)制表的實(shí)體完整性。當(dāng)創(chuàng)建戰(zhàn)隊(duì)或更改后表時可通過定義PRIMARYKEY加以約束來創(chuàng)建主鍵。一個表沒有辦法有一個PRIMARYKEY約束,不過PRIMARYKEY約束中的列又不能接受空值。而PRIMARY KEY加以約束必須保證真正數(shù)據(jù),所以每天都為了符號表示標(biāo)識列。
作用:
1)可以保證實(shí)體的完整性
2)減緩數(shù)據(jù)庫的操作速度
3)在表中去添加新記錄時,ACCESS會自動檢查一下新記錄的主鍵值,不愿意該值與其他記錄的主鍵值亂詞。
4)ACCESS不自動按主鍵值的順序不顯示表中的記錄。要是沒有定義主鍵,則按然后輸入記錄的順序顯示表中的記錄。
在有些數(shù)據(jù)庫中,雖然主鍵又不是必須的,但建議為每個表都設(shè)置里一個主鍵,無論是單主鍵肯定純主鍵。它存在代表著表結(jié)構(gòu)的完整性,表的記錄需要得有真正判別的字段,主鍵要注意是用于其他表的外鍵關(guān)聯(lián),以及本記錄的修改與刪除。
主鍵的沒意義的事性
在開發(fā)過程中,讀者很可能會看見了將一些表不使用有心字段可以表示主鍵,.例如“用戶登錄信息表”將“直接登錄名”(英文名)作為主鍵,“訂單表”中將“訂單編號”作為主鍵,會如此怎么設(shè)計(jì)主鍵就像是都沒什么問題,因?yàn)閷⑦@些主鍵基本上不具高“意義改”的可能性。不過,也有一些例外的情況,的或“訂單表”需要接受需求“訂單可以做廢,并重新生成訂單,而且訂單號要保持原訂單號同一”,那將“訂單編號”才是主鍵就柯西-黎曼方程不了要求了。但讀者在可以使用具有換算意義的字段另外主鍵時,必須考慮如何確定必然這種可能性。
數(shù)據(jù)庫表中什么是外健,外鍵的作用?
舉個例子:
student表是學(xué)生表里面有字段:學(xué)號和姓名學(xué)號是主鍵
sc表是成績表里面有字段:學(xué)號和學(xué)科號還有成績這里面的學(xué)號就是外鍵,關(guān)聯(lián)著student表的主鍵學(xué)號
簡單的說:一個表的外鍵關(guān)聯(lián)著另外一個表的主鍵
外鍵的作用一直保持?jǐn)?shù)據(jù)完整性.......
拿上面的例子說:如果不是學(xué)生表學(xué)號為1的記錄徹底刪除了,那成績表sc里面按有學(xué)號為1的記錄你是不是應(yīng)該是也徹底刪除呢?所以才好象設(shè)置拓?fù)浣Y(jié)構(gòu)刪掉這樣的徹底刪除了主鍵外鍵的值跟了刪除。。。