- UCAS course code
- GG14
- UCAS institution code
- M20
Bachelor of Science (BSc)
BSc Computer Science and Mathematics
- Typical A-level offer: A*A*A including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Refugee/care-experienced offer: AAB including specific subjects
- Typical International Baccalaureate offer: 38 points overall with 7,7,6 at HL, including specific requirements
Course unit details:
Database Systems
Unit code | COMP23111 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 1 |
Available as a free choice unit? | Yes |
Overview
This course provides a comprehensive exploration of databases, emphasizing their pivotal role in modern computing and data management. Students will learn the principles of database design, implementation, and management, with a focus on the relational model, SQL, and normalization. The curriculum also covers database integration with web and front-end systems, transaction management, security, and emerging paradigms like NoSQL. By blending theory with hands-on practice, students will develop essential skills in designing robust databases, writing advanced queries, and leveraging database technologies for real-world applications.
Pre/co-requisites
Available as free choice but students must contact unit lead before choosing.
Aims
The aim of this course unit is to provide students with a comprehensive understanding of the principles, techniques, and practices that underpin modern database management systems (DBMSs) and their applications in contemporary data management environments.
The course introduces the importance of managing data as a strategic asset and explores the fundamental architectural principles of modern DBMSs, considering various architectures and their corresponding application environments.
A significant focus is placed on the relational model of data, including its theoretical foundations, relational database languages, and SQL. This encompasses advanced topics such as views, triggers, embedded SQL and stored procedures. Students will gain hands-on experience in deriving conceptual data models using the Extended Entity-Relationship (EER) paradigm, mapping these models to relational implementations, and applying normalisation techniques to enhance schema quality. They will also develop and execute both basic and advanced SQL queries to validate database designs against defined data requirements, with practical work conducted using the MySQL DBMS.
The course emphasises the integration of databases with front-end systems to create functional, user friendly applications. Students will learn how to design and implement connections between a database and a web or other front-end interface, enabling seamless data interaction. This includes understanding client-server architecture, employing technologies such as APIs or middleware, and ensuring efficiency and reliability in data exchange.
Database security is another critical topic addressed in this course. Students will study common threats, including theft, fraud, and the loss of confidentiality, privacy, integrity, and availability and examine countermeasures such as access control, authorisation mechanisms, and the use of views to enforce security policies.
Finally, the course introduces alternative database paradigms, including NoSQL systems, and discusses their characteristics, trade-offs, and suitability for handling large and diverse datasets in modern applications.
Learning outcomes
On the successful completion of the course, students will be able to:
- ILO 1: Demonstrate the ability to discuss, explain, and apply the foundational principles of database design, including conceptual modelling and key design trade-offs.
- ILO 2: Analyse and apply the relational model, including deriving relational schemas from conceptual designs, normalizing schemas to various normal forms, and evaluating their effectiveness in meeting design goals.
- ILO 3: Explore, and describe the characteristics, use cases, and trade-offs of NoSQL databases, including their differences from relational databases and their applicability to specific types of applications.
- ILO 4: Design, implement, and execute SQL and NoSQL queries ranging from basic data retrieval and manipulation to complex operations involving joins, subqueries, aggregation, and advanced features.
- ILO 5: Be able to design and implement a front end, using appropriate technologies, that allows users to execute CRUD operations as well as displaying data in a meaningful way.
- ILO 6: Be able to discuss and explain the basic mechanisms to enforce database security, through an understanding of the threats and countermeasures available in classical database management systems.
Syllabus
Introduction to Data Management [1 workshop plus laboratory work]
(E)ER Modelling [1 workshop plus laboratory work]
Functional Dependencies & Normalisation [1 workshop plus laboratory work]
Basic SQL + Stored Procedures & Triggers (Adv SQL) [1 workshop plus laboratory work]
Web Programming [1 workshop plus laboratory work]
Transaction Processing [1 workshop plus laboratory work]
Application Integration [1 workshop plus laboratory work]
NoSQL Introduction & Design [1 workshop plus laboratory work]
More NoSQL + Data Mining & Warehousing [1 workshop plus laboratory work]
NoSQL in CouchBase [1 workshop plus laboratory work]
Teaching and learning methods
Workshops [10 in total]
Videos [various each week]
Drop-In Laboratory Session [1 per week]
Lectures [3 in total]
Formative Quizzes [1 per week]
Additional Reading
Employability skills
- Analytical skills
- Innovation/creativity
- Project management
- Problem solving
Assessment methods
Method | Weight |
---|---|
Written exam | 30% |
Practical skills assessment | 70% |
Feedback methods
Workshops, Drop-In Labs, Discussion Boards, Formal through Coursework
Recommended reading
We do not use a recommended textbook instead providing various resources including articles, papers and blogs throughout the semester.
Study hours
Scheduled activity hours | |
---|---|
Assessment written exam | 2 |
Lectures | 3 |
Practical classes & workshops | 30 |
Independent study hours | |
---|---|
Independent study | 65 |
Teaching staff
Staff member | Role |
---|---|
Gareth Henshall | Unit coordinator |