Εισαγωγή στο DBMS Σχεσιακό Μοντέλο Διαγράµµατα ER Δηµήτρης Αχιλ. Δέρβος Θεσσαλονίκη, Μάρτιος 2010 Updated: 11/03/2010 Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 1
Τι είναι το DBMS; Ολοκληρωµένο περιβάλλον διαχείρισης δεδοµένων Όπως το O.S., µόνο που τώρα δεν έχουµε να κάνουµε µε H/W Υποστηρίζει ένα επίπεδο αφαίρεσης Χρήζει µοντέλου Στο σχεσιακό DBMS το µοντέλο είναι ένα σύνολο από πίνακες Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 2
Το Μοντέλο Υποσύνολο της πληροφορίας του πραγµατικού συστήµατος Σηµασιολογία της πληροφορίας και των περιοριοσµών στη λειτουργία του συστήµατος Στόχος: το µοντέλο να πλησιάζει το δυνατόν περισσότερο την επιθυµητή λειτουργικότητα Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 3
Πίνακας Όνοµα(στήλη_ 1, στήλη_ 2,..., στήλη_ κ ) π.χ. ΦΟΙΤΗΤΗΣ(ΑΜ, Επώνυµο, Όνοµα, Ον_Πατέρα, Σχολή, Τµήµα) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 4
Κύριο κλειδί πίνακα µονοσήµαντος προσδιορισµός της κάθε µίας γραµµής απλό ή σύνθετο ΦΟΙΤΗΤΗΣ(ΑΜ, Επώνυµο, Όνοµα, Ον_Πατέρα, Σχολή, Τµήµα) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 5
Σχεσιακό σχήµα (βάση δεδοµένων) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 6
Ένας πίνακας ΤΑΙΝΙΑ Τίτλος Απόθ_Vide o Απόθ_DVD Παραγωγή Τ_Video Τ_DVD A night in the opera 05 24 Fox 40 25 Pretty woman 10 18 Metro 45 32 Prince of Tides 05 10 Fox 35 30 The way we were 15 20 Columbia 41 37 Ενόραση 10 12 Σινεµάτικ 38 32 Η Φυγή 18 20 Σινεµάτικ 47 40 Ηρεµη δύναµη 28 19 3Κ 50 42 Ο κόσµος της Ελενας 08 08 Φωτοκίνηση 55 43 Βλέµµα του Οδυσσέα 10 18 3Κ 47 34 Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 7
Πολύ σηµαντικές έννοιες/ιδιότητες Ακεραιότητα των οντοτήτων (entity integrity) Αναφορική ακεραιότητα των δεδοµένων (referential integrity) δεν είναι οι µόνοι περιορισµοί που αφορούν στην ακεραιότητα των δεδοµένων Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 8
Διάγραµµα ER Ποιές οι οντότητες και οι συσχετίσεις; Ποιό (υποσύνολο) της πληροφορίας των παραπάνω ενδιαφέρει; Ποιοί περιορισµοί στην ακεραιότητα των δεδοµένων ισχύουν; Ποιοί είναι οι επιχειρησιακοί κανόνες στη λειτουργία του συστήµατος; Διαγραµµατική αναπαράσταση της βάσης δεδοµένων Δυνατότητα µετασχηµατισµού σε σχεσιακό σχήµα βάσης δεδοµένων Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 9
Σύνολο οντοτήτων Οντότητα: αντικείµενο µε αυτόνοµη ύπαρξη στο µοντέλο Σύνολο οντοτήτων: συλλογή ιδίου τύπου οντοτήτων Χαρακτηριστικά γνωρίσµατα της οντότητας Πεδίο ορισµού για το κάθε ένα γνώρισµα Υποψήφιο κλειδί (απλό ή σύνθετο) Κύριο κλειδί (απλό ή σύνθετο) Εναλλακτικό κλειδί (απλό ή σύνθετο) ssn name lot Employees Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 10
Σύνολο συσχετίσεων Συσχέτιση: Συνδυασµός οντοτήτων από δύο ή περισσότερα σύνολα Σύνολο συσχετίσεων: συλλογή από ιδίου τύπου συσχετίσεις Ένα σύνολο οντοτήτων µπορεί να συµµετέχει σε περισσότερα του ενός σύνολα συσχετίσεων name name since dname ssn lot ssn lot did budget Employees Employees Works_In Departments supervisor Reports_To Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 11
Περιορισµός κλειδιού name since dname ssn lot did budget Employees Manages Departments 1-to-1 1-to Many Many-to-1 Many-to-Many Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 12
Συµµετοχή: προαιρετική/υποχρεωτική ssn name lot since did dname budget Employees Manages Departments Works_In since Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 13
Ασθενές σύνολο οντοτήτων Προσδιορίζον σύνολο οντοτήτων (ΠΣΟ) Ασθενές σύνολο οντοτήτων (ΑΣΟ) Υποχρεωτικά: ένα-προς-πολλά η συσχέτιση Υποχρεωτική η συµµετοχή του ΑΣΟ στη συσχέτιση προσδιορισµού του Μονοσήµαντος προσδιορισµός αντικειµένων ΑΣΟ: κύριο κλειδί ΠΣΟ + (τοπικό) κύριο κλειδί ΑΣΟ ssn name lot cost pname age Employees Policy Dependents Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 14
Ιεραρχίες ISA Υφή αντικειµενοστρέφειας στο µοντέλο ER ssn name lot Employees hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Αλληλοεπικάλυψη στις υπο-τάξεις; Employees που δεν είναι ούτε Hourly- ούτε Contract-; Συµµετοχή των υπο-τάξεων σε συσχετίσεις (σηµασιολογία) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 15
Συνυπολογισµός ssn name lot... ή τριαδική συσχέτιση; Employees Monitors until pid started_on pbudget since did dname budget Projects Sponsors Departments Γνωρίσµατα στα επιµέρους σύνολα συσχετίσεων Περιορισµός κλειδιού στη συµµετοχή του συναθροιζόµενου Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 16
Οντότητα ή γνώρισµα; ssn name lot from to did dname budget Employees Works_In2 Departments Εάν θέλουµε πληρέστερη εργασιακή προϊστορία (>1 φορές στο ίδιο τµήµα): ssn name lot did dname budget Employees Works_In3 Departments from Duration to Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 17
Οντότητα ή συσχέτιση; Υπάλληλος διευθύνει τµήµατα µε διακριτούς προϋπολογισµούς: ssn name lot since dbudget did dname budget Employees Manages2 Departments Υπάλληλος διευθύνει τµήµατα µε συνολικό προϋπολογισµό: name dname ssn lot did budget Employees apptnum Manages3 Mgr_Appts Departments since dbudget Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 18
Δυαδική(-ές) ή τριαδική συσχέτιση; ssn name lot pname age Employees Covers Dependents Policies policyid cost Εαν το ασφαλιστήριο συµβόλαιο περιορίζεται στο να έχει µόνο έναν κάτοχο-υπάλληλο;...περιορισµός κλειδιού στη συµµετοχή του Policies θα σηµαίνει ασφαλιστική κάλυψη ενός µόνο προστατευόµενου µέλους! Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 19
Δυαδική(-ές) ή τριαδική συσχέτιση;...συνέχεια Καλύτερο διάγραµµα ER στην προκείµενη περίπτωση: ssn name lot pname age Employees Dependents Purchaser Beneficiary Policies policyid cost Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 20
Σηµειώνουµε: Υπάρχουν περιορισµοί στην ακεραιότητα των δεδοµένων οι οποίοι δεν είναι δυνατόν να απεικονισθούν στο διάγραµµα ER (ακόµα: και στο σχεσιακό σχήµα της βάσης δεδοµένων)! Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 21
Μετασχηµατισµός: συσχέτιση ένα-προς-ένα Α(ΚΚ Α, Α 1, Α 2,..., Α κ ) Β(ΚΚ Α, Β 1, Β 2,..., Β µ ) Α(ΚΚ Α, Α 1, Α 2,..., Α κ,κκ Β ) Β(ΚΚ Β, Β 1, Β 2,..., Β µ ) Α(ΚΚ Α, Α 1, Α 2,..., Α κ ) Β(ΚΚ Β, Β 1, Β 2,..., Β µ, ΚΚ Α ) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 22
Μετασχηµατισµός: συσχέτιση ένα-προς-πολλά Α(ΚΚ Α, Α 1, Α 2,..., Α κ ) Β(ΚΚ Β, Β 1, Β 2,..., Β µ, ΚΚ Α ) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 23
Μετασχηµατισµός: συσχέτιση πολλά-προς-πολλά συνήθως: Α_Β(ΚΚ Α,ΚΚ Β )...οπότε: Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 24
Μετασχηµατισµός: συσχέτιση πολλά-προς-πολλά (Συνέχεια) Α 2 Β 2 Α 1... Α κ Β 1... Β µ ΚΚ Β ΚΚ Α A Β Α_Β/Α Α_Β/Β A_Β ΚΚ Α, ΚΚ Β Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 25
Μετασχηµατισµός: συσχέτιση πολλά-προς-πολλά (Συνέχεια) Σηµείωση-1: Ξένο κλειδί στον Α_Β µπορεί να είναι και εναλλακτικό κλειδί των Α ή/και Β Σηµείωση-2: Η περίπτωση της υποχρεωτικής συµµετοχής συνόλου οντοτήτων σε σύνολο συσχετίσεων ανάγεται στην αντίστοιχη περίπτωση συσχετίσεων τύπου ένα-προς-πολλά (δήλωση του ξένου κλειδιού ως NOT NULL) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 26
Μετασχηµατισµός: τριαδική συσχέτιση συνήθως: Α_Β_Γ(ΚΚ Α,ΚΚ Β,ΚΚ Γ )...οπότε: Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 27
Μετασχηµατισµός: τριαδική συσχέτιση (Συνέχεια) Β 2 Α 2 Α 1... Α κ Β 1... Β µ ΚΚ Β ΚΚ Α A Β Α_Β_Γ/Α Α_Β_Γ/Β A_Β_Γ Α_Β_Γ/Γ Γ ΚΚ Γ... Γ ν Γ 1 Γ2 Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 28
Μετασχηµατισµός: τριαδική συσχέτιση (Συνέχεια) Υπάρχουν και ιδιαίτερες περιπτώσεις: Α_Β_Γ(ΚΚ Α,ΚΚ Β,ΚΚ Γ ) Α_Β_Γ(ΚΚ Α,ΚΚ Β,ΚΚ Γ ) Α_Β_Γ(ΚΚ Α,ΚΚ Β,ΚΚ Γ )..φυσικά, στη θέση των ξένων κλειδιών και εναλλακτικά κλειδιά Για την υποστήριξη των επιπλέον περιορισµών, το ER διαθέτει τους συνυπολογισµούς και το σχεσιακό DBMS τα εναύσµατα (triggers) και τις διασφαλίσεις (assertions) Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 29
Μετασχηµατισµοί: γενική παρατήρηση Όταν το σύνολο συσχετίσεων συµπεριλαµβάνει και δικά του, ιδιαίτερα, γνωρίσµατα, τα τελευταία 'µετακοµίζουν' κατάλληλα στον πίνακα ο οποίος φιλοξενεί το/α ξένο/α κλειδί/ιά. Εξαιρείται η περίπτωση ένα-προς-ένα συνόλου συσχετίσεων: εκεί η σηµασιολογία της περίπτωσης ισοδυναµεί µε αντίστοιχη όπου τα χαρακτηριστικά του συνόλου συσχετίσεων επισυνάπτονται στη δοµή ενός από τα δύο συνόλα οντοτήτων τα οποία συσχετίζονται. Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 30
Ολοκληρώνοντας Όσα είπαµε για τους µετασχηµατισµούς συνιστούν την ουσία της προσέγγισης του θέµατος. Με ανάλογο τρόπο αντιµετωπίζονται οι περιπτώσεις του ασθενούς συνόλου οντοτήτων, του συνυπολογισµού και της ιεραρχίας ISA. Η υλοποίηση του (αντίστοιχου) σχεσιακού σχήµατος θα κατανοηθεί καλύτερα αφού έχουµε µιλήσει και για τον κώδικα SQL. Αυτό ισχύει και για τις όψεις οι οποίες εξετάζονται στο 3 ο κεφάλαιο του βιβλίου των R&G Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 31
Περίληψη Τα βασικά του σχεσιακού µοντέλου Δεδοµένα σε πίνακες και περιορισµοί που αφορούν στην ακεραιότητά τους Μεθοδολογία ER Το δυνατόν περισσότεροι περιορισµοί στο µοντέλο. Αποσφαλµάτωση στο στάδιο της ανάλυσης Μετασχηµατισµός ER σε σχεσιακό σχήµα Ένα βήµα πριν από την υλοποίηση Δ.Α. Δέρβος Εισαγωγή, Σχεσιακό Μοντέλο, Διαγράµµατα ER 32