Βάσεις Δεδομένων

Κωδικός: 
8117
Εξάμηνο: 
3ο
Υποχρεωτικά Μαθήματα

Οι βάσεις δεδομένων ξεκίνησαν σαν μια απλή εφαρμογή στα τέλη της δεκαετίας του 70 για να καταλήξουν στις μέρες μας σαν ένας από τους σημαντικότερους τομείς της πληροφορικής με χιλιάδες εφαρμογές. Αυτό ήταν λίγο πολύ αναμενόμενο αφού ασχολούνται με τη θεωρία και έρευνα πάνω σε τρείς τομείς: την περιγραφή της πληροφορίας και των δεδομένων, την αποθήκευση τους και τέλος τη χρησιμοποίηση τους. Για να περιγράψουμε τα δεδομένα μιας εφαρμογής χρησιμοποιούμε διάφορα μοντέλα, όπως είναι το σχεσιακό ή το οντοτήτων-συσχετίσεων. Υπάρχουν πολλοί τρόποι για να αποθηκεύσουμε τα δεδομένα, που εξαρτούνται από το πως θέλουμε να τα χρησιμοποιήσουμε. Τέλος για να χρησιμοποιήσουμε τα δεδομένα, θα πρέπει να έχουμε έναν γενικευμένο και ευέλικτο τρόπο, μια γλώσσα με άλλα λόγια, με την οποία θα μπορούμε να θέτουμε ερωτήσεις – πιθανόν πολύπλοκες. Ο σκοπός του μαθήματος είναι οι φοιτητές να μπορούν να σχεδιάσουν και υλοποιήσουν σωστά μία εφαρμογή διαχείρισης δεδομένων, να γνωρίζουν να θέτουν απλά και πολύπλοκα ερωτήματα στη Β.Δ. και να ορίζουν τις δομές εκείνες που οδηγούν στη βέλτιστη απόδοση του συστήματος.

Τα περιεχόμενα του μαθήματος περιλαμβάνουν:

  • Εισαγωγικά ζητήματα: σκοπός ενός συστήματος Β.Δ, μοντέλα δεδομένων, γλώσσες ερωτημάτων, συναλλαγές, αποθήκευση, χρήστες, αρχιτεκτονική.
  • Μοντέλο οντοτήτων-συσχετίσεων: Βασικές έννοιες, οντότητες, συσχετίσεις, χαρακτηριστικά, κλειδιά, απεικονίσεις, διαγράμματα, weak entities, επεκταμένο μοντέλο Ο-Σ, μετατροπή σε πίνακες, παραδείγματα.
  • Σχεσιακό μοντέλο: Σχέσεις, πίνακες, χαρακτηριστικά, σχήμα, σχεσιακή άλγεβρα.
  • Η γλώσσα SQL: Βασική μορφή, εμφωλευμένα ερωτήματα, αθροιστικές συναρτήσεις, ενημέρωση Β.Δ., περιορισμοί αναφοράς, triggers, cursors.
  • Σχεσιακή σχεδίαση: Περιορισμοί ακεραιότητας, συναρτησιακές εξαρτήσεις, αποσύνθεση, κανονικοποίηση.
  • Αποθήκευση και Δείκτες: Αποθηκευτικά μέσα και τρόποι, οργάνωση αρχείων, ταξινόμηση, κατακερματισμός, δέντρα.
  • Ειδικά θέματα (αν υπάρχει χρόνος): Αποθήκες δεδομένων, εξόρυξη δεδομένων, αντικειμενοστραφείς Β.Δ., ροές δεδομένων.