Skip to main content

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:

  1. Entity Relationship (ER Diagrams)
  2. Functional Dependencies
  3. Normalization (BCNF, 3NF)
  4. Relational Algebra

Second half:

  1. SQL (Covers basic SQL operations such as SELECT, WHERE, JOIN, ORDER BY, EXIST, table creation/deletion/update, constraints, views/temporary views and indexes)
  2. 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):

  1. ER Diagram (Do not overthink the ER diagram!)
  2. Generation of Normalized Database Schema
  3. 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.