Data Management

Fall 2016
Class: Monday 8:30 –10:15 and Wednesday 10:30 –12:15, SI 003
Instructor: Robert Soulé
TAs: Matteo Marescotti and Theo Jepsen
Office hours: by appointment
Final exam: January 17, 13:30, Rooms 008, 006, and 003


Databases are essential to applications in a wide variety of domains, including finance, health care, commerce, and telecomunications. In fact, most applications that people use on a day-to-day bases are backed by databases. This course provides a practical introduction to database technology. By the end of this course, students will understand the fundamental concepts about database management systems, become familiar with commercial tools for the design and development of database applications, and be exposed to recent trends in database-like storage systems. Topics covered include modeling enterprise data with ER diagrams, the relational model, SQL, logical design with normalization, physical design, query execution, transaction processing, recovery, concurrency, online analytical processing. The latter part of the course will survery alternatives to traditional relational database systems, exploring tradeoffs and use-cases.



We rely on two textbooks:


Please send class-related questions to the Discussions Forum on Moodle (unless, of course, they concern private rather than technical or organizational issues).

Grading Policy

35% for homework; 25% for the mid-term; 40% for the final exam.

Academic Integrity

I encourage you to collaborate on homework assignments. But you must write up and turn in your own answers. Also, you must clearly indicate who you collaborated with. If I detect any incidents of cheating, I will report them immediately to the department, and the assignment will be given a grade of 0.


Please be sure to regularly check this page for updates.

Sep 21
Introduction, ER Model
Sep 26
Relational Model
  • Slides
  • Read Cow Book 3.1,3.5
Sep 28
Relational Algebra
  • Slides
  • Read Cow Book 4.1, 4.2
Oct 3
SQL Data Manipulation Language I
Oct 5
SQL Data Manipulation Language II
Oct 10
SQL Data Definition and Control Language
Oct 12
Logical Design with Normalization
  • Read Cow Book 19.1–19.6
  • Slides
Oct 17
Soulé travelling. No class.
Oct 19
Logical Design with Normalization II
Oct 24
Oct 26
Midterm (in the Auditorium)
Oct 31
Physical Design I
  • Slides
  • Read Cow Book 12.4–12.6, 14.4
Nov 2
Physical Design II
Nov 7
Query Execution Concepts
Nov 9
Transaction Processing (Recovery I)
Nov 14
Transaction Processing (Recovery II, Concurrency I)
Nov 16
Transaction Processing (Recovery II, Concurrency II)
Nov 21
Transaction Processing (Recovery II, Concurrency III)
Nov 23
Online Analytical Processing
  • Read Cow Book 25.1–24.3
  • Slides.
Nov 28
NoSql I
Nov 30
NoSql II
Dec 5
Big Data Analytics I
Dec 7
Big Data Analytics II
Dec 12
Dec 14
Dec 19
Dec 21

Tools and Resources

You may also find the following resources useful:


Much of the material in this course is based on a similar course taught at NYU by Zvi Kedem. The course website is based on the design by Robert Grimm.