Captain's Log: Database Management Systems, Spring 2004
-
January 23 (Friday)
-
Introduction to course. Syllabus handed out.
Slides
(part I) for the Introduction (Chap 1).
-
January 26 (Monday)
-
Slides (part II)
for the Introduction (Chap 1).
Embark on the ER-model (Chap 2):
Entity sets; Relationship sets; E-R Diagrams.
-
January 28 (Wednesday)
-
Continue the ER-model (Chap 2):
Cardinality constraints; Keys; Binary vs. Ternary Relationships.
-
January 30 (Friday)
-
Homework 1 out.
Draw ER-diagram for car-insurance company (Exercise 2.2);
convert it to table representation.
Slides.
-
February 2 (Monday)
-
University closed (due to snow)
-
February 4 (Wednesday)
-
Finish the ER-model (Chap 2),
mentioning weak entity sets and specialization/generalization,
covering pp 33-42, 46-51, 57-65 of the
slides.
Draw ER-diagram for university course offerings (Exercise 2.4).
-
February 6 (Friday)
-
Homework 1 in. Homework 2 out.
Started on Chapter 3, introducing the Relational Algebra.
Slides (pp 1-26).
-
February 9 (Monday)
-
Continue Relational Algebra.
Slides (pp 27-52).
-
February 11 (Wednesday)
-
Finish Relational Algebra (Sections 3.2-3.5).
Slides (pp 53-73).
-
February 13 (Friday)
-
Homework 2 in. Graded Homework 1 back; we sketched and discussed
how best to solve the exercises.
Covered the Tuple Relational Calculus (Section 3.6).
Slides (pp 74-82).
-
February 16 (Monday)
-
Homework 3 out.
Embark on Chapter 4 about SQL, covering the essential language constructs.
Slides (pp 1-27).
-
February 18 (Wednesday)
-
Discussed some issues about the use of Oracle and SQLplus;
saw an example of how to
set up the bank database.
Continued Chapter 4 about SQL, introducing some convenient features
and also covering how to modify the database.
Slides (pp 28-47).
-
February 20 (Friday)
-
Cover many of the Homework 2 exercises:
3.5(a,c,d), 3.8(d), 3.9(a,b), 3.10(b).
-
February 23 (Monday)
-
Homework 3 in. Graded Homework 2 back.
A few more things about SQL (thus finishing Chapter 4).
Slides (pp 48-60).
Embarked on Section 5.2 covering Datalog.
Slides (pp.36-41).
-
February 25 (Wednesday)
-
Homework 4 out.
Continued Section 5.2 on Datalog.
Slides (pp.42-52).
-
February 27 (Friday)
-
Finish Section 5.2 on Datalog, covering recursion.
Slides (pp.53-61).
Embark on Chapter 6 (domain constraints and referential integrity).
Slides (pp.1-7).
-
March 1 (Monday)
-
Continue Chapter 6: cascading, trigger, introduction to security.
Slides (pp.8-33).
-
March 3 (Wednesday)
-
Graded Homework 3 back (cover Exercise 3.15).
Finish Chapter 6: authorization, authentication.
Slides (pp.34-47).
-
March 5 (Friday)
-
Homework 4 in. Homework 5 out.
Embark on Chapter 7, setting goals for good database design
and introducing the crucial notion of functional dependency.
Slides (pp.1-12).
-
March 8 (Monday)
-
Continue Chapter 7, elaborating on functional dependencies.
Slides (pp.13-28)
-
March 10 (Wednesday)
-
Continue Chapter 7.
Slides (pp.29-33)
We started by proving that a sufficient condition for
a decomposition of R into (R1,R2) to be a lossless join
is that (R1 intersect R2 -> R1) or that
(R1 intersect R2 -> R2).
It is not a necessary condition, however,
contrary to the claim on slide 28
(page 276 in the textbook has it right).
We then discussed how to decompose a relation
over (A,B,C) with dependencies A -> B and B -> C:
decomposing into (A,C) and (B,C) is not lossless and must therefore
be avoided; decomposing into (A,B) and (A,C) is lossless
but loses dependencies (to check whether an insertion respects
B -> C the join has to be recomputed);
decomposing into (A,B) and (B,C) is lossless and
preserves all dependencies :)
-
March 12 (Friday)
-
Homework 5 in. Homework 6 out.
Graded Homework 4 back (cover Exercise 4.2(i,k)).
Continued Chapter 7, covering Boyce-Codd Normal Form (BCNF)
and the decomposition into such.
Slides (pp.34-39)
-
March 15 (Monday)
-
Continue Chapter 7, covering 3NF and starting on 4NF.
Slides (pp.39-59)
-
March 17 (Wednesday)
-
Finish 4NF, and thereby Chapter 7, using
slides from book (pp.60-72)
as well as an extra example of decomposition.
-
March 19 (Friday)
-
Homework 6 in. Homework 7 out.
Graded Homework 5 back (cover Exercise 5.2(e-h)).
We now change focus to Data Storage and Querying,
starting on Chapter 11.
Slides (pp.1-14)
-
March 22--26
-
Spring break
-
March 29 (Monday)
-
Finish Chapter 11, covering: RAID 1 & 5; buffer replacement policies;
file organization, including how to store records with
fixed or variable length.
Slides (pp.15-49)
-
March 31 (Wednesday)
-
Midterm exam.
-
April 2 (Friday)
-
Take-home part of Midterm due.
No class (University Open House).
-
April 5 (Monday)
-
Graded homework 6 back (cover Part III of the project).
Start on Chapter 12, up to introducing B+-trees.
Slides (pp.1-20)
-
April 7 (Wednesday)
-
Continue Chapter 12, covering B+-trees and start on hashing.
Slides (pp.20-43)
-
April 9 (Good Friday)
-
Finish Chapter 12, with focus on extendable hashing.
Slides (pp.44-70)
Start on Chapter 13 on Query Processing, discussing various way
to process a selection operator.
Slides (pp.1-13)
-
April 12 (Monday)
-
Homework 7 in (the last stage of the Project).
Homework 8 out.
Finish Chapter 13 on Query Processing, discussing various way
of implementing the operations on relational algebra, in particular
the join operation.
Slides (pp.14-49)
-
April 14 (Wednesday)
-
Start on Chapter 14 on Query Optimization, giving a catalog of
cost estimates and some equivalence rules.
Slides (pp.1-27)
-
April 16 (Friday)
-
Homework 8 in. Homework 9 out.
Continue Chapter 14 on Query Optimization.
Slides (pp.28-49)
-
April 19 (Monday)
-
Graded (in-class part of) Midterm back.
Finish Chapter 14, also covering Exercise 14.14.
Slides (pp.49-63)
-
April 21 (Wednesday)
-
TEVAL (if you were not there, you can go to the front office
and fill out the questionnaire).
Graded (take-home part of) Midterm back;
go through suggested solutions.
-
April 23 (Friday)
-
Homework 9 in. Graded Homework 8 back.
Start on Chapter 15 on Transactions,
introducing the notion of serializability: a schedule
is correct if it is (conflict) equivalent to a serial schedule.
Slides (pp.1-21)
-
April 26 (Monday)
-
Finish Chapter 15.
Slides (pp.22-33).
Start on Chapter 16.
Slides (pp.1-6 and 11-14).
-
April 28 (Wednesday)
-
Homework 10 out.
Continue Chapter 16, covering two-phase locking protocols,
graph-based protocols, and timestamp-based protocols.
Slides (pp.7-10 and 15-24).
-
April 30 (Friday)
-
Finish Chapter 16, covering more protocols;
go through Exercise 16.21
which compares the merits of the various protocols proposed
in this chapter. Briefly discuss deadlock.
Slides (pp.25-45).
-
May 3 (Monday)
-
Homework 10 in.
Homework 11 out. Graded Homework 9 back.
Finish Chapter 16, mentioning the Phanton Phenomenon.
Slides (pp.46-51).
Start on Chapter 17, going through simple log-based recovery.
Slides (pp.1-19).
-
May 5 (Wednesday)
-
Continue Chapter 17, covering checkpoints, shadow paging, recovery with
concurrent transactions, log record buffering,
the "dual paging" problem, remote backup.
Slides (pp.20-36 & 61-65).
A taste of Chapter 22: association rules.
Slides (pp.41-44).
-
May 7 (Friday)
-
Homework 11 in.
Finish Chapter 17, mentioning the need for logical undo.
Slides (pp.39-42).
Start on Chapter 22, giving a brief introduction to decision support
systems and presenting the notion of a decision tree.
Slides (pp.2-12 & 25-32).
-
May 10 (Monday)
-
Last day of class. Graded Homeworks 10 & 11 back, briefly
discussing each exercise there;
for Exercise 22.11, use Bayes's Theorem (p.837 in textbook).
Tidbits from Chapter 22: construction of decision trees
(an example), and
information retrieval systems.
Slides (pp.33-34, 59-66).
-
May 12 (Wednesday)
-
No class (instructor out of town).
-
May 17 (Monday)
-
11:50am-1:40pm (N122):
Final exam.
Torben Amtoft