repsac Nybegynder
26. november 2003 - 21:40 Der er 7 kommentarer og
1 løsning

Kommasepareret liste eller en ny tabel?

Tjaeh, et optimeringsspørgsmål.

Hvad er mest hensigtsmæssigt?

Jeg har to tabeller, een med brugere og een med -- lad os sige -- sko. Det skal nu være muligt at flere bruger deler samme par sko og at een bruger har flere par sko.

Hvad er så mest optimalt?
- udvide tabellen over brugerne med en "må-benytte-disse-sko" kolonne hvori der er en kommasepareret liste med skoId'erne
- lave en ny tabel med brugerId'en og skoId'en -- altså en række for hver "relation" mellem en sko og en bruger
- noget helt andet som jeg slet ikke har tænkt over?

Det skal siges at listen der i så fald skal gemmes i et felt skal opsplittes af PHP...


På forhånd tak for hjælpen.
erikjacobsen Professor
26. november 2003 - 21:42 #1
pind 2 er bedst
repsac Nybegynder
26. november 2003 - 21:48 #2
erikjacobsen: også mit umiddelbare bud, men det virker lidt omsonst, da det jo vil give mange rækker hvis mange brugere deler mange sko... Det giver jo det antal sko som hver bruger har (gennemsnitligt) gange flere rækker...

Den mest hyppige query der vil blive kørt er en kontrol af om en given brugerId og en given skoId har en relation -- altså om en given bruger har adgang til et givent par sko.
erikjacobsen Professor
26. november 2003 - 21:51 #3
Hvis du gør det som pind 2 kan du lave alle dine forespørgsler  og opdateringer i SQL.

Forestil dig dit besvær hvis du skal slette en sko i den kommaseparerede løsning...
repsac Nybegynder
26. november 2003 - 22:03 #4
erikjacobsen: jeg ved det, men skoene har særdeles sjældent brug for at blive slettet.

Nuvel, jeg tror jeg laver en ekstra tabel -- det må være den "smukkeste" løsning :-)

... på et tidspunkt må man undersøge en masse af sådanne optimerings-ting, eller måske bare lære noget generelt om databasestrukturer :-)

Mange tusind tak for dine input!

Post et svar og du er indehaveren af en lille sjat point mere :-)
erikjacobsen Professor
26. november 2003 - 22:09 #5
;) Du lyder ikke helt overbevist. Prøv google med "first normal form"
repsac Nybegynder
26. november 2003 - 22:20 #6
Mmmm, jeg er vist ved at være overbevist -- har set lyset, især i det øjemed at man skulle udvide funktionaliteten; det gør det væsentligt mere fleksibelt...

Du er den næstbedste overtaler, lige i hælene på google ;-)
erikjacobsen Professor
26. november 2003 - 22:21 #7
oookay, så tror jeg du får lov til at komme af med lidt point
repsac Nybegynder
26. november 2003 - 22:24 #8
Heh, jeg takker ydmygt :-)
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgne rundt om bygningen for at nå målsætningerne"
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgen rundt om bygningen for at nå målsætningerne."
Computerworld
Trump kræver pludselig ‘en masse penge’ for at godkende Microsofts køb af TikTok
Præsident Donald Trump siger, at USA skal have ‘en masse penge’, hvis Microsoft skal have grønt lys til at købe kinesiske TikTok. Kina truer med at svare igen.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Sådan opbevarer du effektivt og sikkert dine data – også med hybrid cloud
Cloud er her der og alle vegne. Men mange organisationer foretrækker en mere blandet tilgang, hvor dele af virksomhedens workload og it-miljøer sendes i clouden, mens andre dele placeres i andre og ofte lokale datacentre. Det stiller ofte mange forskelligartede krav til behovet for lokal storage. Men med IBM FlashSystem kan du konsolidere dit storage-behov og reducere kompleksiteten. Samtidig er FlashSystem all-flash og hybrid-løsninger bygget på et standardiseret sæt af værktøjer og APIs, som giver dig adgang til enterprise-løsninger uanset størrelsen på din organisation. I dette whitepaper fra Atea og IBM kan du læse om IBMs storeløsninger og de yderligere fordele som du kan opnå med dem.