Σχεσικό Μοντέλο Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Βσική πηή ιφνειών: Silberschat et al., Database Sstem Concepts, 4/e Ερστήριο Πληροφορικών Συστηµάτων, Πν/µιο Πειριώς (http://infolab.cs.unipi.gr/) έκοση: Φε. 00 Β : [] Σχεσικό Μοντέλο Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Β : [] Σχεσικό Μοντέλο.
Πρείμτ σχέσεων (πινάκων) Β : [] Σχεσικό Μοντέλο Βσική ομή () Έν πείο τιμών (domain) D είνι έν σύνολο τιμών D= {d, d,..., d n } Έν χρκτηριστικό (attribute) A ονομτίζει μι (ενιφέρουσ) ιιότητ σε μί Σχέση κι πίρνει τιμές πό το ντίστοιχο πείο τιμών D(A). Συμολισμός: R.A ή R[A], όπου R είνι το όνομ της Σχέσης Μι πλειά (tuple) t μις Σχέσης R(A, A,..., A n ) είνι μι (ιτετμένη) λίστ τιμών t = <v, v,..., v n >, όπου κάθε τιμή v i είνι έν στοιχείο του πείου D(A i ). Πράειμ: ("Α 0", Downtown, 00) π.χ. η τιμή 00 (πό το πείο τιμών των μη ρνητικών ριθμών) εκφράζει μι ιιότητ ενός τρπεζικού κτθετικού λορισμού (το «υπόλοιπο»). Β : [] Σχεσικό Μοντέλο 4.
Βσική ομή () Δοθέντων D, D,. D n μι σχέση (relation) r είνι έν υποσύνολο του D D D n Άρ, μι σχέση είνι έν σύνολο n πλειάων (n tuples) (a, a,, a n ) όπου κάθε a i D i Πράειμ: έστω customer name = {Jones, Smith, Curr, Lindsa} customer street = {Main, North, Park} customer cit = {Harrison, Re, Pittsfield} τότε r = { (Jones, Main, Harrison), (Smith, North, Re), (Curr, North, Re), (Lindsa, Park, Pittsfield)} είνι μι σχέση πάνω στο customer name customer street customer cit Β : [] Σχεσικό Μοντέλο Τύποι Χρκτηριστικών Κάθε χρκτηριστικό (attribute) μις σχέσης έχει έν ικριτό όνομ Οι τιμές των χρκτηριστικών (σε κνονικές συνθήκες) πρέπει ν είνι τομικές, ηλή μη ιιρέσιμες σε μικρότερ τμήμτ Π.χ. Τ πλειότιμ χρκτηριστικά ή τ σύνθετ χρκτηριστικά εν είνι τομικά Η ειική τιμή null ποτελεί μέλος κάθε πείου τιμών Ητιμήnull προκλεί επιπλοκές στον ορισμό πολλών λειτουριών πάνω στις άσεις εομένων Β : [] Σχεσικό Μοντέλο 6.
Στιμιότυπο Σχέσης Ητρέχουσκτάστση(στιμιότυπο σχέσης relation instance) μις σχέσης προσιορίζετι πό ένν πίνκ (table) Έν στοιχείο t της σχέσης r είνι μί πλειά (tuple), που εκφράζετι με μι ρμμή (row) σε ένν πίνκ Δεν υπάρχει ιάτξη στις πλειάες (οι πλειάες μπορούν ν ποθηκευτούν σε μι οποιήποτε σειρά) χρκτηριστικά (ή πεί ή στήλες ) πλειάες (ή ερφές ή ρµµές ) Β : [] Σχεσικό Μοντέλο Βάση Δεομένων Μι άση εομένων (database) είνι μι συλλοή πό σχέσεις Η πληροφορί έχει σπάσει σε κομμάτι, μεκάθεσχέσηνκρτάέν κομμάτι πληροφορίς π.χ.: account: πληροφορί ι τους λορισμούς depositor : πληροφορί ι τους κτθέτες customer : πληροφορί ι τους πελάτες Αν κρτούσμε όλη την πληροφορί σε μί σχέση π.χ. bank(account number, balance, customer name,..) το ποτέλεσμ θ ήτν επνάληψη πληροφορίς (π.χ. ότν ύο πελάτες έχουν κοινό λορισμό) συχνή χρήση τιμών null (π.χ. ι τους πελάτες χωρίς λορισμούς) Η θεωρί κνονικοποίησης (*) μελετά πώς ν σχειάζουμε σχεσικά σχήμτ (*) θ μελετηθεί σε επόμενη ενότητ Β : [] Σχεσικό Μοντέλο 8.4
Κλειιά Έστω K R έν σύνολο χρκτηριστικών ενός σχεσικού σχήμτος Το K είνι υπερ κλειί (superke) του R εάν οι τιμές του K ρκούν ι ν τυτοποιήσουν μι πλειά της όποις σχέσης r(r) Πράειμ: τόσο το {customer name, customer street} όσο κι το {customer name} ποτελούν κι τ ύο υπερ κλειιά της Customer, ν υποθέσουμε ότι ποκλείετι ύο πελάτες ν έχουν το ίιο όνομ. Το K είνι υποψήφιο κλειί (candidate ke) εάν είνι ελάχιστο (minimal) Πράειμ: το {customer name} είνι υποψήφιο κλειί ι την Customer, φού είνι υπερ κλειί (με άση τ πρπάνω) κι επιπλέον κνέν υποσύνολό του εν είνι υπερ κλειί. Έν πό τ υποψήφι κλειιά ποφσίζετι (πότοσχειστήτης άσης εομένων) ν είνι το πρωτεύον κλειί (primar ke) τουr Β : [] Σχεσικό Μοντέλο 9 Πράειμ ΒΔ (ι μι τράπεζ) 6 πίνκες: υποκτστήμτ (branches), πελάτες (customers), λορισμοί (accounts), άνει (loans), κτθέτες (depositors), νειολήπτες (borrowers) Β : [] Σχεσικό Μοντέλο 0.
Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Β : [] Σχεσικό Μοντέλο Περιορισμοί κεριότητς Οι περιορισμοί κεριότητς (integrit constraints) προσφέρουν προστσί πό τυχόν πρόλεπτους πράοντες, εξσφλίζοντς πως οι εξουσιοοτημένες λλές στη άση εομένων ε θ οηήσουν σε πώλει της συνέπεις των εομένων (data consistenc). περιορισμοί πείου τιμών (domain constraints): οι τιμές που εισάοντι στη άση ελέχοντι ι ν ισφλιστούν οι περιορισμοί πείου. κεριότητ οντότητς (entit integrit): εξσφλίζει σε έν στιμιότυπο σχέσης ότι θ μπορεί πάντ ν ίνει τυτοποίηση μις οντότητς. επιτυχάνετι με την έννοι του πρωτεύοντος κλειιού (primar ke). νφορική κεριότητ (referential integrit): εξσφλίζει ότι μι τιμή που εμφνίζετι σε έν χρκτηριστικό μις σχέσης εμφνίζετι οπωσήποτε κι σε έν χρκτηριστικό κάποις άλλης σχέσης. επιτυχάνετι με την έννοι του ξένου κλειιού (foreign ke). Β : [] Σχεσικό Μοντέλο.6
Ακεριότητ οντότητς Ακεριότητ οντότητς (entit integrit): Το κύριο κλειί PK στο σχήμ της σχέσης R εν μπορεί ν έχει κενές (null) ή επνλμνόμενες τιμές σε πλειάες μις σχέσης r(r). t[pk] NULL, ι οποιήποτε t στην r(r) t [PK] t [PK], ι οποιεσήποτε t,t στην r(r) Πράειμ: το χρκτηριστικό account number είνι πρωτεύον κλειί της σχέσης account Β : [] Σχεσικό Μοντέλο Ανφορική κεριότητ Ανφορική κεριότητ (referential integrit): Έστω r (R ) κι r (R ) είνι σχέσεις με πρωτεύοντ κλειιά K κι K ντίστοιχ. Το υποσύνολο της R είνι ξένο κλειί (foreign ke) που νφέρετι στο K της σχέσης r, ν: t στην r t στην r :t [K ] = t [] Πράειμ: το χρκτηριστικό branch name είνι ξένο κλειί της σχέσης account κι νφέρετι στο πρωτεύον κλειί της σχέσης branches (χρκτηριστικό branch name) Β : [] Σχεσικό Μοντέλο 4.
Έλεχος νφορικής κεριότητς κτά την τροποποίηση της άσης Εισωή. Αν μί πλειά t εισχθεί στην r, το σύστημ πρέπει ν εξσφλίσει ότι υπάρχει μί πλειά t στην r τέτοι ώστε t [K] = t []. Διρφή. Αν μί πλειά t ιρφεί πό την r, το σύστημ πρέπει ν υπολοίσει το σύνολο των πλειάων της r που νφέροντι στην πλειά t. Αν το σύνολο υτό εν είνι κενό, θ πρέπει είτε ν πορριφθείηεντολήιρφήςωςλάθος, είτε ν ιρφούν οι πλειάες που νφέροντι στην πλειά t (είνι πιθνό ν προκύψουν ιοχικές ιρφές). Ενημέρωση. Δικρίνουμε ύο περιπτώσεις: Αν ενημερωθεί μί πλειά t της r κι η ενημέρωση υτή λλάξει την τιμή του ξένου κλειιού, τότε λ. Εισωή. Αν ενημερωθεί μί πλειά t της r κι η ενημέρωση λλάξει την τιμή του πρωτεύοντος κλειιού K, τότε λ. Διρφή. Β : [] Σχεσικό Μοντέλο Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Β : [] Σχεσικό Μοντέλο 6.8
Γλώσσες Ερωτημάτων Μι λώσσ ερωτημάτων (quer language) είνι μι λώσσ με την οποί ο χρήστης ζητά πληροφορίες πό τη άση εομένων. Κτηορίες λωσσών ερωτημάτων ιικστικές vs. μη ιικστικές Πράειμ ιικστικής λώσσς: Σχεσική Άλερ (Relational Algebra) Πράειμ μη ιικστικής λώσσς: SQL Β : [] Σχεσικό Μοντέλο Σχεσική Άλερ Διικστική λώσσ 6 σικοί τελεστές Επιλοή (select) Προολή (project) Ένωση (union) Διφορά συνόλων (set difference) Κρτεσινό ινόμενο (Cartesian product) Μετονομσί (rename) κιάλλοιπρόμενοιπό τους 6 σικούς Τομή συνόλων (set intersection) σύνεση (join) κι πρλλές της Διίρεση (division) Εκχώρηση (assignment) Οι τελεστές λμάνουν ως εισόους ύο ή περισσότερες σχέσεις κι ίνουν ως έξοο μι νέ σχέση (το ποτέλεσμ του τελεστή) Β : [] Σχεσικό Μοντέλο 8.9
Επιλοή (Select) Σχέση r 0 σ Β= D > (r) Ορισμός: σ p (r) = {t t r and p(t)} όπου r είνι όνομ σχέσης κι p είνι μι λοική συνθήκη που ποτελείτι πό όρους συνεεμένους με: (and), (or), (not) Κάθε όρος είνι έν πό: <attribute> op <attribute> ή <constant> όπου op είνι ένς τελεστής (=,, >,,<, ) Β : [] Σχεσικό Μοντέλο 9 Προολή (Project) Σχέση r B,D (r) 0 B D B D = 0 0 Συμολισμός: A, A,, Ak (r) όπου r είνι όνομ σχέσης κι A, A,..., A k είνι ονόμτ χρκτηριστικών Το ποτέλεσμ είνι μι σχέση με k στήλες που προκύπτει ν ιράψουμε τις στήλες που εν εμφνίζοντι στη λίστ χρκτηριστικών Οι ιπλοερφές ιράφοντι θυμηθείτε ότι οι σχέσεις είνι σύνολ Β : [] Σχεσικό Μοντέλο 0.0
Ένωση (Union) Σχέσεις r, s: 0 Σχέση r s: ε 8 0 ε 8 0 Συμολισμός: r s Ορισμός: r s = {t t r t s} Γι ν είνι έκυρη η ένωση r s πρέπει οι σχέσεις r, s ν είνι συμτές:. Οι σχέσεις r, s ν έχουν τον ίιο θμό (ίιο ριθμό χρκτηριστικών). Τ πεί ορισμού των ντίστοιχων χρκτηριστικών ν είνι συμτά (π.χ. η η στήλη της r ν έχει τον ίιο τύπο τιμών με τη η στήλη της s) Β : [] Σχεσικό Μοντέλο Διφορά Συνόλων (Set Difference) Σχέσεις r, s: 0 ε 8 0 Συμολισμός r s Ορισμός: r s = {t t r t s} ισχύει μόνο μετξύ συμτών σχέσεων Σχέση r s: Β : [] Σχεσικό Μοντέλο.
Κρτεσινό ινόμενο (Cartesian Product) Σχέσεις r, s: Σχέση r s: E F Συμολισμός r s Ορισμός: E F 0 0 0 r s = {t q t r q s} Κάνουμε την προχή ότι τ χρκτηριστικά των r(r) κι s(s) είνι ξέν μετξύ τους (ηλή, R S = ) Αν εν ισχύει υτό, πρέπει ν ίνουν μετονομσίες χρκτηριστικών Β : [] Σχεσικό Μοντέλο Σύνθεση σικών λειτουριών Μπορούμε ν κτίσουμε εκφράσεις σχεσικής άλερς που εμπλέκουν πολλπλές λειτουρίες Πράειμ: σ A=C (r s) E F r s σ Β= D > (r s) E F 0 0 Β : [] Σχεσικό Μοντέλο 4.
Μετονομσί (Rename) Μς επιτρέπει ν ίνουμε ονόμτ, κι άρ ν νφερόμστε, στ ποτελέσμτ των εκφράσεων σχεσικής άλερς Μς επιτρέπει ν νφερόμστε σε μι σχέση με περισσότερ πό έν ονόμτ Πράειμ: ρ (E) επιστρέφει την έκφρση E με το όνομ X Αν η έκφρση σχεσικής άλερς E έχει θμό n, τότε η έκφρση ρ (A, A,, An) (E) επιστρέφει το ποτέλεσμ της E με το όνομ X κι με τ χρκτηριστικά μετονομσμέν σε A, A,., A n Β : [] Σχεσικό Μοντέλο Τομή συνόλων (Set Intersection) Σχέσεις r, s: 0 Σχέση r s: ε 8 0 0 Συμολισμός: r s Ορισμός: r s = {t t r t s} ισχύει μόνο μετξύ συμτών σχέσεων r s = r -(r - s) Β : [] Σχεσικό Μοντέλο 6.
Σύνεση (Join) Σχέσεις r, s: E Y w F Συμολισμός: r p s Έστω r κι s σχέσεις κι p μι λοική συνθήκη. Τότε, r p s είνι έν υποσύνολο της σχέσης r s που περιλμάνει μόνο τις πλειάες που ικνοποιούν τη συνθήκη p 0 Σχέση r C=F s: E F r p s= σ p (r s) w Β : [] Σχεσικό Μοντέλο Διίρεση (Division) Σχέσεις r, s: r s: A A B 4 6 B Συμολισμός: r s Κτάλληλο ι ερωτήσεις που περιλμάνουν τη φράση «ι όλ» Έστω r κι s σχέσεις πάνω στ σχήμτ R κι S ντίστοιχ, όπου R = (A,, A m, B,, B n ) S = (B,, B n ) το ποτέλεσμ της r s είνι μι σχέση πάνω στο σχήμ R S = (A,, A m ) Ορισμός: r s = { t t R S (r) u s ( tu r ) } r s = R S (r) R S ( ( R S (r) s) R S,S (r)) Β : [] Σχεσικό Μοντέλο 8.4
Εκχώρηση (Assignment) Ηεκχώρηση( ) πρέχει έν πρκτικό τρόπο ν εκφράσουμε σύνθετ ερωτήμτ έν σύνθετο ερώτημ είνι μι σειρά εκχωρήσεων κι εκφράσεων εκχωρήσεις ίνοντι μόνο σε ονόμτ προσωρινών σχέσεων (μετλητών) Πράειμ: Μπορούμε ν ράψουμε τη ιίρεση r s ως temp R S (r) temp R S ((temp s) R S,S (r)) result = temp temp Τοποτέλεσμτηςέκφρσηςεξιάτου εκχωρείτι στη σχέση μετλητή που ηλώνετι ριστερά του Β : [] Σχεσικό Μοντέλο 9 Συνάθροιση (Aggregation) Μι συνάρτηση συνάθροισης (aggregate function) λμάνει ως είσοο μι συλλοή τιμών κι επιστρέφει ως ποτέλεσμ μι μονική τιμή. Πρείμτ: avg: μέση τιμή, min: ελάχιστη τιμή, ma: μέιστη τιμή, sum: άθροισμ τιμών, count: πλήθος τιμών Μι λειτουρί συνάθροισης (aggregate operation) στη σχεσική άλερ ηλώνετι ως: G, G,, Gn g F( A), F( A),, Fn( An) (E) όπου E είνι μι έκφρση σχεσικής άλερς G, G, G n είνι λίστ χρκτηριστικών πάνω στ οποί θ κάνουμε ομοποίηση τιμών g F i είνι συνρτήσεις συνάθροισης sum(c) (r) A i είνι ονόμτ χρκτηριστικών sum-c Β : [] Σχεσικό Μοντέλο 0 4 Σχέση r 0 B g sum(c) (r) B sum-c.
Πρλλές της σύνεσης Υπάρχουν πολλές μορφές σύνεσης όλες συνυάζουν ύο Σχέσεις ι την ημιουρί μις τρίτης φυσική σύνεση (natural join) ημι σύνεση (semi join) εξωτερική σύνεση (outer join) Β : [] Σχεσικό Μοντέλο Φυσική σύνεση (Natural Join) Σχέσεις r, s: B E 0 Y w Σχέση r s: E Συμολισμός: r s Έστω r(r) κι s(s) σχέσεις. r s είνι μι σχέση πάνω στο σχήμ R S που προκύπτει ως εξής: Έστω ύο πλειάες, t r r κι t s s Εάν οι t r κι t s έχουν ίι τιμή ι κθέν πό τ χρκτηριστικά του R S, προσθέτουμε μι πλειά t στο ποτέλεσμ, όπου t έχει ίι τιμή με t r στην r t έχει ίι τιμή με t s στην s r s= r.a, r.b, r.c, r.d, s.e (σ r.b = s.b (r s)) Β : [] Σχεσικό Μοντέλο.6
Ημι σύνεση (Semi Join) Πρλλή της λειτουρίς σύνεσης στην περίπτωση που μς ενιφέρει η πληροφορί μις μόνο σχέσης Συμολισμός: r p s κρτά τ χρκτηριστικά μόνο της ριστερής σχέσης ισούνμη με μι σύνεση κολουθούμενη πό μι προολή. r p s = π L (r p s) L: τ χρκτηριστικά της r Σχέσεις r, s: E F Σχέση: r C=F s 0 Y w Β : [] Σχεσικό Μοντέλο Εξωτερική σύνεση (Outer Join) Επέκτση της λειτουρίς σύνεσης ι την ποφυή πώλεις πληροφορίς Υπολοίζει τη σύνεση κι κτόπιν προσθέτει στο ποτέλεσμ της σύνεσης πλειάες της μις σχέσης που εν τιριάζουν με πλειάες της άλλης σχέσης Κάνει χρήση τιμών null Ητιμήnull ηλώνει είτε ότι η τιμή είνι άνωστη είτε ότι εν υπάρχει Οποιήποτε σύκριση με τιμή null είνι ψευής (false) εξ ορισμού Πρλλές: Εξωτερική πό ριστερά σύνεση (left outer join) Εξωτερική πό εξιά σύνεση (right outer join) Πλήρης εξωτερική σύνεση (full outer join) Β : [] Σχεσικό Μοντέλο 4.
Πρείμτ εξωτερικής σύνεσης Σχέσεις r, s: left outer join r s E right outer join r s E 0 0 w B Y w E full outer join r s Β : [] Σχεσικό Μοντέλο w 0 E Πράειμ Τράπεζς branch (branch-name, branch-cit, assets) customer (customer-name, customer-street, customer-cit) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Β : [] Σχεσικό Μοντέλο 6.8
Πρείμτ ερωτήσεων () «Βρες τ άνει ποσού άνω των 00» σ amount > 00 (loan) «Βρες τ άνει ποσού άνω των 00 (εμφάνιση των ριθμών νείων μόνο)» loan-number (σ amount > 00 (loan)) Β : [] Σχεσικό Μοντέλο Πρείμτ ερωτήσεων () «Βρες τ ονόμτ των πελτών που έχουν λορισμό ή άνειο» customer-name (borrower) customer-name (depositor) «Βρες τ ονόμτ των πελτών που έχουν λορισμό κι άνειο» customer-name (borrower) customer-name (depositor) Β : [] Σχεσικό Μοντέλο 8.9
Πρείμτ ερωτήσεων () «Βρες τ ονόμτ των πελτών που έχουν κτθετικό λορισμό στο υποκτάστημ του Perrridge» ος τρόπος (με σύνεση) customer-name (σ branch-name = Perrridge (depositor account)) ος τρόπος (με κρτεσινό ινόμενο) customer-name (σ account.account-number = depositor.account-number ( (σ branch-name = Perrridge (account)) depositor)) Β : [] Σχεσικό Μοντέλο 9 Πρείμτ ερωτήσεων (4) «Βρες το λορισμό με το μελύτερο υπόλοιπο»(χωρίς χρήση της ma) account-number, balance (account) d.account-number, d.balance ( σ account.balance > d.balance (account ρ d (account))) «Βρες τους πελάτες που έχουν λορισμούς σε όλ τ υποκτστήμτ της πόλης Brookln» customer-name, branch-name (depositor account) branch-name (σ branch-cit = Brookln (branch)) Β : [] Σχεσικό Μοντέλο 40.0
Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Β : [] Σχεσικό Μοντέλο 4 Αλλές στη Βάση Δεομένων Το περιεχόμενο της ΒΔ μπορεί ν λλάξει με χρήση των κόλουθων λειτουριών: Διρφή (Deletion) Εισωή (Insertion) Τροποποίηση (Updating) Όλες υτές οι λειτουρίες εκφράζοντι με χρήση του τελεστή εκχώρησης: Διρφή πλειάων: r r E Εισωή πλειάων: r r E Τροποποίηση πλειάων: r F, F,, Fn (r) Β : [] Σχεσικό Μοντέλο 4.
Διρφή πλειάων Έν ίτημ ιρφής εκφράζετι όμοι με έν ίτημ ερώτησης, πλά ντί ν εμφνίζοντι οι πλειάες του ποτελέσμτος στο χρήστη, οι πλειάες υτές ιράφοντι πό τη άση εομένων Διράφουμε ολόκληρες πλειάες κι όχι τιμές συκεκριμένων νωρισμάτων Ηιρφήεκφράζετισεσχεσικήάλερως: r r E όπου r είνι μι σχέση κι E είνι ερώτηση σχεσικής άλερς Πρείμτ: Ν ιρφούν όλοι οι λορισμοί του υποκτστήμτος Perrridge account account σ branch-name = Perrridge (account) Β : [] Σχεσικό Μοντέλο 4 Εισωή πλειάων Γι ν εισάουμε εομέν σε μι σχέση, κάνουμε έν πό τ εξής: προιράφουμε την πλειά που θ εισχθεί, είτε ράφουμε μι έκφρση, το ποτέλεσμ της οποίς ποτελεί το σύνολο πλειάων που θ εισχθεί Ηεισωήεκφράζετισεσχεσικήάλερως: r r E όπου r είνι μι σχέση κι E είνι ερώτηση σχεσικής άλερς Η εισωή μίς μόνο πλειάς εκφράζετι με την E ν είνι μι σχέση που περιέχει μι πλειά Πράειμ: «Ν εισχθεί στη ΒΔ η πληροφορί ότι ο πελάτης Smith άνοιξε στο υποκτάστημ Perrridge έν λορισμό με κωικό A 9 κι ποσό 00» account account {( A-9, Perrridge, 00)} depositor depositor {( Smith, A-9 )} Β : [] Σχεσικό Μοντέλο 44.
Τροποποίηση πλειάων Η τροποποίηση ποτελεί έν μηχνισμό ι ν λλάξουμε την τιμή ενός χρκτηριστικού σε μι πλειά χωρίςνλλάξουμεόλεςτιςτιμέςτης πλειάς Γι ν το πετύχουμε υτό, χρησιμοποιούμε τον τελεστή (ενικευμένης) προολής r F, F,, Fn (r) όπου F i είνι το i οστό χρκτηριστικό της r, ν υτό εν τροποποιείτι, είτε (ν το συκεκριμένο χρκτηριστικό είνι ν τροποποιηθεί) μι έκφρση που εμπλέκει μόνο στθερές κι χρκτηριστικά της r, ίνοντς έτσι νέ τιμή στο συκεκριμένο χρκτηριστικό Πράειμ: «Ν υξηθούν κτά % τυπόλοιπόλωντων λορισμών» account account-number, branch-name, balance *.0 (account) Β : [] Σχεσικό Μοντέλο 4 Άλλ πρείμτ «Δώρισε σε όλους τους νειολήπτες του υποκτστήμτος Perrridge ένν κτθετικό λορισμό με ρχικό ποσό 00. Ο κωικός του λορισμού ν οριστεί πό τον κωικό του ντίστοιχου νείου» r (σ branch-name = Perrridge (borrower loan)) account account loan-number, branch-name, 00 (r ) depositor depositor customer-name, loan-number (r ) «Ν οθεί ύξηση % σε όλους τους λορισμούς. Ειικά ι τους λορισμούς άνω των 0.000 η ύξηση ν είνι 6%» account AN, BN, BAL *.06 (σ BAL > 0000 (account)) AN, BN, BAL *.0 (σ BAL 0000 (account)) Β : [] Σχεσικό Μοντέλο 46.
Η ομή των Σχεσικών Βάσεων Δεομένων Περιορισμοί κεριότητς Σχεσική Άλερ Αλλές στη Βάση Δεομένων Θεωρήσεις Β : [] Σχεσικό Μοντέλο 4 Θεωρήσεις (ή Όψεις) Σε ορισμένες περιπτώσεις, εν επιθυμούμε ν έχουν όλοι οι χρήστες το ικίωμ πρόσσης σε όλη τη άση εομένων Πράειμ: σε κάποιον ίνετι το ικίωμ πρόσσης σε όλη την πληροφορί ι τ άνει εκτός του ποσού του νείου. Αυτός ο χρήστης πρέπει ν λέπει μι σχέση που περιράφετι σε σχεσική άλερ ως εξής: customer name, loan number (borrower loan) Μι «εικονική» σχέση που εν ποτελεί μέρος του εννοιολοικού μοντέλου λλά είνι προσπελάσιμη πό τους χρήστες ονομάζετι θεώρηση ή όψη (view). Β : [] Σχεσικό Μοντέλο 48.4
Αρχιτεκτονική επιπέων (ANSI/SPARC) User interface view... view n relational design eternal level logical level interface Database internal level DB interface phsical design logical level internal level interface Σ Β : υπεύθυνο ι όλες τις ιεπφές Β : [] Σχεσικό Μοντέλο 49 Ορισμός Θεώρησης Μι θεώρηση ορίζετι με την εντολή create view που έχει τη μορφή create view v as <quer epression> όπου <quer epression> είνι μι έκυρη έκφρση ερωτήμτος σχεσικής άλερς κι v είνι το όνομ της θεώρησης. Απότηστιμήπουέχειοριστείηθεώρηση, μπορεί ν χρησιμοποιηθεί σν οποιήποτε άλλη σχέση. Ο ορισμός μις θεώρησης εν έχει την ίι ρύτητ με τον ορισμό μις σχέσης (με ποτίμηση της quer epression) Ουσιστικά, οορισμόςμιςθεώρησηςείνικάτισνποθήκευσημεέν όνομ της quer epression ώστε ν χρησιμοποιηθεί στη συνέχει σε άλλ ερωτήμτ. Β : [] Σχεσικό Μοντέλο 0.
Πρείμτ Θεωρήσεων Έστω μι θεώρηση (με όνομ all customer) που ποτελείτι πό τ υποκτστήμτ κι τους πελάτες του κάθε υποκτστήμτος (είτε κτθέτες είτε νειολήπτες) create view all-customer as branch-name, customer-name (depositor account) branch-name, customer-name (borrower loan) Πράειμ: «Ν ρεθούν οι πελάτες του υποκτστήμτος Perrridge» customer-name (σ branch-name = Perrridge (all-customer)) Β : [] Σχεσικό Μοντέλο Αλλές στη ΒΔ μέσω Θεωρήσεων () Εκφράσεις σχεσικής άλερς που φορούν σε λλές στη ΒΔ (εισωές / ιρφές / τροποποιήσεις) κι περιλμάνουν θεωρήσεις μετφράζοντι σε εκφράσεις που περιλμάνουν τις σικές σχέσεις της ΒΔ. Έστω η θεώρηση branch loan με όλες τις πληροφορίες ι τ άνει εκτός του ποσού: create view branch loan as branch name, loan number (loan) Αφού επιτρέπετι μι θεώρηση ν χρησιμοποιείτι όπως μι (σική) σχέση, μι τέτοι έκφρση είνι έκυρη: branch loan branch loan {( Perrridge, L )} Β : [] Σχεσικό Μοντέλο.6
Αλλές στη ΒΔ μέσω Θεωρήσεων () Η προηούμενη εντολή εισωής πλειάς μετφράζετι σε έκφρση που περιέχει τη σική σχέση loan πό την οποί προέκυψε η θεώρηση branch loan. Πρόλημ: ι την εισωή μις πλειάς στη σχέση loan χρειάζετι μι τιμή ι το χρκτηριστικό amount. Δύο ενλλκτικές λύσεις. η εισωή πορρίπτετι με κτάλληλο μήνυμ σφάλμτος ή εισάετι στη σχέση loan η πλειά ( L, Perrridge, null) Β : [] Σχεσικό Μοντέλο Αλλές στη ΒΔ μέσω Θεωρήσεων () Μερικές φορές είνι ύντες οι λλές μέσω θεωρήσεων. Πράειμ: create view v as σbranch name = Perrridge (account)) v v (L 99, Downtown, ) Άλλες φορές η μετάφρση που πιτείτι ν ίνει εν μπορεί ν προσιοριστεί κριώς. Πράειμ: all customer all customer {( Perrridge, John )} Πρέπει ν επιλεεί είτε η σχέση loan είτε η σχέση account κι ν ίνει εκεί εισωή μις πλειάς (με κάποιο νέο κωικό!) Β : [] Σχεσικό Μοντέλο 4.
Εξάρτηση Θεώρησης πό άλλη Στην έκφρση που ορίζει μι θεώρηση μπορεί ν εμπλέκετι μι άλλη θεώρηση Ηθεώρησηv λέμε ότι εξρτάτι άμεσ πό τη θεώρηση v εάν η v εμπλέκετι στην έκφρση με την οποί ορίζετι η v Ηθεώρησηv λέμε ότι εξρτάτι πό τη θεώρηση v εάν είτε η v εξρτάτι άμεσ πό τη v είτε υπάρχει έν μονοπάτι εξρτήσεων πό τη v στη v Ηθεώρησηv λέμε ότι είνι νρομική εάν εξρτάτι πό τον ευτό της. Οι νρομικές θεωρήσεις μπορεί ν είνι προλημτικές στο χειρισμό τους Β : [] Σχεσικό Μοντέλο.8