BSc Computer Science and Mathematics
Year of entry: 2022
- View tabs
- View full page
Course unit details:
|Unit level||Level 2|
|Teaching period(s)||Semester 1|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||No|
Databases are core, if largely invisible, components of modern computing architectures in both commercial and scientific contexts. The management of data has evolved from application-specific management of myriad files to organisation-wide approaches that see data as one of the most important assets of modern organisations and, as such, a key factor in their ability to compete and thrive. At this organisation-wide scale, database management systems (DBMSs) are the crucial piece of software infrastructure needed to achieve the desired results with consistent quality and robust efficiency. A modern DBMS is a thing of wonder and embodies in its internal construction and in its wide usability many advances in algorithms and data structures, programming language theory, conceptual modelling, concurrency theory, and distributed computing. This makes the study of databases a data-centric traversal of many of the most exciting topics in modern computing.
- Be able to discuss and explain the principles of database design.
- Be able to discuss, explain and apply conceptual design methodologies, and, in particular, the Extended Entity Relationship Approach.
- Be able to discuss, explain and apply the relational model, and, in particular the derivation of relational schemas from conceptual designs and the normalisation of those schemas.
- 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.
- Be able to discuss and explain the requirements and responsibilities arising from the use of classical database management systems in the light of legal frameworks to protect individuals, institutions and property rights.
Introducing Data Management
Data as an Asset, Records and Files, The Need for Models, The Need for Independence, Database Management as a Service [1 lecture plus background reading]
Understanding Database Architectures
Levels of Abstraction in Data Management, The ANSI/SPARC Approach, Schemas v. Instances, Describing v. Querying v. Changing, DBMS Components and Architectures [1 lecture plus background reading]
Understanding the Relational Paradigm
The Relational Model, The Relational Languages [2 lectures plus background reading] [1 examples clinic, 1 lab exercise]
Building a Conceptual Data Model, Mapping the Conceptual Data Model to a Target, Identifying Functional Dependencies, Normalizing the Schema [5 lectures plus background reading] [3 examples clinics, 2 lab exercises]
Interfacing with Applications
Defining Views, Using Embedded Queries, Procedural Access, and Triggers [1 lecture plus background reading] [1 examples clinic, 1 lab exercise]
Understanding System-Level Issues
Concurrency, Transactions and Recovery, File Organisations and Indexes [2 lectures plus background reading]
Considering Security and Privacy
Threats and Countermeasures, Legal Frameworks [background reading]
Teaching and learning methods
13 in total, 1 per week + an additional lecture in Week 2.
5 in total, each one hour long, run as clinics in support of the taught material, mandatory readings and lab exercises.
10 in total, weekly formative sheets for you to practice various elements of database design and manipulation.
2 midterm tests which will count towards 25% of the coursework mark
- Analytical skills
- Problem solving
|Practical skills assessment||50%|
Lectures, coursework, face to face mentoring by TAs. Use on online quizzes.
COMP23111 reading list can be found on the Department of Computer Science website for current students.
|Scheduled activity hours|
|Assessment written exam||2|
|Practical classes & workshops||15|
|Independent study hours|
|Gareth Henshall||Unit coordinator|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.