Από το ΔΟΣ σε Πίνακες Δρ. Νίκος Καρούσος Σχεσιακό Μοντέλο Από το ΔΟΣ σε Πίνακες Δρ. Νίκος Καρούσος
Το σχεσιακό μοντέλο δεδομένων: Ορισμοί 1/2 Η Βάση Δεδομένων ως μία συλλογή από ΣΧΕΣΕΙΣ Μια ΣΧΕΣΗ είναι ένας ΠΙΝΑΚΑΣ (εκφράζει μία συλλογή από δεδομένα-στήλες που έχουν σχέση μεταξύ τους) Κάθε ΣΤΗΛΗ στον πίνακα αντιπροσωπεύει ένα ΓΝΩΡΙΣΜΑ Κάθε ΓΡΑΜΜΗ στον πίνακα είναι μια ΠΛΕΙΑΔΑ. Ανάλυση σκοπιμότητας συστήματος Προδιαγραφές Εννοιολογικός Σχεδιασμός Λογικός Σχεδιασμός Σχεσιακό Μοντέλο
Το σχεσιακό μοντέλο δεδομένων: Ορισμοί 2/2 ΣΧΕΣΗ - ΠΙΝΑΚΑΣ ΓΝΩΡΙΣΜΑ - ΣΤΗΛΗ Οντότητα Γνωρίσματα Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής 15578 Κώστας Αλκαίος Φύλακας Στιγμιότυπο ΠΛΕΙΑΔΑ - ΓΡΑΜΜΗ ΒΑΘΜΟΣ: 4 το πλήθος των γνωρισμάτων Σχεσιακό Μοντέλο 3
Το σχεσιακό μοντέλο δεδομένων: Βασικά Στοιχεία 1/3 Κλειδί μιας Σχέσης Το γνώρισμα (ή σύνολο γνωρισμάτων) που προσδιορίζει μοναδικά κάθε γραμμή στον πίνακα. Στον πίνακα ΦΟΙΤΗΤΗΣ, το ΑρΤαυτ είναι το κλειδί Τεχνητό ή υποκατάστατο κλειδί Μερικές φορές σαν κλειδιά εμφανίζονται ο αριθμός γραμμής ή συνεχόμενοι αριθμοί για το προσδιορισμό των κλειδιών ενός πίνακα. Σχεσιακό Μοντέλο 4
Το σχεσιακό μοντέλο δεδομένων: Βασικά Στοιχεία 2/3 ΣΧΗΜΑ μιας Σχέσης Είναι η περιγραφή της. (Ή η δομή του πίνακα) R(A1, A2, A3.. An) R το όνομα της σχέσης Αi κάθε γνώρισμα Π.Χ. Προιόν (Κωδ_Πρ, Τίτλος, Τιμή_Μονάδας) Σχεδιαστικά μπορεί να αναπαρίσταται και ως εξής: Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα Σχεσιακό Μοντέλο 5
Το σχεσιακό μοντέλο δεδομένων: Βασικά Στοιχεία 3/3 Για κάθε γνώρισμα πρέπει να ορίζεται το πεδίο ορισμού Πεδίο ορισμού: Τύπος τιμών Σύνολο τιμών Μορφοποίηση Π.Χ. Τίτλος: Κείμενο με 100 το πολύ χαρακτήρες Κωδ_Πρ: Εξαψήφιο Ακέραιο Νούμερο Σχεσιακό Μοντέλο 6
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 1. Περιορισμός πεδίου ορισμού Κάθε τιμή που παίρνει ένα γνώρισμα πρέπει να είναι ΜΟΝΟ ΜΙΑ από το σύνολο επιτρεπτών τιμών Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής Γραμματέας 15578 Κώστας Αλκαίος Φύλακας ΛΑΘΟΣ Σχεσιακό Μοντέλο 7
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 2. Περιορισμός κλειδιού Κάθε πλειάδα να είναι διαφορετική. ΝΑ ΥΠΑΡΧΕΙ ΠΑΝΤΑ ΚΛΕΙΔΙ Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής 15578 Κώστας Αλκαίος Φύλακας ΛΑΘΟΣ Πρέπει να είναι κλειδί Σχεσιακό Μοντέλο 8
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 3. Περιορισμός Ακεραιότητας Οντοτήτων Το πρωτεύων κλειδί πρέπει να ΕΧΕΙ ΠΑΝΤΑ ΤΙΜΗ Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής Κώστας Αλκαίος Φύλακας ΛΑΘΟΣ Πρέπει να έχει τιμή Σχεσιακό Μοντέλο 9
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 4. Περιορισμός Αναφορικής Ακεραιότητας 1/2 Κάθε φορά που υπάρχει αναφορά από μία πλειάδα σε πλειάδα άλλης σχέσης (πίνακα), η δεύτερη πρέπει πάντα να υπάρχει Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής 15578 Κώστας Αλκαίος 16676 Τάκης Γατούλης Μάθημα Κωδ_Μαθ Τίτλος Διδάσκων 0019 Βάσεις Ι 15565 0020 Marketing 15589 ΛΑΘΟΣ Πρέπει να υπάρχει ο αντίστοιχος καθηγητής Σχεσιακό Μοντέλο 10
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 5. Περιορισμός Αναφορικής Ακεραιότητας 2/2 Αναπαράσταση συσχετίσεων Αποθηκεύουμε το κλειδί του Πίνακα στον οποίο θέλουμε να αναφερθούμε ως γνώρισμα στον αρχικό πίνακα. Υπάλληλος ΑΦΜ Όνομα Επώνυμο Ειδικότητα 15565 Νίκος Καρούσος Καθηγητής 15578 Κώστας Αλκαίος Φύλακας Μάθημα Κωδ_Μαθ Τίτλος Διδάσκων 0019 Νίκος 15565 Σχεσιακό Μοντέλο 11
Το σχεσιακό μοντέλο δεδομένων: Περιορισμοί μοντέλου 5. Περιορισμός Σημασιολογικής Ακεραιότητας Δεν μπορούν να αποτυπωθούν στο σχεσιακό μοντέλο και έτσι καταγράφονται με λόγια. Εξαρτώνται από την εφαρμογή της Βάσης Π.χ. κάθε καθηγητής μπορεί να διδάξει το πολύ 10 μαθήματα Υπάρχουν ειδικά εργαλεία (π.χ. Triggers) που τους ελέγχουν. Σχεσιακό Μοντέλο 12
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο 1. Οντότητα (Ισχυρή) 1/2 Η οντότητα γίνεται σχέση (πίνακας) Κάθε απλό γνώρισμα γίνεται στήλη – γνώρισμα – πεδίο του πίνακα Το κλειδί υπογραμμίζεται Κάθε παραγόμενο αγνοείται Κάθε σύνθετο αγνοείται ενώ τα συνθετικά του γίνονται αυτά γνωρίσματα – πεδία του πίνακα Κάθε πλειότιμο χρειάζεται νέο πίνακα Εργαζόμενος Όνομα ΑΦΜ Ηλικία Διεύθυνση Οδός Πόλη ΤΚ Τηλέφωνο Σχεσιακό Μοντέλο 13
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο 1. Οντότητα (Ισχυρή) 1/3 Πλειότιμο Εργαζόμενος Τηλέφωνο Εργαζόμενος ΑΦΜ Όνομα Επώνυμο … 15565 Νίκος Καρούσος 15578 Κώστας Αλκαίος Τηλέφωνο ΑΦΜ_Εργαζόμενου 2610279878 15565 2610999875 Σχεσιακό Μοντέλο 14
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο 1. Οντότητα (Ισχυρή) 2/3 Πλειότιμο Εργαζόμενος Τηλέφωνο Εργαζόμενος ΑΦΜ Όνομα Επώνυμο … 15565 Νίκος Καρούσος 15578 Κώστας Αλκαίος Τηλέφωνο ΑΦΜ_Εργαζόμενου 2610279878 15565 2610999875 Σχεσιακό Μοντέλο 15
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο Εργαζόμενος Όνομα Επώνυμο Ημ.Γέννησης Πατρώνυμο Ηλικία Τηλέφωνο Διεύθυνση Οδός Πόλη ΤΚ ΑΦΜ 1. Οντότητα (Ισχυρή) 3/3 Παράδειγμα Εργαζόμενος ΑΦΜ Όνομα Επώνυμο Πατρώνυμο Ημ.Γέννησης Οδός Πόλη ΤΚ Τηλέφωνο ΑΦΜ_Εργαζόμενου Σχεσιακό Μοντέλο 16
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο ΟΜΑΔΑ ΕΡΓΑΣΙΑΣ Εξυπηρετεί Γραμματέας 2. Οντότητα (Ασθενής) Φτιάχνουμε σχέση (πίνακα) για την οντότητα Προσθέτουμε το κλειδί της ισχυρής οντότητας και το συνδυάζουμε με πιθανό μερικό κλειδί. 1 Ν Ομάδα Εργασίας ΚωδΟμάδας Όνομα Αντικείμενο 1 Γραμματέας Όνομα Επώνυμο Τηλέφωνο ΟμάδαΕργασίας Σχεσιακό Μοντέλο 17
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο Επιχείρηση Εργαζόμενος απασχολεί 1 2. Συσχέτιση 1 προς 1 Σε έναν από τους δύο πίνακες βάζουμε αναφορά στον άλλο προσθέτοντας το κλειδί του Ν Επιχείρηση ΚωδΕπιχείρησης Τίτλος Αντικείμενο ΑΦΜ_Εργαζόμενου Εργαζόμενος Όνομα Επώνυμο ΑΦΜ Ειδικότητα Σχεσιακό Μοντέλο 18
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο Επιχείρηση Εργαζόμενος απασχολεί 1 Ν 2. Συσχέτιση 1 προς Ν Στον πίνακα κοντά στο Ν βάζουμε αναφορά στον άλλο προσθέτοντας το κλειδί του Ν Επιχείρηση ΚωδΕπιχείρησης Τίτλος Αντικείμενο Εργαζόμενος Όνομα Επώνυμο ΑΦΜ Ειδικότητα Κωδ_Επιχείρηση Σχεσιακό Μοντέλο 19
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο Επιχείρηση Εργαζόμενος απασχολεί Ν 3. Συσχέτιση Ν προς Ν Δημιουργούμε νέο πίνακα για τη συσχέτιση με γνωρίσματα τα δύο κλειδιά των πινάκων και ότι άλλο γνώρισμα έχει η συσχέτιση. Επιλέγουμε για κλειδί του πίνακα το συνδυασμό των δύο κλειδιών τουλάχιστον. Ν Διάστημα Επιχείρηση ΚωδΕπιχείρησης Τίτλος Αντικείμενο Απασχόληση Επιχείρηση Εργαζόμενος Διάστημα Εργαζόμενος Όνομα Επώνυμο ΑΦΜ Ειδικότητα Σχεσιακό Μοντέλο 20
Το σχεσιακό μοντέλο δεδομένων: Από το ΔΟΣ σε Σχεσιακό Μοντέλο Επιχείρηση Εργαζόμενος απασχολεί Ν 3. Συσχέτιση Ν προς Ν Δημιουργούμε νέο πίνακα για τη συσχέτιση με γνωρίσματα τα δύο κλειδιά των πινάκων και ότι άλλο γνώρισμα έχει η συσχέτιση. Επιλέγουμε για κλειδί του πίνακα το συνδυασμό των δύο κλειδιών τουλάχιστον. Ν Διάστημα Επιχείρηση ΚωδΕπιχείρησης Τίτλος Αντικείμενο Απασχόληση Επιχείρηση Εργαζόμενος Διάστημα Εργαζόμενος Όνομα Επώνυμο ΑΦΜ Ειδικότητα Σχεσιακό Μοντέλο 21
Το σχεσιακό μοντέλο δεδομένων: Παράδειγμα μετατροπής Έτος Γέννησης Ειδικότητα Ηλικία Κωδικός Τίτλος Εργάζεται ΠΡΟΣΩΠΙΚΟ 1 Ν ΟΜΑΔΑ Ονοματεπώνυμο ΑΦΜ Νομός 1 Σχόλια Ν Όνομα Επώνυμο Εξυπηρετεί Εμπορεύεται Πουλά Ν Ειδικότητα 1 Από ΦΑΡΜΑΚΟ Μέχρι ΙΑΤΡΟΣ Γραμματέας Επώνυμο Κωδ_Φ Τίτλος Κόστος ΑΦΜ Επώνυμο Όνομα Τηλέφωνο Σιρόπι Σχεσιακό Μοντέλο 22
Το σχεσιακό μοντέλο δεδομένων: Παράδειγμα μετατροπής Γραμματέας Επώνυμο Τηλέφωνο ΟμάδαΕργασίας Ομάδα Κωδικός_Ο Τίτλος Νομός Προσωπικό ΑΦΜ Επώνυμο Όνομα Ειδικότητα Σχόλια Κωδικός_Ο Εμπορία Κωδικός_Ο Κωδικός_Φ Από Έως Φάρμακο Κωδικός_Φ Τίτλος Σιρόπι Κόστος Πώληση Κωδικός_Φ ΑΦΜ_Προσ ΑΦΜ_Ι Ιατρός ΑΦΜ Όνομα Επώνυμο Ειδικότητα Σχεσιακό Μοντέλο 23