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

FileMaker Pro 11 Essential Training
Illustration by
Watching:

Diagramming relationships (with ER diagrams)


From:

FileMaker Pro 11 Essential Training

with Cris Ippolite

Video: Diagramming relationships (with ER diagrams)

So far in this chapter we've learned about basic relationship types. We've reviewed those as the one-to-many and many-to-many being the most common and then sort of an obscure kind of rare one called one-to-one. In this movi,e we're going to expand on those concepts, and we're going to learn a general method for diagramming database systems. This method we're going to learn is called Creating an Entity Relationship Diagram, and I know that sounds like a lot of Computer Science and kind of a mouthful, but it's a common term if you're in database circles, or if you're going to be working with FileMaker Pro it's going to be something that you're going to run into quite a bit.
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

Diagramming relationships (with ER diagrams)

So far in this chapter we've learned about basic relationship types. We've reviewed those as the one-to-many and many-to-many being the most common and then sort of an obscure kind of rare one called one-to-one. In this movi,e we're going to expand on those concepts, and we're going to learn a general method for diagramming database systems. This method we're going to learn is called Creating an Entity Relationship Diagram, and I know that sounds like a lot of Computer Science and kind of a mouthful, but it's a common term if you're in database circles, or if you're going to be working with FileMaker Pro it's going to be something that you're going to run into quite a bit.

The good news is it's often referred to just simply as an ERD. So an entity relationship diagram, entities of course being tables. If you really break this down, it's a diagram that just shows what the relationships are between your tables. It's a simple process, and generally most useful for relational database systems. Of course, FileMaker's relational databases system, but any other database system requires data modeling and entity relationship diagrams as well. So the ERD modeling really breaks down into three phases.

First you're going to develop your list of tables, which we've done, because we want to evaluate what types of information we're going to be storing in our database and how they break up into individual groups. So we've already determined what our list is. Then you determine in diagram the relationships between those tables, which we're going to do here. And then you do sort of a rinse and repeat process by reviewing your diagram and you repeat steps in one only if you encounter either a many-to-many or a one-to-one relationship. And ultimately your goal is to resolve all of your relationships to one-to-many.

Now in this process, I advice you to use a piece of paper and a pencil, because whatever your first diagram is is almost never what the last diagram is, and it's an important part of the process to kind of go through this a couple of times before you've got your final set of relationships. In the database that we're going to be creating in this title, we've got a pretty standard invoicing solution. So if we start at step number one, and we determine what our list of tables might be, you'll remember that in the database that we're going to be creating in this title, we've determined that we've got three different tables already.

We've got one table that's going to store customers, one that's going to store invoices and one that's going to store products. Those are all three discretely different types of data, so we know that they all need their own table. So in the example, like the one we've got here, we can see what types of data we're going to be storing, pretty simple stuff. And what's important is that we've picked these unique and discrete bucks of data. So after we've determined what tables we need, so now that we've got our list, we want to move on to determine how these things are related to each other, and when you're doing this, it's another good idea to sketch this out on a piece of paper with a pencil, for example. And really what you're going to do is ask yourself a series of questions.

For example, consider the case of a system that tracks both customers and invoices, and asking some questions about the business rules that govern the customers and invoices within your organizations, or within the users that you have, you might find out the following: For example, consider the case of a system that tracks both customers and invoices, and asking some questions about the business rules governing customers and invoices at this particular organization, you find out the following: Each customer may potentially have many invoices in the system, and each invoice is associated with one, and only one customer.

So data modelers like yourself would call the relationship between customers and invoices a one-to-many relationship, meaning one customer can have many invoices. So if you ask in reverse about the relationship between invoices and customers, the answer could also be reversed, and you could call it many-to-one, meaning there could be many invoices to just one customer. So the questions that we're talking about here are, can one customer have many invoices? So if the answer is yes, then you want to create a relationship between those two tables.

