Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new...

29
Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Transcript of Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new...

Page 1: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Microsoft® Office Access® 2007 Training

Build a database III: Build relationships for a new

Access database

ICT Staff Development presents:

Page 2: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Course contents

• Overview: You can relate

• Lesson: Create relationships

The lesson includes a list of suggested tasks and a set of test questions.

Page 3: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Overview: You can relate

This course teaches you how to build relationships between your new tables.

Why are relationships essential? They bring the data in your tables together so you can extract meaningful information.

This course explains the different types of relationships you can use in a database, and shows you how to create the most common type: a one-to-many relationship.

Page 4: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Course goals

• Create one-to-many relationships between database tables.

• Set referential integrity for each relationship and prevent accidental data removal.

• Set cascading updates and deletes, a move that walks any changes through your data.

• Turn indexing on or off for primary and foreign key fields, a move that helps speed your database and create a type of relationship called a one-to-one relationship.

Page 5: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Lesson

Create relationships

Page 6: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create relationships

In a database, relationships are how your tables “talk” to each other.

If your tables don’t talk, you can’t get answers from your data.

You create relationships by including a field from one table as a field in a related table.

Page 7: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create relationships

In a database, relationships are how your tables “talk” to each other.

If your tables don’t talk, you can’t get answers from your data.

1

2

The field you include is called a primary key. Each of the tables in your database has a primary key, and you include it as a new field in another table to create a relationship with that other table.

When you share a primary key, the new field in the second table is called a foreign key.

Page 8: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create relationships

In a database, relationships are how your tables “talk” to each other.

If your tables don’t talk, you can’t get answers from your data.

3 The picture illustrates one way this can work. In order to associate assets with suppliers, the foreign key field in the Assets table provides a list of company names. Behind the scenes, Access uses the values in the primary and foreign keys to synchronize the two fields.

Page 9: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Types of relationships

Your tables can participate in three types of relationships, shown in the picture.

1

2

You have a one-to-one relationship when a single record in one table is related to a single record in another table, and vice versa.

You have a one-to-many relationship when one record in a table is related to many records in another table.

Page 10: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Types of relationships

Your tables can participate in three types of relationships, shown in the picture.

3 You have a many-to-many relationship when several records in one table are related to several records in another table.

Page 11: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create a relationship

So let’s create a one-to-many relationship between the Suppliers and Assets tables.

Before you start, think of the relationship as having “sides.”

In this case, one supplier can provide many assets, so the Suppliers table resides on the “one” side of the relationship, while the Assets table sits on the “many” side.

Page 12: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create a relationship

Next, remember this rule: To create a one-to-many relationship, you use the primary key from the “one” side as a foreign key on the “many” side.

One of the easiest ways to do this is to run a tool called the Lookup Wizard, which creates the relationship and the foreign key field.

Animation: Right-click, and click Play.

Page 13: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Create a relationship

Next, remember this rule: To create a one-to-many relationship, you use the primary key from the “one” side as a foreign key on the “many” side.

One of the easiest ways to do this is to run a tool called the Lookup Wizard, which creates the relationship and the foreign key field.

What’s more, the foreign key works as a drop-down list, so you can select data from the table on the “one” side quickly and accurately.

Page 14: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Set referential integrity

The relationship you created in the previous section doesn’t become a one-to-many relationship until you set referential integrity.

Referential integrity ensures that your primary and foreign key fields stay in synch whenever you add, change, or remove data. In turn, that keeps your data accurate.

Page 15: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Set referential integrity

You set referential integrity by editing a relationship.

1

2

Close any open tables, click the Database Tools tab, and in the Show/Hide group, click Relationships.

Click the line that represents the relationship you want to edit. The line becomes thicker.

Page 16: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Set referential integrity

You set referential integrity by editing a relationship.

3 Right-click the line and click Edit Relationship. The Edit Relationship dialog box appears.

4 Select the Enforce Referential Integrity check box.

Page 17: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Set referential integrity

You set referential integrity by editing a relationship.

Optionally, you can change data in one place and have that change appear in other related data. To do so, select the Cascade Update Related Fields and Cascade Delete Related Records check boxes. When you finish, click OK.

5

Page 18: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

A look at one-to-one relationships

You may not use one-to-one relationships very often, but you should know how to create them.

One-to-one relationships use a primary key and a foreign key, just like one-to-many relationships.

The difference lies in how you set indexes for each key field. Indexing a field allows Access to search for data faster. It can also prevent users from adding duplicate records.

Page 19: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

A look at one-to-one relationships

You use Design View to turn on indexing for your foreign key fields. It’s easiest to do this with blank tables.

1

2

3

In the Navigation Pane, right-click the table that contains the foreign key field, then click Design View.

In the designer, click the foreign key field.

Under Field Properties, on the General tab, click the list next to Indexed and select Yes (No Duplicates).

The picture shows the process.

Page 20: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

A look at many-to-many relationships

You have a many-to-many relationship when a single record in one table can relate to many records in another, and a single record in that second table can also relate to many in the first.

For example, say your company has several types of computers and several technicians, with each technician certified to work on some, but not all, of the computers.

Each technician can be related to more than one computer, and in turn, each computer can be related to more than one technician.

Page 21: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

A look at many-to-many relationships

To track who can work on a given machine, you create a many-to-many relationship by adding the primary keys from both sides of the relationship to a third table, called a junction or link table.

The picture shows a typical junction table, and you can see that its structure is relatively simple — a pair of primary key fields and some related information.

Now your data can answer questions such as, “Which computers did a given technician work on last month?”

Page 22: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Suggestions for practice

1. Create a relationship.

2. Set referential integrity and cascading changes.

Online practice (requires Access 2007)

Page 23: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 1

It’s a good idea to think of a relationship as having “sides.” (Pick one answer.)

1. True.

2. False.

Page 24: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 1: Answer

True.

Knowing which side a table is on tells you whether or not it uses a foreign key field.

Page 25: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 2

To create a one-to-many relationship, you do which of the following? (Pick one answer.)

1. Use the primary key from the table on the “one” side as a foreign key in the table on the “many” side.

2. Use a junction table with at least two foreign key fields.

3. Turn off indexing for the primary key field.

Page 26: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 2: Answer

Use the primary key from the table on the “one” side as a foreign key in the table on the “many” side.

In the asset-tracking database, you can now answer questions such as, “Which company supplies most of our computers?”

Page 27: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 3

Referential integrity is useful because it does which of the following? (Pick one answer.)

1. Takes the place of an index.

2. Keeps primary and foreign key values in sync.

3. Allows you to “orphan” data safely.

Page 28: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Test question 3: Answer

Keeps primary and foreign key values in sync.

Referential integrity can also make it easy to update and delete data.

Page 29: Microsoft ® Office Access ® 2007 Training Build a database III: Build relationships for a new Access database ICT Staff Development presents:

Build a database III: Build relationships for a new Access database

Quick Reference Card

For a summary of the tasks covered in this course, view the Quick Reference Card.