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
| 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í
- Silberschatz, Abraham (2011). Koncepty databázového systému (6. vydání) . McGraw-Hill. str. 45–46. ISBN 978-0-07-352332-3.
externí odkazy
- Referenční podmínky databáze vztahů, klíče : Přehled různých typů klíčů v RDBMS