The course combines lectures with a 30-hour project. Students develop a database for a system of their choice, working individually or in teams. The lecturer acts as the client, reviewer, and consultant throughout the project.
The course covers requirements analysis, conceptual modelling, logical design, physical implementation, and verification. Students explain their assumptions, compare possible solutions, and justify their design decisions.
The lectures use a food-delivery system as a running example, showing how requirements and business rules affect the database design.
| Date | Topic |
|---|---|
| 5 October 2026 | Requirements and ER modelling |
| 12 October 2026 | Relational and object modelling |
| 19 October 2026 | Normalisation, model quality, and tools |
| 26 October 2026 | Conceptual and logical design |
| 9 November 2026 | Physical design, integrity, and verification |
| 17 November 2026 (Tuesday) | Non-relational design |
| 23 November 2026 | DBMS selection and database engineering |
| 30 November 2026 | Final lecture test |
Students choose a domain and develop a database supporting a clearly defined set of user needs. Work begins with requirements and business rules, continues through modelling and implementation, and ends with verification and a demonstration.
The project consists of 30 academic hours, organised as 15 meetings of two academic hours each.
| Meeting | Activity | Expected result |
|---|---|---|
| 1 | Project proposal | System idea, problem statement, intended users, and project participants. |
| 2 | Domain analysis | Key workflows, use cases, business rules, and questions for the client. |
| 3 | Requirements and MVP | Scope, assumptions, requirements, and acceptance criteria. |
| 4 | Conceptual model | ER model with entities, attributes, relationships, cardinalities, and optionality. |
| 5 | Model review | Verification of the model against workflows, exceptional cases, and business rules. |
| 6 | Logical design | Relational schema, primary and foreign keys, and relationship mapping. |
| 7 | Normalisation | Analysis of dependencies, normalisation, and justification of design decisions. |
| 8 | Physical implementation | DBMS selection, executable DDL, data types, and integrity constraints. |
| 9 | Test data | Repeatable population scripts and realistic data covering relevant scenarios. |
| 10 | Queries | Meaningful queries supporting the defined workflows and information needs. |
| 11 | Transactions | Transaction scenarios, consistency requirements, and failure handling. |
| 12 | Verification | Tests of business rules, integrity constraints, and valid, invalid, and boundary cases. |
| 13 | Performance analysis | Execution plans, indexing experiments, and justification of a performance decision. |
| 14 | Final package | Documentation, editable source files, scripts, and database recreation instructions. |
| 15 | Demonstration and defence | Working database demonstration and explanation of the main design decisions. |
Calendar deadlines will be announced separately. Students may discuss their work during meetings and consultations before making the final submission of an activity.
The project should include:
A frontend is optional.
The proposed submission format is:
Submit one package per project team, identifying all participants and their contributions.
The submission destination and calendar deadlines will be published before the relevant activities are due.
The assessment criteria are:
Project point allocations, passing requirements, and grade-conversion rules will be announced at next page update.
Loading...