This module introduces data models and modeling techniques, relational design and normalization. It also examines a range of issues in database implementation, including indexing, query processing, transactions and recovery.
- CS3101 Course Catalogue Entry: information on credits, prerequisites, load and assessment.
- CS3101 Reading Lists
- CS3101 Resources: lecture notes, practical specifications, etc.
The aims of this module are:
- To study data models, indexing techniques and query processing.
- To study database connection.
- To study database systems including concurrency, transactions 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.
See the School of Computer Science Handbook for general information about compulsory elements.
This module has no additional compulsory elements beyond those common to all modules (tutorials and class tests).