Superklíč - Superkey
![]() | tento článek potřebuje další citace pro ověření.Říjen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A superklíč nebo superklíč je definován v relační model z databáze organizace jako soubor atributů relační proměnné, pro kterou platí, že ve všech relacích přiřazených k této proměnné neexistují dva odlišné n-tice (řádky), které mají stejné hodnoty pro atributy v této sadě.[1] Může být definována jako sada atributů a relační schéma na kterém jsou všechny atributy schématu funkčně závislé.
Sada Všechno atributy je triviální superklíč, protože v relační algebra duplicitní řádky nejsou povoleny: řádky jsou sada (žádné duplikáty), ne a multiset (duplikáty povoleny). Superklíč je také známý jako klíč nadmnožiny.
Pokud je nastaven atribut K. je superklíč vztahu R, pak vždy platí, že projekce z R přes K. má to samé mohutnost tak jako R sám.
Superklíč je sada atributů v tabulce, jejíž hodnoty lze použít k jedinečné identifikaci n-tice. A klíč kandidáta je minimální sada atributů nezbytných k identifikaci n-tice; tomu se také říká minimální superklíč. Vzhledem k schématu zaměstnance skládajícímu se z atributů employeeID, name, job a departmentID, kde se žádná hodnota v atributu employeeID nikdy neopakuje, bychom mohli ID zaměstnance použít v kombinaci s jakýmkoli nebo všemi dalšími atributy této tabulky k jedinečné identifikaci n-tice v stůl. Příkladem superklíčů v tomto schématu by bylo {employeeID, Name}, {employeeID, Name, job} a {employeeID, Name, job, departmentID}. Poslední příklad je známý jako triviální superklíč, protože k identifikaci n-tice používá všechny atributy této tabulky.
Ve skutečné databázi nepotřebujeme hodnoty pro všechny tyto atributy k identifikaci n-tice. Na náš příklad potřebujeme pouze sadu {employeeID}. Tohle je minimální superklíč—To znamená minimální sada atributů, které lze použít k identifikaci jedné n-tice. employeeID je a klíč kandidáta.
Příklad
Jméno panovníka | Číslo panovníka | 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 sady, které ne splnit požadavek superklíče. 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íč je vlastnost relační proměnné, která musí platit pro všechny možné hodnoty a lze ji určit pouze z funkční závislosti které platí pro danou relační proměnnou.
Pokud relace obsahuje atributy 'n', pak je možný maximální počet superklíčů 2n.
Vztah stupně n má 2n superklíče, kdykoli je ∅ klíč kandidáta pro tento vztah. Například:
název | Předpokládaná kancelář |
---|---|
Donald Trump | 2017-01-20 |
kde ∅ → {Jméno, předpokládaná kancelář} - to znamená, že prezidentem může být pouze jedna osoba. President má čtyři superklíče:
- • {}
- • {Název}
- • {Předpokládaná kancelář}
- • {Název, předpokládaná kancelář}
Viz také
Reference
- Silberschatz, Abraham (2011). Koncepty databázového systému (6. vydání). McGraw-Hill. str. 45–46. ISBN 978-0-07-352332-3.
- ^ Úvod do systémů správy databází. Tata McGraw-Hill. 2005. s. 77. ISBN 9780070591196.
žádné dvě n-tice v žádném právním vztahu
externí odkazy
- Referenční podmínky databáze vztahů, klíče: Přehled různých typů klíčů v RDBMS