3 Replies Latest reply on Nov 16, 2011 3:11 PM by philmodjunk

    Data Separation Model Questions

    fred@kca-inc.com

      Title

      Data Separation Model Questions

      Post

       I am building an enterprise application in FileMaker Pro 11 Advanced.  So far there are 28 physical tables each with 2-3 instances.  The record count for any specific table will be relatively small (hundreds). There will be many users accessing the data from (hopefully) desktop, iPad & web interfaces.  The data separation model seems like it will work great.  I have some questions which I hope will save me bunches of time. I have separated the code & data in to 2 files (code & Data).  My only goal here is to have the data on a central server for all to access from code which will either be server or client resident (haven't got that far yet).

      1) I'm assuming that table instances in the Relationships graph are "phantom" tables and don't actually store physical data.  If this is the case, should they be created in the code or data file?  Are there performance implications for either?  It seems like it might be cleaner if I just show the physical tables in the datafile and keep all of the extra instances and relationships in the code file.

      2) I use several temporary tables for interface functions (import data, perform script functions, delete data).  These are user specific during the UI functions.  It seems to make sense to put the temp tables in the code file.  What do you think?

      2) Many of my complex functions only seem to work if the relationships between tables & table instances are maintained in the datafile.  Are there guidelines for where the relationships should be maintained?

      3) How do I tell FileMaker Go to find the datafile?  Could both code and data be resident on the iPad/iPhone as well (realizing I can't share the data). How do I tell Go that there are 2 files?

      4) Can I use the separation model for building a web client from FMP11 Advanced?

       

      Sorry to be so long winded.  If someone can answer these questions for me, it will save me many hours of experimentation.

       

      Thanks

      Fred

        • 1. Re: Data Separation Model Questions
          philmodjunk

          1) All table occurrences in Manage | Database | Relationships are just labels that refer to the actual data source tables--regardless of whether they are defined in an external file or the same file. Relationships required for scripts and layouts to work must be defined in the code file. Relationships required for calculation fields that reference data in another table must be defined in the data file. THus, you may need the same relationship in both files, but for different reasons. This can be a useful way to simplify your relationship graph by limiting the relationships so defined to only those needed for each file.

          2) Either will work. As long as no data is permanently retained in them (and thus requiring an Import records action to implement an upgrade), I see no issues with keeping that table defined in code. You may also find it useful to add a utility table to code that records the current version info for that copy of code. A script can then compare the version info in this file to version info in the data file in order to warn the user whenever they might have used an obsolete copy of code to access the database.

          3) All elements of the code file access table occurrences in the code file. The table occurrences use the external data source references found in Manage | external data sources to "find" and access the correct file. See this link for how to split a single file into code and data copies. It should also make clear how external data references work: Convert to Seperation Model

          4) as far as I know, this is possible, but haven't personally tried it. (You can use Instant Web Publishing with FileMaker Pro or FileMaker Server Advanced. FileMaker Pro Advanced could be used for this purpose but offers no advantages over using FileMaker Pro for the host.)

          • 2. Re: Data Separation Model Questions
            fred@kca-inc.com

            Thanks so much for the quick and complete response.  I apologize, but I messed up on the numbering.  The one question I don't see an answer for is regarding FM Go and accessing a separate data file (number 3 in my list).  Do you have any input on this topic?

            Thanks

            Fred

             

            BTW, I've used many development tools over many years.  I can't remember a more complete & functional development environment.  I'm very impressed!

            • 3. Re: Data Separation Model Questions
              philmodjunk

              As far as I know it will work as long as your external data source references are all in this format:

              File:Filename

              But I'm not a Filemaker Go user.