TU Delft
print this page print this page     
2016/2017 Electrical Engineering, Mathematics and Computer Science Bachelor Computer Science and Engineering
Information and Data Management
Responsible Instructor
Name E-mail
Dr. C. Lofi    C.Lofi@tudelft.nl
Contact Hours / Week x/x/x/x
0/6/0/0 hc; 0/4/0/0 lab
Education Period
Start Education
Exam Period
Course Language
Expected prior knowledge
Basic understanding of data modelling techniques (ER, UML, etc.)
Basic understanding relational query languages (SQL)
Course Contents
In this course you will learn how to model, manage, and query information in a Database Management System (DBMS). We will focus on different data modelling techniques, but also on aspects of query processing like for example query parsing or optimization. Also transaction management is a central topic of interest. The core focus is on classic relational OLTP databases, but we will also briefly touch alternative systems like the current NewSQL-trend and systems optimized for in-memory or OLAP applications. Additionally, NoSQL systems and their respective data models will be discussed.

- Database normalization: modelling in an unambiguous and non-redundant manner in relational tables such that inconsistencies and anomalies are avoided.
- File-organization and indexing: the data structures and their associated algorithms to store data in memory and on disk, such that it can be retrieved and processed efficiently when needed.
- Query processing and optimization: the techniques that are used by a DBMS to execute certain SQL queries as efficiently as possible, taking into account how the data is stored and which indexes are present. This also covers Relational Algebra.
- Transaction management and concurrency control: the techniques that a DBMS offers to allow different users and application to operate in parallel on the same data without interfering with each other or causing inconsistencies in the data.
- NewSQL and alternative system: the systems beyond traditional relational database design space optimized for specialized requirements like extreme OLTP performance, OLAP queries, or in-memory storage.
-NoSQL and non-relational data: in the recent years, systems not relying on the relational model became popular. We will also discuss how this affects data modelling, especially with respect to document models, key-value models, wide-columnar models, but also graph models.
Study Goals
The course aims at teaching the basic competencies required to design and understand applications interacting with relational database management systems (RDBMS). Students will gain an insight into how RDBMS are implemented, learn about the available design choices, and the trade-offs imposed by different designs. This allows students to competently identify and solve problems in application design, and to improve and tune data models and queries. We will also deal with non-relational systems and discuss how they affect the data processing workflow.

After following this course a student is able to:

- Design relational schemas based on a miniworld description
-- Determine in which normal form a certain database schema is, and normalize data themselves

- Understand the common design choices in RDBMS. This covers:
-- Understand how data is stored on disks and other storage media in relational databases
-- Understand how indexing works, and what different indexing structures imply
-- Understand the purpose, capabilities and limitations of query processors in RDBMS
-- Understand the impact of physical design and tuning on the query optimization process
-- Understand the need for transaction protocols, and understand the design and implications of different implementations
-- Understand recovery algorithms
-- Understand basic security concepts

- Understand the strengths and limitations of the common design choices of RDBMS with respect to different application scenarios
-- Understand the requirements of domains which demand alternative DBMS designs like analytic processing, Web data management, etc.
-- Understand how to adapt the design DBMS to these new requirements, and be able to judge the resulting trade-offs
-- Be aware of different alternatives to RDBMS, and be able to competently choose the right tool for a given right job
-- Understand the need and advantages for modern systems not relying on the relation model, like NoSQL systems
-- Understand in which circumstances NoSQL systems are NOT a good alternative to relational systems
-- Understand how alternative data models like document model, key-value model, or graph models affect data modelling in general, but also how they affect implementation strategies for the respective systems
Education Method
Lectures and Lab
Fundamentals of Database Systems by Ramez Elmasri and Shamkant Navathe, Pearson. Preferred 7th edition, but also the older ones are usable.
Course with written test, and a lab.
Permitted Materials during Tests
2 handwritten sheets of paper (any content chosen by the student, writing front and back permitted).
The course has a written test which is graded with a number, and a lab (P) which is graded with V (sufficient) or O (insufficient).

Resit: A resit of the test is offered at a slightly later date. There is no resit for the lab.
Name E-mail
Dr.ir. A. Bozzon    A.Bozzon@tudelft.nl
Prof.dr.ir. A. Iosup    A.Iosup@tudelft.nl