Having searched the site first, I don’t believe any FileMaker based forum is worth its salt unless it has a good old disagreement about how to name table occurrences (TOs) in the relationship graph. I’ve been delighted to see some really constructive help being given on some current threads and thought that some within our family soup may not have considered the impact of TO names. If working with fellow developers on projects it is essential to have this as a firm agreement.
I’ve just finished helping a client migrate the data from an old system to a newer version both created in house. I constantly got caught out by duplicate table TOs named for example (actual names not used here) ‘Furniture’ (name of source table), ‘Chairs’, ‘Desks’, ‘Cabinets’, etc. all based on the ‘Furniture’ table.
Hence the inclusion of a reference to the source table name is essential to give a clue when accessing the TO from the calculation engine, easily identifying the source table in the graph, sort dialogue, etc.
Then the subject for most disagreement: the location of this reference. Mostly, the argument is whether should be at the beginning of the TO name or at the end.
For instance, if we have the following links between these source tables:
Order <-> LineItems <-> Product
Frequently used naming include:
Order <-> LineItems_Order <->Product_Lineitems_Order
or
Order <->Order_LineItems<->Order_LineItems_Product
or abbreviations such as (using the above as the basis for this)
Ord<->Ord_LI<->Ord_LI_Prod
Nailing our colours to the mast, we are firmly in the source table at the start of the TO name camp. We would actually name the above along the lines of Order <->LineItems2Order<->Product2LineItems2Orders (we prefer to use ‘2’ as reading the names in this format explains the path).
I’ve never quite had an explanation to the logic of doing this the other way around, but hope to have that corrected here. Our reason is purely practical, many dialogues do not show the complete TO name, which can get quite long following the above logic. Hence, having the source table hidden has never made sense to us.
If we had ‘ Order_LineItems_Product’ and ‘ Quote_LineItems_Product’ as separate TOs for the Products table we could only see ‘ Quote_LineItems_’ in the Sort or Export Records dialogs, we’ve no idea what the actual source data is. Reversing the naming order keeps both TOs together in any alpha sorted lists and we at least know that ‘Product_LineItems_’ is definitely going to export product data, albeit without the full name the context cannot be identified.
Although we are Mac people going back to 1985, we do most of our development in Windows and there are some dialogues that will not resize big enough (or at all) to display the full TO name, another reason to use our naming convention.
I’m not saying any of the above is right or wrong, it is the way we work and I’d love to see alternatives and the benefits of these.