Dynamisk database layout?

Tags:    mysql

Hej alle sammen.

Okay lad os sige jeg skal lave en database der kan bruges til at sælge alt..
telefoner, tv, biler, fly, cykler - ja alt.
kun selve vare tabellerne, ik en hel webshop vi er ude i her..

kunne godt bruge lidt inputs til hvordan i ville bygge sådan en struktur op, for at få lidt inspiration og fornyet tankegang.

håber på nogen interessante forslag og/eller idéer




8 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Lav en tabel der hedder itemtags som har følgende to kolonner:

varenummer (key)
tag

Når du så opretter en vare, har du et varekartotek med et varenummer og x antal tags til en vare (f.eks. husholdningsapperat, elektronik, tv, blender, etc.) og når der så søges på en vare, søger du i både varekartotekets beskrivelse og i itemtags







product tabel. id, navn, beskrivelse, pris og en FK til en kategori
categories tabel. id, navn, beskrivelse
users tabel, id, username, password, navn, email osv
purchases tabel, productid fk, user fk, price

noget i den stil ..



Tænke mere på hvordan man lavet alle properties på varen smartest, så man kunne søge i dem, etc et tv og en bil har ikke samme egenskaber.

så det skal dele ud i nogen flere tabeller.

skulle nok ha forklaret mig lidt bedre :)

sådan lige hurtigt, noget i den her stil..
Fold kodeboks ind/udSQL kode 




Indlæg senest redigeret d. 11.09.2011 19:41 af Bruger #3427
Tja bliver kompliceret, når du har så mange forskellige varer. Jeg ville af nemheds skyld vælge en række fælles ting indenfor kategorien, så hver kategori, har forskellige egenskaber tilknyttet. Så en bil kategori har 'fabrikant', 'antal døre' osv.. det bliver alt efter hvad du vil meget hurtig rigtig omstændig.



Go' ide, så længe du ikke vil lave sammenlignings muligheder.



Hej alle sammen.

Okay lad os sige jeg skal lave en database der kan bruges til at sælge alt..
telefoner, tv, biler, fly, cykler - ja alt.
kun selve vare tabellerne, ik en hel webshop vi er ude i her..

kunne godt bruge lidt inputs til hvordan i ville bygge sådan en struktur op, for at få lidt inspiration og fornyet tankegang.

håber på nogen interessante forslag og/eller idéer


Det er almindelig normalisering. Som "den rigtige" Brian (åbanbart :-)) er inde på. Men du skal lidt mere end det. Du skal have en key/value tabel.

Dynamiske Attributter Tabel
----------------------------
produktid (samme datatype som din pk i produkt)
attributNavn (nvarchar)
attributværdi (nvarhar)
sortering (int) <-- valgfri men du kommer sikkert til at bruge den

Det betyder at du vil få indhold der ser således ud:

Fold kodeboks ind/udKode 


Når du så skal have alle dine dynamiske attributter ud for produkt med nummer 1 laver du noget som dette

select * from [dynamisk tabel] where produktid = 1 order by sortering

Giver det mening?




Drop boks-figuren af et fastsat database skema, overvej en NoSQL database som MongoDB, den virker som en god løsningsmodel på dit problem.



Hej alle sammen.

Okay lad os sige jeg skal lave en database der kan bruges til at sælge alt..
telefoner, tv, biler, fly, cykler - ja alt.
kun selve vare tabellerne, ik en hel webshop vi er ude i her..

kunne godt bruge lidt inputs til hvordan i ville bygge sådan en struktur op, for at få lidt inspiration og fornyet tankegang.

håber på nogen interessante forslag og/eller idéer


Det er almindelig normalisering. Som "den rigtige" Brian (åbanbart :-)) er inde på. Men du skal lidt mere end det. Du skal have en key/value tabel.

Dynamiske Attributter Tabel
----------------------------
produktid (samme datatype som din pk i produkt)
attributNavn (nvarchar)
attributværdi (nvarhar)
sortering (int) <-- valgfri men du kommer sikkert til at bruge den

Det betyder at du vil få indhold der ser således ud:

Fold kodeboks ind/udKode 


Når du så skal have alle dine dynamiske attributter ud for produkt med nummer 1 laver du noget som dette

select * from [dynamisk tabel] where produktid = 1 order by sortering

Giver det mening?


mindre også meget om det jeg skrev i min post tidligere :)
Fold kodeboks ind/udSQL kode 


Drop boks-figuren af et fastsat database skema, overvej en NoSQL database som MongoDB, den virker som en god løsningsmodel på dit problem.

vil jeg lige kigge lidt på.



t