Antag at du har 3 tabeller (opstiller en simpel produktløsning), med x-antal felter:
productz
-id
-name
-active
-textbitz
imagez
-id
-url
textbitz
-id
-content
For hver række i productz er der en tilsvarende række i textbitz. Disse to tabeller hænger sammen via felterne: productz.textbitz = textbitz.id. Dette er en "en-til-mange"-relation. Dette kan skrives ved:
SELECT productz.name, textbitz.content FROM productz, textbitz WHERE productz.textbitz = textbitz.id
For at lave en "mange-til-mange"-relation er man nød til at have en mellemtabel. Her laves den imellem productz og imagez, da man jo sagtens kan have flere billeder tilknyttet til en vare. Felterne i denne tabel relaterere så til id'et i de pågældende tabeller.
productz_imagez
-productz
-imagez
Linket mellem dem kan skrives ved:
"SELECT productz.name, imagez.filename FROM productz,imagez WHERE productz.id = productz_imagez.productz AND productz_imagez.imagez = imagez.id".
Bemærk, at jeg bruger et specialtegn("z") for at kende forskel på alm. felter og relations-felter.
Mange-til-mange relationer er virkelig langhåret.
Så er der noget der hedder "foreign keys", men det har jeg ikke styr på. Det skulle dog gerne gå ud på det samme.
Håber det kan hjælpe dig lidt...