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 RelationshipsEach 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 RelationshipsOne (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
Top Related