Κωδικός Μαθήματος

ΜΔΑ-282

Εξάμηνο Μαθήματος

1ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

Κατηγορία Μαθήματος

Υποχρεωτικό

Διδάσκοντες Μαθήματος

Στόχος

Ο κύριος στόχος του μαθήματος είναι η εκμάθηση από τους φοιτητές των σύγχρονων τεχνικών διαχείρισης δεδομένων, τόσο για σχεσιακά όσο και για μη σχεσιακά συστήματα βάσεων δεδομένων.Μελετώνται θέματα αναφορικά με τη μοντελοποίηση δεδομένων, τον εννοιολογικό, λογικό και φυσικό σχεδιασμό των βάσεων δεδομένων, τη γλώσσα SQL, τη φυσική αποθήκευση των δεδομένων και την επεξεργασία  και βελτιστοποίηση ερωτημάτων. Ιδιαίτερη έμφαση δίδεται στην κατανόηση σύγχρονων συστημάτων βάσεων δεδομένων και στη διαδικασία σχεδιασμού και ανάπτυξης εφαρμογών βάσεων δεδομένων σε σύγχρονα προγραμματιστικά περιβάλλοντα.

Επίσης, συζητούνται κατανεμημένες και παράλληλες βάσεων δεδομένων καθώς και σύγχρονα μη σχεσιακά συστήματα που επιτυγχάνουν υψηλή απόδοση και κλιμακωσιμότητα.

Από το μάθημα αυτό, οι φοιτητές αναμένεται να αποκτήσουν σημαντικές τεχνικές γνώσεις και δεξιότητες στη διαχείριση δεδομένων  μεγάλης κλίμακας και στην εκμάθηση μεθόδων σχεδιασμού και πραγμάτωσης βάσεων δεδομένων και συναφών εφαρμογών, με ιδιαίτερη αναφορά στη διαχείριση μεγάλων όγκων δομημένων, ημι-δομημένων και αδόμητων δεδομένων.

Οι φοιτητές μετά την επιτυχή ολοκλήρωση του μαθήματος θα μπορούν:

  • να αναλύουν ένα πρόβλημα σχεδιασμού βάσης δεδομένων και να συλλέγουν τις απαιτήσεις για την υλοποίηση του συστήματος βάσης δεδομένων,
  • να σχεδιάζουν μία βάση δεδομένων σε εννοιολογικό και λογικό επίπεδο και να δημιουργούν των κατάλληλα μοντέλα δεδομένων,
  • να σχεδιάζουν και υλοποιούν καλά δομημένες βάσεις δεδομένων με βάση τους κανόνες κανονικοποίησης,
  • να γνωρίζουν και χρησιμοποιούν τα κατάλληλα εργαλεία για τη σχεδίαση και υλοποίηση μίας σχεσιακής βάσης δεδομένων,
  • να υλοποιούν ερωτήματα SQL για τον ορισμό και τη διαχείριση βάσεων δεδομένων,
  • να σχεδιάζουν και να υλοποιούν μια μη σχεσιακή βάση δεδομένων,
  • να αξιολογούν και να επιλέγουν το καταλληλότερο σύστημα διαχείρισης δεδομένων για ένα συγκεκριμένο πρόβλημα.

Μαθησιακά Αποτελέσματα

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
  • Αυτόνομη εργασία
  • Προσαρμογή σε νέες καταστάσεις
  • Λήψη αποφάσεων
  • Παράγωγή νέων ερευνητικών ιδεών
  • Σχεδιασμός και διαχείριση έργων
  • Άσκηση κριτικής και αυτοκριτικής
  • Εργασία σε διεπιστημονικό περιβάλλον

