DATABASE SYSTEMS - 2017/8

Module code: COMM051

Module provider

Computer Science

Module Leader

MOSCHOYIANNIS S Dr (Computer Sci)

Number of Credits

15

ECT Credits

7.5

Framework

FHEQ Level 7

JACs code

I240

Module cap (Maximum number of students)

N/A

Module Availability

Semester 2

Overall student workload

Lecture Hours: 24

Laboratory Hours: 20

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework COURSEWORK 50
Examination 2 HOUR EXAM 50

Alternative Assessment

Individual coursework instead of the group coursework.

Prerequisites / Co-requisites

None

Module overview

A key aspect of business operations today, across sectors almost, has to do with gathering the right type of data and storing it in a way that it can be readily available to the right person at the right time. This course looks into the techniques that allow us nowadays to define and operate on large volumes of data as and when it is created. This paves the way for making more intelligent uses of data, whether this has to do with correctness (reliability and consistency) or informing more strategic decisions of the business so it can better prepare itself for the future.   

 

Module aims

The main aim of this module is to equip students with the principles and skillset necessary to take an informal textual specification of the requirements of a business and design and develop a database system that fufills those business operational needs. In addition, the module looks at three more advanced areas that build on relational databases, namely transactions and recovery, distributed databases, and business intelligence.

Learning outcomes

Attributes Developed
Model and structure data of a business so it can be stored in a database KC
Design, optimise and implement a database system, given a set of business requirements found in a textual requirements specification document KCP
Develop and apply transaction processing techniques for ensuring consistency of the database in the face of concurrent operations on data CPT
Appreciate key concepts of distributed database sytems and critically evaluate different distributed architectures KCT
Understand business intelligence solutions and the subtle differences between designing database systems that support transactions and designing databases to support BI solutions.

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Module content


Introduction to database systems:

Data, databases
The ANSI/SPARC Architecture
Database Management Systems
Database Users


Relational Database Design – data definition

The Relational Model of data
Database schema and Database instance
Entity Relationship (ER) Modelling
Designing relations from ER Models
Normalisation of a database schema - functional dependency, Normal Forms


Relational Database Design – data manipulation

Relational Algebra
Relational operations

Insertion
Deletion  
Modification  


Relational manipulations

Projection
Selection
Cartesian Product
Union
Set difference




Implementation – defining and querying data

SQL tables
DDL: implementing a database schema using SQL
Relational algebra operations in SQL
DML: implementing data manipulations using SQL
Defining and running transactions using SQL


Concurrency control

Transactions - ACID properties
Recovery (Shadow paging, Rollback)
Concurrency anomalies (lost update, dirty data, inconsistent analysis)
Serialisation and scheduling
Locking schemes – S/X Lock, 2PL


Distributed Databases

Centralised vs Truly distributed database systems
Data fragmentation
Data replication
Data allocation


Business Intelligence – an introduction

Decision making support
Denormalisation – Star and Snowflake database schema
Measures, Cubes



Methods of Teaching / Learning

The learning and teaching strategy is designed to:


Provide students with the key principles and concepts that underline the successful design and implementation of database systems today. The lectures are designed in a way that encourages students to interact with the material and develop a critical evaluation of the various options as well as an analytical thinking of ‘what’, ‘when’ and ‘how’ in database systems. This helps the students develop problem solving skills when it comes to designing and implementing a database system in response to specific requirements.


A number of other modules in the programme, including the MSc Dissertation will most likely require that the student can define and handle (modify, query) data.


Enable students to apply relevant technologies and tools for the development of database systems, transactions and distributed database designs.


 

The learning and teaching methods include:


Lectures (10 weeks, 2h each week) using detailed lecture slides and hand-on exxercises to enahnve student engagement and gauge student understanding
Labs (7-8 weeks, 2h each week) using database system  sheets and computing labs


Students will be expected to distribute the remaining workload on self-study, preparation for lectures and labs, preparation and submission of the group coursework, preparation for the exam.

 

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module learning outcomes.

Thus, the summative assessment for this module consists of:



Group coursework or individual coursework as an alternative form of assessment with a set of theoretical and practical tasks.

This addresses LO1, LO2 and  LO3.


An exam with a set of questions that students are required to answer.

This addresses LO1, LO4 and LO5.



 

Formative assessment and feedback

Lecture slides are used extensively in the lectures with each lecture consisting of a number of slides explaining the theory together with exercises and sample solutions. Possible solutions to lab exercises are discussed witrh each student during the lab session and sample solutions are released the week after on SurreyLearn.

Reading list

Reading list for DATABASE SYSTEMS : http://aspire.surrey.ac.uk/modules/comm051

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Information and Process Systems Engineering MSc 2 Compulsory A weighted aggregate mark of 50% is required to pass the module
Information Security MSc 2 Optional A weighted aggregate mark of 50% is required to pass the module
Information Systems MSc 2 Compulsory A weighted aggregate mark of 50% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2017/8 academic year.