Itec 3220 - Department of Mathematics and Statistics

Download Report

Transcript Itec 3220 - Department of Mathematics and Statistics

ITEC 3220M
Using and Designing Database Systems
Instructor: Prof. Z.Yang
Course Website:
http://people.math.yorku.ca/~zyang/itec
3220m.htm
Office: Tel 3049
Chapter 3
The Relational Database Model
(Cont’d)
Relational Database Operators
• Relational algebra
– Defines theoretical way of manipulating table
contents using relational operators:
•SELECT
•PROJECT
•JOIN
•INTERSECT
•UNION
•DIFFERENCE
•PRODUCT
•DIVIDE
– Use of relational algebra operators on existing
tables (relations) produces new relations
3
Relational Algebra Operators
(continued)
• Union:
– Combines all rows from two tables,
excluding duplicate rows
– Tables must have the same attribute
characteristics
• Intersect:
– Yields only the rows that appear in both
tables
4
Union
5
Intersect
6
Relational Algebra Operators
(continued)
• Difference
– Yields all rows in one table not found in the other
table—that is, it subtracts one table from the other
7
Venn Diagrams for Traditional Set
Operators
Venn Diagram:
Union
Intersection
Differences
8
Product
Yields all possible pairs of rows from two tables
9
Relational Algebra Operators
(continued)
• Select
– Yields values for all rows found in a table
– Can be used to list either all row values or it
can yield only those row values that match a
specified criterion
– Yields a horizontal subset of a table
• Project
– Yields all values for selected attributes
– Yields a vertical subset of a table
10
Select
11
Project
12
Relational Algebra Operators
(continued)
• Join
– Allows us to combine information from two
or more tables
– Real power behind the relational database,
allowing the use of independent tables
linked by common attributes
13
Natural Join Process
• Links tables by selecting rows with
common values in common attribute(s)
• Three-stage process
– Product creates one table
– Select yields appropriate rows
– Project yields single copy of each attribute
to eliminate duplicate columns
14
Natural Join (continued)
• Final outcome yields table that
– Does not include unmatched pairs
– Provides only copies of matches
• If no match is made between the table
rows,
– the new table does not include the
unmatched row
15
Other Joins
• EquiJOIN
– Links tables based on equality condition that
compares specified columns of tables
– Join criteria must be explicitly defined
• Theta JOIN
– EquiJOIN that compares specified columns of each
table using operator other than equality one
• Outer JOIN
– Matched pairs are retained
– Unmatched values in other tables left null
– Right and left
16
Divide
Requires use of single-column table and two-column
table
17
Summary of Meanings of the
Relational Algebra Operators
• Select: Extracts rows that satisfy a specified
condition
• Project: Extracts specified columns
• Product: Builds a table from two tables consisting
of all possible combinations of rows, one from
each of the two tables
• Union: Builds a table from all rows appearing in
either of two tables
• Intersect: Builds a table consisting of all rows
appearing in both of two specified tables
18
Summary of Meanings of the Relational Algebra
Operators (Cont’d)
• Join: Extracts rows from a product of two
tables such that two input rows contributing
to any output row satisfy some specified
condition
• Outer Join: Extracts the matching rows of two
tables and the unmatched rows from both
tables
• Divide: Builds a table consisting of all values
of one column of a binary table that match all
values in a unary table
19
Chapter 4
Entity Relationship (E-R)
Modeling
In this chapter, you will learn:
• How relationships between entities are
defined and refined, and how such
relationships are incorporated into the
database design process
• Key terms: cardinality, connectivity, optional,
mandatory, strong relationship, weak
relationship, supertype, subtype, etc.
• How to develop an E-R diagram
21
The Entity Relationship (ER)
Model
• ER model forms the basis of an ER diagram
• ERD represents the conceptual database
as viewed by end user
• ERDs depict the ER model’s three main
components:
– Entities
– Attributes
– Relationships
22
Entities
• Refers to the entity set and not to a single
entity occurrence
• Corresponds to a table and not to a row in the
relational environment
• In both the Chen and Crow’s Foot models, an
entity is represented by a rectangle
containing the entity’s name
• Entity name, a noun, is usually written in
capital letters
23
Attributes
• Characteristics of entities
• Domain is set of possible values
• Primary keys underlined
24
Examples
• EMPLOYEE (EMPLOYEE _ID, EMPLOYEE
_NAME, ADDRESS, DATE-EMPLOYED)
EMPLOYEE
EMPLOYEE
_NAME
EMPLOYEE
_ID
ADDRESS
EMPLOYEE _ID
EMPLOYEE
_NAME
EMPLOYEE
DATEEMPLOYED
ADDRESS
DATEEMPLOYED
25
Attributes (Cont’d)
• Simple
– Cannot be subdivided
– Age, sex, marital status
• Composite
– Can be subdivided into
additional attributes
– Address into street, city, zip
• Single-valued
– Can have only a single value
– Person has one social
security number
• Multi-valued
– Can have many values
– Person may have several
college degrees
– In the Chen E-R model, the
multivalued attributes are
shown by a double line
connecting the attributes to
the entity
• Derived
– Can be derived with algorithm
– Age can be derived from date
of birth
– Versus stored attribute
26
Attributes (Cont’d)
An attribute
broken into
component parts
Street_Address
Address
City
State
Post_Code
27
Attributes (Cont’d)
Entity with a multivalued attribute (Skill) and
derived attribute (Years_Employed)
Employee_ID
Years_Employed
Employee_Name
EMPLOYEE
Address
Skills
Date_Employed
28
How to Deal with Multivalued
Attributes
• With the original entity, create several new
attributes, one for each of the original
multivalued attribute’s components.
• Create a new entity composed of the original
multivalued attribute’s components.
29
An Example
Mod_code
Car_Vin
Car_Year
CAR
Car_Color
30
Relationships
• Association between entities
• Connected entities are called participants
• Operate in both directions
• Connectivity describes relationship
classification
– 1:1, 1:M, M:N
• Cardinality
– Expresses number of entity occurrences
associated with one occurrence of related entity
31
ERD Symbols
• Rectangles represent entities
• Diamonds represent the relationship(s)
between the entities
• “1” side of relationship
– Number 1 in Chen Model
– Bar crossing line in Crow’s Feet Model
• “Many” relationships
– Letter “M” and “N” in Chen Model
– Three pronged “Crow’s foot” in Crow’s Feet
Model
32
Connectivity and Cardinality in an
ERD
33
Relationship Strength
• Existence dependence
– Entity’s existence depends on existence of related
entities
– Existence-independent entities can exist apart from
related entities
– EMPLOYEE claims DEPENDENT
• Weak (non-identifying)
– One entity is existence-independent on another
– PK of related entity doesn’t contain PK component of
parent entity
• Strong (identifying)
– One entity is existence-dependent on another
– PK of related entity contains PK component of parent
entity
34
Weak Entity
• Existence-dependent on another entity
• Has primary key that is partially or totally
derived from parent entity
35
Relationship Participation
• Optional
– Entity occurrence does not require a corresponding
occurrence in related entity
– Shown by drawing a small circle on side of optional
entity on ERD
• Mandatory
– Entity occurrence requires corresponding
occurrence in related entity
– If no optionality symbol is shown on ERD, it is
mandatory
36
Relationship Degree
• Indicates number of associated entities
• Unary
– Single entity
– Exists between occurrences of same entity set
• Binary
– Two entities associated
– Most common
– To simplify the conceptual design, most higher-order
relationships are decomposed into appropriate
equivalent relationships when possible
• Ternary
– Three entities associated
37
Three Types of Relationships
38
Recursive Relationship
• Definition: A relationship can exist
between occurrences of the same entity
set.
1
1
PERSON
is married to
1
M
EMPLOYEE
manages
39
Composite Entities
• Also known as bridge entities
• Composed of the primary keys of each of
the entities to be connected
• May also contain additional attributes that
play no role in the connective process
40
A Composite Entity in an ERD
41
Example M:N Relationship
42
Converting M:N Relationship to Two 1:M
Relationships (Cont’d)
43
An Example
1
W
X
STORE
(a,b)
Y
Z
ORDER
(e,f)
(g,h)
PRODUCT
(i,j)
(k,l)
employs
M
(c,d)
1
EMPLOYEE
M
DEPENDENT
claims
(m,n)
(o,p)
44
Comparison of E-R Modeling
Symbols
45
Developing an E-R Diagram
• Iterative Process
– Step1: General narrative of organizational
operations developed
– Step2: Basic E-R Model graphically depicted and
reviewed
– Step3: Modifications made to incorporate newly
discovered E-R components
• Repeat process until designers and users
agree E-R Diagram complete
46
Example
• Create an ERD using the following
business rules:
– A company operates four departments
– Each department employs employees
– Each of the employees may or may not have
one or more dependents
– Each employee may or may not have an
employment history
47
Exercise
Design an E-R diagram for a real estate firm that lists property
of sale.
The
firm has a number of sales offices in several states.
Each
sales office is assigned one or more employees.
Attributes of employees include ID and name. An employee
must be assigned to only one sales office.
For
each sales office, there is always one employee assigned
to manage that office. An employee may manage only the sales
office to which he is assigned.
The
firm lists property for sale. Attributes of property include ID
and location. Components of location include address, city,
state, and Zip_code.
Each
unit of property must be listed with one of the sales
offices. A sales office may have any number of properties listed,
or may have no properties listed.
Each
unit of property has one or more owners. An owner may
own one or more units of property. An attribute of the
relationship between property and owner is Percent_Owned.48