<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Giovanni Porcari:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":3gc" class="" style="overflow:hidden">Laddove non ci sia una chiave naturale assolutamente univoca e immutabile,<br>
(ad esempio in una tabella di elementi la chiave 'K' identifica benissimo<br>
il potassio)noi usiamo sempre un id di 22 caratteri univoco basato su uuid.<br>
La ragione per cui non usiamo un seriale è che nel caso si debbano unire i<br>
dati di tabelle provenienti da sistemi diversi la probabilità di avere<br>
duplicati è irrisoria. Nel caso invece di un serial si è costretti a<br>
assegnare nuovamente l'id ai record importati e se l'import riguarda anche<br>
tabelle in relazione il problema non è banalissimo.<br>
Non credo che in termini di velocità sulle macchine moderne le prestazioni<br>
per accedere ad un btree siano in qualche modo un problema mentre la<br>
trasportabilità dei grappoli di tabelle è un vantaggio notevole.</div></blockquote></div><br><div><div>ottima tecnica, prevenire è meglio che curare :-)</div></div><div>però per le performance... non sono d'accordo gli interi sono più rapidi e quando hai (migliaia di) milioni di record te ne accorgi.</div><div><br></div><div><br></div><div>Per chi diceva chiave naturale è sempre meglio di un intero, NI.</div><div>Il codice fiscale è l'esempio. Usato per i dipendenti, è sbagliato. Usato per le persone fisiche, ok. Ma come prevenire un inserimento errato? capita capita, soprattutto per quelli che sono hanno il CF come eccezione, poi va a ripristinare un codice fiscale sbagliato in un db complesso :-)</div><div>PS ma matricola del dipendente come chiave dei dipendenti? se fosse una sola azienda forse, ma se poi per qualche ragione si dovesse ripartire con la numerazione? ok p probabile che debba cambiare anche l'azienda.... o mio dio ce ne scampi e liberi.. per essere liberi la chiave non deve centrare nulla con il business. Perché tutto quello che credevi di sapere, "sallo" che non lo sai. :-)</div>
</div></div>