Start learning with our library of video tutorials taught by experts. Get started

FileMaker Pro 11 Essential Training

Determining which key fields you need


From:

FileMaker Pro 11 Essential Training

with Cris Ippolite

Video: Determining which key fields you need

Once you've completed your data modeling exercise, you will have determined what tables you are going to need in your FileMaker database, as well as what relationships you are going to need between these tables. Since we've already gone into our FileMaker database, and we've defined the tables that we need - we've talked about four tables that we need to define - we need to now create relationships between them. Now what we need in order to create relationships is something that could hook these two tables together. So each table has got to have a little hook in there that allows it to connect itself to another table that it's related to.
Expand all | Collapse all
  1. 7m 22s
    1. Welcome
      1m 8s
    2. Understanding the FileMaker family
      2m 15s
    3. Using the FileMaker Quick Start screen
      2m 52s
    4. Using the exercise files
      1m 7s
  2. 21m 9s
    1. What is a database?
      2m 26s
    2. Flat vs. relational databases
      2m 29s
    3. How FileMaker works
      4m 48s
    4. Understanding the essential preferences
      3m 13s
    5. Touring the interface
      8m 13s
  3. 11m 44s
    1. Creating databases from templates
      2m 29s
    2. Creating new databases in the spreadsheet-like format
      5m 35s
    3. Importing tables
      3m 40s
  4. 9m 9s
    1. Determining which tables you will need
      5m 10s
    2. Creating tables in the Managing Tables window
      3m 59s
  5. 34m 47s
    1. Understanding relationship types
      6m 58s
    2. Diagramming relationships (with ER diagrams)
      8m 50s
    3. Determining which key fields you need
      5m 18s
    4. Defining primary and foreign keys
      7m 56s
    5. Creating relationships using the relationships graph and table occurrences
      5m 45s
  6. 50m 34s
    1. Deciding what fields you will need
      5m 34s
    2. Understanding field types
      7m 54s
    3. Defining fields
      9m 56s
    4. Using Auto Enter options in fields
      9m 33s
    5. Reviewing field validation options
      8m 16s
    6. Building with container fields
      9m 21s
  7. 14m 8s
    1. Creating and duplicating records
      5m 40s
    2. Editing and locking records
      4m 42s
    3. Deleting records and backing up files
      3m 46s
  8. 21m 6s
    1. Importing data
      9m 57s
    2. Importing records to refresh data
      7m 2s
    3. Exporting data
      4m 7s
  9. 18m 30s
    1. Understanding layouts
      4m 15s
    2. Using the Layout Assistant to create List views
      7m 59s
    3. Using the Layout Assistant to create labels and envelopes
      6m 16s
  10. 27m 11s
    1. Using the Layout Setup dialog box
      4m 54s
    2. Understanding layout parts
      4m 40s
    3. Understanding the new Inspector
      2m 26s
    4. Exploring the Status Area in Layout mode
      6m 46s
    5. Managing layouts and layout folders
      8m 25s
  11. 41m 9s
    1. Arranging, aligning, grouping, and locking layout objects
      11m 5s
    2. Placing and formatting objects, parts, and graphics
      4m 10s
    3. Formatting fields and applying field attributes
      8m 26s
    4. Setting field behaviors
      4m 4s
    5. Using the Tab Control feature
      9m 8s
    6. Setting tab order
      4m 16s
  12. 36m 48s
    1. Using the basic find functions
      7m 31s
    2. Reviewing new requests in the Find mode
      5m 54s
    3. Establishing search operators
      6m 43s
    4. Constraining or extending found sets
      3m 24s
    5. Finding records using date, time, or timestamp criteria
      5m 18s
    6. Using Fast Match and Quick Find
      4m 41s
    7. Working with saved finds
      3m 17s
  13. 17m 28s
    1. Sorting with one criterion
      6m 4s
    2. Sorting with related fields
      2m 18s
    3. Sorting with multiple criteria
      1m 36s
    4. Sorting using custom values
      3m 14s
    5. Sorting using buttons
      4m 16s
  14. 17m 14s
    1. Reviewing Field/Control styles
      5m 43s
    2. Creating and applying static value lists
      5m 20s
    3. Creating and applying dynamic value lists
      6m 11s
  15. 23m 52s
    1. Previewing pages and print options
      6m 20s
    2. Printing in different views
      2m 54s
    3. Sliding objects
      3m 26s
    4. Printing merge letters
      4m 53s
    5. Saving as a PDF or Excel file
      6m 19s
  16. 15m 1s
    1. Building simple reports with summary fields
      4m 36s
    2. Creating subsummary reports
      6m 51s
    3. Creating subsummary reports in Table view
      3m 34s
  17. 52m 19s
    1. Defining calculations
      2m 31s
    2. Exploring the Calculation dialog box
      5m 8s
    3. Using number functions
      12m 41s
    4. Using date and time functions
      4m 58s
    5. Using text functions
      11m 43s
    6. Using get functions
      4m 0s
    7. Using logic functions
      11m 18s
  18. 46m 56s
    1. Understanding scripts and script steps
      2m 23s
    2. Assigning script steps to buttons
      3m 54s
    3. Understanding the ScriptMaker dialog box
      8m 28s
    4. Creating multi-line scripts
      6m 44s
    5. Adding find criteria to a script
      4m 58s
    6. Understanding the If script step
      8m 36s
    7. Using script parameters
      4m 42s
    8. Reviewing the Send Mail option
      7m 11s
  19. 28m 0s
    1. Understanding script triggers
      2m 41s
    2. Using object-based triggers
      11m 58s
    3. Using layout-based triggers
      7m 51s
    4. Using file-based triggers (Open and Close scripts)
      5m 30s
  20. 56m 42s
    1. Using related fields
      7m 18s
    2. Creating portals and using portal filtering
      10m 38s
    3. Using related fields in calculations
      7m 6s
    4. Understanding multi-predicate relationships
      11m 11s
    5. Using the Go to Related Record script step
      7m 26s
    6. Creating a chart
      13m 3s
  21. 30s
    1. Goodbye
      30s

