Avatar billede trine_h Nybegynder
31. oktober 2004 - 13:35 Der er 17 kommentarer og
1 løsning

Spørgsmål ang. tabel struktur i varesystem

Jeg har en tabel med tøjvarer som hver har forskellige kendetegn - farve og størrelse. - Varerne skal lægge i forskellige varekategorier eks. bukser , trøjer mm. Samtidig skal systemet laves så generelt at jeg kan oprette nye varekategorier. For hver enkelt vare skal der også kunne vælges et antal kendetegn - eks. farver som er tilgængelige lige netop for dén vare - eks. polo tshirt fås i hvid, blå og sort en anden tshirt fås kun i hvid og sort osv.
Avatar billede arne_v Ekspert
31. oktober 2004 - 13:39 #1
Mit forslag:

kategori
--------
kategori_id
navn
beskrivelse

vare
----
vare_id
navn
kategori_id
beskrivelse

kendetegn
---------
vare_id
kendetegn_navn
kendetegn_værdi
Avatar billede trine_h Nybegynder
02. november 2004 - 13:42 #2
hej Arne - det skulle vare helst være sådan at flere varer kan benytte det samme kendetegn eks. "32x30" - hvis jeg forstår det rigtigt så kan et kendetegn kun tilhøre et vareid i din løsning - skal jeg så have et bindeled imellem vare og kendetegn?
Avatar billede arne_v Ekspert
02. november 2004 - 14:51 #3
I så fald skal vare_id ud af kendtegn og en seperat tabel til at sammenknytte
varer og kendetegn oprettes.

Men jeg er skeptisk overfor ideen !
Avatar billede trine_h Nybegynder
02. november 2004 - 15:36 #4
jeg kan godt se at det bliver lidt tungt - men der vil være rigtig mange bukser i eks. st. 32x32 som så skal oprettes for hver buks. Er det bedre at have én række for hver vare som så indeholder en kolonne med kommasepareret id på alle de størrelser den pågældende vare findes i end at have et antal rækker med en kolonne på størrelse id'et som alle peger på den samme vare?
Avatar billede arne_v Ekspert
02. november 2004 - 16:13 #5
Nej. Komma separeret list er et absolut no no.
Avatar billede arne_v Ekspert
02. november 2004 - 16:14 #6
Og jeg kan ikke rigtigt se pointen.

vareid + '32x30' er 9 bytes
vareid + kendetegnid er 8 bytes

og en ekstra join koster
Avatar billede trine_h Nybegynder
02. november 2004 - 18:05 #7
Brugerfladen skal være opbygget sådan at hvis en ny vare eks. bukser oprettes skal størrelse kunne vælges på følgende måde:
28x [ ] 30 [x] 32 [ ] 34
30x [x] 30 [x] 32 [x] 34
Hvor der så kan sættes kryds i de størrelseskombinationer som ønskes til den pågældende vare - så er jeg vel nødt til at have en ekstra tabel imellem varer og størrelser eller?
Avatar billede arne_v Ekspert
02. november 2004 - 18:06 #8
Ja. Når det er på den måde, så ja.
Avatar billede arne_v Ekspert
02. november 2004 - 18:07 #9
I dit tilfælde skal kendetegn tabellen vel så nærmest indeholde kategori_id, fordi
de valg muligheder der er afhænger af kategorien ?
Avatar billede arne_v Ekspert
02. november 2004 - 18:09 #10
Måske:

kategori
--------
kategori_id
navn
beskrivelse

vare
----
vare_id
navn
kategori_id
beskrivelse

kendetegn
---------
kendetegn_id
kategori_id
kendetegn_navn

varebeskrivelse
---------------
vare_id
kendetegn_id
kendetegn_værdi
Avatar billede trine_h Nybegynder
03. november 2004 - 12:45 #11
Skulle lige prøve at implementere det - fungerer rigtig godt - men har lige et spørgsmål skal kendetegn_navn så være eks. størrelse - og så går navnet størrelse igen på alle de poster der tilhører det kendetegn - eller skal man have en anden tabel som holder navnet på kendetegnet og så lade kendetegntabellen - have et foreign id som peger på det navn eller?
Avatar billede trine_h Nybegynder
03. november 2004 - 13:31 #12
prøver lige igen - hvis kendetegn_navn (kendetegn tabellen) holder eks. 32x30 og kendetegn_værdi (varebeskrivelse) holder "størrelse". kommer kendetegnværdien "størrelse" så ikke til at gå igen mange gange. Skal man så have en anden tabel med "kendetegnnavnet - eks. "størrelse" + id og så pege på det med et foreign id fra varebeskrivelse tabellen?
Avatar billede arne_v Ekspert
03. november 2004 - 16:47 #13
Det er kendetegn_navn som er 'størrelse'.

kategori
1  bukser  ......

vare
1  lewis    1    ...
2  noname  1    ...

kendetegn
1  1    størrelse
2  1    farve

varebeskrivelse
1    1    32x32
1    1    34x34
1    2    blå
1    2    sort
2    1    32x32
2    2    blå
Avatar billede trine_h Nybegynder
03. november 2004 - 17:40 #14
fik byttet lidt rundt på tingene :) det eneste problem er at slutbrugeren helt overordnet skal kunne føje nye størrelser til eks. 34x36 - og når en ny vare oprettes skal denne størrelse kunne vælges for denne vare. for mig at se kan det ikke lade sig gøre med den struktur - idet du er nødt til at oprette en eks. størrelse 34x36 for hver vare. - Hvordan kan det lade sig gøre?
Avatar billede arne_v Ekspert
03. november 2004 - 20:16 #15
Det er korrekt. Det håndterer min struktur ikke.

Måske:

kategori
--------
kategori_id
navn
beskrivelse

vare
----
vare_id
navn
kategori_id
beskrivelse

kendetegn
---------
kendetegn_id
kategori_id
kendetegn_navn

valideværdier
-------------
værdi_id
kendetegn_id
værdi

varebeskrivelse
---------------
vare_id
værdi_id
Avatar billede trine_h Nybegynder
04. november 2004 - 12:10 #16
Hej Arne - det fungerer rigtig godt -  læg et svar selvfølgelig og tak for det..
Avatar billede trine_h Nybegynder
04. november 2004 - 12:11 #17
Hvis du mener der er et problem i en sådan struktur skal du endelig sige det...
Avatar billede arne_v Ekspert
04. november 2004 - 16:28 #18
svar
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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