Mi a szuperkulcs?
A definicíó megvan
"Szuperkulcsnak nevezünk egy attribútumhalmazt, ha egyértelműen
azonosítja a tábla sorait. Pontosabban: egy R(A1,...,An) relációséma esetén az A = {A1,...,An}
attribútumhalmaz egy K részhalmaza szuperkulcs, ha bármely R feletti T tábla bármely két
sora K-n különbözik."
Ezt nem kell linkelni. Inkább az a baj, hogy nem igazán értem, mit nevezünk szuperkulcsnak.
Tehát ha van egy relációs sémám amelybe van X Y Z tulajdonság, akkor mindegyik szuperkulcs?
Itt van például ez:
Alul vannak példák:
{osztály, tanár, nap, vége} szuperkulcs, de nem kulcs,
{tanár, nap, kezd} szuperkulcs és kulcs,
Az egyik miért szuperkulcs a másik miért szuperkulcs és kulcs?
Az első miért ne lehetne kulcs is?
A kulcs pedig:
"Az A attribútumhalmaz K részhalmazát kulcsnak nevezzük, ha minimális
szuperkulcs, vagyis egyetlen valódi részhalmaza sem szuperkulcs. Ha K egyetlen
attribútumból áll, akkor egyszerű, egyébként összetett kulcsról beszélünk."
Nem lehet egyszerűbben megfogalmazni, hogy mi a szuperkulcs és mi a kulcs?
Aha. Tehát akkor minden szuperkulcs, amely egyedileg azonosítja a sort. Idézve a szövegből. A kulcs pedig az a szuperkulcs, amely nem tartalmaz redundanciát.
De eszerint nem lehetne pl az első példa szuperkulcs, hiszen h azonosítja egyedileg alapból, hogyha ott redundancia van. Tehát mely attribútum azonosíthatná? Egyik se. Tanárból több lehet, osztályból több lehet.





Egy példával megpróbálom elmagyarázni:
Legyenek egy táblában a gépjármű nyilvántartásban szereplő autók.
(A példa kedvéért tegyük fel, hogy motort egyik autóból másikba átszerelni nem lehetséges)
Rendszám, Motorszám, Alvázszám, Márka, Típus, Évjárat.
Melyik ezen tulajdonságok részhalmaza, ami egyértelműen azonosít egy autót, azaz garantáltan a tábla minden sorában egyedi?
A (Márka, Típus) biztosan nem, hiszen Ford Escort-ból van rengeteg az országban.
De például egy ilyen részhalmaz a (Rendszám, Motorszám, Alvázszám)
Tehát ez egy szuperkulcs.
De a (Rendszám, Motorszám), és a (Motorszám, Alvázszám) is szuperkulcs, hiszen nincs két olyan autó, amelyeknél ezek egyformák lennének.
Hogy ezek kulcsok-e? Nem, mégpedig azért nem, mert nem ez a legkisebb attribútum-részhalmaz, ami még egyedileg azonosít egy sort a táblában, vagyis egy konkrét autót.
Tehát ami kulcs, az pl. a (Rendszám), ez egy elemű attribútum-halmaz, mert még ez is egyértelműen azonosít egy sort.
Tehát, röviden:
Kulcs: olyan attribútum-részhalmaz, ami egyértelműen azonosít egy sort a táblában.
Szuperkulcs: olyan attribútum-részhalmaz, ami tartalmaz legalább 1 Kulcsot.
Ebből következően tehát az összes mező halmaza is szuperkulcs, és a például a
(Rendszám, Motorszám, Alvázszám, Évjárat) is szuperkulcs, de nem kulcs.





Hm.. jó, ez igaz, azt nem vettem figyelembe, hogy Magyarországon kioszthatják újra a rendszámokat, amiket más visszadott.
Akkor viszont a Rendszám nem kulcs.
Akkor csak az Alvázszám, és a Motorszám a kulcs(feltéve, hogy motort átszerelni másik autóba nem lehet).





"Némi félreértésre adhat okot a „szuper” kifejezés alkalmazása. Míg a szupersportautó (supercar) egyben autó (car) is, a szuperkulcs (superkey) nemkulcs (key). A szuper (super) szó jelentése ebben az esetben tartalmazó halmaz (superset), ezzel összhangban a szuperkulcs olyan halmaz, ami tartalmaz kulcsot"
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!