DATABASE SYSTEMS - 2023/4
Module code: COMM051
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 provider
Computer Science and Electronic Eng
Module Leader
MOSCHOYIANNIS Sotiris (CS & EE)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 7
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 100
Laboratory Hours: 10
Guided Learning: 20
Captured Content: 20
Module Availability
Semester 1
Prerequisites / Co-requisites
None
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
Assessment pattern
Assessment type | Unit of assessment | Weighting |
---|---|---|
Coursework | COURSEWORK GROUP (WITH INDIVIDUAL ASSESSMENT) | 100 |
Alternative Assessment
Individual coursework instead of the group coursework.
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, LO3, LO4 and L05.
The group coursework includes an individual assessment.
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 with each student during the lab session and sample solutions are released the week after on SurreyLearn.
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 | ||
001 | Model and structure data of a business so it can be stored in a database | KC |
002 | Design, optimise and implement a database system, given a set of business requirements found in a textual requirements specification document | KCP |
003 | Develop and apply transaction processing techniques for ensuring consistency of the database in the face of concurrent operations on data | CPT |
004 | Appreciate key concepts of distributed database sytems and critically evaluate different distributed architectures | KCT |
005 | Understand business intelligence solutions and the subtle differences between designing database systems that support transactions and designing databases to support BI solutions. | KPT |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
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 using detailed lecture slides and hand-on exercises to enhance student engagement and gauge student understanding
- Labs 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.
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COMM051
Other information
Digital Capabilities
This module covers the foundational theory behind Databases and business intelligence systems, with lab-based sessions to give students the practical skills to design, develop and query their own database systems. Database systems are a key component of everyday interactions with computer systems, and the skills taught on this module are highly valued in industry.
Employability
By learning about building database systems that solve real life problems, students are equipped with theoretical skills, practical problem-solving skills, and design and development skills. Students are also made aware of professional, ethical and security issues related to working with database systems. Transferable skills are developed via report writing and teamwork. Business intelligence systems support decision making in industry and the ability to design and develop these system highly valuable to employers.
Global and Cultural Skills
Computer Science is a global language and the tools and languages used on this module can be used internationally. This module allows students to build skills that will allow them to develop applications with global reach and collaborate with their peers around the world as these applications form the basis of the web sites that we interact with every day.
Resourcefulness and Resilience
Given a business scenario, how does a database developer model that scenario and build a system that captures and allows users to access the relevant information? This module builds practical problem-solving skills by teaching students how to reason about and solve new unseen problems through combining the foundation theory taught with practical technologies for systems that are in everyday use.
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 2023/4 academic year.