CS186: Introduction to Database Systems
Download
Report
Transcript CS186: Introduction to Database Systems
CS 405G: Introduction to
Database Systems
26 Final exam review
Chen Qian
University of Kentucky
Final exam
Tuesday 05/05/14
10:30 – 12:00
This classroom.
7/20/2015
Chen Qian @ University of Kentucky
2
Read the mid-term review
ER diagram
Relational Algebra
SQL (important!)
7/20/2015
Chen Qian @ Univ of Kentucky
Functional dependencies
A functional dependency (FD) has the form X -> Y,
where X and Y are sets of attributes in a relation R
X -> Y means that whenever two tuples in R agree on all
the attributes in X, they must also agree on all attributes
in Y
7/20/2015
Chen Qian @ Univ of Kentucky
FD examples
Address (street_address, city, state, zip)
street_address, city, state -> zip
zip -> city, state
zip, state -> zip?
This is a trivial FD
Trivial FD: LHS RHS
zip -> state, zip?
This is non-trivial, but not completely non-trivial
Completely non-trivial FD: LHS ∩ RHS = ?
7/20/2015
Chen Qian @ University of Kentucky
5
Attribute closure
Given R, a set of FD’s F that hold in R, and a set of
attributes Z in R:
The closure of Z (denoted Z+) with respect to F is the set
of all attributes {A1, A2, …} functionally determined by
Z (that is, Z -> A1 A2 …)
Algorithm for computing the closure
Start with closure = Z
If X -> Y is in F and X is already in the closure, then also
add Y to the closure
Repeat until no more attributes can be added
7/20/2015
Chen Qian @ Univ of Kentucky
Using attribute closure
Given a relation R and set of FD’s F
Does another FD X -> Y follow from F?
Is K a super key of R?
Compute X+ with respect to F
If Y X+, then X -> Y follow from F
Compute K+ with respect to F
If K+ contains all the attributes of R, K is a super key
Is a super key K a key of R?
Test where K’ = K – { a | a K} is a superkey of R for all
possible a
7/20/2015
Chen Qian @ University of Kentucky
7
Rules of FD’s
Armstrong’s axioms
Reflexivity: If Y X, then X -> Y
Augmentation: If X -> Y, then (X,Z) -> (Y,Z) for any Z
Transitivity: If X -> Y and Y -> Z, then X -> Z
Rules derived from axioms
Splitting: If X -> YZ, then X -> Y and X -> Z
Combining: If X -> Y and X -> Z, then X -> YZ
7/20/2015
Chen Qian @ University of Kentucky
8
First Normal Form ( 1NF )
A relation is in first normal form if the domain of each
attribute contains only atomic values, and the value of
each attribute contains only a single value from that
domain.
7/20/2015
Chen Qian @ University of Kentucky
9
2nd Normal Form
An attribute A of a relation R is a nonprimary attribute if
it is not part of any key in R, otherwise, A is a primary
attribute.
R is in (general) 2nd normal form if every nonprimary
attribute A in R is not partially functionally dependent
on any key of R
How to identify 2NF
How to decompose relations
7/20/2015
Chen Qian @ University of Kentucky
10
Third normal form
• 3NF requires that there are no non-trivial
functional dependencies of non-key attributes on
something other than a superset of a candidate key.
• Recall: non-trivial FD means LHS has no
intersection with RHS.
• In summary, all non-key attributes are mutually
independent.
7/20/2015
Chen Qian @ University of Kentucky
11
BC normal form
• A table is said to be in the BCNF if and only if
it is in the 3NF and every non-trivial, leftirreducible functional dependency has a
candidate key as its determinant.
•How to find violations
•How to decompose relations
7/20/2015
Chen Qian @ University of Kentucky
12
Conflicts
precedence graph
conflict-serializable schedule
7/20/2015
Chen Qian @ University of Kentucky
13
Lock
exclusive lock and shared locks
Two-phase locking
Strict 2PL
All lock requests precede all unlock requests
Only release locks at commit/abort time
Examples
7/20/2015
Chen Qian @ University of Kentucky
14
Disk
Disk structure
Cylinder, platter, track, etc.
Random disk access
Seek time + rotational delay + transfer time
7/20/2015
Chen Qian @ University of Kentucky
15
File Storage
Heap file as a list or page directory
Record format
Page layout
7/20/2015
Chen Qian @ University of Kentucky
16
Tree-Structured Indexes: Introduction
Tree-structured indexing techniques support both range
selections and equality selections.
ISAM =Indexed Sequential Access Method
static structure; early index technology.
B+ tree: dynamic, adjusts gracefully under inserts and
deletes.
Operations: search, range query, insert, delete
(important!)
Understand the examples in the exercise slides!
7/20/2015
Chen Qian @ University of Kentucky
17
Hashing
Static hashing
Dynamic hashing
7/20/2015
Extensible and linear hashing
Understand examples in slides
Chen Qian @ University of Kentucky
18
Final Exam
1. True/False
2. Functional Dependency and Normal Forms
3. SQL
4. Index (B+ Tree)
5. Index (B+ Tree)
6. Storage
7/20/2015
Chen Qian @ University of Kentucky
19
Good luck and hope you enjoy this class!
Don’t forget:
You give me a grade
7/20/2015
Chen Qian @ University of Kentucky
20