回覆列表
  • 1 # 九哥聊科技

    1、什麼時資料庫碼

    碼是資料系統中的基本概念。所謂碼就是能唯一標識實體的屬性,他是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。

    2、什麼是超碼

    超碼是一個或多個屬性的集合,這些屬性可以讓我們在一個實體集中唯一地標識一個實體。如果Q是一個超碼,那麼Q的任意超集也是超碼,也就是說如果Q是超碼,那麼所有包含Q的集合也是超碼"但在實際開發中還是要靠一定的經驗,不然開發出來的系統會出現很多問題。一般來說主碼都應該選擇那此從不或者極少變化的的屬性。

    4、怎麼確定候選碼

    (1)如果有屬性不在函式依賴集中出現,那麼它必須包含在候選碼中;

    (2)如果有屬性不在函式依賴集中任何函式依賴的右邊出現,那麼它必須包含在候選碼中;

    (3)如果有屬性只在函式依賴集的左邊出現,則該屬性一定包含在候選碼中。

    (4)如果有屬性或屬性組能唯一標識元組,則它就是候選碼

    5、確定候選碼舉例

    例如:學生是一個實體,則學生的集合是一個實體集,而超碼是用來在學生的集合中區分不同的學生。假設學生(實體)具有多個屬性:學號,身份證號,姓名,性別。因為透過學號可以找到唯一一個學生,所以{學號}是一個超碼,同理{學號,身份證號}、{學號,身份證號,姓名}、{學號,身份證號,姓名,性別}、{身份證號}、{身份證號,姓名}、{身份證號,姓名、性別}也是超碼.在這裡,因為不同的學生可能擁有相同的姓名,所以姓名不可以區別一個學生,既{姓名}不是一個超碼,{性別}、{姓名、性別}也不是。只有{學號}、{身份證號}都是候選碼。

    6、總結

    總結:所有碼都是一個集合。所有可以用來在實體集中標識唯一實體的集合,都是超碼。如果任意超碼的真子集不能包括超碼,則稱其為候選碼。被資料庫設計者選中的,用來在同一實體集中區分不同實體的候選碼。超碼包括候選碼,候選碼包括主碼。

  • 中秋節和大豐收的關聯?
  • 傳說虹鱒有什麼用?