Richard,

One     Calculation     Indexed, = 1

I would strongly advice to refrain from the One = One relationships. These are relicts from the pre FileMaker 7 era. They tend to slow down operations significantly. If at all necessary use the "|X|" predicate, where you can use any two fields that already exist.

I do not see a reason why every table should be linked to every other table. Use only links that have a real purpose.

Use of Globals for storing constant values is not recommended since they loose their content when cloned or recovered.


Table   Calculation     Unstored, = Get ( LayoutTableName )
Layout  Calculation     Unstored, = Get ( LayoutName )

These unstored calculations bring no advantage over the function call as such. Use only where needed.


--- PASSTHRUS ---       Text    Global
(Note: calculation fields that assemble data fields from this table for use in other tables)

These can be avoided all together by setting up the relation graph accordingly.


BeSeq Number Indexed, Auto-Enter Serial, Can't Modify Auto, Always Validate, Required Value, Unique, Numeric Only


Auto-enter serial numbers require special care when updating tables or importing new data. I personally use an otherwise meaningless number, created as an auto-enter calculation: uid = GetAsNumber ( GetAsNumber ( Get ( CurrentTimeStamp ) ) & Right ("0000" & Get ( RecordID ) ; 5) ) This way I never have to think about that serial number again. There are others, more complicated calculations floating around, but these seem overkill to me.


There would be more to say, but my time doesn't allow this now.


Winfried
www.fmdiff.com





On 2010-06-22, at 8:33, Richard S. Russell wrote:

On 2010 Jun 21, at 22:37, W. D. wrote:

There might have been some discussion about this
some time back, but what fields ... would you recommend for all databases?


Every file I create has an "F" table in it. "F" stands for "file", and it's the table where I store everything that's unique to that particular file. The "F" table has only 1 record in it. "F" is cross-linked to every other table in the file by means of a One x One relationship. It's also the place where OTHER files store the default values for new records to be created in one of the tables of the current file.

In addition to all the standard fields in the "F" table, every OTHER table in the file also has a bunch of standard fields. Fortunately, FMPA makes it really easy to copy and paste such fields from one table to another.

Here's my standard set of fields, using tabs that may or may not show up in your e-mail:


TABLE "F" (F = file; exists in every file, contains only 1 record, linked to all tables in the file via One = One relationship.)

--- FILE ---    Text    Global
File    Text    Global
Version Text    Global
Table List      Text    Global
MIT     Text    Global
  (Note: MIT = most important table)
UserID  Number  Global, Always Validate, Numeric Only...

Reply via email to