Programme/Approved Electives for 2026/27
None
Available as a Free Standing Elective
No
Successful completion of CSC-10080 Fundamentals of Computing or equivalent, and CSC-10070 Introduction to Programming or equivalent.
This module introduces students to databases and database management systems by providing theoretical knowledge and practical experience in data modelling, database design, implementation and administration.
Aims
This module introduces foundational concepts in databases and database management systems (DBMS) by providing theoretical knowledge and practical experience in data modelling, database design, implementation and administration. The module will cover classic database theory centred around the relational data model including relational algebra and SQL (structured query language), and it will involve practical application development using SQL, native PL/SQL extensions and selected Web integration languages such PHP, HTML, etc for a Web-based database interface.
Intended Learning Outcomes
Explain the rationale behind the database approach to data storage and management, and its advantages over earlier file-processing systems: 2Describe and advise upon the internal components of the DBMS architecture, the importance of data independence, and development tools offered by a particular DBMS: 2Demonstrate comprehensive knowledge and understanding of the relational data model and its query languages, including relational algebra and SQL for creating and querying relational databases: 1,2Apply the database systems development lifecycle as a methodology for designing and creating relational databases (including entity-relationship modelling for conceptual design, logical design and normalisation, and physical design for a particular DBMS): 1,2Extend SQL programs with procedural or programmatic languages (PL/SQL extensions) for advanced implementation of database features including complex enterprise rules, triggers, and conditional execution: 1,2Design and build a small three-tier database application which integrates SQL with Web scripting languages e.g., PHP/OCI/HTML/etc to allow database access through a Web interface: 1Explain the importance of concurrency and recovery in transaction processing and how the DBMS manages the transaction lifecycle with concurrency and recovery protocols: 2Describe and advise upon the important aspects of a database operation, maintenance and administration (including optimisation of storage structures, recovery protocols and database security measures): 2
20 hours lectures 20 hours practical work (labs)5 hours tutorials/workshops103 hours Independent study/coursework2 hour Examination
Description of Module Assessment
1: Assignment weighted 40%Practical assessment of database developmentDesign and implementation of a small database application with a Web interface (with a short report of 1000 words max. Overall coursework equivalent to 2500-3000 words).
2: Exam weighted 60%2-hour closed-book examinationThe exam will cover all topics addressed in the lectures. This exam will have short-answer
questions focusing on theoretical as well as problem-solving skills learned in the module. The
exam will have three questions and candidates are asked to attempt all three questions.