What Is FileMaker Anchor / Buoy Relational Design?

From Dwayne Wright PMP
Certified FileMaker Developer

WEB: www.dwaynewright.com
EMAIL: info@dwaynewright.com
TWITTER: dwaynewright
YOUTUBE: FileMakerThoughts

Please Note: If you are viewing this page in a news feeder, the images may get munged up a bit. For the best experience, please visit the journal directly by clicking (here).

You might not know it or you might know it all too well, FileMaker layouts are linked to a defined table occurrence in the relationship graph. Please note that I said a table occurrence and not a table, although by default the occurrence is linked to a source table.

When you create a new table in FileMaker, a new occurrence of the table is automatically added to the Relational Graph. By default, you might then start linking it up to other table occurrences and move forward in your project. I don’t know the official name for linking like this but I am beginning to call this free form relational design. Other names might include the Spider method or the Spaghetti method, indicating all the cross flowing lines in the relationship graph begin to look like spider webs or a plate of spaghetti.

Spaghetti Relationship Design Approach

I’m not that certain about where Anchor / Buoy started but I first discovered it via a link on FileMaker TechTalk. The discussion included a link to a Kevin Frank Powerpoint presentation ( http://www.kevinfrank.com/anchor-buoy.html ). Since then, I see they attribute to a Soliant Inc. creation.

Anchor / Buoy uses relationships organized into groups and each group doesn’t touch and each group has only one anchor and any number of buoys. Since each group has only one anchor, this means will we have the same number of groups as we do tables (aka Anchors).

Here you can see a snapshot from my Proposal entity within my InBizness SOHO package. You can see that the Proposal table is linked to a Proposal Line Items table. This is because a proposal can have many milestones and those milestones are stored as line items. However, you also see the Line Item table occurrence showing up on its own. Remember, all base tables will have their own group and no two groups touch. This will make more sense as we explore the benefits of Anchor / Buoy in a real world implementation.