Database Management Systems
Class: T/Th 2–3:15pm, LSB 212
Instructor: Henry Feild, Ph.D.
Office Hours: Wed. 10am–12pm, 1–2pm in LSB 113; Other times by appointment.
Schedule
Non-class days appear in italics. Readings and video lectures are expected to be reviewed prior to class so we can discuss them. With regard to the videos, you YouTube allows you to speed up videos up to twice the original speed. I suggested starting with 1.5x to 2x of the original speed and then slow down if you feel like you are missing something or need to go back over a segment.
Date | Topic | Readings | Videos | Assignments |
---|---|---|---|---|
Sep. 4 | Relational databases | Ch. 1.1, 1.2, 2.2, 2.3 | Intro, Relational Model, and Querying | |
Sep. 9 | XML | Ch. 11.2, 11.3, 11.4 | Well formed XML, DTDs, and XML Schema | |
Sep. 11 | JSON | None. | JSON and JSON demo | |
Sep. 14 | HW1 due | |||
Sep. 16 | NoSQL | None. | NoSQL motivation and NoSQL overview | |
Sep. 18 | Relational Algebra | Ch. 2.4 | Select/Project/Join and Set operators | |
Sep. 23 | More on relational algebra | |||
Sep. 25 | More on relational algebra | |||
Sep. 28 | HW2 due | |||
Sep. 30 | SQL | Ch. 6.1–6.5; 5.2.7 | Intro to SQL, SELECT, Table vars and set ops, WHERE clause, FROME/SELECT, JOIN, Aggregation, Null values, and Data modification statements | |
Oct. 2 | Exam 1 | |||
Oct. 7 | More SQL | |||
Oct. 9 | More SQL | |||
Oct. 12 | HW 3 due | |||
Oct. 14 | Querying XML | Ch. 12.1–12.3 | XPath, XPath demo, XQuery, XQuery demo, and XSLT | |
Oct. 16 | Querying NoSQL | |||
Oct. 21 | Relational design theory | Ch. 3.1–3.5 | Overview, Functional dependencies, Boyce-Codd, Multi-valued dependencies, and Shortcomings of BCNF/4NF | |
Oct. 23 | UML | Ch. 4.7–4.8 | UML data modeling and UML to relations | |
Oct. 26 | HW 4 due | |||
Oct. 28 | Indexes | Ch. 8.3, 8.4 | Indexes | |
Oct. 30 | Transactions | Ch. 6.6 | Intro to transactions, Transaction properties, and Isolation levels | |
Nov. 4 | Constraints | Ch. 7.1, 7.2 | Overview, Constraints of types, and Referential integrity | |
Nov. 5 | HW 5 due | |||
Nov. 6 | Triggers | Ch. 7.5 | Triggers, Triggers demo 1, and Triggers demo 2 | |
Nov. 11 | Exam 2 | |||
Nov. 12 | Last day to withdraw | |||
Nov. 13 | Views | Ch. 8.1, 8.2, 8.5 | Defining and using views, View modifications, View mod. triggers, Auto view mods, and Materialized views | |
Nov. 18 | No Class—work on Final Project | Blabber UML due | ||
Nov. 20 | No Class—work on Final Project | |||
Nov. 21 | Three Blabber action functions due | |||
Nov. 25, 27 | No class—Thanksgiving break | |||
Dec. 2 | Authorization | Ch. 10.1 | Authorization | |
Dec. 4 | OLAP | Ch. 10.6, 10.7 | OLAP intro and OLAP demo | |
Dec. 9 | Project-in-progress presentations (a class check-in) | |||
Dec. 11 | Review | |||
Dec. 14 | Final Project due | |||
Dec. 16 | Final Exam (1–3pm in LSB 212) |
Assignments
Homeworks
Homeworks are assigned roughly every two weeks (due on Sunday nights at 11:59pm) and are a mix of problem sets and mini-projects. You may work in groups, but you must specify with whom you work. In general, homework may be submitted late, but will incur a one-time 15% penalty. You may also resubmit fixes for up to 75% original credit.
- HW 1 (due: Sunday, Sep. 14)
- HW 2 (due: Sunday, Sep. 28)
- HW 3 (due: Sunday, Oct. 12)
- HW 4 (due: Sunday, Oct. 26)
- HW 5 (due: Wednesday, Nov. 5)
- Blabber UML (due: Tuesday, Nov. 18)
- Three Blabber action functions (due: Friday, Nov. 21)
- Blabber Final Project due (due: Sunday, Dec. 14)
Labs and exercises
During class, we will focus mostly on hands on exercises, demos, and labs. Some of them are listed here.
Resources
- Class notes (Google Drive directory)
- SSHing to Joust
- Using MongoDB
- PHP Basics
- Style guidelines