Undergraduate Course: Database Systems (INFR10070)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 10 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||Databases are essential to maintaining the information base in almost all modern business enterprises and to electronic commerce. They are also becoming increasingly important as a fundamental tool in much scientific research. Some knowledge of databases is now essential in any of these areas. The study of databases draws on several disciplines within computer science: logic, algorithms, programming languages and operating systems.
This course is an introduction to the principles underlying the design and implementation of databases and database management systems. It will cover the theoretical and practical languages that have been developed for relational databases, their implementation and optimisation. It will also cover transaction processing and concurrency control, as well as tools and techniques for decision support and data analysis. In addition, some recent developments in databases, including semistructured data and the relationship between relational databases and XML documents, will be introduced.
This 20 credit course replaces INFR10055 Database Systems (10 credits).
- Overview of database management systems and the relational model
- Database design: E-R diagrams, constraints, normal forms
- Query languages: relational algebra and calculus
- SQL: data definition, data manipulation, queries, views, constraints, triggers
- Database access from applications: embedded and dynamic SQL
- Storage and indexing: B-trees, hashing
- Query evaluation and optimisation: join strategies, query plans
- Scheduling and concurrency control: transaction management,
- Data warehousing and decision support: OLAP, view materialisation and maintenance
- Deductive databases: Datalog and recursive queries
- Incomplete data: null values and certain answers
- Semistructured data: XML documents, DTDs, query languages for XML
Entry Requirements (not applicable to Visiting Students)
|Prohibited Combinations|| Students MUST NOT also be taking
Database Systems (INFR10055)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser (lecturer).
Students are expected to have taken a basic course in logic and discrete mathematics.
Information for Visiting Students
|Pre-requisites||Visiting students are required to have comparable background to that assumed by the course prerequisites listed in the Degree Regulations & Programmes of Study. If in doubt, consult the course lecturer.
|High Demand Course?
Course Delivery Information
|Academic year 2019/20, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 33,
Seminar/Tutorial Hours 9,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Written Exam 100%, Coursework 0%
Assessed coursework consists in writing SQL queries to a given specification and will be marked automatically immediately after submission. Coursework is formative and assessed for learning (with feedback).
||Feedback is returned in a matter of days and solutions will be discussed during tutorials, along with additional formative (i.e., not assessed) exercises assigned throughout the course. This will allow students to keep track of their progress, learn from their mistakes and have the chance to promptly fix the gaps in their understanding of the subject.
||Hours & Minutes
|Main Exam Diet S1 (December)||2:00|
|Resit Exam Diet (August)||2:00|
On completion of this course, the student will be able to:
- Understand how relational database schemas are designed by employing the notions of normal forms and entity-relationship diagrams, and be able to implement and maintain relational databases by using the data definition and the data manipulation language subsets of SQL.
- Demonstrate knowledge of tools and techniques for supporting data analysis and decision making, and be able to express and translate queries in SQL, relational algebra and relational calculus.
- Demonstrate knowledge of indexing structures and join strategies, by describing how these are used in query evaluation and optimisation algorithms.
- Apply transactional semantics to reason about the correctness and consistency of concurrent data- base interactions among multiple users.
- Demonstrate a basic knowledge of serial data expressed in XML and the ability to structure and query XML documents.
|- Raghu Ramakrishnan and Johannes Gehrke: Database Management Systems (Third Edition). McGraw-Hill, 2000.|
- Serge Abiteboul, Richard Hull, and Victor Vianu: Foundations of Databases, Addison Wesley, 1995.
|Graduate Attributes and Skills
|Course organiser||Dr Paolo Guagliardo
Tel: (0131 6)51 3835
|Course secretary||Mrs Michelle Bain
Tel: (0131 6)51 7607