SC2207 Intro to Database Systems
Course Summary
Introduction course to Database Management Systems (DBMS). Previous course code: CZ2007. Course can be broken down into two parts:
First half:
- Entity Relationship (ER Diagrams)
- Functional Dependencies
- Normalization (BCNF, 3NF)
- Relational Algebra
Second half:
- SQL (Covers basic SQL operations such as SELECT, WHERE, JOIN, ORDER BY, EXIST, table creation/deletion/update, constraints, views/temporary views and indexes)
- Semi-Structured Data (XML, XML DTD, JSON, NoSQL)
Workload
Workload is reasonable for a 3AU module. Weekly: 2 online Q&A (1hour), 1 tutorial (1hour). Labs are held once every 2 weeks (2hour). Content is reasonably easy to understand and there are lots of online resources with information on the topics covered. There is no finals but replaced by 2x30% tests (Week 8, Week 12) testing their respective halves.
Projects
Lab project with 3 deliverables (In groups of 4/5 people):
- ER Diagram (Do not overthink the ER diagram!)
- Generation of Normalized Database Schema
- Implementation of SQL queries for a Final demonstration
Things to take note of
Being involved in the group project is a good way to practice the understanding of the concepts of ER Diagrams, FDs and Relational Algebra. For the SQL portion, I would recommend going to Leetcode to practice on top of the tutorial questions as they help you to develop a better understanding of the SQL syntax.
Conclusion
Foundational Database Module and a good chance to practice SQL which are tested in Data Science interviews for some companies. Overall, one of the easier computing modules.