Pouziti autoincrementu
Kluvanek Martin
kluvanek na tesnet.cz
Čtvrtek Červen 19 08:07:59 CEST 2003
Petr Vileta wrote:
>>Aha, pak ale resite uplne jiny problem. A je otazka, jestli vubec ma
>>cenu ho resit (na ty typicke veci, kdy to lidi chteji, jako faktury a
>>tak, jsou jine a efektivnejsi postupy).
>
> No ja tedy nevim, ale kdyz navrhnu tabulku, kam se mi pod unikatnim ID ma
> zapsat rekneme 10000 zaznamu, ale je velka pravdepodobnost, ze nektere
> zaznamy budou opet zruseny, tak to abych to ID dimenzoval na mediumint nebo
> jeste vetsi, protoze autoincrement nezjistuje skutecnou maximalni ulozenou
> hodnotu, ale pocita porad dal.
> Navic nevim proc, ale ja proste nechci mit diry v posloupnosti z principu.
> Predstavte si databazi osob s osobnimi cisly, ktera vypada po nekolika
> mesicich takto:
> 1 Novak
> 24 Vileta
> 286 Sverak
> 1238 Hardaba
> 1326 Novotny
> Vas by netrefil slak, kdyz budete mit ID typu mediumint, ale v tabulce nikdy
> nebude vic, nez treba 100 jmen? :-)
> Pro te prilezitosti me napadlo, ze by MySQL a databaze obecne mohly
> obsahovat funkci FIRST_FREE(), ktera by vratila z pole ID prvni neobsazene
> cislo, v uvedenem prikladu tedy 2 :-)
>
Ahoj, Peto.
Len tak z teoretickeho pohladu by som povedal ze je to nevhodna ukazka a
z principu na identifikaciu objektu by som nepouzil napriklad osobne
cislo. Je to sice plytvanie prostriedkami ale myslim, ze dnes sa tak moc
na nejaky bajtik nehladi.
Takze ja by som u zamestancov dal ID (nejake huge cislo zo sekvencie) a
Os.cislo, meno, priezvisko atd (ako normalne atributy ).
Je istejsie ked sa na identifikaciu (rozumiem tym spojovanie tabuliek
cez vztahy)pouziva nieco, comu som nepriradil ziaden iny vyznam.
Ale je pravde, ze je to potom zase menej pohodlne na rucne prehrabovanie
a narocnejsie na algoritmus. Takze i ja obcas volim kluce ktorych
hodnota ma vyznam, ale skorej u nejakych ciselnikov
('V'-'vyhodit','Z'-'Zastrelit', 'U'-'Uskrtit').
Ale nie u veci ktore sa mozu dynamicky menit (osoby, inventar atd)
--
Martin Kluvanek
ved.odd. vyvoje (head of development department)
TES s.r.o
Testovani Energetickych Systemu (Testing of Energetical Systems)
Prazska 597
674 01 Trebic
Czech republic
tel:568 8384 28 (+420 5688384 28)
fax:568 8384 27 (+420 5688384 27)
homepage: http://www.tesnet.cz
Další informace o konferenci Test