Βάσεις Δεδομένων Ι 1 Εισαγωγικές έννοιες Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ 2016-2017
Βάσεις Δεδομένων και Συστήματα Διαχείρισης Βάσεων Δεδομένων(1/2) Μία Βάση Δεδομένων (ΒΔ) είναι μία οργανωμένη συλλογή από δεδομένα Χρησιμοποιείται ως κύρια υποδομή συστημάτων μηχανογράφησης αλλά και γενικά ως οργανωμένη αποθήκη δεδομένων Βάσεις Δεδομένων θα βρει κανείς σε: Τράπεζες, Αστυνομία, Εφορία, Δήμους, Εταιρίες, Σωματεία κ.α. 2
Βάσεις Δεδομένων και Συστήματα Διαχείρισης Βάσεων Δεδομένων(2/2) Το Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) είναι ένα σύστημα (πρόγραμμα-λογισμικό) που μας επιτρέπει να διαχειριζόμαστε ΒΔ. Τι σημαίνει διαχειρίζομαι; Είναι η δυνατότητα να μπορώ να δημιουργώ, να διαγράφω, να αλλάζω και να αναζητώ για να έχω πρόσβαση. Τα πιο γνωστά ΣΔΒΔ είναι: ORACLE, MS SQLServer, MySQL, ACCESS Στο μάθημα αυτό θα ασχοληθούμε με το ΣΔΒΔ: MS Access 2007 3
Αρχικές ενέργειες για το σχεδιασμό ΒΔ (1/4) 1. Αφού μάθουμε και αναλύσουμε το τι θέλουμε να μηχανογραφήσουμε ψάχνουμε να βρούμε τις κύριες Οντότητες. 2. Οντότητα είναι κάτι το οποίο αναπαριστούμε μία σημαντική (κεντρική, ουσιαστική, απαραίτητη) πραγματική υπόσταση (με ύλη ή χωρίς) την οποία χρειάζεται να καταγράφουμε. Π.χ. Ο Υπάλληλος, η Επιχείρηση κ.α. Στο μυαλό μας έχουμε πως κάθε οντότητα θα δημιουργήσει έναν πίνακα (σαν φύλο στο excel) και μέσα θα καταγράφουμε εγγραφές. Π.χ. για την οντότητα φοιτητής θα δημιουργηθεί ένας πίνακας μέσα στον οποίο θα καταγράψουμε όλους τους φοιτητές. Ας βρούμε λοιπόν τις οντότητες κατά τη μηχανογράφηση μίας επιχείρησης με ήδη υπόδησης. Ας βρούμε και τις οντότητες σε περίπτωση που θέλουμε να μηχανογραφήσουμε το ΤΕΙ Δυτικής Ελλάδας. 4
Αρχικές ενέργειες για το σχεδιασμό ΒΔ(2/4) Ας μηχανογραφήσουμε το ΤΕΙ Δ. Ελλάδας Οντότητα Πίνακας Φοιτητής Καθηγητής Μάθημα Τμήμα Σχολή Προσωπικό Κτήρια/Υποδομές 5
Αρχικές ενέργειες για το σχεδιασμό ΒΔ (3/4) 3. Για κάθε μία οντότητα περιγράφουμε το σύνολο των γνωρισμάτων που είναι απαραίτητα για να προσδιορίσουν πλήρως κάθε μία εγγραφή που θα καταχωρίζεται στην οντότητα αυτή. Αναρωτιόμαστε λοιπόν: Τι χρειάζεται να καταγράφουμε στον πίνακα; Π.χ. για την οντότητα παπούτσια ποια είναι τα γνωρίσματα ή χαρακτηριστικά που χρειάζεται να καταγράφονται; Π.χ. για την οντότητα Φοιτητής (για τη μηχανογράφηση του ΤΕΙ) ποια είναι τα γνωρίσματα ή χαρακτηριστικά που χρειάζεται να καταγράφονται; 6
Αρχικές ενέργειες για το σχεδιασμό ΒΔ (4/4) Ανάλυση Φοιτητή Φοιτητής Όνομα Οντότητα Πίνακας Επώνυμο Πατρώνυμο Γνώρισμα Πεδίο ΑΜ Διεύθυνση Τηλέφωνο Ηλικία Εξάμηνο Ημ.Γέννησης Έτος Εγγραφής Τρόπος εισαγωγής email Είναι όλα τα πεδία που χρειαζόμαστε; Μήπως υπάρχει κάποιο αχρείαστο πεδίο; 7
Τι γίνεται με την ηλικία; Φοιτητής Όνομα Επώνυμο Πατρώνυμο ΑΜ Διεύθυνση Τηλέφωνο Ηλικία Εξάμηνο Ημ.Γέννησης Έτος Εγγραφής Τρόπος εισαγωγής email Μήπως μπορούμε να την υπολογίσουμε από κάποιο άλλο γνώρισμα (Ημ.Γέννησης); 8
Πόσα γνωρίσματα θα δηλώσουμε; Φοιτητής Όνομα Επώνυμο Πατρώνυμο ΑΜ Διεύθυνση Τηλέφωνο Ηλικία Εξάμηνο Ημ.Γέννησης Έτος Εγγραφής Τρόπος εισαγωγής email Ανάλογα με το τι θέλουμε να καταγράφουμε και για πιο λόγο: Ποια στοιχεία χρειάζονται όντως να καταγράφονται; Ποια στοιχεία είναι γνωστά σύμφωνα με την ανάλυση που έχουμε κάνει; Στοιχεία που δεν γνωρίζουμε αν θα τα βρούμε δεν τα βάζουμε. Ποια θα είναι η χρήση της βάσης δεδομένων, από ποιους, για πόσο καιρό και σε ποιο τόπο; Εμπλέκονται στοιχεία που αποτελούν προσωπικά δεδομένα; Εμπλέκονται στοιχεία που αποτελούν ευαίσθητα προσωπικά δεδομένα; Έχουμε θέμα με τη διαθέσιμη χωρητικότητα της υποδομής μας; Έχουμε θέμα με την απαιτούμενη ταχύτητα αναζήτησης στοιχείων; Αν τον πίνακα με τους φοιτητές τον χρησιμοποιούσε μία αστρολόγος ποια πεδία θα ήθελε να καταγράφονται; 9
Πρωτεύον κλειδί [1/6] Ένα ή συνδυασμός πεδίων που χαρακτηρίζει μοναδικά κάθε εγγραφή στον πίνακα. Στην πράξη πρόκειται για το πεδίο που διαχωρίζει κάθε εγγραφή από τις άλλες. Π.Χ. Στον πίνακα Φοιτητές αυτό το πεδίο είναι το ΑΜ. Είναι υποχρεωτικό Πως το βρίσκουμε: Αρχικά ελέγχουμε ένα-ένα τα γνωρίσματα. Αν δεν βρούμε ψάχνουμε για συνδυασμούς. Αν δεν βρούμε δημιουργούμε εμείς ένα. 10
Πρωτεύον κλειδί [2/6] Παράδειγμα Προϊόν Τίτλος Τιμή Ημ.Λήξης Δεν υπάρχει, άρα δημιουργούμε εμείς ένα κωδικό προϊόντος Προϊόν Κωδ_προϊόντος Τίτλος Τιμή Ημ.Λήξης 11
Πρωτεύον κλειδί [3/6] Παράδειγμα Πίνακας Εξετάσεις: Κάθε γραμμή αντιπροσωπεύει το βαθμό που πήρε ο φοιτητής σε ένα μάθημα σε μία συγκεκριμένη ημερομηνία. ΑΜ. Φοιτ. Μάθημα Ημερ/νία Βαθμός 15565 ΒΔΙ 2/2/2015 3 15578 ΒΔΙ 2/2/2015 7 15565 ΒΔΙ 7/6/2015 5 15578 ΒΔΙΙ 7/6/2015 8 15565 ΜΑΡΚΕΤΙΝΓΚ 8/6/2015 5 Ποιο είναι το κλειδί; 12
Πρωτεύον κλειδί [5/6] Μήπως είναι το ΑΜ; Αναρωτόμαστε λοιπόν: υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά το ίδιο ΑΜ; ΝΑΙ γιατί ο φοιτητής δίνει πολλά μαθήματα. Άρα δεν είναι το ΑΜ. Μήπως είναι το Μάθημα; Υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά το ίδιο Μάθημα; ΝΑΙ γιατί πολλοί φοιτητές εξετάζονται σε ένα μάθημα. Ομοίως και για τα άλλα τα πεδία. ΑΡΑ δεν υπάρχει Ένα. Ψάχνω για συνδυασμό πεδίων ανά δύο. Μήπως είναι το ΑΜ μαζί με το Μάθημα; Υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά τον ίδιο φοιτητή (ΑΜ) να δίνει το ίδιο μάθημα; ΝΑΙ γιατί ο φοιτητής μπορεί να κόβεται και να το ξαναδίνει. Άρα δεν είναι το ΑΜ-Μάθημα. Μήπως είναι το ΑΜ μαζί με την Ημερομηνία; Υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά τον ίδιο φοιτητή (ΑΜ) να δίνει την ίδια ημερομηνία; ΝΑΙ γιατί ο φοιτητής μπορεί να εξεταστεί σε αρκετά μαθήματα την ίδια ημέρα. Ομοίως και για τα άλλα τα πεδία. ΑΡΑ δεν υπάρχει συνδυασμός δύο πεδίων. ΑΜ. Φοιτ. Μάθημα Ημερ/νία Βαθμός 15565 ΒΔΙ 2/2/2015 3 15578 ΒΔΙ 2/2/2015 7 15565 ΒΔΙ 7/6/2015 5 15578 ΒΔΙΙ 7/6/2015 8 15565 ΜΑΡΚΕΤΙΝΓΚ 8/6/2015 5 13
Πρωτεύον κλειδί [6/6] Ψάχνω για συνδυασμό πεδίων ανά τρία. Μήπως είναι το ΑΜ μαζί με το Μάθημα και το Βαθμό; Υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά τον ίδιο φοιτητή (ΑΜ) να δίνει το ίδιο μάθημα και να παίρνει τον ίδιο βαθμό; ΝΑΙ γιατί ο φοιτητής μπορεί να κόβεται συνέχεια με τον ίδιο βαθμό. Μήπως είναι το ΑΜ μαζί με το Μάθημα και με την Ημερομηνία; Υπάρχει περίπτωση στον πίνακα να έχω πάνω από μία φορά τον ίδιο φοιτητή (ΑΜ) να δίνει το ίδιο μάθημα την ίδια ημερομηνία; ΌΧΙ ΔΕΝ ΥΠΑΡΧΕΙ. Αρα βρήκα το πρωτεύων κλειδί!!!! Είναι ο συνδυασμός τριών πεδίων: ΑΜ-Μάθημα-Ημερομηνία Αυτό σημαίνει πως δεν υπάρχει περίπτωση να βρω στον πίνακα αυτόν δύο γραμμές με ίδιο συνδυασμό. Άρα ο συνδυασμός αυτός χαρακτηρίζει μοναδικά κάθε εγγραφή του πίνακα. ΑΜ. Φοιτ. Μάθημα Ημερ/νία Βαθμός 15565 ΒΔΙ 2/2/2015 3 15578 ΒΔΙ 2/2/2015 7 15565 ΒΔΙ 7/6/2015 5 15578 ΒΔΙΙ 7/6/2015 8 15565 ΜΑΡΚΕΤΙΝΓΚ 8/6/2015 5 14
Τέλος παρουσίασης Νίκος Καρούσος karousos@gmail.com Διονύσης Καρούσος dkarousos@gmail.com