數據庫中主鍵與外間的區別

主鍵是定義一個表中起主要作用的數據項,這些數據項的數據在表中是唯一的,同時系統按主鍵爲表建立索引。
外鍵是定義一個表中的某數據項的數據,要參照另一個表的主鍵數據。既沒有在另一個表的主鍵數據中出現的數據,不允許在這個表的外鍵數據項中出現。
主鍵:表中記錄的唯一標識
外鍵:依賴於別的表的數據
唯一鍵:在表中唯一
鍵是一個或多個字段的組合
唯一鍵:可以確定一條記錄的字段(或字段組合),一張表可以有多個唯一鍵,正如可以識別你的身份的可以是身份證,學生證,軍人證
主鍵:你把唯一鍵的一個選做主鍵,一張表只能有一個主鍵
外鍵:所定義的外鍵是另一張表的主鍵,
主鍵:表中記錄的唯一標識,外鍵:依賴於別的表的數據,唯一鍵:在表中唯一。
主鍵和唯一鍵的一個區別:主鍵是不允許爲NULL的,唯一鍵則可以,當然你可以加上NOT NULL來限制它
主鍵:能夠唯一表示數據表中的每個記錄的字段或者字段的組合就稱爲主鍵。一個主鍵是唯一識別一個表的每一行記錄,但這只是其作用的一療分,主鍵的主要作用是將記錄和存放在其他表中的數據進行關聯,在這一點上,主鍵是不同表中各記錄間的簡單指針,主鍵約整就是確定表中的每一條記錄,主鍵不能是空值,唯一約束是用於指定一個或多個列的組合值具有唯一性,以防止在列中輸入重複的值,所以,主鍵的值對用戶而言是沒有什麼意義,並且和它賦予的值也沒有什麼特別聯繫。
外鍵:
若有兩個表A,B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵,外鍵約束主要用來維護兩個表之間數據的一致性。
A爲基本表,B爲信息表。
在數據庫中,常常不只是一個表,這些表之間也不是相互獨立的,不同的表之間需要建立一種關係,才能將它們的數據相互溝通,而在這個溝通過程中,就需要表中有一個字段作爲標誌,不同的記錄對應的字段取值不能相同,也不能是空白的,通過這個字段中不同的值可以區別各條記錄,就像我們區別不同的人,每個人都有名字,但它卻不能作爲主鍵,因爲人名很容易出現重複,而身份證號是每個人都不同的,所以可以根據它來區別不同的人,數據庫的表中作爲主鍵的段段就要像人的身份證號一樣,必須是每個記錄的值都不同,這才能根據主鍵的值來確定不同的記錄。
什麼是外鍵?
說明你的表A中的某項a,是引用表B的某列b
爲什麼要使用外鍵?
RDBMS的基本概念,可以維護數據庫的完整。
如何來用,涉及到數據庫的定義。
唯一約束和主鍵的區別是什麼?
唯一性約束
唯一性約束所在的列允許空值,但是主鍵約束的列不允空值。
可以把唯一約束放在一個或者多個列上,但是,唯一性約束所在的列並不是表的主鍵列。
唯一性約束強制在指定的列上創建一個唯一性索引,在默認情況下,創建唯一性的非聚簇索引,但是,也可以指定所創建的索引是聚簇索引。
主鍵:
用於標識某行而且與之相關
是不可能更新
不應該允許空
唯一域/字段
用於作爲訪問某行的可選手段。
只要唯一就可以更新
可以爲空
注意唯一和主鍵的區別,它們都是創建一個唯一的索引,一個表格僅含有一個主鍵約束列,但是,它有可能在其他列中含有許多的唯一約束。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章