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