Database Design - 2019

Course Description

This course aims to provide the students with knowledge and skills needed to design relational database schemas ( conceptual and logical design). Design issues related to new database models are also considered. Relational database tuning is taken into consideration after the design concepts are illustrated through the course.

Text Book

Fundamentals of Database Systems (6th Edition)
Ramez Elmasri (Author), Shamkant Navathe (Author)


Wednesdays 8:00 - 9:30 -- Lecture hall 8
Thursdays 8:00 - 9:30 -- Lecture hall 8

Grading Scheme

60% Final exam
20% Mid-Term exam
20% Assignments (Sheets), Programming Assignment and Graph DB Project


Week DBD Lecture
 1 Course Overview & Motivation (PDF)

DB Design Process + ERD Notations + Lessons Learned in ERD (PDF)

2 Conceptual Normalization (Functional Dependencies) (PDF)
Conversion (Conceptual to Logical Schema) (PDF)
3 Functional Dependencies Inference rules  (PDF)
Functional Dependencies (Closure, cover, equivalence) (PDF)
4 Functional Dependencies (Non Redundant FDs, Extraneous Attributes) (PDF)
Functional Dependencies (Minimal Cover) (PDF)
5 Normalization using functional dependencies (1st, 2nd, 3rd, BCNF) (PDF)
views (virtual and materialized views)  (PDF)
6 Relational Database Tuning (PDF)
Relational Database Tuning 
7 Relational Database Tuning (PDF)
Relational Database Tuning 
8 Relational Database Tuning (PDF)
9 Graph Databases (PDF)
10 Graph Databases (PDF)
11 Neo4j Cypher Language  (PDF)
Neo4j Cypher Language (PDF)
12 Neo4j Cypher Language  (PDF)
Related materials