資料庫建表有主鍵跟沒有主鍵的區別

時間 2021-10-14 22:24:14

1樓:匿名使用者

主鍵是惟一的,但是主鍵可以是個集合,比如

學生表(學號,姓名,性別,班級)

其中每個學生的學號是唯一的,學號就是一個主鍵課程表(課程編號,課程名,學分)

其中課程編號是唯一的,課程編號就是一個主鍵成績表(學號,課程號,成績)

成績表中單一一個屬性無法唯一標識一條記錄,學號和課程號的組合才可以唯一標識一條記錄,所以 學號和課程號的屬性組是一個主鍵

2樓:尨蓇厵菭

有主鍵的表可以與其他表相關聯,無主鍵的話表與表之間無法關聯。

主鍵:表中經常有一個列或多列的組合,其值能唯一地標識表中的每一行。這樣的一列或多列稱為表的主鍵,通過它可強制表的實體完整性。

當建立或更改表時可通過定義 primary key 約束來建立主鍵。一個表只能有一個 primary key 約束,而且 primary key 約束中的列不能接受空值。由於 primary key 約束確保唯一資料,所以經常用來定義標識列。

作用:1)保證實體的完整性;

2)加快資料庫的操作速度

3) 在表中新增新記錄時,access會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重複。

4) access自動按主鍵值的順序顯示錶中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示錶中的記錄。

3樓:始桂枝閔嬋

主鍵的值用於惟一地標識表中的某一條記錄,一個表只有一個主鍵。主鍵可以由一個欄位,也可以由多個欄位組成。

主鍵上會自動建立索引

4樓:匿名使用者

有主鍵就可以運用主鍵來確定資料庫的唯一一條記錄。查詢的時候只要根據主鍵就可以拿到相應紀錄,而不用逐個元素去匹配。

多個欄位為主鍵,就是說由幾個欄位才能確定唯一一條記錄。譬如銀行系統裡面,必須由國家 分行 賬號才能確定唯一一個賬號一樣。

5樓:匿名使用者

沒有主鍵,表中可以有重複的行;有主鍵不可以有重複的行。主鍵的好處是能唯一確定表中的行,體現到現實世界中就是能區別事物。多個欄位為表的主鍵代表這些欄位的值組合起來才能確定表中的一行,選課(學生學號,課程號,分數)主鍵為學號和課程號的組合,只有這兩個值確定了,選課表中的一行才能被唯一的確定。

6樓:匿名使用者

主鍵的作用是提高查詢效率

多個欄位為主鍵

打個比方

id 和name為組合主鍵

只有id和name同時相同時才認為是想通的記錄(主鍵是不允許重複的)

只有其中一個相同不認為是重複的記錄

新手問一個問題,資料庫表中主鍵和索引有啥區別和聯絡

7樓:第零象限

主鍵是來

表中的一個或多個欄位

自,它的值用於惟一地標識表中的某一條記錄.且不能為空;

索引是對資料庫表中一列或多列的值進行排序的一種結構,只有當經常查詢索引列中的資料時,才需要在表上建立索引,使用索引可快速訪問資料庫表中的特定資訊。

索引佔用磁碟空間,並且降低新增、刪除和更新行的速度。當然索引也有好處就是查詢速度快,它利還是大於弊的所以請慎重使用索引。

比如:一個學生表(t_stu )有1000條資料,給它id列建個主鍵和索引,

你想查詢id=1000;的這條資訊,如果沒有索引,它就一條一條的比對查詢,系統執行1000次才找到,要是建立了索引,你查詢id=1000的這條資訊,系統只執行一次就找到了。

8樓:

主鍵和索引完全是2嘛事....只能說主鍵擁有索引的一些特性

新到公司,發現資料庫表建立的時候沒有主鍵與表與表之間沒有外來鍵?

9樓:匿名使用者

很多優秀的專案都沒有主外來鍵關係的

舉個例子,一個張使用者表,一張訂單表,建立主外來鍵關係現在要刪除這個使用者,但是使用者曾經有過訂單(訂單不能刪除),你該怎麼刪除

約束表間關係的除了“主外來鍵”,還有程式的邏輯性,觸發器也可以

10樓:冥色煉獄

我們公司的2個**,其中一個sql2005的專案也是沒有采用主外來鍵的,其實這樣做事很方便將來的擴充套件和更新的。必要的儲存過程和系統檢視到時必須的

11樓:匿名使用者

這個倒不一定,如果設計時關係依存緊密的話,並且程式或表的觸發器等控制處理得好的話,也是可以的!

如果在開發之初一定加上外來鍵限制的話,很有可能會導致開發時有意外錯誤發生(例如:某欄位確實可以剔除時)

當然,庫表設計本來就是不斷完善的,如果考慮充分的話,加上當然會更好

12樓:匿名使用者

後期要改就費勁了,資料量大了難免有不在約束之內的,即使程式裡面約束了也難免會有出格的資料,而沒有約束在程式裡也容易出現各種錯誤(關係特別簡單的可能不會),絕大多數應該都是加主外來鍵的

13樓:雪漫山

..........................

bc,不要主鍵

SQL資料庫修改某張表主鍵的長度

在外碼錶設計中選擇 關係 將外碼引用的更新規則改為 級聯 後,即可修改。你這樣設定了以後你修改主碼錶的欄位長度,外碼錶對應的欄位長度會自動修改的。有外來鍵約束.先刪掉約束 再改 如果原表中有資料 1.建立臨時表 create table tmp bh int not null,name char 1...

資料庫表中的主鍵和外來鍵如何關聯

扈琇保瀚 主鍵 編輯本段 概念 主關鍵字 主鍵,primarykey 是被挑選出來,作表的行的惟一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵。編輯本段 作用 1 保證實體的完整性 2 加快資料庫的操作速度...

設定資料庫外來鍵時如何區分那個為主鍵表那個為外來鍵表

a表必須有記錄,b表才能有,這個時候a表是主鍵表,b表外來鍵表。a表裡面的記錄可以隨便錄入,但一般必須唯一,是主鍵 b表裡面錄入的東西就不是亂錄了,必須a表裡面有的記錄,才能錄入到b表中。b表裡面出現的任何一條記錄都必須在a表中找到與之對應的記錄,當然它可以重複出現,如果是1 n的話 例如 學生表,...