Undergraduate Course: Database Systems (INFR09011)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (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 areas of 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 languages that have been developed for relational databases, their implementation and optimisation. It will also introduce some recent developments in databases including object-oriented, object-relational systems, semistructured data and the relationship between databases and XML. The bare essentials of transaction processing will also be covered.
* Relational Model and Relational Algebra
* SQL and SQL DDL
* Designing databases: E-R diagrams and functional dependencies
* Datalog, recursive queries and graph queries
* Comprehensions and OQL
* XML: types and languages for XML
* HTML and PHP programming
* Query optimization and indexing
* Implementation of relational operations
* Transaction processing, concurrency and serialization
Relevant QAA Computing Curriculum Sections: Databases
Entry Requirements (not applicable to Visiting Students)
||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.
Students are expected to have taken a basic course in logic and discrete mathematics.
Information for Visiting Students
Course Delivery Information
|Not being delivered|
| 1 - Demonstrate knowledge of relational database schema design by employing the concepts of normal forms and entity-relationship diagrams.
2 - Demonstrate the ability to declare, define, and access relational database schemas in relational database management systems using the data definition language subset of SQL.
3 - Demonstrate knowledge of querying relational databases by using SQL and the ability to convert relational algebra queries to SQL.
4 - Demonstrate knowledge of query evaluation by describing and implementing database processing algorithms.
5 - Demonstrate the ability to programmatically map other data models to the relational one.
6 - Demonstrate knowledge of concurrency control by describing transactional semantics.
7 - Apply transactional semantics to reason about the correctness and consistency of database interaction among multiple users.
8 - Demonstrate knowledge of recent advances in database systems by identifying the connection between traditional relational databases and other data models and/or query languages.
9 - Demonstrate a basic knowledge of serial data expressed in XML.
10 - Demonstrate understanding and the ability to implement tools for structuring and querying XML.
|Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Third Edition) McGraw-Hill 2000.|
|Course organiser||Prof Leonid Libkin
Tel: (0131 6)51 3816
|Course secretary||Mrs Victoria Swann
Tel: (0131 6)51 7607