This course is about designing relational databases, building applications with database management systems (DBMSs), and understanding DBMS internals. Topics covered include entity relationship models, relational algebra, normalization theory, SQL, and implementation of relational databases. The course also includes a project where students design a realistic database following a design process, implement the design using SQL and an open-source DBMS, and evaluate the implementation with extensive testing. Prerequisites: CSCB09 (or equivalent courses on computer science and systems foundations) Textbook: Database Systems: The Complete Book (Second Edition)
Lectures: Monday 9:00 AM - 11:00 AM, online, Zoom link on Quercus Discussions: Piazza
Tutorials:Tentative Schedule
Date | Lecture | Note |
May 6 | Overview, ER Diagrams | First day of class |
May 13 | ER Diagrams, Relational Model, Functional Dependencies | |
May 20 | No class (Victoria Day) | |
May 27 | Functional Dependencies, Normalization | Homework release |
June 3 | Relational Algebra | |
June 10 | SQL | |
June 17 | SQL | Homework due (Quercus) |
June 24 | Constraints, Triggers, Views, Indices | Project release |
July 1 | No class (Canada Day) | |
July 6 | Midterm exam @ HLB101, 9:00 AM - 10:30 AM | |
July 8 (async) | Introduction to Transactions | |
July 15 | Advanced SQL Topics | |
July 22 | Query Execution and Optimization | Last day to drop the course on July 24th |
July 29 | NoSQL Databases | |
August 3 | Project demonstration, Zoom, 9:00 AM - 12:00 PM | Project code/report due (Quercus) |
August 16 | Final exam @ SW309, 2:00 PM - 5:00 PM | |
Grading
Attendance
Students are expected to attend all the lectures and tutorials. The online lectures are supposed to be synchronous, and thus no recordings will be provided. We provide both in-person and online options for tutorials. Some materials covered in tutorials might not be taught in lectures but might be tested in the homework and/or the exams.
Late Policy
No late homework/project submissions are allowed. If you miss a submission deadline or an exam because of an emergency, fill out this form to request special consideration, and in case of a medical emergency, also email the instructor the UofT Student Medical Certificate, completed and signed by the doctor. If the request is approved, the late homework or project can be submitted. The midterm exam, however, has no make-up test. If a missed midterm is approved, its mark is considered the same as the final exam mark.
Remarking Policy
If you believe there are mistakes in your homework/project/exam mark, fill out this form and email the submission or exam to the instructor to request remarking. The request should be made no later than one week from the date the mark is released.
Collaboration Policy
No collaboration of any form is allowed on the homework and exams, e.g., you may not copy a solution written by anyone else, or develop a solution together with another student/person. The project will be the group work of two students. Any violation of these policies is considered cheating and will result in a zero grade for the homework/project/exam and will be referred to the Academic Integrity Office. More information about academic integrity can be found at Academic Integrity Matters.
Accessability Volunteering
AccessAbility Services requires Volunteer Note Takers Register to become a note taker today --- Co-Curricular Record (CCR) approved position 1. Go to myAIMS for Note Takers 2. Follow the simple step-by-step process to register 3. Upload notes files into the AccessAbility Services myAIMS note taking portal If you have questions please contact AccessAbility Services: (416) 208-2662 or notetaking.utsc@utoronto.ca