Βάσεις Δεδομένων Ι Εισαγωγή
1 Γνωριμία
Ασκήσεις Πράξης: Τρίτη 12:00-14:00 Hello! Βασίλης Πουλόπουλος Μηχανικός Η/Υ και Πληροφορικής MSc, PhD poulop@cs.teikal.gr Θεωρία: Τρίτη 10:00-12:00 Ασκήσεις Πράξης: Τρίτη 12:00-14:00
1 εργασία (ΔΕΝ είναι υποχρεωτική) Διαμόρφωση Μαθήματος 1 εργασία (ΔΕΝ είναι υποχρεωτική) 50% του βαθμού για όσους τις πραγματοποιήσουν Τελική γραπτή εξέταση eClass Βάσεις Δεδομένων Ι (2016-2017) pass: dbv001 Σύγγραμα Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes
Ας μάθουμε για τις βάσεις δεδομένων 2 Εισαγωγή Ας μάθουμε για τις βάσεις δεδομένων
Ένα βιβλίο είναι μια ΒΔ; Ένας τηλεφωνικός κατάλογος είναι μια ΒΔ; Τι είναι ΒΔ; Είναι ένα πολύ μεγάλο, δομημένο σύνολο δεδομένων που σχετίζονται μεταξύ τους Ένα βιβλίο είναι μια ΒΔ; Ένας τηλεφωνικός κατάλογος είναι μια ΒΔ;
Αριθμός μητρώου φοιτητή Τι είναι δεδομένα; Πρόκειται για στοιχεία – γεγονότα των οποίων η καταγραφή έχει κάποια σημασία και περιέχει μια αλήθεια Πινακίδα αυτοκινήτου Αριθμός τηλεφώνου Αριθμός μητρώου φοιτητή
Βάσεις Δεδομένων
3 ΣΔΒΔ ...???
Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System ΣΔΒΔ / DBMS Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System Πρόκειται για λογισμικό για τη διαχείριση μιας ΒΔ
Σύστημα Βάσεων Δεδομένων Database System Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System Βάση Δεδομένων Database
Εμπορικά Oracle MS SQL IBM / DB2 Open Source mySQL Postgres Predator Γνωστά ΣΔΒΔ Εμπορικά Oracle MS SQL IBM / DB2 Open Source mySQL Postgres Predator noSQL Elastic Cassandra Solr
Ανεξαρτησία δεδομένων (και προγράμματος) Κοινή λειτουργικότητα Τι τα χρειάζομαι; Ανεξαρτησία δεδομένων (και προγράμματος) Κοινή λειτουργικότητα Σωστή υλοποίηση / Έτοιμη υλοποίηση Μόνιμη αποθήκευση Αποδοτική προσπέλαση δεδομένων
Γρήγορη ανάπτυξη εφαρμογών Ακεραιότητα δεδομένων Τι τα χρειάζομαι; Γρήγορη ανάπτυξη εφαρμογών Ακεραιότητα δεδομένων Ταυτόχρονη χρήση των δεδομένων Ασφάλεια και προστασία Δυνατότητες Ανάκαμψης Προχωρημένες δυνατότητες
Χρειάζεται εξειδικευμένο προσωπικό (εκπαίδευση) Τι ΔΕΝ τα χρειάζομαι; Χρειάζεται εξειδικευμένο προσωπικό (εκπαίδευση) Χρειάζεται επένδυση σε λογισμικό και υλικό Δεν είναι αναγκαία όλα όσα προσφέρει (overhead)
Που τοποθετείται; Αν αυτό είναι το μοντέλο της στοίβας λογισμικού συστημάτων που θα τοποθετούσαμε ένα ΣΔΒΔ
Τι ακριβώς θέλουμε να επιτύχουμε 4 Γιατί; Τι ακριβώς θέλουμε να επιτύχουμε
Τρόπος υλοποίησης και λειτουργίας των ΒΔ, ΣΔΒΔ, ΣΒΔ Στόχοι! Σχεδιασμός και Υλοποίηση ενός Συστήματος Βάσεων Δεδομένων με τη χρήση ενός Συστήματος Διαχείρισης Βάσεων Δεδομένων Τρόπος υλοποίησης και λειτουργίας των ΒΔ, ΣΔΒΔ, ΣΒΔ Διαχείριση δεδομένων
πως δημιουργούμε ένα ΣΔΒ 5 Δημιουργία πως δημιουργούμε ένα ΣΔΒ
Ανάλυση απαιτήσεων του συστήματος Τι είδους δεδομένα έχω Ανάπτυξη ΣΔΒ Ανάλυση απαιτήσεων του συστήματος Τι είδους δεδομένα έχω Ποια θέλω να αποθηκεύω και με ποιον τρόπο Τι θα κάνω με τα δεδομένα Πόσο γρήγορα θέλω να εκτελώ τις πράξεις με τα δεδομένα
Μοντέλο με Οντότητες / Συσχετίσεις Μοντελοποίηση Μοντέλο με Οντότητες / Συσχετίσεις Ο τρόπος δόμησης των ΒΔ γίνεται μέσω προσπάθειας να τα ταιριάξουμε με δεδομένα και σχέσεις του πραγματικού κόσμου
Λογική Σχεδίαση ΒΔ Σχεσιακό μοντέλο Μετατροπή της σχεδίασης με οντότητες σε μια γλώσσα που αρχίζει να γίνεται αναγνώσιμη από ένα ΣΔΒΔ
Υλοποίηση Προγραμματισμός Εφαρμογή του σχεδιασμού και του μοντέλου πάνω σε ένα ΣΔΒΔ ώστε να προκύψει μια αρχική προσέγγιση για ένα ΣΒΔ
Σημασίες και εννοιών στις ΒΔ 6 Έννοιες Σημασίες και εννοιών στις ΒΔ
Data model (Μοντέλο δεδομένων) Υλοποίηση Data model (Μοντέλο δεδομένων) Ένα σύνολο από έννοιες για να περιγράψουν τα δεδομένα Schema (σχήμα) Περιγραφή μιας συγκεκριμένης συλλογής δεδομένων σύμφωνα με ένα μοντέλο δεδομένων
Σχεσιακό μοντέλο δεδομένων Σχεσιακές ΒΔ Σχεσιακό μοντέλο δεδομένων Βασική ιδέα: «σχέση» και πίνακες με στήλες και γραμμές Κάθε «σχέση» έχει ένα σχήμα που περιγράφει τις στήλες
Ανεξαρτησία Δεδομένων Λογική Ανεξαρτησία Φυσική Ανεξαρτησία Αρχιτεκτονική ΒΔ View 1 … View n Abstraction Levels Ανεξαρτησία Δεδομένων Λογική Ανεξαρτησία Φυσική Ανεξαρτησία Conceptual Schema Physical Layer
Ας καταλάβουμε τις βάσεις δεδομένων 7 Ασκήσεις Ας καταλάβουμε τις βάσεις δεδομένων
Παραδείγματα Βάσεων Δεδομένων Σκεφτείτε καθημερινά παραδείγματα
Τι θα μπορούσαν να είναι οντότητες σε μια ΒΔ στη σχολή μας Οντότητες Τι θα μπορούσαν να είναι οντότητες σε μια ΒΔ στη σχολή μας
Τι θα μπορούσαν να είναι σχέσεις μεταξύ των οντοτήτων Σχέσεις Τι θα μπορούσαν να είναι σχέσεις μεταξύ των οντοτήτων