1 tabel of meerdere
Hoe ontwerp ik een mysql tabel hiervoor, kan dit met 1 tabel of heb ik er meerdere voor nodig.
Kan iemand mij hierover adviseren?
In dit geval heb je een zogenaamde 1-to-many relatie en zul je inderdaad gebruik moeten maken van een aparte tabel voor je beelden. Dus bijvoorbeeld:
beelden
---------
id
beeld
item_id
items
------
id
link
omschrijving
Hierbij is item_id uit de beelden tabel een foreign key op de items tabel. Zorg er dus voor dat je deze constraint ook opneemt in je database (hiervoor zul je de InnoDB engine van mysql moeten gebruiken).
Nu kun je dus in de beelden tabel meerdere beelden opslaan die bij een link horen. En tijdens het uitlezen van de items kun je ook de bijbehorende beelden ophalen.
Ondanks dat herhaal ik even op een andere manier het probleem, voordat ik verder in de technische kant duik.
Anders gezegd horizontaal heb ik van links naar rechts:
de links | de beelden (1 getoond) | de omschrijving. De andere beelden wil ik benaderen vanuit het beeld in het midden.
Ik hoop dat ik duidelijk ben waarom ik het herhaal, ik wil de probleemstelling helder hebben.
Is het nu ook het geval dat een beeld bij meerdere links kan horen, dan moet je een koppeltabel gebruiken. Je krijgt dan:
items
-------
id
link
omschrijving
beelden
---------
id
beeld
items_beelden
-----------------
id
item_id
beeld_id
Kijk ook eens naar deze tutorial over database normalisatie. Daar staat veel informatie in.
Nu ga ik mij de noodzakelijke technische kennis verwerven en duik de diepte in.