Pozdrav,
Imam par pitanja u vezi dizajna baze, brzine odziva (sql) i AutoNumber PK.
Pretpostavimo da u nekom posmatranom sistemu imam 'hijerarhijsku' strukturu,
pa PK za podredjenu tabelu pravim od celog PK nadređene tabele, sa dodatkom
nekog novog atributa koji dovodi do jedinstvenosti sloga u podređenom entitetu,
i tako nekoliko nivoa, mozda 8. (nije bas sve tako pravolinijski, ali generalno
jeste cista hijerarhija).
Neke od hijerarhijski najvisih tabela imaju 'savrsene' kandidate za PK, recimo:
naziv drzave, naziv pasmine (rase psa), itd.
Medjutim, naziv pasmine je relativno dugacak string, i on bi se kroz hijerarhiju
formiranja PK u podredjenim entitetima stalno provlacio. Da ne pominjem i druge
relativno dugacke stringove koji se kombinuju sa prethodnim, takodje dugackim.
Stoga, odlucio sam se da ipak PK svuda bude AutoNumber, a da ti 'savrseni' kandidati
za PK budu samo No Duplicates, i nista vise.
Velicina baze se znacajno smanjila, pretpostavljam zbog manjih indeksnih datoteka,
koje je lakse odrzavati zbog prirode zapisa brojeva nasuprot stringovima.
Ostala mi je jos samo jedna nedoumica, šta se dogadja sa brzinom odziva nakon nekog
SQL upita u ovako projektovanoj bazi (sa AutoNumberima umesto Stringovima)?
Nisam mogao sam da isprobam zbog neadekvatnog broja podataka, ali zdrav razum mi
govori da je opet lakse (brze) izvrsiti sortiranje brojeva nego stringova gde ima
vise procesorskog rada...
Sta biste vi uradili u ovom slucaju, tj. sta bi bilo ZA a sta PROTIV ovakve moje
odluke?
Imam par pitanja u vezi dizajna baze, brzine odziva (sql) i AutoNumber PK.
Pretpostavimo da u nekom posmatranom sistemu imam 'hijerarhijsku' strukturu,
pa PK za podredjenu tabelu pravim od celog PK nadređene tabele, sa dodatkom
nekog novog atributa koji dovodi do jedinstvenosti sloga u podređenom entitetu,
i tako nekoliko nivoa, mozda 8. (nije bas sve tako pravolinijski, ali generalno
jeste cista hijerarhija).
Neke od hijerarhijski najvisih tabela imaju 'savrsene' kandidate za PK, recimo:
naziv drzave, naziv pasmine (rase psa), itd.
Medjutim, naziv pasmine je relativno dugacak string, i on bi se kroz hijerarhiju
formiranja PK u podredjenim entitetima stalno provlacio. Da ne pominjem i druge
relativno dugacke stringove koji se kombinuju sa prethodnim, takodje dugackim.
Stoga, odlucio sam se da ipak PK svuda bude AutoNumber, a da ti 'savrseni' kandidati
za PK budu samo No Duplicates, i nista vise.
Velicina baze se znacajno smanjila, pretpostavljam zbog manjih indeksnih datoteka,
koje je lakse odrzavati zbog prirode zapisa brojeva nasuprot stringovima.
Ostala mi je jos samo jedna nedoumica, šta se dogadja sa brzinom odziva nakon nekog
SQL upita u ovako projektovanoj bazi (sa AutoNumberima umesto Stringovima)?
Nisam mogao sam da isprobam zbog neadekvatnog broja podataka, ali zdrav razum mi
govori da je opet lakse (brze) izvrsiti sortiranje brojeva nego stringova gde ima
vise procesorskog rada...
Sta biste vi uradili u ovom slucaju, tj. sta bi bilo ZA a sta PROTIV ovakve moje
odluke?