27. maj 2006 - 00:59Der er
7 kommentarer og 1 løsning
Database design
Hej Eksperter,
Jeg står og skal i gang med et større hobbyprojekt i form af en prisdatabase. Problemet ligger omkring hvordan produkterne skal gemmes i databasen. Prisdatabasen skal indeholde mange forskellige produktyper, f.eks mad, drikke, tøj og maskiner(f.eks rystepudser, skruemaskine mm). Disse vidt forskellige produkter har jo en masse forskellige egenskaber, så i forsøg på at hente inspiration har jeg været forbi EDBpriser.dk, som jo også har en masse forskellige produkter. Jeg kan ikke gennemskue om edbpriser.dk bruger specialprogrammerede sider til søgning/visning, eller om de har brugt en mere fleksibel metode. Giv et bud :-)
Skulle måske lige nævne at det er til sql server 2005
Synes godt om
Slettet bruger
28. maj 2006 - 07:51#2
En model er at du definerer dine produkter ved hjælp af attributter. Som gemmer dine priser og andre produkt oplysninger i form at produkt type og attributter. Problemet ved denne model er at nok er den meget fleksibel men den kan også være relativt dyr at søge i, men det er nok den eneste vej frem da det ikke virker realistisk at skulle have tabeller til forskellige typer og ej hellere forsøge at definerer en generisk fælles mængde, som giver mening på tværs af alle produkt typer.
Så bedste bud fra min side må være at du laver en model hvor du kan beskrive et produkt med attributter og gemmer produkter med produkt type og antallet af attributter med værdier.
Dvs noget i stil med en tabel med de generelle stamdata, og så en tabel med attributtype (navn og datatype), og så selve værdien ? En generel attributtabel, skal indeholde attributter af forskellige typer, f.eks int, varchar float og datetime. Nogen forslag til hvordan jeg stykker sådan en sammen ?
Synes godt om
Slettet bruger
28. maj 2006 - 11:02#4
Umiddelbart ville jeg foreslå en tabel med en kolonne til hver af de datatyper du skal bruge.
Synes godt om
Slettet bruger
28. maj 2006 - 11:04#5
Dybest set kan det vel koges ned til en tabel med 3 kolonner
- Decimal, for numeriske data. - Datetime, for dato information. - Varchar, for alle tekster.
Løsningen med éen tabel med tre kolonner kommer til at medføre en helvedes masse joins ( 1 for hver property jeg skal registrere). Så jeg prøver at lave et andet desgin, smid et svar kryptos så kan du få lidt point for dit forslag
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.