Watch this entire course now—plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
Please wait...
FileMaker Pro 11 Essential Training
9h 11m Beginner Jun 25, 2010

Viewers: in countries Watching now:

In FileMaker Pro 11 Essential Training, Cris Ippolite demonstrates the principal features and functions of this popular database software, including creating tables and relationships, managing fields and records, and working with layouts. The course shows FileMaker developers how to find, sort, and share data as well as how to create reports, calculations, and scripts. It also covers brand new features in FileMaker Pro 11 such as the Inspector tool, charting, and portal filtering. Exercise files accompany the course.

Topics include:
  • Creating databases from templates
  • Creating fields in spreadsheet format
  • Creating tables and relationships
  • Defining key fields
  • Adding validation and auto-enter values to fields
  • Managing records, including duplicating, locking, and deleting records
  • Creating and managing layouts
  • Formatting layout objects
  • Finding and sorting data
  • Creating calculation fields
  • Building reports
  • Printing and saving as PDF or Excel
  • Writing and triggering scripts
  • Using relationships throughout a database
Subjects:
Business Databases
Software:
FileMaker Pro
Author:
Cris Ippolite

Determining which key fields you need

Once you've completed your data modeling exercise, you will have determined what tables you are going to need in your FileMaker database, as well as what relationships you are going to need between these tables. Since we've already gone into our FileMaker database, and we've defined the tables that we need - we've talked about four tables that we need to define - we need to now create relationships between them. Now what we need in order to create relationships is something that could hook these two tables together. So each table has got to have a little hook in there that allows it to connect itself to another table that it's related to.

In relational databases, you're going to connect two related tables together using special fields that are called Keys. A key field is just like any other field you are defining in your database, but key fields come in two different types: There is a Primary Key and a Foreign Key; two more pieces of vocabulary for you to wrap your head around. The Primary Key is a field that gets defined in the Parent. Remember that there is always a Parent in a relationship and always a Child. Because it's going to be one to many, the Parent is the one; the Child is the many.

So in our case, we need to define a Primary Key field in every Parent table and define a Foreign Key field in every Child. Now let's talk about what these mean a little bit more before we go ahead and define these. First, a Primary Key field: A Primary Key field is defined in each Parent table, and its main role is to ensure the uniqueness of each record in this table. So they must contain a unique serialized value inside of every record. So these records must never be duplicated within a single table, and each Parent must have one Primary Key defined.