Περιεχόμενα Μαθήματος

  • Συστήματα διαχείρισης βάσεων δεδομένων

    Βασικά χαρακτηριστικά συστημάτων διαχείρισης βάσεων δεδομένων (ΣΔΒΔ). Πλεονεκτήματα ΣΔΒΔ. Επίπεδα αφαίρεσης ΣΔΒΔ. Ανεξαρτησία δεδομένων. Αρχιτεκτονική συστήματος ενός ΣΔΒΔ.

  • Σχεδιασμός σχεσιακών βάσεων δεδομένων

    Εννοιολογικός, λογικός και φυσικός σχεδιασμός ΒΔ. Μοντέλο οντοτήτων-συσχετίσεων (Ο/Σ). Θεώρηση, οντότητες, συσχετίσεις, χαρακτηριστικά. Περιορισμοί ακεραιότητας (οντοτήτων και συμμετοχής). Σχεσιακό Μοντέλο Δεδομένων. Κανονικοποίηση. Μετατροπή μοντέλου Ο/Σ σε σχεσιακό.

  • Η γλώσσα SQL

    Σύνταξη. Τύποι ερωτημάτων. Εμφωλευμένα ερωτήματα. Τελεστές συνάθροισης. Συζεύξεις (joins). Συγγραφή πολύπλοκων SQL ερωτημάτων. Αποθηκευμένες διαδικασίες. Εναύσματα. Μοντέρνες επεκτάσεις της γλώσσας SQL.

  • Αποθήκευση δεδομένων και ευρετήρια

    Φυσική αποθήκευση. Οργάνωση αρχείων στο δίσκο. Αρχεία εγγραφών, μορφοποιήσεις σελίδων, μορφοποιήσεις εγγραφών. Αποθήκευση κατά γραμμές και κατά στήλες. Μέθοδοι ευρετηρίασης. Δεντρικά ευρετήρια. Το Β+Δένδρο. Ευρετήρια κατακερματισμού.

  • Επεξεργασία ερωτημάτων και βελτιστοποίηση

    Αλγόριθμοι σχεσιακών πράξεων. Υπολογισμός σχεσιακών τελεστών: προβολή, επιλογή, σύζευξη, πράξεις συνόλων, συναθροίσεις. Πλάνα εκτέλεσης και εναλλακτικά πλάνα. Υπολογισμός κόστους ενός πλάνου. Βελτιστοποίηση ερωτημάτων.

  • Αρχές κατανεμημένης και παράλληλης διαχείρισης δεδομένων

    Τοπικά και καθολικά ευρετήρια. Τεχνικές διαμέρισης: round-robin, με κατακερματισμό, με διαστήματα τιμών. Κατανεμημένη επεξεργασία ερωτημάτων. Κατανεμημένη βελτιστοποίηση ερωτημάτων. Εξισορρόπηση φόρτου.

  • Μη-σχεσιακές βάσεις δεδομένων

    Κίνητρα για μη-σχεσιακές βάσεις δεδομένων (NoSQL). Σύγκριση με σχεσιακές βάσεις δεδομένων. Ιδιότητες ACID. Ιδιότητες BASE. Ενδεχόμενη συνέπεια δεδομένων. Μη-σχεσιακά μοντέλα δεδομένων. Αποθήκες ζεύγων κλειδί-τιμής (REDIS). Αποθήκες εγγράφων (MongoDB). Επεκτάσιμες αποθήκες εγγραφών (Google’s BigTable, HBase, Cassandra). Αποθήκευση δεδομένων γράφων (OrientDB).

  • Ανάπτυξη documentoriented ΒΔ

    Μοντελοποίηση και αποθήκευση δεδομένων με τη μορφή εγγράφων (documents). Σχεδίαση δομής εγγράφων. Απoκανονικοποίηση για τη βελτίωση της απόδοσης επεξεργασίας πολύπλοκων αιτημάτων.

  • Το μη-σχεσιακό σύστημα MongoDB

    Παρουσίαση της MongoDB. Αρχιτεκτονική της MongoDB. Σύνταξη εντολών σε MongoDB. Λειτουργίες υποστηριζόμενες από την MongoDB. Δημιουργία αντιγράφων (replication). Sharding.

  • Το μη-σχεσιακό σύστημα ElasticSearch

    Διαχείριση αδόμητων δεδομένων. Προκλήσεις σχετικές με διαχείριση κειμένου. Ευρετηρίαση κειμένου και αναζήτηση Βαθμολόγηση. Στάθμιση όρων. Το μοντέλο διανυσματικού χώρου. Το σύστημα ElasticSearch.

Βιβλιογραφία