21
Lesson 32: Designing a Relational Database

Lesson 32: Designing a Relational Database. 2 Lesson Objectives After studying this lesson, you will be able to: Identify and apply principles for good

Embed Size (px)

Citation preview

Lesson 32: Designing a Relational Database

2

Lesson Objectives

After studying this lesson, you will be able to:

Identify and apply principles for good relational

database design

Modify field settings and create Lookup fields that return

multiple values

Create a split form

Identify database relationship types and create and

print a relationships report

Identify object dependencies

3

Principles of Good Database Design

Reduce redundancy

Divide data into subject-based tables

Show Access how data in all tables related to scope

(purpose) of the database

Ensure that data is complete and accurate

Include report formats, forms, and queries to process

data and report information that meets the intended

needs of the database

Tip! Incomplete/inaccurate data results in inaccurate processing

and reporting, and invalidates the integrity of the database.

Applying Design Steps

4

Design Step/Task Result

Identify the purpose of the database To generate a utility bill

Locate and organize detailed information about what the database should contain

Customer name, address, amount of power used, associated costs, company info

Separate the details into related groups Customer details, billing history, cost of power, utility company details

Identify additional breakdowns in information details

Customer first name, last name, street, city, state, zip code, telephone, etc.

Specify a primary key for each group of data Customer number

Relate tables to each other by identifying how data in one table can be connected to data in other tables

Customer number added to other tables to connect the tables

Create the database in Access and test the design

Create tables to determine whether or not you can generate the billing statement

Apply normalization rules and make necessary adjustments

Review the design using normalization levels (described elsewhere) and determine normalization level attained

Normalizing Data

Process of refining tables, keys, fields, and

relationships to create an efficient database

Includes:

Discarding repeating groups

Minimizing redundancy

Eliminating composite keys for partial dependency

Separating non-key attributes

Follows steps and guidelines for designing a database

5

Common Field Properties

6

Property Description

Field Size Controls the number of characters Access allows in the field

Input Mask Sets the appearance of field data entered, adds standard characters such as parentheses, slashes and hyphens to the data, formats all data in caps or lowercase, etc.

Caption Displays alternate text in place of the field name in datasheets, on forms, and in reports; caption text is usually more descriptive, especially when field names are cryptic

Default Value Sets a data value that Access enters for a field when no other data is entered

Validation Rule Sets rules for data entered in a field so Access can check the data to ensure it meets value limitations

Validation Text Provides instructional information to help data entry personnel correctly enter data for a field with a validation rule; Access alerts user if invalid data is entered

Required Sets the field as a required field so data must be entered into that field

Number Field Size Property Details

7

Field Size Description

Byte Stores whole numbers between 0 and 255 using 1 byte; allows no fractions or decimal points

Integer Stores whole numbers between -32,768 and 32,767 using 2 bytes rather than the 7 bytes used for high values

Long Integer Stores whole numbers between -2,147,483,648 and 2,147,483,647 using 4 bytes rather than the 14 bytes normally used for high values

Single Stores positive and negative numbers to exactly 7 decimal places using 4 bytes

Double Stores positive and negative numbers to exactly 15 decimal places using 8 bytes

Replication ID Identifies replication of tables, records, and other objects in Access 2003 or earlier databases using 16 bytes

Decimal Stores positive and negative numbers to exactly 28 decimal places using 121 bytes

Multi-Value Lookups

Enables you to select

multiple values for a

field

For example, you

might want to identify

multiple vendors that

supply products

8

Split Forms

9

Displays form view at the top of the window and

datasheet view at the bottom of the window.

Working with Relationships

Three types of relationships:

One-to-One

One-to-Many

Many-to-Many

10

One-to-One Relationship

Each record in Table A can have only one matching

record in Table B

Example: Each employee’s address is stored in one

table and has a matching record in the payroll table

11

One-to-Many Relationships

Each record in Table A can have many

matching records in Table B Example: Each supplier in the Suppliers table could

have multiple items in the Inventory table

12

Many-to-Many Relationships

13

Records in Table A can

have many matching

records in Table B, and

vice-versa

Normally requires a

Junction Table

Example: Items could be ordered by many customers and each

customer might order many items

Relationship Join Line

Connects fields common to both tables

14

Referential Integrity

Sorting query results

A system of rules used to

ensure that relationships

are valid

Must be set in Edit

Relationships dialog box

Access identifies the many

and one side of the

relationship

15

16

Cascade Options

Set in the Edit Relationships dialog box

Cascade Update updates key field of a related table

when edits are made to field in primary table

Cascade Delete removes records from a related table

when record is deleted from primary table

17

Relationship Join Properties

Join Properties: Control circumstances under which

a record from a related table appears when you run a

query

Inner Joins: Check for records with matching values

in the join field and displays only those that match

Left Outer Joins: Display all records from the one

side of a one-to-many relationship

Right Outer Joins: Display all records from the many

side of a one-to-many relationship

Join Properties Dialog Box

Left table

name: One

side of

one-to-many

relationship

Right table name: Many side

of one-to-many relationship

Join types and

descriptions

One vs. Many Sides of Relationships

One (left) side

of relationship

Many (right) side

of relationship

Join Type button

Object Dependencies

Shows the object for which

dependencies are shown

at the top

You can choose to identify

object dependent on the

active object or those on

which the object depends

Objects are listed by type

Lesson 32: Designing a Relational Database