Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

CS258 Database Systems

Throughout the 2020-21 academic year, we will be adapting the way we teach and assess modules in line with government guidance on social distancing and other protective measures in response to Coronavirus. Teaching will vary between online and on-campus delivery through the year, and you should read the additional information linked on the right hand side of this page for details of how we anticipate this will work. The contact hours shown in the module information below are superseded by the additional information. You can find out more about the University’s overall response to Coronavirus at: https://warwick.ac.uk/coronavirus.

CS258-15 Database Systems

Academic year
20/21
Department
Computer Science
Level
Undergraduate Level 2
Module leader
Peter Triantafillou
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry
Introductory description

This module studies Data Base Management Systems (DBMSs): the science and technology for organising and retrieving large amounts of structures data efficiently. It presents in depth the Relational Model and the declarative language SQL and explains how it can be used to define and interrogate databases. It also shows how to access databases from procedural programs (in Java and C). It discusses the formal underpinnings of Relational Databases, and Relational Algebra and Relational Calculus and how to optimally define the Database using relations/tables. Finally, it also discusses issues pertaining to security and physical data storage.

Module aims

This module studies Data Base Management Systems (DBMSs): the science and technology for organising and retrieving large amounts of structures data efficiently. It presents in depth the Relational Model and the declarative language SQL and explains how it can be used to define and interrogate databases. It also shows how to access databases from procedural programs (in Java and C). It discusses the formal underpinnings of Relational Databases, and Relational Algebra and Relational Calculus and how to optimally define the Database using relations/tables. Finally, it also discusses issues pertaining to security and physical data storage.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

  • Overview of databases and database management systems
  • The Relational Model and Relational DBMSs
  • The SQL declarative Programming Language
  • Programming DBs - using SQL from C and Java programs
  • Theoretical underpinnings: Normalisation theory, Relational Algebra and Relational Calculus
  • Security
  • Physical DB storage
Learning outcomes

By the end of the module, students should be able to:

  • - Create appropriate efficient database designs for a range of 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.
Indicative reading list

Please see Talis Aspire link for the most up to date list.

View reading list on Talis Aspire

Subject specific skills

Understanding of:

  • data modelling within the relational model/DBs environment – schema definition, logical DB design and the process of normalization for this goal;
  • declarative programming languages (SQL) as a data manipulation and data definition language and how to use SQL from procedural programming languages (C, Java);
  • formal languages for the relational model: Relational Calculus and Relational Algebra;
  • data security within the DBMS context, and
  • data storage
Transferable skills

Include:

  • data management for large-scale analytics
  • association of declarative and procedural languages and 2-/3-tier architectures for information systems
  • security issues at large

Study time

Type Required
Lectures 30 sessions of 1 hour (20%)
Seminars 8 sessions of 1 hour (5%)
Private study 112 hours (75%)
Total 150 hours
Private study description

Private study consists of:

  • background reading,
  • studying taught material from lecture notes/slides and additional textbooks
  • acquiring deeper comprehension of lab exercises
  • carrying out the module’s individual project.

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

Assessment group D1
Weighting Study time
Unsupervised practical Assignment 30%
CS258 exam 70%

Exam

~Platforms - AEP

Assessment group R
Weighting Study time
CS258 resit examination 100%

CS258 resit examination

~Platforms - AEP

Feedback on assessment

Individual written feedback on each assignment.

Past exam papers for CS258

Courses

This module is Core for:

  • Year 2 of UCSA-G400 BSc Computing Systems
  • Year 2 of UCSA-G402 MEng Computing Systems
  • Year 2 of UCSA-G500 Undergraduate Computer Science
  • Year 2 of UCSA-G503 Undergraduate Computer Science MEng
  • Year 2 of UCSA-I1N1 Undergraduate Computer Science with Business Studies
  • Year 2 of UCSA-GN51 Undergraduate Computer and Business Studies
  • Year 2 of UCSA-G5N1 Undergraduate Computer and Management Sciences
  • Year 2 of USTA-G302 Undergraduate Data Science
  • Year 2 of USTA-G304 Undergraduate Data Science (MSci)

This module is Optional for:

  • Year 2 of UCSA-G406 Undergraduate Computer Systems Engineering
  • Year 2 of UCSA-G408 Undergraduate Computer Systems Engineering

This module is Option list B for:

  • Year 2 of UCSA-G4G1 Undergraduate Discrete Mathematics
  • Year 2 of UCSA-G4G3 Undergraduate Discrete Mathematics

Further Information

Term 1

15 CATS (7.5 ECTS)

Online Material

Additional Information