Portál AbcLinuxu, 25. dubna 2024 23:32


Dotaz: SQL a klice

14.10.2005 14:32 Pepa
SQL a klice
Přečteno: 364×
Odpovědět | Admin
Zdravice lidi, neni mi uplne jasne, jak to chodi s klicema (primary a foreign keys) v SQL a nevim, kde jinde se zeptat, tak sorry pokud s tim otravuju na spatnem miste.

Je mi jasne, co to klice jsou a jak se vytvareji, ale neni mi jasne, jak to muzu pouzit v praxi. Jak se budou lisit tabulky s klicema a bez klicu, napr. v SELECT dotazech? Nebo kdekoliv jinde? V cem je rozdil, kdyz tabulka ma/nema primarni nebo cizi klice?

Napr. SELECT * FROM zamestnanec WHERE id=10

jaky bude rozdil, kdyz id bude/nebude primarni klic?

Nevite nekdo o nejakem peknem povidani nekde na webu na dane tema?

Diky. Pepa.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.10.2005 14:48 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: SQL a klice
Odpovědět | | Sbalit | Link | Blokovat | Admin
To vůbec nesouvisí s Linuxem.

Primární klíče jsou jednoznacné identifikátory věty v tabulce, tedy nemůžou být v tabulce dva záznamy se stejným primárním klíčem.

Cizí klíče slouží jako vazby mezi tabulkami.

Obojí je prostředek k udržení konzistence a integrity dat.

Více v jakékoliv knížce o datovém modelování, návrhu databází (často bývá jako úvod v knížkách o SQL...)
Jiří P. avatar 14.10.2005 14:53 Jiří P. | skóre: 24 | blog: programování
Rozbalit Rozbalit vše Re: SQL a klice
Odpovědět | | Sbalit | Link | Blokovat | Admin

tak, ze primarni klic je vzdy unikatni (nemuze se opakovat). Cizi klic je odkaz na klic v jine tabulce.

Hezky je to posano zde a pokud ti nevadi anglictina, tak zkus treba toto.

In a world without fences and walls, who needs Gates and Windows?
14.10.2005 15:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: SQL a klice
Odpovědět | | Sbalit | Link | Blokovat | Admin
jaky bude rozdil, kdyz id bude/nebude primarni klic?

V samotném dotazu rozdíl nebude. Ale pro primární klíč je automaticky vytvářen index, takže vyhledávání ve větší tabulce bude rychlejší. Na druhou stranu si samozřejmě můžete vytvořit index i nad sloupcem (sloupci), který není primárním klíčem.

Navíc i když v tabulce primární klíč nezavedete, databáze stejně obvykle použije svůj interní.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.