Students study the use of data management technologies and languages in leading commercial database management systems as well as emerging approaches to data management. The module also examines the technologies underlying modern data management systems.
It explores advanced aspects of query processing, transaction management, distributed data management, and recent developments in web data, big data and alternative database architectures.
Data and knowledge management represent a core technology in the theory and application of computer science. Students study the advanced aspects of databases and recent advances in data management technologies in three major directions: performance, distribution of data, and heterogeneity of data.
Main topics of the module include:
- Database management software: origins and objectives
- The relational model: algebraic and logical foundations
- SQL: data manipulation, host language support for SQL
- Transaction management, recovery, concurrency
- Relational database theory: dependencies, normal forms
- DBMS architectures and implementations
- DBMS storage and indexing
- Query optimisation
- Enhanced database capabilities: procedural extensions to SQL, database triggers, deductive databases
- Non-relational DBMS, object databases, NoSQL databases.
Upon successful completion of this module, you will be able to:
- understand the concepts behind relational algebra and SQL and the mathematical foundations of data management.
- understand the technology underlying data management, database design and management, and the architecture of data management systems.
- develop designs in database systems.
- demonstrate abstract thinking and exhibit abstraction skills.
- evidence understanding of approaches to query optimisation.
- evidence understanding of relational database theory, including dependencies, and normal forms.
Two assessment components:
- End of term coursework (100%)