Computing

Databases

Module code: G6031
Level 5
15 credits in autumn teaching
Teaching method: Lecture, Seminar, Laboratory
Assessment modes: Coursework, Unseen examination

This module provides an introduction to the concepts of database software, database design, management, and programming. This includes conceptual database design (using the entity-relationship approach), logical database design and physical database design.

The module focuses on the relational data model. You will learn how to design and implement a relational database using SQL. You will also learn how to retrieve and manipulate data via SQL queries, as well as how to normalize relational databases, what normal forms there are, and how this eliminates certain anomalies based on redundancy. Security via permission rights and indexes for tuning database queries are addressed. You will learn how to write stored procedures and triggers using procedural SQL and how use Java Database Connectivity libraries (JDBC) to access databases in Java programs.

The exercise classes and coursework are based on a series of examples that help you understand the theoretical principles. Practical experience is acquired by implementing these examples in a database management system and a graphical query browser.

Pre-requisite

Introduction to Programming

Module learning outcomes

  • Demonstrate knowledge and critical understanding of established principles for data modelling, management and security in the context of relational databases.
  • Demonstrate the ability to apply underlying database concepts outside the context in which they were first studied. This includes the design of a database from a specification, and writing SQL code to set up, maintain and query a database.
  • Show an understanding of the limits of the Entity-Relationship Model and the Relational Model, and an appreciation of alternative database models.