Borde repræsentere forretningsforbindelser/foreninger. De "relationer[skib]" du nævner er FK'er (fremmednøgler), og som ikke er nødvendige for at forespørge. De angiver, at underrækkeværdier for nogle kolonner også skal være underrækkeværdier for nogle nøglekolonner. Det, der skal til, er at vide, hvad en række siger om den aktuelle forretningssituation, når den er i en tabel. (Som, givet hvilke situationer der opstår, bestemmer FK'erne og andre begrænsninger.)
Fra Påkrævet for at deltage i 2 borde med deres FK'er i en 3. tabel :
Så givet
-- rows where product [id_product] is supplied by [id_supplier] ...
ps_product(id_product, id_supplier, ...)
-- rows where carrier [id_carrier] has reference [id_reference] ...
ps_carrier(id_carrier, id_reference, ....)
vi skriver
ps_product s
JOIN ...
ON s.id_product = ...
...
JOIN ps_carrier c
ON ... = id_carrier
WHERE ...
for at få rækker hvor
product [p.id_product] is supplied by [p.id_supplier] ...
AND ...
AND s.id_product = ...
...
AND carrier [c.id_carrier] has reference [c.id_reference] ...
AND ... = id_carrier
AND ...
Du skal kende dine tabellers prædikater og derefter JOIN tabeller ON eller WHERE betingelser, så det resulterende prædikat er for de rækker, du vil have tilbage.