CSCI 2141 - Intro to Database Systems
Winter 2013
Dr. Kirstie Hawkey
Syllabus
- Syllabus **Note: updated January 8 to include correct dates
Recommended Textbooks
Readings, resources, slides
- Intro
- Relational Model & ER Diagrams
- Relational Algebra
- Normalization
- SQL (MYSQL)
- W3 Schools Great resource for learning, great to bookmark as a reference when coding. Many interactive examples.
- Reference documentation for MySQL (This is the version running on the db.cs.dal.ca server, which can be accessed through bluenose or hector. Chris Maxwell of Tech Support will be giving an in-class tutorial on accessing MySQL in preparation for your project work)
- This is a well-covered topic on the Stanford Online site. Watch the following videos:
- Class slides 03/08/13+ Relational Algebra to SQL
- 03/08/13: Chris Maxwell's db.cs.dal.ca tutorial:
- Homework: By Friday, March 8th: Familiarize yourself with the basic SQL statements and joins using the W3 Schools site, and/or the SQL videos on the Stanford db site. A pop quiz will reward those that have done the work.
- Constraints, Triggers, Transactions
- Class slides 03/22/13 Constraints, Triggers, Transactions, ACID. Slides give high level overview. Self-directed learning is required as well (and practiced on the assignment).
- Relevant Standford Online videos:
- Query Optimization
- Class slides 04/01/13 Query Optimization
- Class handout with relational algebra equivalencies available on paper
- Miscellaneous
- Beyond SQL
- Security
- Class slides 04/05/13 SQL Security: SQL injection attacts
Quizzes (approximately every 2 weeks)
- Quiz 1 - was 01/23/13
- Quiz 2 - was 02/06/13
- Quiz 3 - was 02/22/13
- Quiz 4 - was 03/11/13
- Quiz 5 - was 03/27/13
- Quiz 6 - 04/08/13
Deliverables
- Assignments
- A1 due 01/28/13, Solution
- A2 - due 02/06/13, Solution
- A3 - due 02/22/13 (was 02/20/13), Solution (note: need to fix image in Q11 - will do so this weekend)
- A4 - due 03/15/13 (was 03/13/13), Solution
- A5 Ass 5 Fix - READ THIS! - due 03/27/13 Note: use standard SQL for part2 if mySQL does not evaluate check constraints when tables are created (not sure what the particular version of SQL on the db.cs.dal.ca server allows). Also, there is a problem with the logical database design in part 1. We cannot have a foreign key in a table referencing two different tables (the model). There are a number of solutions to this that you can use (I have provided one in the Ass 5 fix document), but feel free to implement any one of the options(see http://stackoverflow.com/questions/7844460/foreign-key-to-multiple-tables for possible solutions). 03/27/13 clarification slides
- A6 - due 04/08/13 (11:59PM)
- Project - due 04/08/13 (by 11:59PM pm)