Autor Zpráva
Petr-K
Profil *
Zdravím,
mám teď tak trochu zamotanou hlavu z indexů a potřeboval bych si to malinko ujasnit. Především bych se potřeboval zeptat na rozdíl mezi UNIQUE, UNIQUE KEY a UNIQUE INDEX.

Jestli jsem to dobře pochopil tak:
UNIQUE – není index tabulky jen zamezí vkládáni duplicitních hodnot
UNIQUE KEY – zamezí vkládání duplicitních hodnot a je zároveň indexem PRIMARY KEY který může být v tabulce použit vícekrát (PRIMARY KEY je jinak povolen jeden na jednu tabulku)
UNIQUE INDEX - zamezí vkládání duplicitních hodnot a je zároveň indexem INDEX (v INDEXu se jinak mohou nacházet duplicitní hodnty)

Děkuji za objasnění.
Joker
Profil
Petr-K:
Záleží konkrétně o jakou databázi jde.
Hlavně bych ale primární klíč dal jako zvláštní odrážku.
Já bych to napsal takhle:
- INDEX, na sloupci je index pro vyhledávání
- UNIQUE, sloupec musí obsahovat unikátní hodnoty
- PRIMARY KEY identifikuje řádek, je automaticky UNIQUE a musí být NOT NULL a obvykle se nad ním automaticky udělá index.

Pokud jde o KEY vs INDEX, tak například v MySQL by to mělo být to samé (manuál: KEY is normally a synonym for INDEX)
Petr-K
Profil *
Jj, toto vím. Jde mi spíše konkrétně o ten zápis s UNIQUE. Protože i v manuálu pro MySQL je možné zapsat jako UNIQUE INDEX a pak v komentáři jsem našel UNIQUE KEY a přitom běžně vidím jen samotný zápis UNIQUE. Takže bych si to chtěl nějak ujasnit.
A především, zda sám o sobě UNIQUE vytváří index tabulky nebo?
Petr-K
Profil *
Jo a jinak díky za "KEY is normally a synonym for INDEX", to jsem v manuálu přehlédl, dobrá informace.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: