This module is offered in 2020-21.
The aims of this module are:
- To study data models, query languages, database design, integrity, security and programmatic access to databases.
- To study database system implementation, storage and access, query processing, transactions, concurrency and recovery.
On successful completion of this module, the student should:
- Be aware of the models for structuring data in database systems.
- Have an understanding of the techniques for accessing databases from programming languages and websites.
- Have an understanding of the techniques for the implementation of database systems.
- Data models:
- Entity-relationship model, object model, relational model, SQL.
- Security & integrity:
- Violation, authorisation and views, integrity constraints.
- Database connection:
- Binding models, ODBC, JDBC, web databases.
- Storage & access:
- File organisation, index structures, static and dynamic hash functions, multiple key access. Query interpretation, cost estimation, join stategies, clustering.
- Transactions, concurrency & recovery:
- Transactions, ACID properties. Serialisability, locks and timestamps, deadlock. Logging, checkpoints, shadow paging.
This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).