[PHP] database opzet voor producten

Pagina: 1
Acties:

Onderwerpen


  • daank
  • Registratie: Januari 2001
  • Laatst online: 21-09 12:56

daank

Internet _H3nk

Topicstarter
ik ben dus bezig met het opzetten van een database waar wij onze producten in kunnen plaatsen.
De producten zijn ingedeeld in verschillenden categorieen , sommige bestrijken meerdere categorieen.

Ik heb nu de volgende structuur

products.id
products.title
products.categories
products.covershot
products.price

categories.id
categories.catname

mijn idee was om in de products.categories , de categories.id's te plaatsen , en daar dan met een select query uit te selecteren.

gezien het feit dat er producten zijn die onder meerdere categorieen vallen , moet ik dus meerdere categories.id's in de products.categories plaatsen.
hoe kan ik daar dan het beste uit selecteren?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Waneer entitiet X aan meerdere entiteiten Y kan hangen, en entiteit Y aan meerdere entiteiten X kan hangen is er sprake van een N:M koppeling. Het is NIET de bedoeling om in een veld een array te gaan implementeren omdat je hier vervolgens op SQL niveau helemaal niks meer mee kunt. Normaal wordt dit opgelost door gebruik te maken van een koppeltabel met daarin een productId en een CategorieId.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • daank
  • Registratie: Januari 2001
  • Laatst online: 21-09 12:56

daank

Internet _H3nk

Topicstarter
hmmz .. zo een koppeltabel is inderdaad wel een goed idee ,

bedankt! :)

Acties:
  • 0 Henk 'm!

Verwijderd

Sommigen noemen dit normaliseren 101.

Misschien handig om eens de basisstappen van het normaliseren door te nemen voordat je meer tabellen ontwerpt. Een foute tabelstructuur wordt later een ramp om mee te werken.

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 22:05

pietje63

RTFM

In dit geval kun je er ook over denken om de categories tabel helemaal weg te laten aangezien deze uit niet zoveel info bestaat.. Dan zou de koppel tebal product id en categories name kunnen geven ipv id.

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 20:27

Standeman

Prutser 1e klasse

Misschien wil je nog meer info opslaan, namelijk:

artikelnummer
artikelnummer leverancier
artikelnummer fabrikant
inkoopprijs
verkoopprijs
instock
lange omschrijving
korte omschrijving

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 21-09 12:56

daank

Internet _H3nk

Topicstarter
--> Jan Klaassen
Bedankt voor de tip , heb je misschien ergens die basisstappen liggen? , google helpt me hier niet bij helaas :(

--> pietje63 & Standeman
Dit zou beter zijn ja , alleen heb ik hier een voorbeeld gegeven, er zijn nog meer velden in de tabellen ;)

Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 20:27

Standeman

Prutser 1e klasse

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 21-09 12:56

daank

Internet _H3nk

Topicstarter
wow nice ... i thank you _/-\o_

[ Voor 27% gewijzigd door daank op 25-02-2005 13:11 ]

Pagina: 1