Computer Science @ University of St Andrews

University of St Andrews crest

CS3101 Databases

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.



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.

Learning Outcomes

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.

Compulsory Elements

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).

Module Delivery