Databases

ISTDBM1 - 3 ECTS - 4th Edition

IST-4-DBM1 - ECTS 3.0

Abstract Part 1: Databases

This course introduces the most important concepts concerning the design and the use of databases. It covers the main issues in data modeling when considering the relational data model (structure, languages like relational algebra and relational calculus) and the key features of attribute-oriented models with respect to constructor-oriented models (like, for instance, Extended Entity-Relationship models). The fundamental concepts like the constraints and the normal forms will be explained and their impact on the quality of designed databases will be discussed. Finally, practical aspects of relational database design and use will be discussed. It includes a presentation of the SQL query language but also a short introduction to data warehousing and On Line Analytical Processing queries (OLAP). To be concrete, the students will have to understand the design of a real relational database and to practice database querying with a professional DataBase Management System (DBMS).

Note: Slides are taken and partially modified from https://www.db-book.com/

SCHEDULE

Topic Day Date From To Material Comment

Introduction to DB

📓

Thursday

2024/09/26

14:00

16:00

Slides

Entity-Relationship Model

📓

Monday

2024/09/30

16:00

18:00

Slides

Exe1 Exe2

Entity-Relationship Model

🖐

Thursday

2024/10/03

16:00

18:00

exercises

Relational Algebra

📓+🖐

Tuesday

2024/10/08

16:00

18:00

Slides

Video Exercises

Normal Forms

📓

Friday

2024/10/11

16:00

18:00

Slides

Sudeepa Roy

SQL

🖐

Monday

2024/10/14

16:00

18:00

Slides

Repo

Project Work

🖐

Thursday

2024/10/17

16:00

18:00

Exam

Exam

Friday

2024/10/18

16:00

18:00

Example

Project Presentation

Exam

Friday

2024/10/25

8:00

10:00

Project Presentation

Exam

Friday

2024/10/25

10:00

12:00

NB: The course schedule can be subject to changes!

The course exam consists into

Final grade is the weighted average between exam (0.4) and project (0.6)

Project Submission and Setup

Examples

Project Checklist

NB: Full-stack application is not required, but encouraged.

Project Grading

Proposed Dataset

Suggested Material

Pre Lab Installations (Courtesy of Mohamed Ragab)

Lab Repository

  1. Install PostgreSQL
    1. On Docker ``
    2. on Windows
    3. on linux
  2. Install the psycopg2 Python Package to connecto to PostgreSQL
    • use th command
      1
      
      pip install psycopg2
      
      in your command line.
  3. Accessing PostgreSQL from Command Line:
    • Add the PostgreSQL installation \/home\ and \/bin\ directories to the enviroment variables.
    • use the command
      1
      
      psql -U postgres postgres
      
      to connect to the the by-default created database \postgres\ with the user \postgres.
    • Enter your set \postgres\ password (i.e password of the default password that you have been asked at the time of installtion).
  4. Connect To a PostgreSQL Database Server
    • show you how to connect to the PostgreSQL using psql tool and pgAdmin 4 GUI tool.

Previous Years