Du ser ud til at have misforstået specifikationerne. En vare bringes til et UPS-detailcenter og sendes derefter til en destination. Men lad os overveje det ternære forhold, at en afsendt vare tager en transportbegivenhed for at nå en bestemt destination .
Det er et af mange tænkelige forhold på disse tre enheder.
Ja det gør. Men det ternære forhold kan udtrykkes i form af disse binære diagramforhold. (Og ikke omvendt.)
Hver tabel - basisvariabel eller forespørgselsresultat - indeholder rækker, der deltager i en bestemt relation. Vi kan karakterisere forholdet ved et prædikat --en erklæringsskabelon parametriseret af attributter.
En tabel indeholder de rækker, hvis værdier for attributter giver et sandt udsagn fra sit prædikat. Prædikatet for en grundvariabel er givet af DBA.
-- shipped item ItemNumber is received by retail center UniqueId
SELECT * FROM ReceivedFrom
-- shipped item ItemNumber takes transportation event ScheduleNumber
SELECT * FROM ShippedVia
Prædikatet for et forespørgselsudtryk er bygget ud fra dets operatorer og argumenter. F.eks. er prædikatet for den NATURLIGE JOIN af to tabeller OG for tabellernes prædikater.
-- shipped item ItemNumber is received by retail center UniqueId
and takes transportation event ScheduleNumber
SELECT * FROM ReceivedFrom NATURAL JOIN ShippedVia
Selvfølgelig er din særlige opfattelse af det ternære forhold muligvis ikke denne nøjagtige forespørgsel/tabel. Men en praktisk UPS-database ville have tabeller for de grundlæggende relationer, som enhver relevant relation kan udtrykkes i forhold til.
(Normalisering opdeler prædikater af formen "... OG ..." i separate prædikater for "...", når det er muligt og nyttigt; den oprindelige tabel er givet tilbage af komponenternes JOIN.)