ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #8
Ιστορία του σχεσιακού µοντέλου Προτάθηκε από τον J. Codd το 1970 Πολλή από την έρευνα έχει γίνει στα ερευνητικά εργαστήρια της ΙΒΜ στο San Jose, CA, USA Το σύστηµα R στα τέλη του 1970 το οποίο ήταν η βάση των βιοµηχανικών συστηµάτων της ΙΒΜ, DB2 και SQL/DS Τώρα των DB2/6000, DB2/OS2, DB2/400 INGRE, αναπτύχθηκε στο Berkeley την ίδια περίπου περίοδο Πολλά µη σχεσιακά συστήµατα παρέχουν τώρα σχεσιακή διασύνδεση ανθρώπου-µηχανής Π.χ. IDMS/R, IDMS/SQL
Το σχεσιακό µοντέλο είναι βασισµένο στη µαθηµατική έννοια της σχέσης Ο Codd, καθώς και άλλοι επεκτείνανε την έννοια αυτή ώστε να εφαρµόζεται στο σχεδίασµα µιας βάσης δεδοµένων Εκµεταλλεύτηκαν τη δύναµη της µαθηµατικής αφαιρετικότητας και την εκφραστικότητα του µαθηµατικού συµβολισµού και δηµιούργησαν ένα απλό αλλά δυναµικό µοντέλο για βάσεις δεδοµένων Η αφαιρετικότητα της προσέγγισης αυτής έχει το πλεονέκτηµα ότι το αποτέλεσµα είναιγενικό Το µοντέλο χρησιµοποιεί απλές δοµές δεδοµένων και ένα µικρό σύνολο από πολύ ισχυρούς τελεστές για να επιτύχει επεξεργασία δεδοµένων που κυµαίνεται από απλή µέχρι πολύπλοκη
Σχεσιακό Μοντέλο Πίνακες (tables) Το σχεσιακό µοντέλο είναι βασισµένο στην έννοια της «σχέσης» η οποία απεικονίζεται σαν ένας «πίνακας» Χρησιµοποιώντας το σχεσιακό µοντέλο (ER model) Και οι «τύποι οντότητας» και οι «σχέση» µεταξύ οντοτήτων παρουσιάζονται σαν πίνακες Μια σχέση παρουσιάζεται σαν ένας πίνακας 2 διαστάσεων στον οποίο οι γραµµές αντιστοιχούν σε ατοµικές οντότητες (entities) και οι στήλες αντιστοιχούν σε πεδία ορισµού (attributes)
Σχεσιακό Μοντέλο Μαθηµατική Σχέση Πεδία Τιµών (domain) Ατοµικά στοιχεία (1NF) Καρτεσιανό Γινόµενο D1xD2xD3x xdn των πεδίων τιµών D1, D2, D3,, Dn Το σύνολο όλων των Ν-διανυσµάτων (n-tuple) (R1, R2,, Rn) έτσι ώστε R1 D1, R2 D2,, Rn Dn {(R1, R2,, Rn) : R1 D1, R2 D2,, Rn Dn}
Σχεσιακό Μοντέλο Μαθηµατική Σχέση Σχέση: ορισµός µε βάση την έννοια του συνόλου Ένα υποσύνολο του καρτεσιανού γινόµενου ενός ή περισσοτέρου πεδίου τιµών Είναι πεπερασµένο Παράδειγµα 1 = {1, 3} και 2 = {α, β, γ} 1x 2 = {(1, α), (1, β), (1, γ), (3, α), (3, β), (3, γ)} Είναι το 1x 2 = 2x 1???
Σχεσιακό Μοντέλο Μαθηµατική Σχέση Μια σχέση P είναι απλά ένα υποσύνολο αυτού του 1x 2 Π.χ. P = {(1, α), (3, γ)} 1x 2 P = {(x, y) x 1 & y =β} P = {} Η σειρά των στοιχείων µιαςσχέσηςδενέχει σηµασία Η σειρά των στοιχείων µέσα σε µια λίστα έχει σηµασία
Σχέση Βάσης εδοµένων (Σύνολο-από-λίστες) Ας θεωρήσουµε Α1, Α2,..., Αν να είναι πεδία ορισµού µε πεδία τιµών D1, D2, D3, Dν Ένα σχεσιακό σχήµα P είναι ένα τέτοιο σύνολο από πεδία ορισµού µαζί µε τα αντίστοιχα πεδία τιµών Μια σχέση ΣΧ είναι Ένα σύνολο από συναρτήσεων (mappings) από τα πεδία ορισµού στα αντίστοιχα πεδία τιµών Π.χ. ΣΧ (Α1:D1, Α2:D2,, Αν:Dν) Συνήθως γράφεται ΣΧ (Α1, Α2,..., Αν) Ένα µέλος µιαςσχέσηςλέγεται«πλειάδα» (tuple) Π.χ. (ρ1, ρ2,..., ρν) ΣΧ (Α1, Α2,..., Αν) ν-πλειάδα (n-tuple) βαθµού ν
Το σχεσιακό σχήµα είναισταθερό(fixed) Biblio (ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ, ΕΚ. ΟΙΚΟΣ) Σε αυτό το παράδειγµαο«βαθµός» της σχέσης (πίνακα) είναι 3 Ο «πληθarithmos» είναι 4.
Σχεσιακό Μοντέλο Tuple (πλειάδα) Με τη ονοµασία των διαφόρων στηλών µε ταγνωρίσµατα που αντιπροσωπεύουν είναι δυνατό να θεωρηθούν οι διάφορες πλειάδες σαν συναρτήσεις (mappings) από τα γνωρίσµατα στα πεδία τιµών τους. Παράδειγµα Ας θεωρήσουµετοmapping µιας πλειάδας t H πλειάδα t={stand, St. King, Dover} είναι ορισµένη όπως πιο κάτω t(τιτλοσ) = Stand t(συγγραφεασ) = St. King t(εκ. ΟΙΚΟΣ) = Dover
Σχεσιακό Μοντέλο Το σχεσιακό σχήµα (µε την ιδέα συνόλου λιστών) µιας σχέσης που περιέχει την πλειάδα t µπορεί να είναι ένα από τα ακόλουθα ΒΙΒΛΙΟ (ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ, ΕΚ. ΟΙΚΟΣ) ή ΒΙΒΛΙΟ (ΣΥΓΓΡΑΦΕΑΣ, ΤΙΤΛΟΣ, ΕΚ. ΟΙΚΟΣ) Με την απόδοση ονοµασίαςστιςστήλεςκάναµε τη σειρά των γνωρισµάτων µέσα σε µια πλειάδα να µην έχει σηµασία
Σχεσιακό Μοντέλο Μια σχέση ρ ενός σχεσιακού σχήµατος P(Α1, Α2,...Αν) επίσης οριζόµενη σαν ρ=ρ(p) είναι ένα σύνολο από πλειάδες ρ={t1, t2, t3,, tm} Εάν S είναι µια πλειάδα και «Χ» ένα σύνολο από γνωρίσµατα τότε S[X] = Τα στοιχεία του S στα γνωρίσµατα «Χ» Π.χ. Εάν S = (Stand, St. King, Dover) τότε S[ΤΙΤΛΟΣ] = S.ΤΙΤΛΟΣ = Stand S[{ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ}] = (S[ΤΙΤΛΟΣ], S.ΣΥΓΓΡΑΦΕΑΣ) =???
Σχεσιακό Μοντέλο Ιδιότητες Μιας Σχέσης Είναι σύνολο Η σειρά των πλειάδων δεν έχει σηµασία Καµιά πλειάδα δεν επαναλαµβάνεται Η σειρά των γνωρισµάτων µέσα σε µια πλειάδα δεν έχει σηµασία Ένακαλόλόγοτηςονοµασίας των στήλων