Skip to main content Skip to navigation

CS258 Database Systems

CS258 15 CATS (7.5 ECTS) Term 1


Core - CS, CMS, DS; Option - CSE, DM

Academic Aims

  • To show how the theory of relational algebra serves as a framework and a foundation for the efficient organisation and retrieval of large amounts of data.
  • To introduce students to some standard notations (for example, SQL) that implement important parts of relational algebra.
  • To give students practical experience of the use and limitations of some database notations (such as SQL) that are widely used in industry and business.

Learning Outcomes

On completion of the module the student will be able to:

  • Create appropriate efficient database designs for a range of simple applications.
  • Use notations such as SQL to implement a database design.
  • Translate between informal queries and their expression in more formal notations.
  • Construct appropriate queries in standard notations for a range of typical queries needed in common applications.
  • Identify and express relevant integrity constraints for a given database design.
  • Recognise the main security threats to databases, and identify appropriate control measures.


  • Overview of databases and database management systems.
  • Concepts and language for relational theory (including values, variables, types, operators, propositions and predicates).
  • Relations and predicates; relational and logical operators.
  • Relational algebra.
  • Integrity constraints.
  • Query planning and optimisation.
  • Database design issues (including functional dependency and normalisation).
  • SQL for table definition, selection and queries; constraints, joins and aggregation.
  • Overview of database security issues.


  • R. Elmasri and S.B. Navathe, "Database Systems: Models, Languages, Design and Application Programming", Pearson, 2011 (6th ed.)
  • T. Connolly and C. Begg, "Database Systems: A Practical Approach to Design, Implementation and Management", Pearson, 2010 (5th ed.)


Two hour examination (70%), Unsupervised practical assignment (30%)


30 lectures and 10 seminars