Avatar billede netro Nybegynder
04. juni 2009 - 10:50 Der er 3 kommentarer og
1 løsning

Databasedesign med forskellige produkttyper

Jeg er ved at designe en database, der har to forskellige produkttyper; kurser og bøger.

Pt. ligger de i hver deres tabel:

Kurser
- Antal pladser
- Mad inkluderet
- ...

Bøger
- Forfatter
- Antal sider
- ...

Tabellerne er ret forskellige, og andre tabeller refererer til kursus-tabellen med info om afholdelsesdatoer/steder, materiale etc.

Det korte af det lange er, at jeg gerne så disse to tabeller kombineret ifm. et e-com-system, så det fx er nok bare at sætte et produkt-id i ordre-linje-tabellen.

Men hvordan er det smartest at gøre?
Avatar billede keysersoze Guru
04. juni 2009 - 11:01 #1
Der er ikke nødvendigvis én rigtig måde at gøre det på - men to forslag kunne være følgende;

Alle produkter må have noget til fælles - fx id, navn, bekrivelse, pris, tilbudspris osv og disse lægges i en produkt-tabel. Ved siden af denne tabel laves to tabeller med hver sine specifikke oplysninger til hver kategori. Dette vil være en let tilgang som det ser ud her og nu - men det vil også betyde ændringer i databasen ved tilgang af en ny kategori eller felttype.

Det andet forslag ligner lidt i og med du stadig vil have en produkttabel med de data der altid er til stede på et produkt, men udover det er resten dynamisk. Ved siden af produkttabellen har du en tabel med kategorier, en tabel med felttyper (fx forfatter, antal pladser og antal sider), en tabel med produktfeltdata (som binder et produkt sammen med 0, 1 eller flere felttyper samt værdien dertil) og eventuelt en tabel der binder kategorier og felttyper sammen så du er sikker på der kun kan vælges felttyper til et produkt ud fra et defineret mønster.
Avatar billede fennec Nybegynder
04. juni 2009 - 11:04 #2
Lave en 3 tabel som du kalder produktID. Den består af 3 kolonner.
ID, kursusID, bookID

Har gemmer du så KursusId'et eller bogID'et også kan du join vidre derfra.
Avatar billede keysersoze Guru
18. september 2009 - 22:34 #3
lukketid?
Avatar billede netro Nybegynder
19. september 2009 - 00:05 #4
Yep - tak for det.
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