Captain's Log: Database Management Systems, Spring 2006

January 13 (Friday)
Introduction to course. Go through syllabus.
Cover most of Chapter 1 in textbook (pp. 1--14 of Slides).
January 16 (Monday)
University Holiday (Martin Luther King)
January 18 (Wednesday)
Homework 1 out.
Finish Chapter 1: Slides, pp. 15-16, 19-22.
Embark on Chapter 2, covering Sections 2.1 and 2.2 (relational algebra with fundamental operations).
Slides, pp. 4-9, 12, 14-26, 27-30.
January 20 (Friday)
Cover Section 2.3, introducing additional operations, in particular natural join and division.
Do Exercise 2.1(b), and Exercise 2.5(b,c).
Slides, pp. 31, 33-45.
January 23 (Monday)
Finish Chapter 2, with focus on aggregate functions, covering Sections 2.4-2.6.
Do Exercise 2.1(c), and Exercise 2.9(a).
Slides, pp. 46-65, 32.
January 25 (Wednesday)
Homework 1 in.
Start on Chapter 3, covering the basics of SQL (Sections 3.1-3.5).
Do Exercise 3.1(a).
Slides, pp. 1-25
January 27 (Friday)
Go through model solutions for HW 1.
Cover a little more of SQL (Sections 3.6-3.7).
Do Exercise 3.2, g & c.
Slides, pp. 26-32
January 30 (Monday)
Homework 2 out. Graded Homework 1 back.
Show how to log into Oracle and run SQL queries, for example using the script that sets up the bank database.
Do Exercise 3.2, d & e.
Slides, pp. 34-39
February 1 (Wednesday)
Finish Chapter 3, covering Section 3.8-3.11.
Do Exercises 3.15(b), 3.7, 3.14.
Slides, pp. 40-62
February 3 (Friday)
Homework 2 in.
Embark on Chapter 4 on advanced features of SQL, covering Sections 4.1 & 4.2.
Do Exercises 4.3(a), 4.7, 4.4, 4.5.
Slides, pp. 1-19
February 6 (Monday)
Go through model solutions for HW 2.
Cover Sections 4.3, 4.4 & 4.6 (we skip Sections 4.5 & 4.8, and postpone Section 4.7).
Slides, pp. 20-27, 41-45, 50-52
February 8 (Wednesday)
Embark on Chapter 5: the tuple relational calculus (Sect. 5.1), and briefly also the domain relational calculus (Sect. 5.2).
Do Exercises 5.6(df), 5.11.
Slides, pp. 1-15
February 10 (Friday)
Homework 3 out.
Cover Query-by-Example (Sect 5.3).
Do Exercises 5.12(bdf), 5.10.
Slides, pp. 16-49
February 13 (Monday)
Graded Homework 2 back.
Embark on Datalog (Sect 5.4).
Do Exercises 5.3(ab), 5.12(bd).
Slides, pp. 50-64
February 15 (Wednesday)
Continue Datalog, treating first negation and next recursion (adding a lot of power). Recursion in SQL (Section 4.7).
Do Exercises 5.12(f), Exercise 5.4(cd).
Slides, pp. 65-70.
February 17 (Friday)
Homework 3 in.
Briefly discuss how recursion and negation interacts in Datalog (Slides, pp. 71-73).
Start on the E-R model, covering Sections 6.1-6.4 (Slides, pp. 1-26); do Exercise 6.1.
February 20 (Monday)
Homework 4 out.
Continue the E-R model, covering Sections 6.5-6.6.
Do Exercises 6.2, 6.3, 6.4.
Slides, pp. 28-37
February 22 (Wednesday)
Finish the E-R model, covering Sections 6.7-6.10.
Do Exercise 6.11, and Exercise 6.16 (for Practice Exercise 6.2).
Slides, pp. 38-59
February 24 (Friday)
Homework 4 in. Graded Homework 3 back; go through model solutions.
Introduction to relational database design, covering Sections 7.1, 7.2, and 7.3.1.
Slides, pp. 1-16
February 27 (Monday)
Homework 5 out.
Finish Section 7.3: Do Exercises 7.2 and 7.9.
Slides, pp. 17-24
March 1 (Wednesday)
Cover Section 7.4 on functional dependencies.
Do Exercise 7.4; illustrate computation of canonical cover using the example on p.285; illustrate the algorithm on p.287 (lower part), checking for dependency preservation, on two decompositions.
Slides, pp. 25-42
March 3 (Friday)
Homework 5 in. Homework 6 out. Graded Homework 4 back; go through model solutions.
Cover Section 7.5, decomposing into BCNF/3NF.
Do Exercise 7.25, and Exercise 7.27 (where the original schema is already in 3NF!)
Slides, pp. 43-55
March 6 (Monday)
Discuss Exercise 6.21 from Homework 4.
Graded Homework 5 back.
Finish decomposition into 3NF, by discussing the erroneous slide 55 (they forgot to use canonical cover).
Introduce multi-valued dependencies (Sect. 7.6.1).
Slides, pp. 56-61 (+23)
March 8 (Wednesday)
Introduce "The Chase".
Introduce 4NF (Section 7.6.2), and prove that 4NF implies BCNF.
Slides, pp. 62-64
March 10 (Friday)
Homework 6 in (also go through model solutions).
Decomposition into 4NF (Section 7.6.3). Other normal forms (Section 7.7), including general join dependencies.
Slides, pp. 66-68
March 13 (Monday)
Midterm exam, in-class part .
March 15 (Wednesday)
Midterm exam, take-home part due.
Wrap up Chapter 7 (Slides), taking a step back and looking at the big design picture (Section 7.8, slides 69-72.).
Go through model solutions for in-class part of midterm.
Embark on Chapter 8 (Slides), covering web servies (Sections 8.2-8.5, slides 6,7,10,11,20,17,18) and triggers (Section 8.6, slides 23-29).
March 17 (Friday)
Finish Chapter 8, covering Authorization (Section 8.7) and Security (Section 8.8).
Slides (pp. 31,32,35,38,39,43,46-51).
Go through model solutions for take-home part of midterm.
March 20-24
Spring break.
March 27 (Monday)
Homework 7 out.
Embark on Data Analysis and Mining (Chapter 18), covering Data Analysis and OLAP (Section 18.2).
Do Exercises 18.1, 18.4, & 18.8; also play around with SQL queries using cube and rollup.
Slides (pp. 1-21).
March 29 (Wednesday)
Graded midterms back. Graded Homework 6 back.
Finish OLAP (Section 18.2), doing Exercise 18.3.
Cover Data Warehousing (Section 18.3), doing Exercise 18.7.
Slides (pp. 22-29).
March 31 (Friday)
Cover most aspects of data mining (Section 18.4), in particular:
April 3 (Monday)
Torben out of town (also no office hours on April 4); Chaitanya will be in class so as to answer questions about project.
Homework 7 in (if hand in to front office, ask them to give it to Chaitanya)
April 5 (Wednesday)
Torben out of town (also no office hours on April 6); Chaitanya will be in class so as to answer questions about project.
April 7 (Friday)
Class canceled (All-University Open House)
April 10 (Monday)
Go through HW 7 model solutions.
Finish data mining (Section 18.4), in particular: Briefly cover Chapter 19 on information retrieval (Slides 4,5,10,11,12,15)
April 12 (Wednesday)
Homework 8 (Phase I of project) in. Homework 9 out.
We now turn our attention to back-end issues, and prepare for that by summarizing Chapter 11 on Storage and File Structure.
Mention Exercises 11.1, 11.3, 11.4, 11.10, 11.15.
Slides (pp. 4-5, 9-11, 15-17, 20-23, 27-30, 35-37, 40-41, 44-50).
April 14 (Friday)
Graded Homework 7 back.
Cover Sections 12.1-12.4, with focus on B+ trees.
Slides (pp 1-40).
April 17 (Monday)
Cover Sections 12.5-12.7, with focus on hashing.
Do Exercises 12.7 & 12.17.
Slides (pp 41-65).
April 19 (Wednesday)
TEVAL (if you were not there, you can go to the front office and fill out the two questionnaires).
Homework 9 (including Phase II of project) in. Homework 10 out.
Briefly cover Sections 12.8-12.9 on bitmaps ( Slides, pp 66-70), and do Exercise 12.11.
Introduction to Query Processing (Sections 13.1-13.2, Slides pp 1-8), and do Exercise 13.1.
April 21 (Friday)
Graded Homework 8 (phase I of project) back.
Cover Sections 13.3-13.5, discussing a variety of ways to implement selection, sorting, and join. (Do Exercise 13.6(a,c).)
Slides, pp 9-40
April 24 (Monday)
Finish Query Processing by covering Sections 13.6-13.7, also doing Exercise 13.8. ( Slides, pp 41-46.)
Start on Query Optimization by covering Sections 14.1-14.2, also giving an example where "pushing down selections" is a bad idea. ( Slides, pp 1-18.)
April 26 (Wednesday)
Do Exercise 14.2(abc), Exercise 14.3(b) (for part a, see pp 86-89 in textbook).
Cover Section 14.4 (except Section 14.4.4) on choice of evaluation plan; cover Section 14.5 on materialized views; start on Section 14.3 on estimating statistics.
Slides (pp 21-32, 50-59, 33-37).
April 28 (Friday)
Homework 10 (including Phase III of project) in. Homework 11 out.
Finish Section 14.3 on estimating statistics (Slides, pp 37-45).
Do Exercises 14.4 & 14.5.
Graded Homework 9 back, go through model solutions.
May 1 (Monday)
Cover Chapter 15 on Transactions, with key topics: ACID, (conflict) serializability, (cascadeless) recoverability.
Slides, pp 1-33
May 3 (Wednesday)
Cover lock-based protocols (Section 16.1), including graph-based (Section 16.1.5).
Cover timestamp-based protocols (Section 16.2).
Sketch a proof that the two-phase locking protocol yields only serializable schedules (cf. Exercise 16.1); mention Exercise 16.15; do Exercise 16.5.
Slides, pp 1-22
May 5 (Friday)
Homework 11 in.
Finish Chapter 16 on concurrency control (Slides, pp 23-39, 47-51): Do Exercises 16.22, 16.16, 16.24, 16.14.
Go through model solutions for HW 10. Go through model solutions for HW 11.
May 8 (Monday) to May 12 (Friday)
Finals week.
May 9 (Tuesday)
Optional review session in N127, 4-5pm.
May 12 (Friday)
Final exam, 4:10-6:00pm.


Torben Amtoft