Raw Material

advertisement
Extended Learning Module C
DESIGNING DATABASES
AND ENTITYRELATIONSHIP
DIAGRAMMING
STUDENT LEARNING OUTCOMES
1. Identify how databases and spreadsheets
are both similar and different
2. List and describe the four steps in designing
and building a relational database
3. Define the concepts of entity class,
instance, primary key, and foreign key
C-2
STUDENT LEARNING OUTCOMES
4. Given a small operating environment, build
an entity-relationship (E-R) diagram
5. List and describe the steps in normalization
6. Describe the process of creating an
intersection relation to remove a many-tomany relationship
C-3
INTRODUCTION
• Chapter 3 discussed why databases are
important
• This module teaches you how to design a
relational database
• The relational database is the most popular
model
C-4
INTRODUCTION
• Databases and spreadsheets are similar and
different
• Both have rows and columns of information in
tables or worksheets
– Spreadsheet – you must know the physical row
and column
– Databases – you work with information logically
C-5
INTRODUCTION
• Database – collection of information that you
organize and access according to the logical
structure of that information
• Relational database – uses a series of
logically related two-dimensional tables or
files to store information in the form of a
database
C-6
DESIGNING & BUILDING A
RELATIONAL DATABASE
1. Define entity classes & primary keys
2. Define relationships among the classes
3. Define information for each relation (relation
= table = file)
4. Use a data definition language to create the
database
C-7
Remember Solomon Enterprises?
• From Chapter 3
• It provides concrete to commercial builders
and individual home owners
• In Chapter 3, we looked at the customer
relationship management side of Solomon’s
database
C-8
Remember Solomon Enterprises?
C-9
Remember Solomon Enterprises?
• Tables in Solomon’s database
–
–
–
–
–
Customer
Concrete Type
Order
Truck
Employee
• Let’s continue with that example and expand
to supply chain management (SCM)
C-10
Observations for Solomon
•
5 concrete types
1.
2.
3.
4.
5.
Home foundation and walkways
Commercial foundation and infrastructure
Premier speckled (with gravel)
Premier marble
Premier shell
C-11
Observations for Solomon
C-12
Observations for Solomon
•
6 raw materials
A.
B.
C.
D.
E.
F.
•
Water
Cement paste
Sand
Gravel
Marble
Shell
Mixing instructions are for a cubic yard
C-13
Observations for Solomon
• Some raw materials are in several concrete
types
• A concrete type requires several raw
materials
• Inventory (QOH) is tracked for all raw
materials
C-14
Observations for Solomon
• Suppliers provide raw materials
• Solomon uses only 1 supplier for a given raw
material
• A supplier can provide several raw materials
C-15
Business Rules for Solomon
1. A given concrete type will have many raw
materials in it
2. A given raw material may appear in many
types of concrete
3. Each raw material has one and only one
supplier
C-16
Business Rules of Solomon
4. A supplier may provide many raw materials.
There may be suppliers present not
currently providing any raw materials
•
These business rules are very important to
remember
C-17
STEP 1: DEFINE ENTITY CLASSES
AND PRIMARY KEYS
• Entity class – concept – typically people,
places, or things – about which you wish to
store information and that you can identify
with a unique key (called a primary key)
– Concrete Type
– Raw Material
– Supplier
C-18
STEP 1: DEFINE ENTITY CLASSES
AND PRIMARY KEYS
• Primary key – a field (or group of fields) that
uniquely describes each record
• A record in a database is sometimes called
an instance (of an entity class)
C-19
STEP 1: DEFINE ENTITY CLASSES
AND PRIMARY KEYS
• In general, stay away from names for primary
keys (duplicates often exist)
• Concrete Type – Concrete Type
• Raw Material – Raw Material ID
• Supplier – Supplier ID
• Review Figure C.1 on page 162 to find
examples of these
C-20
STEP 2: DEFINING RELATIONSHIPS
AMONG ENTITY CLASSES
• To define relationships, you create and use
an E-R diagram
• Entity-relationship (E-R) diagram – a
graphic method of representing entity classes
and their relationships
C-21
E-R Diagrams
•
Use 5 symbols
1.
2.
3.
4.
5.
Rectangle – entity class
Dotted line – relationship
| - single relationship
0 – zero/optional relationship
Crow’s foot ( ) – multiple relationship
C-22
E-R Diagrams
C-23
E-R Diagrams
• Figure C.2 on page 165 reads as…
–
–
–
–
A Concrete Type is composed of Raw Material
A Raw Material is used to create a Concrete Type
A Supplier provides a Raw Material
A Raw Material is provided by a Supplier
• These statements match the business rules
C-24
E-R Diagrams - Cardinality
•
•
E-R diagrams show relationships
They also denote the numerical nature of
relationships
This is called cardinality
•
•
•
•
| - single relationship
0 – zero/optional relationship
Crow’s foot ( ) – multiple relationship
C-25
E-R Diagrams - Cardinality
Following line marked A:
A Supplier may not provide any Raw Material (0) but may provide more
than one Raw Material ( )
C-26
E-R Diagrams - Cardinality
Following line marked B:
A Raw Material must be provided by a Supplier (|) and can only be
provided by one Supplier (|)
C-27
Normalization
• Normalization – process of assuring that a
relational database structure can be
implemented as a series of two-dimensional
tables
• We will follow three rules of normalization
C-28
Normalization Rules
1. Eliminate repeating groups or many-tomany relationships
2. Assure that each field in a relation depends
only on the primary key for that relation
3. Remove all derived fields from the relations
C-29
Eliminating Many-To-Many
Relationships
• A many-to-many relationship exists in a
relationship if there is a crow’s foot on each
end
• You must eliminate these by creating an
intersection or composite relation
C-30
Eliminating Many-To-Many
Relationships
C-31
Eliminating Many-To-Many
Relationships
• Intersection (composite) relation – a
relation you create to eliminate a many-tomany relationship
– Intersection relation will have a composite
primary key
• Composite primary key – consists of the
primary key fields from the two intersecting
relations
C-32
Eliminating Many-To-Many
Relationships
C-33
Solomon’s New Database Structure
C-34
Steps to Eliminate a Many-To-Many
Relationship
1. Draw the part of the E-R diagram with the
many-to-many relationship
2. Write some primary keys for each relation
3. Create a new E-R diagram with the
intersection relation in the middle
4. Write some composite primary keys for the
intersection relation
C-35
Steps to Eliminate a Many-To-Many
Relationship
5. Create a meaningful name for the
intersection relation
6. Move minimum cardinality appearing next
to left relation to the right of the intersection
relation
7. Move minimum cardinality appearing next
to right relation to the left of the intersection
relation
C-36
Steps to Eliminate a Many-To-Many
Relationship
8. Maximum cardinality on both sides of the
intersection relation will always be many
()
9. General rule – the new minimum and
maximum cardinalities for the 2 original
relations will be one (|) and one (|)
C-37
STEP 3: DEFINING INFORMATION
FOR EACH RELATION
•
•
•
•
View Figure C.7 on page 174
It is the correct and final structure
There are no many-to-many relationships
Each field depends only on the primary key
for that relation
• There are no derived fields
• You have created a good database design
C-38
STEP 4: USE A DATA DEFINITION
LANGUAGE TO CREATE YOUR
DATABASE
• You’re finally ready to implement your
database with a DBMS
• Database management system (DBMS) –
helps you specify the logical organization for
a database and access and use the
information within the database
C-39
STEP 4: USE A DATA DEFINITION
LANGUAGE TO CREATE YOUR
DATABASE
• Extended Learning Module J is devoted to
using Microsoft Access to
– Create the data dictionary for Solomon’s
database
– Enter information into the database
– Create queries of information in the database
– Create reports of information in the database
C-40
CAN YOU…
1. Identify how databases and spreadsheets
are both similar and different
2. List and describe the four steps in designing
and building a relational database
3. Define the concepts of entity class,
instance, primary key, and foreign key
C-41
CAN YOU…
4. Given a small operating environment, build
an entity-relationship (E-R) diagram
5. List and describe the steps in normalization
6. Describe the process of creating an
intersection relation to remove a many-tomany relationship
C-42
Extended Learning Module C
End of Extended Learning
Module C
Download