Έμβλημα Πολυτεχνείου Κρήτης
Το Πολυτεχνείο Κρήτης στο Facebook  Το Πολυτεχνείο Κρήτης στο Instagram  Το Πολυτεχνείο Κρήτης στο Twitter  Το Πολυτεχνείο Κρήτης στο YouTube   Το Πολυτεχνείο Κρήτης στο Linkedin

01
Οκτ

Παρουσίαση Διπλωματικής Εργασίας κ. Εμμανουήλ Τσουρή - Σχολή ΗΜΜΥ
Κατηγορία: Παρουσίαση Διπλωματικής Εργασίας  
Τοποθεσία
Ώρα01/10/2026 12:00 - 13:00

Περιγραφή:

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών

ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ

Τσουρή Εμμανουήλ

με θέμα

Δημιουργία Διαδραστικής Βιβλιοθήκης Αλγορίθμων μέσω Jupyter Notebooks και pgModeler για την Εκμάθηση Σχεσιακών Βάσεων Δεδομένων

Interactive Algorithm Library Development via Jupyter Notebooks and pgModeler for Relational Database Learning

Εξεταστική Επιτροπή

Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς (επιβλέπων)
Καθηγητής Αντώνιος Δεληγιαννάκης
Αναπληρωτής Καθηγητής Νικόλαος Γιατράκος

Περίληψη

Η παρούσα διπλωματική εργασία παρουσιάζει τη rel_db_learning, μια εγκαταστάσιμη βιβλιοθήκη Python για τη διδασκαλία σχεσιακών βάσεων δεδομένων σε φοιτητές θετικών επιστημών με ελάχιστο υπόβαθρο προγραμματισμού. Αντί για ένα εργαλείο ενός σκοπού, η βιβλιοθήκη προσφέρει μια ολοκληρωμένη διαδρομή, η οποία υλοποιείται μέσω Jupyter Notebooks και οδηγεί από το σχεσιακό μοντέλο, τη σχεσιακή άλγεβρα και τον σχεσιακό λογισμό, τον σχεδιασμό οντοτήτων‑συσχετίσεων και την SQL έως την κανονικοποίηση. Ο σχεδιασμός της ακολουθεί τρεις αρχές: την οπτικοποίηση πριν από τον συμβολισμό, με το pgModeler ως κεντρικό οπτικό εργαλείο, την καθοδηγούμενη ανακάλυψη, όπου ο φοιτητής πρώτα χτίζει μια βάση δεδομένων και μόνο αργότερα ανακαλύπτει τα ελαττώματά της και τα συγκεκριμένα παραδείγματα πριν από τα αφηρημένα, τα οποία παρουσιάζονται σε μια γεμάτη βάση δεδομένων μόνο για ανάγνωση, πριν ο φοιτητής εξασκηθεί στη δική του.Οι αρχές αυτές υλοποιούνται μέσα από μία ενιαία Βιβλιοθήκη, την οποία ο φοιτητής χτίζει, εξελίσσει σε έξι διαδοχικά στάδια σχήματος και τελικά κανονικοποιεί, ώστε τα σχεδιαστικά ελαττώματα που καθοδηγήθηκε να δημιουργήσει να γίνουν ακριβώς τα ελαττώματα που μαθαίνει να διορθώνει.Η βιβλιοθήκη υποστηρίζεται από συνεχώς χρησημοποιούμενες συναρτήσεις: μεταφραστές που μετατρέπουν τη σχεσιακή άλγεβρα και τον λογισμό σε εκτελέσιμη SQL, έναν επικυρωτή σχήματος που διαβάζει τόσο τα αρχεία του pgModeler όσο και τη ζωντανή βάση δεδομένων, μια οικογένεια εργαλείων αυτοαξιολόγησης που παρέχουν άμεση ανατροφοδότηση και ένα εργαλείο κανονικοποίησης για την ανάλυση των εξαρτήσεων. Η ορθότητα και η αναπαραγωγιμότητα διασφαλίζονται από μια αυτοματοποιημένη σουίτα δοκιμών και από την απαίτηση κάθε σημειωματάριο να εκτελείται από την αρχή σε καθαρό Kernel. Οι κύριες συνεισφορές είναι μια ολοκληρωμένη «βιβλιοθήκη ως βοήθημα σπουδών» που ενοποιεί εργαλεία τα οποία συνήθως διδάσκονται ξεχωριστά, ένα σταδιακό έργο βασισμένο στην ανακάλυψη, μια ρητή και εκτελέσιμη αντιστοίχιση από τη σχεσιακή άλγεβρα στην SQL και την κανονικοποίηση.

Abstract

This thesis presents rel_db_learning, an installable Python library that teaches relational databases to university students with little programming background. Rather than a single purpose tool, the library offers a complete learning path, delivered through Jupyter notebooks, that leads from the relational model through relational algebra and calculus, entity-relationship design and SQL, to normalisation. Its design follows three principles: visualization before notation, with pgModeler as the central visual tool, guided discovery, in which the student first builds a database and only later uncovers its faults and concrete examples before abstract ones, demonstrated on a populated read-only database before being practised on the student’s own. These principles are enacted through a single Library project that the student builds, evolves across six schema stages and finally normalises, so that the design flaws they were guided to create become exactly the flaws they learn to repair. The library is supported by reusable components: translators that turn relational algebra and calculus into executable SQL, a schema validator that reads both pgModeler files and the live database, a family of self-assessment widgets that give immediate feedback and a normalisation toolkit for functional-dependency analysis. Correctness and reproducibility are ensured by an automated test suite and by the requirement that every notebook runs from a clean kernel. The main contributions are an integrated library that unifies tools usually taught separately, a staged and discovery-driven project, an explicit and executable mapping from relational algebra to SQL and the reusable software components themselves.

Meeting ID: 952 0863 8364
Password: 341096

© Πολυτεχνείο Κρήτης 2012