[Database] Ontwerp probleem

Pagina: 1
Acties:

  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik ben bezig met een prijs-vergelijk gedeelte voor een site.

Er zijn dus product categorieen. Daaronder hangen dus de producten uit die categorie.

Nu is het probleem dat meerdere leveranciers een product kunnen leveren en dus verschillende prijzen kunnen hanteren.

Hoe kan ik dat het beste vertalen naar een database structuur?

Ik heb de volgende structuur bedacht:

Tabelnaam: T_CAT
===============
[R_ID] [ R_CAT ]
| 1 | | categorie|

Tabelnaam: T_PRODUCTS
===============
[P_ID] [C_ID] [ P_NAME ] [ P_DESC ]
| 1 | | 1 | | Product naam | | Product info |

Tabelnaam: T_SUPPLIERS
===============
[S_ID] [ S_NAME ]
| 1 | | Leverancier |

Ik dacht zelf al bedacht dat ik voor elke leverancier een product plaats in de tabel T_PRODUCTS maarja, dan wordt het op den duur een onwijs grote tabel.

Specs


  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10-2025

WhizzCat

www.lichtsignaal.nl

Misschien moet je eerst een tekening van een schermpje maken en dat gaan normaliseren, dan heb je een goede database. D'r zijn een heel aantal boeken te krijgen waarin dat heel goed wordt uitgelegd :)

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Je hebt in principe nog: meerdere leveranciers hebben meerdere producten, dus zou ik nog een vierde (koppel)tabel aanmaken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

idd. moet je normaliseren..

Maar je moet dan natuurlijk wel de leveranciers de mogelijkheid geen om een nieuw product toe te voegen aan de lookup-database.

dus zeg maar:
code:
1
2
3
Product ID 1 - AMD Athlon XP 1800+
Product ID 2 - AMD Athlon XP 1900+
Product ID 3 - AMD Athlon XP 2000+
en dan heb je in de database alleen nog maar in de kolom het Product ID nummer staan. Dus 1, 2 of 3... :)

  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik heb al een tekening voor me liggen met relaties etc. maarja beetje moeilijk om dat te plaatsen. Ik dacht ook aan een derde tabel maar ik kom er niet goed uit hoe die eruit moet komen te zien ook in relatie tot de overige tabellen.

Als jullie willen kan ik mijn tekening even uitwerken in photoshop en hem posten.

Ik ben niet dagelijks bezig met dit soort dingen.

Specs


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik heb dus dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Tabelnaam: T_CAT
===============
[R_ID] [   R_CAT    ]
|   1  | | categorie  |

Tabelnaam: T_PRODUCTS
===============
[P_ID] [C_ID] [     P_NAME      ] [    P_DESC    ] 
|  1    | | 1    | | Product naam | | Product info |

Tabelnaam: T_SUPPLIERS
===============
[S_ID] [    S_NAME   ] 
|   1   | | Leverancier |


Als ik de volgende tabel er nou eens bij maak:

code:
1
2
3
4
Tabelnaam: T_COLLECT
===============
[C_ID] [S_ID] [ P_ID ] [  C_PRICE  ] 
|  1    | | 1    | |    1    | |      235,-   |


Ik verzamel dan alles in één tabel.

Ik maak dan de volgende relaties:

T_CAT: R_ID 1:1 T_PRODUCTS: C_ID
T_PRODUCTS: P_ID N:M T_COLLECT: P_ID
T_SUPPLIER: S_ID N:M T_COLLECT: S_ID

Is dit wat?? Of maak ik een denkfout??

Edit> hmmm, het ziet er niet uit als het gepost is. Ik hoop toch dat het duidelijk is.

Specs


Verwijderd

is niet echt duidelijk nee, maak maar ff een screenshotje ofzo :)

  • Qwerty-273
  • Registratie: Oktober 2001
  • Laatst online: 28-08 16:17

Qwerty-273

Meukposter

***** ***

Dus om even terug te komen.. je hebt dan dus meerder producten met het zelfde P_ID :?

Anders als elk product een uniek P_ID heeft dan is het 'simpel'

Dus de volgende tabellen:

T_CAT
R-ID
R_CAT

T_Products
P_ID
C_ID
P_Name
P_DESC

T_SUPPLIERS
S_ID
S_NAME

T_COLLECT
P_ID
S_ID
C_PRICE


vet is tabel naam
onderstreept = key
schuin is forgein key

Erzsébet Bathory | Strajk Kobiet | You can lose hope in leaders, but never lose hope in the future.


  • Qwerty-273
  • Registratie: Oktober 2001
  • Laatst online: 28-08 16:17

Qwerty-273

Meukposter

***** ***

en dan de volgende relaties (in mijn model dan met een uniek P_ID he ;) )

T_CAT.R_ID ...1:N... T_Products.C_ID
(dus product heeft 1 categorie.. en categorie kan meerdere producten hebben

T_COLLECT.P_ID ...N:M... T_Products.P_ID
T_COLLECT.S_ID ...N:M... T_SUPPLIERS.S_ID

Dus supplier kan meerder producten hebben en producdten kunnen door verschillende sups worden geleverd ;)

puntjes om wat ruimte te maken

Erzsébet Bathory | Strajk Kobiet | You can lose hope in leaders, but never lose hope in the future.


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Dat ziet er goed uit!!! Ik ga het even uitwerken tot een praktijksituatie in photoshop en zal hem zo even plaatsen.

Edit>

Zow. Even uitgewerkt.

Afbeeldingslocatie: http://www.probetrading.com/tweakers/prijsvergelijk.bmp

Ik ga maar eens ff aan de slag :)

Mensen _/-\o_

Specs

Pagina: 1