Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Determining which key fields you need

From: FileMaker Pro 11 Essential Training

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.

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.

Show transcript

This video is part of

Image for FileMaker Pro 11 Essential Training
FileMaker Pro 11 Essential Training

94 video lessons · 14871 viewers

Cris Ippolite
Author

 
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

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

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.


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.

Join now "Already a member? Log in

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
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.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

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
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.