Hello Roger,
ObjectPtr LINK is alternative to Primary Key+Foreign Key scheme.
I attached a link to article which describes ObjectPtr.
Here's an example database:
CREATE TABLE "Person"(
"FirstName" VARCHAR ( 2044 ) );
CREATE TABLE "Phone"(
"Number" VARCHAR ( 2044 ),
"Person_ptr" OBJECTPTR CONSTRAINT "lnk_Person_Phone"
REFERENCES "Person"
ON DELETE RESTRICT INDEXED );
INSERT INTO "Person" ("FirstName") VALUES ('Robert');
INSERT INTO "Person" ("FirstName") VALUES ('Brian');
INSERT INTO "Person" ("FirstName") VALUES ('John');
INSERT INTO "Person" ("FirstName") VALUES ('Peter');
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('1111', 1);
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('2222', 3);
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('3333', 1);
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('4444', 2);
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('5555', NULL);
INSERT INTO "Phone" ("Number", "Person_ptr") VALUES ('6666', NULL);
A few examples of JOIN queries on this link:
-- Ordinary JOIN
SELECT * FROM Person JOIN Phone ON Person.RecID = Phone.Person_ptr;
-- JOIN ON link
SELECT * FROM Person JOIN Phone ON lnk_Person_Phone;
-- There is only one link, so no need to specify it
SELECT * FROM Person JOIN Phone;
-- Operator -> on ObjectPtr field Person_ptr allows writing queries even without JOIN
SELECT Person_ptr->FirstName, Number FROM Phone;