l2 - CLAIR

Transcription

l2 - CLAIR
SI 654
Database Application Design
Winter 2003
Dragomir R. Radev
1
© 2002 by Prentice Hall
Database Processing
Eighth Edition
The EntityRelationship
Model
2
Chapter 3
David M. Kroenke
© 2002 by Prentice Hall
Data Modeling
• Process of creating a logical
representation of the structure of
the database
• The most important task in database
development
3
© 2002 by Prentice Hall
Entity-Relationship Model
(E-R Model)
• An Entity-Relationship Model (E-R
Model) consists of:
– Entities
– Attributes
– Identifiers
– Relationships
4
© 2002 by Prentice Hall
An Entity
• An entity is an object that can be
identified in the users’ work
environment & that users want to
track.
• Entities of a given type are grouped
into entity classes.
5
© 2002 by Prentice Hall
An Entity Example
6
© 2002 by Prentice Hall
Attributes
• An attribute describes a characteristic of
an entity
• For example
– An entity: Employee
– Has attributes:
• EmployeeName
• Extension
• DateOfHire
7
© 2002 by Prentice Hall
Identifier
• An identifier uniquely identifies a row
in a table.
• For an Employee, the
SocialSecurityNumber may serve as
the Indentifier.
8
© 2002 by Prentice Hall
Relationships
• A relationship describes how one or
more entities are related with each
other.
9
© 2002 by Prentice Hall
Relationship Cardinality
• Entity-Instance Participation in
relationships is shown by
– maximum cardinality
– minimum cardinality
10
© 2002 by Prentice Hall
Maximum Cardinality
• The maximum cardinality
indicates/depicts the maximum
number of instances involved in a
relationship.
• Alternatives include
– 1:1 (one-to-one)
– 1:N (one-to-many)
– N:M (many-to-many)
11
© 2002 by Prentice Hall
Relationship Examples
Showing Maximum
Cardinality Alternatives
12
© 2002 by Prentice Hall
Minimum Cardinality
• The minimum cardinality
indicates/depicts whether
participation in the relationship is
mandatory or optional.
• Alternatives include
– 0 (optional)
– 1 (mandatory)
13
© 2002 by Prentice Hall
A Relationship Example
Showing Minimum and
Maximum Cardinality
14
© 2002 by Prentice Hall
A Recursive Relationship
• A recursive
relationship is when
an entity has a
relationship with
itself.
15
© 2002 by Prentice Hall
Entity-Relationship Diagram
(E-R Diagram)
• An entity-relationship diagram (E-R
Diagram) is a graphical representation
of the E-R model using a set of
‘somewhat’ standardized conventions
16
© 2002 by Prentice Hall
An Entity-Relationship Diagram
(E-R Diagram) Example
17
© 2002 by Prentice Hall
Weak Entity
• A weak entity is an entity whose
instance survival depends (logically)
on an associated instance in another
entity
18
© 2002 by Prentice Hall
Subtype Entities
• Some entities may have many common
attributes and a few unique
attributes.
• The common attributes may be
grouped together in a supertype
entity and the unique attributes may
be grouped together in a subtype
entity.
19
© 2002 by Prentice Hall
CLIENT with
Subtype Entities
20
© 2002 by Prentice Hall
E-R Diagram
Computer Assisted Software
Engineering (CASE) Tools
• Several Computer Assisted Software
Engineering (CASE) Tools exist to help
create E-R Diagrams and the resulting
physical database elements. Products
include:
– IEW
– IEF
– DEFT
– ER-WIN
– Visio
21
© 2002 by Prentice Hall
E-R Diagram Example:
Jefferson Dance Club
22
© 2002 by Prentice Hall
E-R Diagram Example:
San Juan Charters
23
© 2002 by Prentice Hall
Database Processing
Eighth Edition
The
Relational
Model and
Normalization
24
Chapter 5
David M. Kroenke
© 2002 by Prentice Hall
The Relational Model
• Broad, flexible model
• Basis for almost all DBMS products
• E.F. Codd defined well-structured
“normal forms” of relations,
“normalization”
25
© 2002 by Prentice Hall
Components of the
Relational Model
• Relation
– A two-dimensional table consisting
of rows and columns
• Tuples
– The rows (or records) in a relation
• Attributes
– The columns (or fields) in a relation
26
© 2002 by Prentice Hall
Terminology
27
© 2002 by Prentice Hall
Functional Dependency
• Functional dependencies are the
relationships among the attributes
within a relation.
• If attribute A functional depends on
attribute B, then for every instance
of B you will know the respective
value of A.
28
© 2002 by Prentice Hall
Functional Dependency
Notation
• Major is functionally dependent on
SID
• SID  Major
• Grade is functionally dependent on
the combination of SID and ClassID
• (SID, ClassID)  Grade
29
© 2002 by Prentice Hall
Functional Dependency
– an Example
• EmployeeNumber  Name
• EmployeeNumber  Age
• EmployeeNumber  Sex
30
© 2002 by Prentice Hall
A Key
• A key is a group of
one or more
attributes that
uniquely identifies
a tuple
31
© 2002 by Prentice Hall
A Combination Key
• Sometimes more than one attribute
will be required to uniquely identify a
tuple.
• If a key consists of more than one
attribute, it is called a combination
(or composite) key.
32
© 2002 by Prentice Hall
Example of a Combination
Key
33
© 2002 by Prentice Hall
Normalization
• Normalization is a process of
evaluating and converting a relation to
reduce modification anomalies
• Essentially, normalization detects and
eliminates data redundancy
34
© 2002 by Prentice Hall
An Anomaly
• An anomaly is an undesirable
consequence of a data modification.
35
© 2002 by Prentice Hall
Normal Forms
• Normal forms are state-classes of
relations which identify the level of
anomaly-avoidance
36
© 2002 by Prentice Hall
Normal Forms Levels
•
•
•
•
•
•
•
37
1NF –First Normal Form
2NF –Second Normal Form
3NF –Third Normal Form
BCNF –Boyce-Codd Normal Form
4NF –Fourth Normal Form
5NF –Fifth Normal Form
DK/NF –Domain/Key Normal Form
© 2002 by Prentice Hall
First Normal Form (1NF)
• To be in First Normal Form (1NF) a
relation must have only single-valued
attributes -- neither repeating groups
nor arrays are permitted
38
© 2002 by Prentice Hall
Second Normal Form (2NF)
• To be in Second Normal Form (2NF)
the relation must be in 1NF and each
nonkey attribute must be dependent
on the whole key (not a subset of the
key)
39
© 2002 by Prentice Hall
Third Normal Form (3NF)
• To be in Third Normal Form (3NF) the
relation must be in 2NF and no transitive
dependencies may exist within the relation.
• A transitive dependency is when an
attribute is indirectly functionally
dependent on the key (that is, the
dependency is through another nonkey
attribute)
40
© 2002 by Prentice Hall
Violation of 3NF
41
© 2002 by Prentice Hall
Boyce-Codd Normal Form
(BCNF)
• To be in Boyce-Codd Normal Form
(BCNF) the relation must be in 3NF
and every determinant must be a
candidate key.
42
© 2002 by Prentice Hall
Fourth Normal Form (4NF)
• To be in Fourth Normal Form (4NF)
the relation must be in BCNF and the
relation may not contain multi-valued
dependencies.
43
© 2002 by Prentice Hall
Fifth Normal Form (5NF)
• The Fifth Normal Form concerns
dependencies that are obscure and
beyond the scope of this text.
44
© 2002 by Prentice Hall
Domain/Key Normal Form
(DK/NF)
• To be in Domain/Key Normal Form
(DK/NF) every constraint on the
relation must be a logical consequence
of the definition of keys and domains.
45
© 2002 by Prentice Hall
DK/NF Terminology
• Constraint
– A rule governing static values of
attributes
• Key
– A unique identifier of a tuple
• Domain
– A description of an attribute’s
allowable values
46
© 2002 by Prentice Hall
 DK/NF Example
Domain/Key
Definition
of Example
Above 
47
© 2002 by Prentice Hall
DK/NF Example
48
© 2002 by Prentice Hall
DK/NF Example
49
© 2002 by Prentice Hall
Summary of Normal Forms
50
© 2002 by Prentice Hall
Synthesis of Relations
A  B and B  A
A  B but B not  A
A not  B and B not  A
51
one-to-one
many-to-one
many-to-many
© 2002 by Prentice Hall
Summary of Attribute
Relationships
52
© 2002 by Prentice Hall
Optimization
• De-Normalization (a.k.a., Controlled
Redundancy)
53
© 2002 by Prentice Hall