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

Κωδικός: 
8117
Εξάμηνο: 
7ο
Μαθήματα Επιλογής

Μαθησιακά αποτελέσματα του μαθήματος

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

Με την ολοκλήρωση του μαθήματος, οι φοιτητές θα είναι σε θέση:

- Να μοντελοποιήσουν τα δεδομένα μίας επιχείρησης ή οργανισμού χρησιμοποιώντας διαγράμματα οντοτήτων-συσχετίσεων ή το σχεσιακό μοντέλο

- Να γράψουν απλά ή σύνθετα ερωτήματα σε SQL μέσω των οποίων να διαχειρίζονται το σχήμα μίας σχεσιακής ΒΔ, να εισάγουν/αλλάζουν τα δεδομένα μίας σχεσιακής ΒΔ, ή να ανακτούν δεδομένα με διάφορους τρόπους

- Να συνδέονται σε μία σχεσιακή βάση δεδομένων με μία γλώσσα προγραμματισμού και να ανακτούν δεδομένα

- Να χρησιμοποιούν ένα εμπορικό σύστημα σχεσιακής ΒΔ για όλα τα παραπάνω.

Συνιστώμενες προαιρετικές εκπαιδευτικές συνιστώσες του προγράμματος σπουδών

Εξάσκηση στο σύστημα Βάσεων Δεδομένων της Microsoft, SQL Server.

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

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

Συνιστώμενη ή απαιτούμενη βιβλιογραφία προς μελέτη

  • «Συστήματα Διαχείρισης Βάσεων Δεδομένων», Τόμος Α΄ & Β΄, R. Ramakrishnan & J. Gehrke,

Εκδόσεις Τζιόλα, 2002.

  • «Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων», Τόμος Α' & Β', R. Elmasri S. B. Navathe (μεταφραστική επιμέλεια Μ. Χατζόπουλος), Εκδόσεις Δίαυλος, 2001.
  • «Συστήματα Βάσεων Δεδομένων, Η πλήρης θεωρία των βάσεων δεδομένων», Silberschatz, Korth, Sudarshan, Εκδόσεις Γκιούρδας, 2004.

Σχεδιασμένες μαθησιακές δραστηριότητες και διδακτικές μέθοδοι

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

Μέθοδοι αξιολόγησης και κριτήρια

Γραπτές εξετάσεις (60%), ανάπτυξη μίας μεγάλης κλίμακας εφαρμογής βάσεων δεδομένων (40%).