資料庫中的鍵(key)也可以稱為碼,是關係模型中的乙個重要概念,它是邏輯結構,不是資料庫的物理部分。
在乙個關係中,存在乙個或多個屬性,可以在這個關係中將每個元組唯一標識。(可以粗略的理解:關係=表)
能唯一標識元組的屬性集,其中乙個屬性可以為作為乙個超鍵,多個屬性組合也可以作為乙個超鍵。
表1例:上表中學號是唯一的,那麼(學號)是乙個超鍵
同時(學號,姓名)的組合也是唯一的,所以也可以為乙個超鍵。同理(學號,姓名,生日)也是乙個超鍵
候選鍵有兩個要求:1.始終能夠確保在關係中能唯一標識元組。2.在屬性集中找不出真子集能夠滿足條件。
其中第乙個條件就是超鍵的標準,所以我們可以把候選鍵理解為不能再「縮小」的超鍵
表2例:表1中的(學號)就可以理解為乙個候選鍵。像表2至少需要學號,課程號兩個屬性才能唯一標識元組的情況下,那(學號,課程號)就是候選鍵
在乙個關係中的候選鍵中指定乙個來表示,但是主鍵不能為空值,也不能重複。
例:表1中的(學號)就是主鍵
在乙個關係a中,有乙個屬性b不是關係a主鍵或候選鍵,但是是另一關係b的主鍵,這中情況屬性b則是關係a中的外來鍵
表3例:表2中的課程號是表3中主鍵,則在表2中課程號為外來鍵。
可以理解為是候選碼的一種特殊情況,如果關係中只有乙個候選碼,且這個候選碼中包含了全部屬性,那麼這個候選碼為全碼
mysql資料庫中的 MySQL資料庫中定義
定義資料表 假如某個電腦生產商,它的資料庫中儲存著整機和配件的產品資訊。用來儲存整機產品資訊的表叫做pc 用來儲存配件供貨資訊的表叫做parts。在pc表中有乙個字段,用來描述這款電腦所使用的cpu型號 在parts表中相應有乙個字段,描述的正是cpu的型號,我們可以把它想成是全部cpu的型號列表。...
資料庫 Oracle中建立資料庫
create database lihua 網上的說法是 oracle中的例項只對應乙個資料庫,出現此種情況說明oracle資料庫處於mount 裝載 或open狀態,需要使用startup nomount語句進行狀態更改,或者是直接使用dbca的圖形介面來建立 注 經測試,startup nomo...
資料庫中關係型資料庫的介紹
主要分為關係型資料庫和非關係型資料庫。關係型資料庫是依據關係模型來建立的資料庫,所謂關係模型就是 一對 一 一對多 多對多 等關係模型,關係模型就是指二維 模型,因此乙個關係型資料庫就是由二維表及其之間的聯絡組成的乙個資料組織。常見的關係型資料庫 oracle db2 microsoft sql s...