Or if we determine by asking this question that there is no relationship between these tables, then we don't have to do anything here. We just note that accordingly. But in this example, we have in fact determined that one customer could have many invoices. We still have to evaluate the relationship between invoices and products. So let's ask the same questions. Does a product have a relationship with invoices, so, for example, can one product appear in many invoices? Yes. So we've got a one-to-many go in from products to invoices.

It appears that way. But can an invoice have more than one product appearing on it? Well, that answer is yes as well. So what we've got is a many-to-many relationship, and the key to resolving a many-to-many - because if you recall, we can't have many-to-many relationships. There were various different reasons. There were things that we can't do as far as storing the data properly. There are ways that that we can't find data properly. We can't report on it properly. And this is a good place to catch it, rather than after you spent hours and hours and hours developing a many-to-many relationship into your system, only to find out later that you can't do a bunch of things.

Now is the great place to do it, because you're just doing it on a piece of paper with pencil marks at this point. So the key to resolving that many-to- many, when you find one, is to think of it as two one-to-many relationships, and then you're going to add an additional table between these two tables that you're trying to relate. So, for example, so the key to resolving many-to-many relationships is to think of it as two one-to-many relationships, and then what you're going to do is add another table to be the child or the many part in these relationships.

So of course, here we've got invoices and products directly related to each other. Well, it's many-to-many, so how about if we add a third table? And let's call this invoice line items. Now we get rid of the relationship between invoices and products, and we can say, can one invoice have many different line items on it? Well sure, that can be the case. And can a product be represented by many different invoice line items? Yes, that's the case as well. So now we don't have to worry about a direct relationship between invoices and products, because now we've got two one- to-many relationships, one coming off of invoices - invoices being the parent, line items being the child - and another one coming off of products - product being the parent and line items being the child.

So why do we need a third table? Well, if I needed to just create a report of all the products ordered during a certain time period, like let's say the first quarter of any given year, which table would I search in? Would I search in products? I wouldn't actually, because there's only one record per product. It doesn't give me all the various products that were ordered. So would I search in invoices? Well no, I've only got one record per invoice, and it tells me very different items that appeared on that, but I can't necessarily isolate individual products on any given invoice. So what about if one product can be ordered at many different times? Where do we store that many different times? Do I create a field inside products for that? Do I create a field inside invoices? No, we don't do that.

You can only store one piece of information in any given field in a database. So this would require many different pieces of data in one field if didn't have a third table. So what we do here is we create a third table that can be the child to both products and invoices, and then we can have the many-to-many relationship between them, like we've discussed. So you see here in this sketch that I have this all cleaned up. We know that we need a fourth database in our entire database system. We've got customers, invoices, products, and now invoice line items. And also you see this is how we've drawn them all up inside the database.

So now we know that we need a fourth table in our database and we call this table anything we like, really. So let's call this one Invoice line item as we see here, and let's add it to our database. So back in our database, if we go to File > Manage > Database, we see that we've got three of the tables defined already. So let's go ahead and add the fourth one that we've determined we've needed through the data modeling process, and then just hit create. So now we've got all four tables defined inside of our database.

If you've got a really tiny project, it might not seem likely you need to sketch things out ahead of time, but I cannot emphasize enough how important it is to make these decisions on tables and relationships before you start working. Because the pitfall here could have been that we defined a bunch of fields and layouts and did a whole bunch of stuff before we even figured out we needed an invoice line item table, and now what's our overhead? We don't have to undo anything. We just simply add a table to the database. So after a little bit of what's called data modeling, we've determined what tables we need to build in FileMaker, and we've determined which tables have relationships with each other and what types of relationships they have.

So now we can move out of what we call the architecture stage and into FileMaker to define these table relationships accordingly. In the upcoming movies in this chapter, we're going to use the Relationship graph in FileMaker to establish and then maintain the table relationships in our FileMaker solution.

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

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

join now 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
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

Notes cannot be added for locked videos.

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.