Database Management Systems
Teaches how to design and query relational databases through entity-relationship modelling, the relational model, SQL, normalisation and transaction management.
- Semester
- Spring semester
- Level
- Undergraduate
- Length
- 16 weeks
Course aims
To enable students to design the right schema for a problem, write complex SQL queries, and ensure data integrity and security.
Learning outcomes
Students who complete this course will be able to:
- Draws an entity-relationship diagram for a scenario and maps it to a relational schema.
- Writes SQL queries with joins, grouping and subqueries.
- Evaluates and improves a schema using normal forms.
- Applies transactions, concurrency control and access control.
Assessment
| Component | Weight |
|---|---|
| Midterm exam (week 8) | 40% |
| Final exam (week 16) | 60% |
Resources
- Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, McGraw-Hill
- Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems, Pearson
Weekly syllabus
-
1
Week 1 Database concepts and DBMS architecture
-
2
Week 2 Data models and the entity-relationship model
-
3
Week 3 The relational model and keys
-
4
Week 4 Relational algebra
-
5
Week 5 SQL: creating tables and data definition
-
6
Week 6 SQL: querying, filtering and sorting
-
7
Week 7 SQL: joins
-
8
Week 8 Exam Midterm exam
-
9
Week 9 Grouping, aggregate functions and subqueries
-
10
Week 10 Normalisation
-
11
Week 11 Views, indexes and performance
-
12
Week 12 Stored procedures and triggers
-
13
Week 13 Transactions, concurrency and security
-
14
Week 14 Introduction to NoSQL databases
-
15
Week 15 Project presentations
-
16
Week 16 Exam Final exam