Jump to content
php.lv forumi

viena primary key vs. daudzas primary key


codez

Recommended Posts

Tieši tā, visu šo konstrukciju (identity, autoincrement, sequence) galvenā jēga ir ģenerēt UNIKĀLAS vērtības. Tas, ka tās tiek ģenerētas pēc kārtas parasti palielinot par 1 (BTW vairumā gadījumu to var modificēt un reizēm pat to ļoti vajag) ir blakus efekts un nekādā ziņā nekad nevajadzētu mēģināt šādā veidā iegūt skaitļus, kas palielinās par 1 un ir bez caurumiem.

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

Nu es tā neteiktu. Tātad pirmkārt arī dabiskā veidā vienu objektu var unikāli identificēt vairākos veidos, piemēram, personu

1) pēc personas koda,

2) vārda, uzvārda, dzimšanas datuma un dzīvesvietas.

Tātad ja kādā sistēmā veidos personu tabulu ar ģenerētu id, tad UK uz personas kodu neveidos? Tad pastāv risks, ka kāds ieplēsīs divus tādus. Atceramies, ka ierobežojumiem un tiem atbilstošiem indeksiem ir 2 veidu funkcijas:

1) nodrošināt potenciāli labāku ātrdarbību

2) nodrošināt datu integritāti, piemēram, to, ka noteiktā(-s) kolonā(-s) dati ir unikāli. Un dažkārt var gadīties, ka šim gadījumam no ātrdarbības viedokļa nav jēgas, bet datu pareizības ir. Un tad lielajā vairumā gadījumu, tā ir svarīgāka.

Ar personu slikts piemers. Un manuprat datu integritate stav primaja vieta.

Tapec, es balsoju par naturalam atslegam. Jo viņi labak attelo datu dabu. Un tadejadi var uzbuvet pareizaku datu strukturu, kas ir kritiski.

 

Atrdarbiba manuprat visparigi ir parsverta CS pasaule. Datori paliek atrakie un atrakie un mes šeit nerisinam NP uzdevumus.

Ir daudzas ļoti labas tahnikas ka panak DB atrako darbibu ja vajag. Šaja konkreta gadijuma - denormalizacija.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...