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