[mysql] boeken meerdere categorie ids meegeven

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey,

als ik een boek een categorie id meegeef met een catid veld (int 11) dan is dat niet zo moeilijk, maar nu wil ik dat een boek in meerdere categorieeen kan zitten, dus bijvoorbeeld als je alle boeken met catid 1 pakt moet hij boek 2 pakken, maar als je alle boeken met catid 4 pakt moet hij boek 2 ook pakken..

nu zat ik zelf aan deze oplossing te denken, ik vraag me dus af of het de beste/snelste is:

ik gebruik voor het catid veld ipv een int11 een blob veld, en ik sla daar de cats zo op:
-1-4-

voor en na een catid zit altijd een -

Als ik nu alle boeken wil pakken met catid 1 dan voer ik een query uit met daarachter WHERE catid like '%-1-%'

Is dit de manier zoals jullie het ook zouden doen, of is er een betere?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

Dit is een typische N-M relatie.. Daar zijn al een aantal topics over geweest, en de juiste manier om dit in de db te zetten is met het gebruik van een koppel tabel. Deze tabel heeft twee velden: boek_id en cat_id, en beide velden samen vormen de primaire sleutel..

Wat jij nu probeert is al in strijd met de 1e normaal vorm :)

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


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Welkom in de relationele wereld :) .

Je moet een aparte tabel maken voor alle categorien:
-----------------
ID - Omschrijving.
-----------------
1 - MySQL
2 - Databases
-----------------

Daarnaast heb je een tabel voor je boeken:
-------------------
ID - Titel
-------------------
1 - Welkom in MySQL
-------------------

en een derde tabel geeft aan bij welke categorien een boek hoort:
--------------------
CategorieID - BoekID
--------------------
1 - 1
2 - 1
--------------------

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
ouch jezus, thnx voor het voor me kop meppen :)

ik ben echt vergeetachtig, ik heb die manier namelijk al behoorlijk vaak gebruikt in het verleden.....

hmmz :) waar gaat het heen met m'n hersens :)