Syllabus

Description: This course aims to introduce concepts and principles of database management systems and teach how to apply them in modeling and solving real-life problems and applications. Lectures will include a review of relational databases, relational data models, database design, SQL query language, query processing, and performance tuning.

Textbook: “Fundamentals of Database Systems”, Ramez Elmasri, Shamkant B. Navathe (2015)

What you will learn

1. Relational databases and data model

2. Database design (ER, EER)

3. SQL query language (DDL, DML, DCL, TCL)

4. Query processing and performance tuning

WEEKLY COURSE FLOW

0 Introduction to the course

1 Database system concepts and architecture

2 Data modeling using the Entity-Relationship (ER) model

3 The Enhanced Entity-Relationship (EER) model

4 Schema definition, constraints, queries, and views

5 Relational database design by ER and EER-to-relational mapping

6 The relational algebra

7 SQL Part I

8 SQL Part II

9 SQL Part III

10 Functional dependencies and normalization for relational databases

11 Database performance tuning – Understanding execution plans

12 Application of database in real-life projects

13 Project presentations

Evaluation

• Midterm Exam 25%

• Assignments 20%

• Project 20%

• Final Exam 35%