Overview

This course examines the principles, design methods, implementation techniques, and operational management of database systems. Topics include database architectures; relational data models; entities, relationships, attributes, keys, and constraints; entity-relationship and enhanced entity-relationship modeling; relational algebra; functional dependencies and normalization; and SQL for data definition, manipulation, querying, aggregation, subqueries, joins, views, stored procedures, and triggers.

Students investigate transaction management, concurrency control, serializability, recovery, logging, indexing, query optimization, database security, authorization, auditing, backup, and integrity. The course also surveys distributed, NoSQL, cloud, and semi-structured databases. Practical work involves designing and implementing a database-backed application, writing and optimizing queries, enforcing constraints, managing users and permissions, and evaluating system performance.

Learning Outcomes

  • Analyze data requirements and translate them into coherent conceptual and logical database designs.
  • Construct entity-relationship and enhanced entity-relationship models incorporating appropriate entities, relationships, attributes, keys, and constraints.
  • Normalize relational schemas using functional dependencies and appropriate normal forms.
  • Implement relational database schemas and manipulate data using accurate and maintainable SQL.
  • Evaluate query execution strategies, indexes, and optimization techniques to diagnose and improve database performance.
  • Explain transaction processing, concurrency control, serializability, recovery, and logging mechanisms.
  • Apply database security, authorization, auditing, backup, and integrity practices to operational systems.
  • Compare relational, distributed, NoSQL, cloud, and semi-structured database technologies for realistic application requirements.
  • Synthesize a functional database-backed application that integrates sound design, implementation, security, and performance practices.

Timetable

TypeLengthFrequencyPeriod
Lecture2 hoursWeeklyAll semester
Lab2 hoursWeeklyAll semester
Tutorial1 hourFortnightlyAll semester

Assessment Schedule

TypeDescriptionWeighting
AssignmentDesign and document a normalized relational database schema.15.00%
AssignmentSQL programming and query optimization exercises (4 × 5%).20.00%
TestPractical database implementation and administration test.15.00%
CapstoneDatabase-backed application project.25.00%
ExamFinal examination covering database design, transactions, security, and distributed systems.25.00%

Prerequisites

Teaching Staff & Programs

This course is delivered jointly by faculty from the participating programs listed below. In line with the Douchewater Way, the University of Sexology tailors core instruction directly to each cohort's specific discipline — adapting curriculum to program needs rather than forcing students into a one-size-fits-all model. Learn more about our approach at The Douchewater Way.