The FileMaker Relationship Naming Convention I Use

From Dwayne Wright PMP
Certified FileMaker Developer

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).

Although I’m big into full disclosure, I’m not going to document all the different naming conventions out there for FileMaker relationships. I will say that if you are going to use a naming convention, then use it consistently. This consistent behavior will pay benefits as you continue to install enhancements to your database.

So we have said that Anchor / Buoy uses relationships organized into groups and each group doesn’t touch. We also said that each group has one anchor and any number of buoys. So each group will have the following name convention.

ANCHOR - is always in all caps such as ...


Since each group has only one anchor, this means will we have the same number of groups as we do tables. So in the example above, we have three different groups.

BUOY - has the name of the associate anchor in lowercase, then an underscore character, then the name of the base table for the table occurrence in UPPERCASE. As an option, you can add two underscore characters with additional information about that relationship. Many developers will abbrev the name of each area but I tend to stay away from abbreviation.

So what I tend to do is ….

- Always name my tables in UPPERCASE
This helps keep the base table information in uppercase in the various places I use it.

- When I have a long winded base table name, I may choose to abbreviate it.

- When I create a buoy, I prefix it with the table that is accessing it.

- I tend to put one underscore between the prefix and the base table.

For example, invoices_INVENTORY would be a table occurrence linked to the inventory module but only used on layouts linked to the invoices module.

- When I create a buoy that may have some unique aspects about the relationship (such as it is filtered or set to auto delete child records when the parent record is deleted), I will put two underscore between the base table area and the end of the file name.

For example, invoices_INVENTORY__filteredviaGroup or invoices_INVENTORY__cascadedelete.

Here you can see the naming convention I used for my Campaigns module in my InBizness SOHO package to link to other modules.
More info about the author and FileMaker in general, contact me at

© 2008 - Dwayne Wright -

The material on this document is offered AS IS. There is NO REPRESENTATION OR WARRANTY, expressed or implied, nor does any other contributor to this document. WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. Consequential and incidental damages are expressly excluded. FileMaker Pro is the registered trademark of FileMaker Inc.