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
ERP-veteranen Herbert Nathan forlader Devoteam og går solo … igen
Danmarks ukronede ERP-konge Herbert Nathan med omkring 400 ERP-projekter bag sig, går solo igen. Den første november stopper han hos Devoteam og åbner butik for uvildig strategisk rådgivning i eget regi - blandt andet.
Computerworld
Det nye MitID er et tigerspring for bedre cybersikkerhed
Klumme: Det nye MitID er en enestående mulighed for et markant løft af it-sikkerheden i danske kommuner. Med baggrund i udfasningen af det nuværende NemID kan de samtidig forbedre og styrke deres it-systemers værn overfor cyberangreb.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
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.