Data and Knowledge Management
This module covers the principles and application of data and knowledge management technologies and languages including SQL. Students study the use of these in leading commercial database management systems as well as emerging approaches to data management.
To study the principles and application of data and knowledge management technology.
- Database management software: origins and objectives.
- The relational model: algebraic and logical foundations.
- Relational algebra and calculus.
- SQL: data manipulation, host language support for SQL.
- Transaction management, recovery, concurrency.
- Relational database theory: dependencies, normal forms.
- SQL data definition, other features.
- DBMS architectures and implementations.
- DBMS storage and indexing.
- Query optimization.
- Enhanced database capabilities: procedural extensions to SQL, database triggers, deductive databases.
- Non-relational DBMS, object databases, NoSQL databases.
- Distributed databases, architectures, query processing.
- Databases and the Web, JDBC, alternative persistence frameworks, databases and XML.
- Database research topics.
No formal prerequisite, but a strong aptitude for programming is essential.
By 2-hour written examination and practical courseworks, weighting 90% and 10% respectively.
- Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems Third Edition, McGraw Hill, 2003, ISBN 0072465638
- Students will also be directed to Web resources on the subject.