Superkey - Superkey

V relačního modelu dat superkey je soubor atributů, které jednoznačně identifikuje každý n-tici o vztahu . Protože hodnoty superklíče jsou jedinečné, n-tice se stejnou hodnotou superklíče musí mít také stejné hodnoty neklíčových atributů. To znamená, že neklíčové atributy jsou funkčně závislé na superklíči.

Sada všech atributů je vždy superklíč ( triviální superklíč ). N-tice v relaci jsou podle definice jedinečné, s duplikáty odstraněnými po každé operaci, takže sada všech atributů má vždy jedinečnou hodnotu pro každou n-tici. Kandidát klíč (nebo minimální superkey ) je superkey, který nelze redukovat na jednodušší superkey odstraněním atributu.

Například ve schématu zaměstnance s atributy identifikátor zaměstnance, název, úloha a ID oddělení, pokud jsou hodnoty ID zaměstnance jedinečné, pak identifikátor zaměstnance v kombinaci s některými nebo všemi dalšími atributy může jedinečně identifikovat n-tice v tabulce. Každá kombinace, {employeeID}, {employeeID, name}, {employeeID, name, job} atd. Je superklíč. {employeeID} je kandidátský klíč - žádná podmnožina jeho atributů není také superklíčem. {employeeID, name, job, departmentID} je triviální superklíč.

Pokud atribut množina K je superkey vztahu R , pak se po celou dobu, je v případě, že výstupek na R přes K má stejnou mohutnost jako R sám.

Příklad

English Monarchs
Jméno panovníka Monarch Number Královský dům
Edwarde II Plantagenet
Edwarde III Plantagenet
Richarde III Plantagenet
Jindřich IV Lancaster

Nejprve vyjmenujte všechny sady atributů:

• {Monarch Name}  
• {Monarch Number}  
• {Královský dům}
• {Monarch Name, Monarch Number}
• {Monarch Name, Royal House}
• {Monarch Number, Royal House}
• {Monarch Name, Monarch Number, Royal House}

Za druhé, odstranit všechny soubory, které nemají splňují požadavek superkey je. Například {Monarch Name, Royal House} nemůže být superklíč, protože pro stejné hodnoty atributů (Edward, Plantagenet) existují dvě odlišné n-tice:

  • (Edward, II , Plantagenet)
  • (Edward, III , Plantagenet)

Nakonec po odstranění jsou zbývající sady atributů jedinými možnými superklíče v tomto příkladu:

  • {Monarch Name, Monarch Number} (klíč kandidáta)
  • {Monarch Name, Monarch Number, Royal House}

Ve skutečnosti nelze superklíče určit jednoduše zkoumáním jedné sady n-tic ve vztahu. Superklíč definuje omezení funkční závislosti schématu relace, které musí platit pro všechny možné relace instance daného schématu relace.

Viz také

Reference

Další čtení

externí odkazy