Database Systems (H) COMPSCI4013
- Academic Session: 2024-25
- School: School of Computing Science
- Credits: 10
- Level: Level 4 (SCQF level 10)
- Typically Offered: Semester 2
- Available to Visiting Students: Yes
- Collaborative Online International Learning: No
Short Description
From the basic skills derived in CS1F, to develop the software engineering and database administration skills required for designing, creating, running and developing a relational database application and its associated application software suite.
Understanding of how conventional programming languages (e.g., Java/JDBC) interact with databases;
Understanding of the fundamental concepts, functional dependency and normalization theories and methods of the relational data model;
Understanding the principles of database indexing, file structures, hash-based file structures, tree-based indexes;
Understanding the cost-based query optimization methods;
Understanding the principles of selection selectivity and joint selectivity using histograms in query optimization;
Introduction to data analytics tasks and advanced methods & techniques.
Timetable
Two one-hour lectures and one one-hour tutorial per week.
Requirements of Entry
Web Application Development 2 (or equivalent)
Object Oriented Software Engineering 2 (or equivalent)
Java Programming 2 (or equivalent)
Excluded Courses
None
Co-requisites
None
Assessment
Examination 80%
Assessed coursework 20%
Main Assessment In: April/May
Are reassessment opportunities available for all summative assessments? No
Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below.
The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage
Course Aims
From the basic skills derived in CS1F, to develop the software engineering and database administration skills required for designing, creating, running and developing a relational database application and its associated application software suite.
Understanding of how conventional programming languages interact with databases;
Understanding of the fundamental concepts, functional dependency and normalization theories and methods of the relational data model;
Understanding the principles of database indexing, file structures, hash-based file structures, tree-based indexes;
Understanding the cost-based query optimization methods;
Understanding the principles of selection selectivity and joint selectivity using histograms in query optimization;
Introduction to data analytics tasks and advanced methods & techniques.
Intended Learning Outcomes of Course
By the end of the course students will be able to:
1. Demonstrate competence in performing sophisticated queries and updates against an existing RDBMS using most of the advanced features of SQL standard;
2. Demonstrate skills in designing, writing, changing and testing programs (e.g., Java/JDBC) that use an RDBMS;
3. Interpret and optimize SQL queries based on the principles of the cost-based query optimization;
4. Provide an explanation of the database indexing techniques including File Hashing, Search Trees, Multi-level Indexes, B Trees and B+ Trees;
5. Specify advanced constraints on the DB scheme based on Functional Dependencies & Normalization;
6. Appreciate Data analytics and aggregation tasks and techniques;
7. Provide an explanation of the selection selectivity and join selectivity using histograms for query optimization.
Minimum Requirement for Award of Credits
Students must submit at least 75% by weight of the component (including examinations) of the course's summative assessment.