The course examines different types of database systems and how these systems are engineered. It covers storage, query processing and transaction management techniques as well as different forms of distribution. Systems designed to manage unstructured or semi-structured data are also introduced, including the basic concepts of information retrieval.
The goal of the course is to gain an understanding of how general systems for information management are designed and implemented using a range of database technologies. Students will first learn to work with different database paradigms before gaining a detailed understanding of the storage, query processing and transaction management components of database management systems. In addition, they will be introduced to the basics of other forms of information management system designed to manage unstructured and semi-structured data.
The course will build on an earlier course on the use of relational database technologies, first introducing other database paradigms, including object and XML databases, before going on to examine how these systems are engineered. The basic principles of storage, query processing and transaction management techniques will be studied in detail, before going on to consider how database systems can be extended or adapted to handle specific application requirements in terms of special kinds of data or distribution architectures. The course will also introduce other forms of information system designed to manage unstructured and semi-structured data, including providing an introduction to the basic concepts of information retrieval systems.
The material in the lectures will be supported by exercises and project work where the students will gain experience of working with different technologies as well as different approaches to application and architectural design.
Database Management Systems, Raghu Ramakrishnan and Johannes Gehrke, 3rd edition, pub McGraw Hill, 2003.