The plain English version of this is just it's a simple way for you to uniquely identify every record in your database, and that way there will be no confusion. Here is record number one versus record number two, and since there will only ever be one record number one, you can never confuse it with any other records in your database. The next type of key field is called a Foreign Key field. This is going to be used to link a related Child record, or a record in a Child table, back to its Parent record in the Parent table. So in the case, for example, of having a customer having multiple invoices, we can have a Primary Key field that's defined, that's called the Customer ID. And every customer is given their own ID, but then in every invoice that's related to that customer, we need to put the Customer ID into a field that's called a Foreign Key field.

This is how we will actually link, or know those two are related to each other. I'd like to use the example of the last name. How do you know that you are the child of your parent? Because you share one thing in common, or something that links you two together. So on paper if you see two people's names, you can make an estimate as to whether or not they might be related if they have something in common. In that case we would be they have the same last name, and in a database that thing that you have in common is the same value showing up in a Primary Key field in a Foreign Key field on each side of a relationship.

Now each Child table is going to have a Foreign Key field defined in it; however, these values do not need to be unique, because since any one customer could have let's say five different invoices in the Invoice table, that means that there's going to be five invoice records that all have the same Customer ID in the Foreign Key field. So they won't be unique. And each type of key field is just a field that gets defined in every table. So let's take a look at the tables that we've got and determine what types of keys we would need. So if you use the simple fact that every Child table needs to have a Foreign Key field, which one of these tables is going to be a Child table? Well, let's look at our relationships.

You'll see that the lines that we are using have a single hash on the Parent side or on the one side and a double hash on the many side. So if we look at Customers and Invoices, we see there is a relationship between them. Which one of them is the Parent? It's the Customer. So we know that a Parent needs to have a Primary Key field, so we're going to have a Primary Key field defined inside of Parent, and then Invoices are acting as the Child in the Customer relationship, so that's going to get a Foreign Key because every Child gets a Foreign Key.

But also their table acts as a Parent in the relationship between Invoices and Invoice line items. So in that case, Invoices plays two roles: Child in the Customer relationship, but Parent in the Invoice line items relationship. Now Products only plays one role. It's a Parent in the Parent Invoice line item relationship; therefore, it serves as a Parent. It's going to get a Primary Key. The Invoice line items table that we created to resolve the many-to-many relationship plays Child in both the Products and Invoices relationship, which is common in those tables that you create to resolve a many-to-many.

So in that case, this means that the customer is going to have a Primary Key, Invoice will have a Foreign Key and a Primary Key, Products are going to have a Primary Key and Invoice line items will have two Foreign Keys, because we remember each Parent gets a Primary; each Child gets a Foreign Key. Determining which keys you need in your database tables is an important part of setting up relationships with a new database. Once you've determined which tables perform which roles, that'll help you to determine which tables need to have a Primary Key defined and which need to have a Foreign Key defined.

Find answers to the most frequently asked questions about FileMaker Pro 11 Essential Training.


Expand all | Collapse all
Please wait...
Q: In the Chapter 16 tutorial, “Using Text Functions,” the instructor discusses how to calculate the First Name and Last Name from the Full Name. However, the method does not account for names ending with  “Jr.” or “Sr.” or “III,” etc.  How can I account for added suffixes in names?
A: For cases like this, you can create a third "Suffix" field. Then change the FullName calculation to:

NameFirst&" "&NameLast&" "&Suffix 

This way, nothing will appear if the Suffix has no value, but if it does have a value the suffix will appear.
Q: What information is actually on the “Invoice Line Item” table in the examples, and how does it actually connect to the tables that it comes from?
A: The information in each line item is native to the "Invoice Line Item" table. The fields are defined in that table and each record represents "A Product appearing on an Invoice."
Each time a product is used on an invoice, a record in the line item table is created. Many of the fields, for example "Quantity," are native to that table because those values only exists when a Product is used in an Invoice, and not as attributes of a Product itself.
Share a link to this course
Please wait... Please wait...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Upgrade now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed FileMaker Pro 11 Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Welcome to the redesigned course page.

We’ve moved some things around, and now you can



Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked