Avatar billede netro Nybegynder
27. februar 2008 - 09:42 Der er 7 kommentarer

Databasestruktur ifm. ordrelinjer

Hvordan opbygges databasen typisk, hvis man gerne vil kunne bestille forskellige typer produkter?

Lad os sige jeg har en ordre med et tilhørende antal ordrelinjer. Hver ordrelinje skal repræsentere fx en cykel eller en kummefryser. Altså to helt forskellige objekter, som jeg umiddelbart ville lægge i hver deres tabel.

Hvordan kan referencen mellem ordrelinjer og produkter se ud?
Avatar billede i910ativ Nybegynder
27. februar 2008 - 10:53 #1
jeg ville, ud fra ovennævnte beskrivelse, lave en samlet produkt-tabel, med en kolonne til produktgruppe-id som henviser til en tabel over de forskellige produktgrupper og så en kolonne på ordrelinietabellen til produkt-id

tblProduktgrupper
-----------------
ProduktgruppeID | Produktgruppenavn
---------------------------------------
1 | Cykler
2 | Hvidevarer


tblProdukter
---------------
ProduktID | ProduktGruppeID | Navn,pris,osv,osv....
--------------------------------------------------
875 | 1 | Centurion 3-hjuler........
6698 | 2 | Gram kummefryser 4000 liter .....


Odrelinier
---------------
ID | OrdreID |  ProduktID | øvrige ordrelinie-kolonner
--------------------------------------------------------
7777 | 2423 | 875 | ........
7778 | 2423 | 6698 | .......
Avatar billede i910ativ Nybegynder
27. februar 2008 - 10:58 #2
hvis du vil have produkter i hver sin tabel afhængig af produktgruppe, kunne det måske gøres som

tblProduktgrupper
-----------------
ProduktgruppeID | Produktgruppenavn
---------------------------------------
1 | Cykler
2 | Hvidevarer


tblProdukter1
---------------
ProduktID | Navn,pris,osv,osv....
--------------------------------------------------
1 | Centurion 3-hjuler........
2 | Raleigh mormorcykel


tblProdukter2
---------------
ProduktID | Navn,pris,osv,osv....
--------------------------------------------------
1 | Gram køleskab
2 | SMEG komfur


Odrelinier
---------------
ID | OrdreID |  ProduktID | ProduktgruppeID | øvrige ordrelinie-kolonner
--------------------------------------------------------
7777 | 2423 | 2 | 1 | ........
7778 | 2423 | 2 | 2 | .......
Avatar billede netro Nybegynder
27. februar 2008 - 11:02 #3
Mit spørgsmål gik primært på, at der vil være en masse specifikke oplysninger til hver produkttype. Fx. skal der ikke angives strømforbrug til en cykel og baglygte til en fryser.
Avatar billede netro Nybegynder
27. februar 2008 - 11:04 #4
Ja, det var sådan jeg mente. Men er det i orden, at ProduktID i Ordrelinjer kan referere til to forskellige tabeller?
Avatar billede netro Nybegynder
27. februar 2008 - 11:05 #5
Men det mener jeg, hvordan jeg fx kan styre relationships i basen?
Avatar billede i910ativ Nybegynder
27. februar 2008 - 11:09 #6
tjah, man kan vel kalde sige at produktidentifikationen i ordrelinien er sammensat af produktgruppeID og produktID (som nu pludselig er et lidt misvisende navn, da det jo ikke alene identificerer et produkt)
Avatar billede netro Nybegynder
02. marts 2008 - 21:02 #7
Jo, men er det sådan man plejer at lave det? Jeg kan se, at det vil virke, men bryder mig ikke så meget om, at ProduktID kan referere til flere forskellige tabeller.
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