Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Table/Relationship Naming Conventions?

Featured Replies

  • Author

Given the existence of table aliases (Table Occurrances) in FM7 and bidirectional realationships, it seems that naming your TOs clearly is of increased importance. Has anyone come up with a clear way to do this?

So far, the best thing I've come up with is this method:

"[TableX] to [TableY] by [MatchField(s)]"

e.g.

"Worker to Salary by WorkerID Date"

However, I'm not totally satisfied with this for several reasons. First, since one table is listed before the other, it tends to imply a one-directional relationship. I suppose since the TO is linked to a specific table, this TO should be listed first. Also, if you use long table names, the match fields are often not visible (cut off) in popups, which makes seeing which relationship you are using a bit hard.

Any suggestions?

Given the existence of table aliases (Table Occurrances) in FM7 and bidirectional realationships, it seems that naming your TOs clearly is of increased importance. Has anyone come up with a clear way to do this?

So far, the best thing I've come up with is this method:

"[TableX] to [TableY] by [MatchField(s)]"

e.g.

"Worker to Salary by WorkerID Date"

However, I'm not totally satisfied with this for several reasons. First, since one table is listed before the other, it tends to imply a one-directional relationship. I suppose since the TO is linked to a specific table, this TO should be listed first. Also, if you use long table names, the match fields are often not visible (cut off) in popups, which makes seeing which relationship you are using a bit hard.

Any suggestions?

  • Author

Given the existence of table aliases (Table Occurrances) in FM7 and bidirectional realationships, it seems that naming your TOs clearly is of increased importance. Has anyone come up with a clear way to do this?

So far, the best thing I've come up with is this method:

"[TableX] to [TableY] by [MatchField(s)]"

e.g.

"Worker to Salary by WorkerID Date"

However, I'm not totally satisfied with this for several reasons. First, since one table is listed before the other, it tends to imply a one-directional relationship. I suppose since the TO is linked to a specific table, this TO should be listed first. Also, if you use long table names, the match fields are often not visible (cut off) in popups, which makes seeing which relationship you are using a bit hard.

Any suggestions?

I like to keep my TO names simple, specifying the path only on duplicate TOs.

If table X is the base table for the table occurance, then I'd name the TO "Table X by [Filter/Primary Path TO]", leaving out the keys from the name unless it's necessary to distinguish it.

So from your example, I might have a Salary TO related to a Worker TO by Worker ID, but since this is the primary relationship between these two tables, I'd simply name them "Salary" and "Worker." Then for the Salary TO that uses a filter by Date, I'd name it "Salary by Date."

I suppose the important thing is to try to use the same naming convertion throughout your solution so that you, and developers that follow, will be able to figure out what's going on.

I like to keep my TO names simple, specifying the path only on duplicate TOs.

If table X is the base table for the table occurance, then I'd name the TO "Table X by [Filter/Primary Path TO]", leaving out the keys from the name unless it's necessary to distinguish it.

So from your example, I might have a Salary TO related to a Worker TO by Worker ID, but since this is the primary relationship between these two tables, I'd simply name them "Salary" and "Worker." Then for the Salary TO that uses a filter by Date, I'd name it "Salary by Date."

I suppose the important thing is to try to use the same naming convertion throughout your solution so that you, and developers that follow, will be able to figure out what's going on.

I like to keep my TO names simple, specifying the path only on duplicate TOs.

If table X is the base table for the table occurance, then I'd name the TO "Table X by [Filter/Primary Path TO]", leaving out the keys from the name unless it's necessary to distinguish it.

So from your example, I might have a Salary TO related to a Worker TO by Worker ID, but since this is the primary relationship between these two tables, I'd simply name them "Salary" and "Worker." Then for the Salary TO that uses a filter by Date, I'd name it "Salary by Date."

I suppose the important thing is to try to use the same naming convertion throughout your solution so that you, and developers that follow, will be able to figure out what's going on.

Take a look at this:

http://www.sumware.net/robfm/conventionalnaming.php

I am leaning in this direction. TOG's are based on layouts, I use the table names, i.e. Table A Table B. This giive me more TO's but the graphs are easy to read and the relationships group in the popups.

Take a look at this:

http://www.sumware.net/robfm/conventionalnaming.php

I am leaning in this direction. TOG's are based on layouts, I use the table names, i.e. Table A Table B. This giive me more TO's but the graphs are easy to read and the relationships group in the popups.

Take a look at this:

http://www.sumware.net/robfm/conventionalnaming.php

I am leaning in this direction. TOG's are based on layouts, I use the table names, i.e. Table A Table B. This giive me more TO's but the graphs are easy to read and the relationships group in the popups.

  • Author

I like the ideas on that web page. However, I find that in the solution I'm writing, I have a bunch of similar-but-different relationships, where I need to have the key fields showing. This may be a weird situation, as I'm dealing with dirty / non-normalized data so I have to use a bunch of partial matches (i.e. Last name, LastName+FirstName, LastName+FirstInitial, Last+First+AgencyCode, etc.). I find that if I don't have the key fields in the relationship name, I go crazy smile.gif

  • Author

I like the ideas on that web page. However, I find that in the solution I'm writing, I have a bunch of similar-but-different relationships, where I need to have the key fields showing. This may be a weird situation, as I'm dealing with dirty / non-normalized data so I have to use a bunch of partial matches (i.e. Last name, LastName+FirstName, LastName+FirstInitial, Last+First+AgencyCode, etc.). I find that if I don't have the key fields in the relationship name, I go crazy smile.gif

  • Author

I like the ideas on that web page. However, I find that in the solution I'm writing, I have a bunch of similar-but-different relationships, where I need to have the key fields showing. This may be a weird situation, as I'm dealing with dirty / non-normalized data so I have to use a bunch of partial matches (i.e. Last name, LastName+FirstName, LastName+FirstInitial, Last+First+AgencyCode, etc.). I find that if I don't have the key fields in the relationship name, I go crazy smile.gif

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.