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%