共計(jì) 1542 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
自動(dòng)寫(xiě)代碼機(jī)器人,免費(fèi)開(kāi)通
這篇文章將為大家詳細(xì)講解有關(guān)數(shù)據(jù)庫(kù)中為什么我們需要使用鍵,丸趣 TV 小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
為什么我們需要使用鍵?
在實(shí)際應(yīng)用中,存儲(chǔ)數(shù)據(jù)所需的表的數(shù)量很大,并且不同的表也彼此相關(guān)。
此外,表格中存儲(chǔ)了大量數(shù)據(jù)。表通常擴(kuò)展到存儲(chǔ)在其中的數(shù)千條記錄,未分類(lèi)和無(wú)組織。
現(xiàn)在要從這樣的數(shù)據(jù)集中獲取任何特定記錄,您將必須應(yīng)用一些條件,但是如果存在重復(fù)數(shù)據(jù)并且每次嘗試通過(guò)應(yīng)用某些條件來(lái)獲取某些數(shù)據(jù)時(shí)會(huì)出現(xiàn)錯(cuò)誤數(shù)據(jù)。在獲得正確的數(shù)據(jù)之前有多少次試驗(yàn)?
為了避免這一切,定義鍵可以輕松識(shí)別表中的任何數(shù)據(jù)行。
在數(shù)據(jù)庫(kù)中,鍵是用于建立和標(biāo)識(shí)表之間的關(guān)系,也用于唯一標(biāo)識(shí)表中的任何記錄或數(shù)據(jù)行。它可以是單個(gè)屬性或一組屬性,其中組合可以作為鍵。
鍵的類(lèi)型
下面給大家介紹一些常見(jiàn)類(lèi)型的鍵,為了讓大家了解這些鍵,我們來(lái)通過(guò)例子介紹一下:
student_idnameagecollege_idphone1
小華 20011561258xxx
2 小紅 21011771258xxx3 小明 20021831258xxx
可以看出這是一個(gè)簡(jiǎn)單的 Student 表,有字段 student_id,name,subject_id,age 和 phone。
候選鍵(Candidate Key)
候選鍵被定義為可以唯一地標(biāo)識(shí)表中的每個(gè)記錄的最小字段集。它是一個(gè)屬性或一組屬性,可以充當(dāng)表的主鍵,以唯一地標(biāo)識(shí)該表中的每個(gè)記錄。
在上面的 Student 表中,student_id 和 phone 都是學(xué)生表的候選鍵。下面是候選鍵的一些特征:
● 候選鍵永遠(yuǎn)不能為 NULL 或?yàn)榭眨凰膬r(jià)值應(yīng)該是獨(dú)一無(wú)二的。
● 表中除主鍵之外的其余屬性都可被視為候選鍵,一個(gè)表可以有多個(gè)候選鍵。
● 候選鍵可以是多個(gè)列(屬性)的組合。
超級(jí)鍵(Super Key)
超級(jí)鍵被定義為表中的一組屬性,可以唯一地標(biāo)識(shí)表中的每個(gè)記錄。超級(jí)密鑰是候選鍵的超集。
在上面定義的表中,超級(jí)鍵可以是:
● student_id:因?yàn)槊啃?student_id 數(shù)據(jù)都是唯一的,因此它可以用于唯一地標(biāo)識(shí)每一行。
● (student_id, name):現(xiàn)在兩個(gè)學(xué)生的姓名可以相同,但他們的學(xué)生 ID 不能相同,因此這個(gè)組合也可以是一個(gè)鍵。
● phone:因?yàn)槊總€(gè)學(xué)生的電話號(hào)碼都是唯一的,因此,phone 也可以是一個(gè)鍵。
所以它們都可以是超級(jí)鍵。
主鍵(Primary Key)
主鍵是最適合成為任何表的標(biāo)識(shí)鍵的候選鍵,它可以唯一標(biāo)識(shí)表中每條記錄。
對(duì)于 Student 表,我們可以將 student_id 列作為主鍵。
復(fù)合鍵(Composite key)
復(fù)合鍵是由兩個(gè)或多個(gè)唯一標(biāo)識(shí)表中任何記錄的屬性組成的鍵。當(dāng)表的任何單個(gè)屬性都不能唯一地標(biāo)識(shí)行時(shí),我們就需要使用復(fù)合鍵。
注:共同形成復(fù)合鍵的屬性不是獨(dú)立或單獨(dú)的鍵。
student_idsubject_idexam_namemark102PHP 課程 90202MySQL 課程 80
在上面的是一個(gè) Score 表,用于存儲(chǔ)學(xué)生在特定科目中得到的分?jǐn)?shù)。
在這個(gè)表中 student_id,subject_id 將形成主鍵,因此它是一個(gè)復(fù)合鍵。
備用鍵(Alternative key)
在所有候選鍵中,只會(huì)有一個(gè)被選為主鍵,其余鍵稱(chēng)為備用鍵或輔助鍵。
外鍵(Foreign Key)
外鍵是表中的屬性值,充當(dāng)另一個(gè)表的主鍵。因此,外鍵可用于將兩個(gè)表鏈接在一起。
注:需要非常小心地在外鍵列中輸入數(shù)據(jù),因?yàn)檩斎脲e(cuò)誤的數(shù)據(jù)可能使兩個(gè)表之間的關(guān)系無(wú)效。
關(guān)于數(shù)據(jù)庫(kù)中為什么我們需要使用鍵就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
向 AI 問(wèn)一下細(xì)節(jié)丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!