Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.144

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.144"

Transcript

1 Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.144

2 Το Σχεσιακό Μοντέλο ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Άτυπος και Τυπικός Ορισµός του Μοντέλου οµές, Πράξεις / Λειτουργίες, οµικοί Περιορισµοί Σχεσιακή Άλγεβρα» Επέκταση της Σχεσιακής Άλγεβρας» Παραδείγµατα Όψεις Κανόνες Ακεραιότητας Πράξεις Αλλαγών / Ενηµερώσεων Σχεσιακός Λογισµός» Παραδείγµατα Σχεσιακή Πληρότητα I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.145

3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Άτυπος Ορισµός Προτάθηκε το 1970 από τον E.F. Codd ( A relational model for large shared data banks, CACM), σανθεωρίαγια Μοντέλα εδοµένων Έδωσε έναυσµα για πολλές ερευνητικές προσπάθειες και κατέληξε να είναι το πλέον δηµοφιλές µοντέλο. Σήµερα, η συντριπτική πλειοψηφία των DBMS είναι Σχεσιακά και διατίθενται σε ΟΛΕΣ τις Υπολογιστικές Πλατφόρµες. Μια Σχεσιακή Βάση εδοµένων είναι ένα σύνολο από ΣΧΕΣΕΙΣ ΣΧΕΣΗ (RELATION: Ένας Πίνακας τιµών. Κάθεστήληστον πίνακα έχει επικεφαλίδα (όνοµα), που ονοµάζεται γνώρισµα (attribute -field). Κάθε γραµµή ονοµάζεται µια πλειάδα (Tuple) και παριστά τα χαρακτηριστικά µιας οντότητας στο µοντέλο. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.146

4 Τυπικός Ορισµός (Formal) ΟΜΕΣ Μόνο ένα είδος:: relations (σχέσεις) (που έχουν όνοµα) Ένα πεδίο τιµών (domain) D είναι ένα σύνολο τιµών, D= {d 1, d 2,..., d n } π.χ.., DOMAIN OF NAMES = το σύνολο όλων των ονοµάτων DOMAIN of WEIGHT = το σύνολο όλων των τιµών για βάρη CHAR STRINGS from 1 to 10 in length, κλπ. Έναγνώρισµα (attribute) A ονοµατίζει µια ιδιότητα (µε ενδιαφέρον) σε µία Σχέση και παίρνει τιµές από το αντίστοιχο πεδίο τιµών D(A). π.χ., EMPLOYEE_NAME, WEIGHT, κλπ. ηλαδή, τα Γνωρίσµατα είναι οι επικεφαλίδες σε µια Σχέση (Συµβολισµός: R.A, ή R[A] όπου R είναι το όνοµα της Σχέσης) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.147

5 Ορισµοί οµών (2) ΈναΣχεσιακό Σχήµα Rείναι το όνοµα και τα γνωρίσµατα σε µια Σχέση, µαζί µε τα αντίστοιχα πεδία τιµών για τα γνωρίσµατα. Όταν είναι προφανές, τα πεδία τιµών παραλείπονται. Συµβολισµός: R(A 1, A 2,... A n ) π.χ.., STUDENT(Name, SSN, BirthDate, Address) Ο βαθµός (degree) nµιας Σχέσης R είναι ο αριθµός των γνωρισµάτων στην Σχέση Ένα Σχήµα Βάσης εδοµένων S είναι ένα σύνολο Σχέσεων. Συµβολισµός: S = {R 1, R 2,... R m } π.χ., COMPANY = { EMPLOYEE, PROJECT,... } I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.148

6 Ορισµοί οµών (3) -- Μια πλειάδα (Tuple) t µιας Σχέσης R(A 1, A 2,... A n ) είναι µια (διατεταγµένη) λίστα τιµών t = <v 1, v 2,... v n >,όπου κάθε τιµή v i είναι ένα στοιχείο του πεδίου D(A i ). --Ένα στιγµιότυπο σχέσης (relation instance) r(r),πιο απλά,σχέση (relation), είναι ένα σύνολο πλειάδων r(r) = { t 1, t 2,... t k } εναλλακτικά, είναι ένα υποσύνολο του Καρτεσιανού Γινοµένου r(r) D(A 1 ) x D(A 2 ) x... x D(A n ) --Η πληθικότητα (cardinality)της R είναι ο αριθµός των πλειάδων στην r(r), και συµβολίζεται µε CARD R -- Μια σχεσιακή βάση (relational database) είναι ένα σύνολο σχέσεων I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.149

7 Χαρακτηριστικά των Σχέσεων Η ΙΑΤΑΞΗ των γνωρισµάτων σε µια σχέση είναι σηµαντική Η ΙΑΤΑΞΗτων πλειάδων σε µια σχέσηδενείναι σηµαντική Κάθε πλειάδα αποθηκεύεται ΜΙΑ ΦΟΡΑ σε µια σχέση (σύνολο) Μια τιµή µπορεί να παρουσιάζεται ΠΟΛΛΕΣ ΦΟΡΕΣσε µια στήλη και είναι ATOMIKH (µη διασπάσιµη) συχνά αυτό αναφέρεται σαν First Normal Form (1-NF) σχέση Μια ειδική τιµή, ονοµαζόµενη ΚΕΝΟ (NULL), χρησιµοποιείται για την να παραστήσει στη βάση µιας τιµή που είναι µη εφαρµόσιµος (non-applicable) ή άγνωστη (unknown). Π.χ, η τιµή για τον ΑριθµόΤηλεφώνου κάποιου που δεν έχει τηλέφωνο, Η τιµή για την ιεύθυνση κάποιου που δεν έχει προσκοµίσει διεύθυνση Συµβολισµός: τιµή γνωρίσµατος για µια πλειάδα t, t[a i ] = v i I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.150

8 ΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ οµικοί Περιορισµοί Υπάρχουν τρίαείδη περιορισµών που είναι έµφυτοι στο µοντέλο: ΚΛΕΙ Ι (KEY), ΑΚΕΡΑΙΟΤΗΤΑ ΟΝΤΟΤΗΤΑΣ (ENTITY INTEGRITY), και ΑΝΑΦΟΡΙΚΗ ΑΚΕΡΑΙΟΤΗΤΑ (REFERENTIAL INTEGRITY.) Υπάρχουν τρίαείδη ρητών περιορισµών: ΠΕ ΙΟ ΤΙΜΩΝ (DOMAIN), ΣΤΗΛΩΝ (COLUMN) και ΟΡΙΖΟΜΕΝΩΝ από τον ΧΡΗΣΤΗ (USER- DEFINED) κάποιοι άλλοι ρητοί περιορισµοί, π.χ., οι Συναρτησιακές Εξαρτήσεις (Functional Dependencies,) θα αναφερθούν αργότερα Περιορισµοί Κλειδιών: Τα διαφορετικά κλειδιά, όπως ορίστηκαν στο µοντέλο Ε-R, ισχύουν και στο Σχεσιακό Μοντέλο. Υπενθύµιση ότι το ΚΛΕΙ Ι είναι ιδιότητα του Σχεσιακού Σχήµατος δεν είναι ιδιότητα του στιγµιότυπου της Σχέσης (δηλαδή, ισχύει για ΌΛΑ τα στιγµιότυπα - σχέσεις) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.151

9 Έµφυτοι οµικοί Περιορισµοί (1) Ένα σύνολο γνωρισµάτων SKσχήµατος σχέσης Rγια το οποίο κάθε πλειάδα σε στιγµιότυπο r(r) πρέπει να έχει µοναδιαίά τιµή (τιµές) είναι ένα υπέρ-κλειδί (superkey.) ηλαδή, για διαφορετικά t 1 και t 2, ισχύει t 1 [SK] t 2 [SK] Για παράδειγµα, SSN στο EMPLOYEE, NAME και ADDRESS στο EMPLOYEE, SSN και NAME στο EMPLOYEE, κλπ. Ένα υποψήφιο κλειδί (candidate key) K είναι ένα ελάχιστο υπέρκλειδί (δηλαδή, δεν υπάρχει υποσύνολο του K που να είναι και αυτό υπέρ-κλειδί). Το Κ ονοµάζεται συνήθως ΚΛΕΙ Ι (key). Για παράδειγµα, SSN είναι υποψήφιο κλειδί στο EMPLOYEE, αλλά ο συνδυασµός {SSN, NAME} ΕΝ είναι. Ένα κύριο κλειδί (primary key) PKείναι ένα από τα υποψήφια κλειδιά που συµφωνείται να παίξει το ρόλο του του προσδιοριστή για τις πλειάδες της σχέσης (τα κύρια κλειδιά υπογραµµίζονται) Για παράδειγµα, SSN είναι το κύριο κλειδί της σχέσης EMPLOYEE. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.152

10 Έµφυτοι οµικοί Περιορισµοί (2) ΑΚΕΡΑΙΟΤΗΤΑ ΟΝΤΟΤΗΤΑΣ (ΕΝΤΙΤΥ ΙΝΤΕΓΡΙΤΥ) : Το κύριο κλειδί PK στο σχήµα της σχέσης R δεν µπορεί να έχει ΚΕΝΕΣ (NULL) τιµές σε πλειάδες µιας σχέσης r(r). t[pk] NULL, για κάθε t στην r(r) Ο λόγος πίσω από αυτό τον περιορισµό είναι ότι το κύριο κλειδί χρησιµοποιείται για τον προσδιορισµό µιας πλειάδας σε µια Σχέση. Σηµειώνεται ότι και άλλα γνωρίσµατα στην R µπορεί να περιορίζονται στο να µην έχουν NULL από ΡΗΤΟΥΣ περιορισµούς. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.153

11 Έµφυτοι οµικοί Περιορισµοί (3) ΑΝΑΦΟΡΙΚΗ ΑΚΕΡΑΙΟΤΗΤΑ -REFERENTIAL ΙNTEGRITY Αυτός ο δοµικός περιορισµός εµπλέκει ΥΟ σχέσεις και χρησιµοποιείται για να καταγράψει τη συνέπεια σε µια συσχέτιση µεταξύ πλειάδων των δυο σχέσεων. Η πλέον συνήθης µορφή είναι αυτή των εξωτερικών κλειδιών. Ένα εξωτερικό κλειδί (foreign key) FKείναι ένα σύνολο γνωρισµάτων σε µια σχέση R1 που αποτελεί κύριο κλειδίσε µια άλλη σχέση R2. Μια πλειάδα t 1 στην r(r 1 ) λέγεται ότι αναφέρεται σε µια άλλη πλειάδα t 2 στην r(r 2 ), εάν: t 1 [FK] = t 2 [FK] Για παράδειγµα, για την σχέση WORKING-ON το γνώρισµα SSN είναι foreign key (είναι το κύριο κλειδί στην σχέση EMPLOYEE). I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.154

12 Ρητοί Περιορισµοί (1) Περιορισµοί Πεδίου Τιµών: Είναι οι κανόνες που ορίζονται για το πεδίο τιµών και κληρονοµούνται από τις στήλες (γνωρίσµατα) που παίρνουν τιµές από το πεδίο. Το πεδίο µπορεί να οριστεί µαζί µε κανόνες ακεραιότητας (π.χ., το πεδίο των integersµε όλους τους κανόνες για ακέραιους). Αυτοί είναι (κυρίως) οι βασικοί τύποι δεδοµένων (data types.) Η καλύτερη περίπτωση είναι να έχουµε υποστήριξη για strong data typing (σπάνιο) Περιορισµοί Στηλών: Είναιεπιπρόσθετοιτων περιορισµών πεδίου τιµών και αναφέρονται στις τιµές για τα γνωρίσµατα. Για παράδειγµα., η στήλη των small integers ή integers between 1 and 10, κλπ. είναι επιπλέον περιορισµοί των ακεραίων.) Σε µερικά σχεσιακά συστήµατα, η υποστήριξη παρέχεται µε ένα µηχανισµό που ονοµάζεται CHECK option I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.155

13 Ρητοί Περιορισµοί (2) ΠΕΡΙΟΡΙΣΜΟΙ ΟΡΙΖΟΜΕΝΟΙ από τον ΧΡΗΣΤΗ (USER- DEFINED) : Κάθε περιορισµός ακεραιότητας, πέραν αυτών που έχουν ήδη αναφερθεί, καλείται user-defined. Για την υποστήριξη επιχειρηµατικών κανόνων, απαιτούνται περιορισµοί ακεραιότητας µε σηµαντική πολυπλοκότητα Αυτοί προσδιορίζονται είτε διαδικαστικάήδηλωτικά (µε προτίµηση) Μια σειρά µηχανισµών χρησιµοποιούνται για την υποστήριξη τέτοιων κανόνων σε ένα σχεσιακό σύστηµα: stored procedures, triggers, methods (για object-oriented systems) Σηµαντική οµάδα περιορισµών είναι οιπεριορισµοί σηµασιολογικής ακεραιότητας (semantic integrity constraints) Γενικά, τα DBMS είναι αδύνατα σε υποστήριξη περιορισµών I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.156

14 Η Βάση εδοµένων COMPANY στο Σχεσιακό Μοντέλο - ΣΧΗΜΑ EMPLOYEE ( SSN, Name, BirthDate, Address, Sex, Salary, SupSSN, DNumber) DEPARTMENT ( DNumber, DName, MgrSSN, MgrStartDate) PROJECT ( PNumber, PName, Location, DNumber) DEPT_LOCATION ( DNumber, DLocation ) WORKS_ON ( SSN, PNumber, HoursPW) DEPENDENT ( SSN, DependName, Sex, BirthDate, Relationship) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.157

15 Η Βάση εδοµένων COMPANY στο Σχεσιακό Μοντέλο - ΣΤΙΓΜΙΟΤΥΠΟ. EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber 1234 john kifisia m frank athina m alice ekali f jenny patra f rama korinth m joyce kiato f jack maroussi m james psihico m N U LL 1 DEPARTMENT D N umber D N ame M grssn M grsd 5 resea rch adm in headqrtr DEPT_LOCATION D Number DLocation 1 kolona ki 4 zogra fou 5 gkizi 5 pa tisia 5 kolona ki I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.158

16 Η Βάση εδοµένων COMPANY στο Σχεσιακό Μοντέλο -ΣΤΙΓΜΙΟΤΥΠΟ WORKS_ON SSN. PNumber HoursPW N U LL PROJECT PNumber PName Location DNumber 1 prodx gkizi 5 2 prody pa tisia 5 3 prodz kolona ki 5 10 com puter zogra fou 4 20 reorga nize kolona ki 1 30 benefits zogra fou 4 DEPENDENT ESSN N ame Sex BD ate Relation 3334 aliki f 1976 daught 3334 th eo m 1973 so n 3334 joy f 1948 spouse 9876 abner m 1932 spouse 1234 m ik e m 1978 so n 1234 aliki f 1979 daught 1234 elisa f 1957 sp o u se I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.159

17 ΙΑΓΡΑΜΜΑ ΣΧΗΜΑΤΟΣ για το ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.160

18 Ορισµός Σχεσιακού Μοντέλου: ΠΡΑΞΕΙΣ ΠΡΑΞΕΙΣ / ΛΕΙΤΟΥΡΓΙΕΣ ιαχωρίζονται σε (α) ΕΝΗΜΕΡΩΣΕΙΣ, (β) ΑΝΑΚΤΗΣΕΙΣ Το σύνολο των πράξεων στο Σχεσιακό Μοντέλο είναι ΚΛΕΙΣΤΟ δηλαδή οι πράξεις ορίζονται σε Σχέσεις και έχουν αποτέλεσµα νέες Σχέσεις Ενηµερώσεις (UPDATE) σε Σχέσεις Εισαγωγή (INSERT) πλειάδας ιαγραφή (DELETE) πλειάδας Τροποποίηση (MODIFY) πλειάδας Οι περιορισµοί ακεραιότητας δεν πρέπει να παραβιάζονται µε την εκτέλεση µιας πράξης ενηµέρωσης. Για αυτό, ενηµερώσεις µπορεί είτε να απορρίπτονταιή να διορθώνουνµε την εκτέλεση νέων (επιπλέον) ενηµερώσεων. Π.χ., όταν µια πλειάδα του EMPLOYEE διαγράφεται, όλες οι πλειάδες στην WORKING_ON που έχουν την ίδια τιµή στο SSN διαγράφονται (ανύπαρκτοι υπάλληλοι δεν δουλεύουν σε έργα!) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.161

19 Πράξεις: Σχεσιακές Γλώσσες Πράξεις ΑΝΑΚΤΗΣΗΣ στο Σχεσιακό Μοντέλο Υπάρχουν δύο βασικές οµάδες πράξεων, που βασίζονται σε: (α) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ (RELATIONAL ALGEBRA) διαδικαστικού τύπου, προσδιορίζει πως υπολογίζεται το αποτέλεσµα (β) ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ (RELATIONAL CALCULUS) δηλωτικού χαρακτήρα, προσδιορίζειποιεςιδιότητες πρέπει να πληροί το αποτέλεσµα Κανένα σχεσιακό DBMS δεν υποστηρίζει τις δύο κατηγορίες γλωσσών στην πλήρη θεωρητική µορφή των. Αυτό συµβαίνει γιατί παράγοντες όπως ευκολία χρήσης, διευκόλυνση, κλπ., είναι σηµαντικοί στην χρήση. Όµως, οι γλώσσες που υποστηρίζονται σε DBMS έχουν τις ρίζες τους είτεστην Σχεσιακή Άλγεβρα ή στον Σχεσιακό Λογισµό. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.162

20 Σχεσιακές Γλώσσες Query languages: Επιτρέπουν την επεξεργασίακαι ανάκτηση δεδοµένων σε µια Βάση εδοµένων Το Σχεσιακό Μοντέλο υποστηρίζει απλές και εκφραστικές Γλώσσες Ανάκτησης (QLs): Ισχυρή τυπική / θεωρητική βάση (Μαθηµατική Λογική). Επιτρέπουν µεγάλο βαθµό βελτιστοποιήσεις. Query Languages ΕΝ ΕΙΝΑΙ programming languages! Οι QLs δεν αναµένονται να είναι Turing complete. Οι QLs δεν χρησιµοποιούνται για σύνθετους υπολογισµούς. Οι QLs υποστηρίζουν εύκολη και αποδοτική πρόσβαση σε µεγάλες Βάσεις εδοµένων. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.163

21 ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ Πράξεις στη Σχεσιακή Άλγεβρα Ένα σύνολο τελεστών που ενεργούν σε Σχέσεις και έχουν σαν αποτέλεσµα Σχέσεις (η Άλγεβρα είναι κλειστή). Οι πράξεις µπορούν να ΣΥΝ ΥΑΣΤΟΥΝ δηµιουργώντας «εκφράσεις» στη Σχεσιακή Άλγεβρα (ο τυπικός ορισµός ακολουθεί) Οι τελεστές, όπως και στην αριθµητική άλγεβρα, µπορεί να φωλιάσουν (nested),εφόσον το αποτέλεσµα κάθε πράξης είναι µια Σχέση Υπάρχουν δύο είδη τελεστών / πράξεων: κλασσικές (regular) συνολοθεωρητικές» ένωση, τοµή, διαφορά,... εξειδικευµένες για βάσεις δεδοµένων» προβολή, επιλογή, συνένωση, µετονοµασία... I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.164

22 Σχεσιακή Άλγεβρα : Συνολοθεωρητικές Πράξεις (1) Κλασσικές Συνολοθεωρητικές Πράξεις Union, Intersection, Difference, Cartesian Product Για την εφαρµογή των πρώτων τριών πράξεων, πρέπει να έχουµε την ιδιότητα της ΣΥΜΒΑΤΟΤΗΤΑΣ ως προς την ΕΝΩΣΗ (UNION COMPATIBILITY) µεταξύ των δυο Σχέσεων ηλαδή: R 1 ( A 1, A 2,..., A n ) και R 2 ( B 1, B 2,..., B n )πρέπει να έχουν τονίδιο αριθµό γνωρισµάτωνκαι τα πεδία τιµών που αντιστοιχούν να είναι συµβατά, δηλαδή, D(A i ) = D(B i ), για i = 1, 2,..., n I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.165

23 Σχεσιακή Άλγεβρα: Παράδειγµα Β Σχήµα Βάσης εδοµένων STUDENT (SName, SAge), INSTRUCTOR (IName, IAge) σχήµα R σχήµα S Στιγµιότυπο Βάσης εδοµένων R (STUDENT) S (INSTRUCTOR) SName SAge mary 20 jack 22 paul 25 barb 22 john 24 IName IAge helen 22 paul 25 barb 22 kris 24 CARD R = 5 CARD S = 4 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.166

24 Σχεσιακή Άλγεβρα : Συνολοθεωρητικές Πράξεις (2) ΕΝΩΣΗ (UNION) Βάλε όλες τις πλειάδες των δύο Σχέσεων σε µια Σχέση Συµβολισµός: R S CARD R S <= CARD R + CARD S Τυπικά: R S = { t t is in R or t is in S } Παράδειγµα: STUDENT INSTRUCTOR SName SAge mary 20 jack 22 paul 25 barb 22 john 24 IName IAge helen 22 paul 25 barb 22 kris 24 = SName SAge mary 20 jack 22 paul 25 barb 22 john 24 helen 22 kris 24 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.167

25 Σχεσιακή Άλγεβρα : Συνολοθεωρητικές Πράξεις (3) ΤΟΜΗ -Βάλε όλες τις κοινές πλειάδες των δύο Σχέσεων σε µια Σχέση Συµβολισµός: R S Τυπικά: R S = { t t is in R and t is in S } Παράδειγµα : STUDENT INSTRUCTOR CARD R S <= max(card R, CARD S ) SName SAge mary 20 jack 22 paul 25 barb 22 john 24 IName IAge helen 22 paul 25 barb 22 kris 24 = SN ame SAge paul 25 barb 22 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.168

26 Σχεσιακή Άλγεβρα : Συνολοθεωρητικές Πράξεις (4) ΙΑΦΟΡΑ Επέλεξε τις πλειάδες της πρώτης Σχέσης, που δεν είναι στοιχεία της δεύτερης Σχέσης Συµβολισµός: R S Τυπικά: R S = { t t is in R and t is not in S } Παράδειγµα : STUDENT INSTRUCTOR CARD R S <= CARD R SName SAge mary 20 jack 22 paul 25 barb 22 john 24 IName IAge helen 22 paul 25 barb 22 kris 24 = SName SAge mary 20 jack 22 john 24 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.169

27 Σχεσιακή Άλγεβρα : Συνολοθεωρητικές Πράξεις (5) ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ Συνδύασε τις πλειάδες της µιας σχέσης µα κάθε πλειάδα της άλλης Συµβολισµός : R Χ S Τυπικά: R Χ S = { t t is the concatenation of a Tuple in R with a Tuple in S } Παράδειγµα : STUDENT Χ INSTRUCTOR CARD RxS = CARD R x CARD S SN ame SAge Iname IAge mary 20 helen 22 mary 20 paul 25 mary 20 barb 22 mary 20 kris 24 jack 22 helen 22 jack 22 paul 25 jack 22 barb 22 jack 22 kris 24 paul 25 helen 22 paul 25 paul 25 paul 25 barb 22 paul 25 kris 24 barb 22 helen 22 barb 22 paul 25 barb 22 barb 22 barb 22 kris 24 john 24 helen 22 john 24 paul 25 john 24 barb 22 john 24 kris 24 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.170

28 Σχεσιακή Άλγεβρα: ΕΠΙΛΟΓΗ (SELECTION) ΕΠΙΛΟΓΗ Επέλεξε τις πλειάδες µιας σχέσης που πληρούν κάποια συνθήκη (qualification) c, η οποία είναι µια λογική παράσταση (Boolean Expression) στα γνωρίσµατα της Σχέσης ( οριζόντιο υποσύνολο της R) Συµβολισµός : σ c (R) ή R[c] Τυπικά: σ c (R) = { t t is in r(r) and condition c holds for t } Παραδείγµατα : σ DNumber = 4 (EMPLOYEE), σ Salary>30000 (EMPLOYEE) σ (Salary>30000 AND DNumber = 4 ) OR DNumber = 5 (EMPLOYEE), EMPLOYEE [ Dnumber = 4 ], EMPLOYEE [ Salary > ] I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.171

29 Σχεσιακή Άλγεβρα: ΕΠΙΛΟΓΗ (2) Η ΕΠΙΛΟΓΗ είναι commutative και associative (a) σ c1 ( σ c2 (R) ) = σ c2 ( σ c1 (R) ) (b) σ c1 ( σ c2 (R) ) = σ c1 AND c2 (R) = σ c1, c2 (R) (c) σ c1 ( σ c2 ( σ c3 (R) ) ) = σ c2 ( σ c3 ( σ c1 (R) ) ) Παράδειγµα : σ DNumber = 4 (EMPLOYEE) Όλοι οι υπάλληλοι στο τµήµα µε αριθµό 4 SSN Name BDate Address Sex Salary SupSSN DNumber 9998 alice ekali f jenny patra f jack maroussi m I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.172

30 Σχεσιακή Άλγεβρα: ΠΡΟΒΟΛΗ (PROJECTION) ΠΡΟΒΟΛΗ Κρατά στο αποτέλεσµα µόνο µερικά γνωρίσµατα (που προσδιορίζονται από µια λίστα L) και διαγράφει τα άλλα γνωρίσµατα της R όπως επίσης τις διπλές πλειάδες ( κάθετο υποσύνολο της R) Συµβολισµός : π L (R) ή R[L] Τυπικά: π L (R) = { t[l] t is in r(r) and L R } Παράδειγµα : π Location (PROJECT), or PROJECT[Location] Location gkizi pa tisia kolonaki zografou Όλες οι τοποθεσίες όπου εκτελούνται έργα I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.173

31 Σχεσιακή Άλγεβρα: ΜΕΤΟΝΟΜΑΣΙΑ (Rename) ΜΕΤΟΝΟΜΑΣΙΑ:Μας επιτρέπει να ΟΝΟΜΑΖΟΥΜΕ, και κατά συνέπεια να µπορούµε να αναφερόµαστε σε αυτό, το αποτέλεσµα µιας έκφρασης στη Σχεσιακή Άλγεβρα. Επίσης µας επιτρέπει να αναφερόµαστε σε µία Σχέση µε περισσότερα του ενός ονόµατα. Παράδειγµα: Το ρ x (E) επιστρέφει το αποτέλεσµα της έκφρασης E µε το όνοµα X Αν η έκφραση Eείναι βαθµού n, τότε η ρ x (A1, A2,, An) (E) επιστρέφει το αποτέλεσµα της Eµε το όνοµα X, και µε τα γνωρίσµατα να έχουν µετονοµαστεί σε A1, A2,., An. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.174

32 Σχεσιακή Άλγεβρα: ΣΥΝΕΝΩΣΗ (JOIN) Υπάρχουν πολλές µορφές Συνένωσης όλες συνδυάζουν δύο σχέσεις για την δηµιουργία µιας τρίτης (theta) join, equality join, natural join, semi-join, outer join Θήτα -Συνένωση: Συνδύασε πλειάδες δύο Σχέσεων που ταιριάζουν (πληρούν κάποια Boolean συνθήκη c) σε κάποια προσδιοριζόµενα γνωρίσµατα Μια Θήτα-Συνένωσηείναι ισοδύναµη ενός Καρτεσιανού γινοµένου που ακολουθείται από µια επιλογή µε συνθήκη c. >< Συµβολισµός : R c S ή R [ c ] S Η Σχέση αποτέλεσµα έχειολατα γνωρίσµατατης R και της S R >< c S =σ c( R S) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.175

33 Σχεσιακή Άλγεβρα: Θ-ΣΥΝΕΝΩΣΗ (THETA JOIN) >< Παράδειγµα : DEPARTMENT MgrSSN > MgrSSN DEPARTMENT Όλοι οι συνδυασµοί ΤΜΗΜΑ-ΤΜΗΜΑ όπου το νούµερο του πρώτου τµήµατος είναι µεγαλύτερο από αυτό του δευτέρου D N umber D N ame M grssn M grsd 4 adm in adm in headqrtr D N umber D N ame M grssn M grsd 1 headqrtr resea rch resea rch I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.176

34 Σχεσιακή Άλγεβρα: ΣΥΝΕΝΩΣΗ (EQUALITY JOIN) EQUALITY JOIN: Συνδύασε πλειάδες δύο Σχέσεων που ταιριάζουν (έχουν την ίδια τιµή) σε κάποια γνωρίσµατα Είναι ειδική περίπτωση της Θήτα-Συνένωσης όπου η συνθήκη είναι ισότητα. >< >< Συµβολισµός: R c S ή R [ c ] S Παράδειγµα: WORKS_ON HoursPW = DNumber PROJECT SSN PNumber HoursPW PNumber PName Location DNumber 1 prodx gkizi 5 2 prody patisia 5 3 prodz kolonaki 5 Μια Συνένωση ΧΩΡΙΣ ΝΟΗΜΑ!!! I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.177

35 Σχεσιακή Άλγεβρα: ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ (NATURAL JOIN) ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ: Συνδύασε πλειάδες δύο Σχέσεων που ταιριάζουν (έχουν την ίδια τιµή) σε όλα τα κοινά γνωρίσµατα. Στο αποτέλεσµα, τα κοινά γνωρίσµατα κρατούνται µόνο µια φορά >< Συµβολισµός : R S ή R [ X = X ] S >< Παράδειγµα : DEPARTMENT DEPT_LOCATION D N umber D N ame M grssn M grsd D Location 5 resea rch gkizi 5 resea rch pa tisia 5 resea rch kolon a ki 4 a dm in zogra fou 1 hea d qrtr kolon a ki I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.178

36 Συν-αθροιστικές Συναρτήσεις και Πράξεις Μια Aggregation functionδέχεται µια συλλογή από τιµές και επιστρέφει µια τιµή ως αποτέλεσµα. avg: average value min: minimum value max: maximum value sum: sum of values count: number of values Μια Συν-αθροιστική Πράξη στη σχεσιακή άλγεβρα: G1, G2,, Gn g F1( A1 ), F2( A2),, Fn( An) (E) E έκφραση στη σχεσιακή άλγεβρα G 1, G 2, G n λίστα γνωρισµάτων για οµαδοποίηση Κάθε F i είναι µια συν-αθροιστική συνάρτηση Κάθε A i είναι το όνοµα ενός γνωρίσµατος I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.179

37 Aggregate Operation Παράδειγµα A B C Σχέση r: α α 7 α β 7 β β 3 β β 10 g sum(c) (r) sum-c 27 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.180

38 Aggregate Operation Example Σχέση account grouped by (οµαδοποιηµένο σε) branch-name: branch-name account-number balance Perryridge Perryridge Brighton Brighton Redwood A-102 A-201 A-217 A-215 A-222 branch-name g sum(balance) (account) branch-name Perryridge Brighton Redwood balance I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.181

39 Σχεσιακή Άλγεβρα: ΗΜΙ-ΣΥΝΕΝΩΣΗ (SEMI JOIN) SEMI-JOIN: Επέλεξε το υποσύνολο µιας Σχέσης που συνενώνεται µε µια άλλη. Μια semi-join είναι ισοδύναµη µε µια συνένωση ακολουθούµενη από µια προβολή. Συµβολισµός : R c S ή R < c S Παράδειγµα: EMPLOYEE SSN=MgrSSN DEPARTMENT SSN N ame BD ate Address Sex Salary SupSSN D N umber 3344 fra nk a thina m jenny patra f ja m es psihico m N U L L 1 Οι ηµι-συνενώσεις είναι ΧΡΗΣΙΜΕΣ σε κατανεµηµένες Βάσεις εδοµένων I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.182

40 Σχεσιακή Άλγεβρα: ΕΞΩΤΕΡΙΚΗ ΣΥΝΕΝΩΣΗ (OUTER JOIN) Κίνητρα: Σε µια τυπική συνένωση, πλειάδες στην Σχέση R ή στην S που δεν έχουν ταιριάζουσες πλειάδες στην άλλη σχέση δεν παρουσιάζονται στο αποτέλεσµα. Σε µερικές ερωταποκρίσεις, όλες οι πλειάδες της R (ή S) πρέπει να παρουσιαστούν στο αποτέλεσµα - όταν δεν υπάρχουν ταιριάζουσες πλειάδες,τότε οι ειδικές τιµές NULL τοποθετούνται για τις τιµές γνωρισµάτων που λείπουν. Συµβολισµός : R S OUTER-JOINs χωρίζονται σε: Left outer join (όλες οι πλειάδες στην R παρουσιάζονται) Right outer join (όλες οι πλειάδες στην S παρουσιάζονται) Full outer join (όλες οι πλειάδες στην R και S παρουσιάζονται) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.183

41 Σχεσιακή Άλγεβρα: ΙΑΙΡΕΣΗ (DIVISION) ΙΑΙΡΕΣΗ: Όταν δίνονται οι σχέσεις R(X,Y) και S(Y), όπου X, Y είναι σύνολα γνωρισµάτων, µια πλειάδα t είναιστοιχείο της διαίρεσης (συµβολίζεται: (R / S)[X] ) ΑΝγια όλα τα t S στην S υπάρχει κάποιο t R στην R, έτσι ώστε: t R [Y] = t S [Y] και t R [X] = t [X] Αναλογία µε την αριθµητική: Το πηλίκο q της a/b είναι ο µεγαλύτερος αριθµός έτσι ώστε qb <=a Το πηλίκο Q της R / S είναι η µέγιστη σχέση (σε πληθυσµό) έτσι ώστε Q X S R Χρήσιµη Πράξη για ερωτήσεις της µορφής: «Βρες τους υπαλλήλους που εργάζονται σε ΌΛΑ τα έργα που εργάζεται η Ελένη» I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.184

42 Σχεσιακή Άλγεβρα: ΕΚΧΩΡΗΣΗ (Assignment) ΕΚΧΩΡΗΣΗ: Η Λειτουργία εκχώρησης ( ) προσφέρει µια διευκόλυνση στην έκφραση πολύπλοκων επερωτήσεων, γράφοντας αυτές σαν σειριακά προγράµµατα που αποτελούνται από» Μια σειρά εκχωρήσεων» Ακολουθούµενη από µια έκφραση η τιµή της οποίας παρουσιάζεται ως το αποτέλεσµα της επερώτησης ΠΑΡΑ ΕΙΓΜΑ: Η διαίρεση r / s γράφεται ως: temp1 R-S (r) temp2 R-S ((temp1 x s) R-S,S (r)) result = temp1 temp2 Το αποτέλεσµα στα δεξιά του εκχωρείται στη σχεσιακή µεταβλητή στα αριστερά του. Οι επόµενες εκφράσεις ΜΠΟΡΟΥΝ να τη χρησιµοποιήσουν I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.185

43 ΤΥΠΙΚΟΣ (Formal) ΟΡΙΣΜΟΣ ΕΚΦΡΑΣΗΣ ΣΤΗ ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ Μία έκφραση στη Σχεσιακή Άλγεβρα αποτελείται από ένα εκ των: Μία Σχέση στη Βάση εδοµένων Μια σταθερή Σχέση Αν E 1 και E 2 είναι εκφράσεις στη Σχεσιακή Άλγεβρα, τότε και τα παρακάτω είναι όλα εκφράσεις στη Σχεσιακή Άλγεβρα: E 1 E 2 E 1 - E 2 E 1 x E 2 σ p (E 1 ), Pείναισυνθήκησεγνωρίσµατατου E 1 s (E 1 ), Sείναιµιαλίστααπόγνωρίσµατατου E 1 ρ x (E 1 ), x είναιτονέοόνοµατουαποτελέσµατοςτου E 1 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.186

44 Σχεσιακή Άλγεβρα: Ερωταποκρίσεις (Queries) Ένα σύνολο ερωταποκρίσεων στην Σχεσιακή Άλγεβρα παρουσιάζεται στην συνέχεια, µε χρήση µιας Βάσης εδοµένων που περιλαµβάνει ναυτικούς (SAILORS ) οι οποίοι κάνουν κρατήσεις (RESERVE) για κάποια σκάφη (BOATS.) SAILORS (Sid, SName, Rating) BOATS (Bid, BName, Color) RESERVE (Sid, Bid, Date) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.187

45 Σχεσιακή Άλγεβρα: Ερωταποκρίσεις (2) QUERY1: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ πουέχουν κρατήσει το ΣΚΑΦΟΣ µε νούµερο 2 ( RESERVE [Bid=2] [Sid=Sid] SAILORS ) [SName] π SName ( σ Bid=2 RESERVE Sid=Sid SAILORS ) QUERY2: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει ΣΚΑΦΗ µε χρώµα κόκκινο ( BOAT [Color=red] [Bid=Bid] RESERVE [Sid=Sid] SAILORS ) [SName] >< >< >< π SName ( σ Color=red BOAT Bid=Bid RESERVE Sid=Sid SAILORS ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.188

46 Σχεσιακή Άλγεβρα: Ερωταποκρίσεις (3) QUERY3: Βρες τα χρώµατα των σκαφών που έχει κρατήσει η ναυτικός µε το όνοµα Ελένη (SAILORS [SName=eleni] [Sid=Sid] RESERVE [Bid=Bid] BOATS) [Color] >< >< π Color ( σ SName=eleni SAILORS Sid=Sid RESERVE Bid=Bid BOATS ) QUERY4: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει τουλάχιστον ένα ΣΚΑΦΟΣ ( RESERVE [Sid=Sid] SAILORS ) [SName] >< π SName ( RESERVE Sid=Sid SAILORS ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.189

47 Σχεσιακή Άλγεβρα: Ερωταποκρίσεις (4) QUERY5: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει ένα κόκκινο ή ένα πράσινο ΣΚΑΦΟΣ π SName ( ( σ Color=red BOATS σ Color=green BOATS ) >< >< Bid=Bid RESERVE Sid=Sid SAILORS ) QUERY6: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει ένα κόκκινο και ένα πράσινο ΣΚΑΦΟΣ π SName ( ( π Sid ( σ Color=red BOATS Bid=Bid RESERVE ) >< >< >< π Sid ( σ Color=green BOATS Bid=Bid RESERVE ) ) Sid=Sid SAILORS ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.190

48 Σχεσιακή Άλγεβρα: Ερωταποκρίσεις (5) QUERY7: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει όλα τα ΣΚΑΦΗ >< π SName ( ( π Sid, Bid RESERVE / π Bid BOATS ) Sid=Sid SAILORS ) QUERY8: Βρες τα ονόµατα και διαβαθµίσεις των ΝΑΥΤΙΚΩΝ που έχουν κρατήσει όλα τα κόκκινα ΣΚΑΦΗ π SName, Rating ( ( π Sid, Bid RESERVE / π Bid (σ Color=red BOATS ) ) >< Sid=Sid SAILORS ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.191

49 Σχεσιακή Άλγεβρα: ΣΧΟΛΙΑ (1) Υπάρχουν διάφορες ιδιότητες που ισχύουν σε µια έκφραση της Σχεσιακής Άλγεβρας (µεταβατική, αντιµεταθετική, προσεταιριστική, κλπ.) Παραδείγµατα: σ c1 ( π L (R) ) = π L ( σ c1 (R) ) σ c1 ( R c2 S ) = σ c1 ( R ) c2 S σ c1 (R S) = σ c1 (R) σ c1 (S)... >< >< Αυτές οι ιδιότητες είναι εξαιρετικά χρήσιµες στην βελτιστοποίηση των ερωταποκρίσεων (query optimization) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.192

50 Σχεσιακή Άλγεβρα: ΣΧΟΛΙΑ (2) ΠΛΗΡΕΣ ΣΥΝΟΛΟ ΠΡΑΞΕΩΝ Το σύνολο των πράξεων { σ, π,,, Χ, ρ }ονοµάζεται πλήρεςσύνολο πράξεων της Σχεσιακής Άλγεβρας. Η επαγωγή είναι ότι ΟΛΕΣ οι άλλες πράξεις µπορεί να περιγραφούν ως µια ακολουθία πράξεων από το σύνολο αυτό (το σύνολο αυτό έχουµε δει στον τυπικό ορισµό της έκφρασης σχεσιακής άλγεβρας ) Για παράδειγµα, η διαίρεση περιγράφεται ως: R / S = π X (R) ( (π X (R)Χ S) R ) όπου X είναι τα µη κοινά γνωρίσµατα στην R µε την S Ισοδυνάµως, περιγράφεται ως: (R / S) [X] = R[X] - ( ( R[X] Χ S ) - R )[X] I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.193

51 Σχεσιακή Άλγεβρα: ΠΛΗΡΟΤΗΤΑ Υπάρχουν αρκετοί συνδυασµοί πράξεων που συγκροτούν ένα πλήρεςσύνολο πράξεων. Κάθε Γλώσσα Ερωταποκρίσεων ισοδύναµη µε ένα πλήρες σύνολο πράξεων ονοµάζεται Σχεσιακά Πλήρης (RELATIONALLY COMPLETE) Σηµείωση: Αυτό δεν σηµαίνει απαραίτητα ότι η Γλώσσα είναι ικανήγια όλες τις πράξεις σε µια βάση δεδοµένων (ενδεικτικά, µια καλή γλώσσα πρέπει να υποστηρίζει συσσώρευση, πολλές µορφές συνένωσης, κτισµένες (built-in) συναρτήσεις,...) Ένας ενδιαφέρον τελεστής που ξεπερνά την εκφραστική δύναµη των σχεσιακών πράξεων, όπως έχουν ορισθεί από τον Codd- είναι η αναδροµική κλειστότητα (transitive closure.) Αυτή είναι πολύ χρήσιµη πράξη σε Σχεσιακές Βάσεις. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.194

52 Σχεσιακή Άλγεβρα: Αναδροµική Κλειστότητα Είναι µια αναδροµική συσχέτιση µεταξύ πλειάδων του ιδίου τύπου (π.χ., Υπάλληλος Προϊστάµενος Υπάλληλος, part --- sub-part, κλπ.) Κλασσικές Ερωτήσεις Περιπλανώµενος Πωλητής (από πόλη σε πόλη µέσω πόλεων) Προϊστάµενοι σε όλα τα επίπεδα ενός Υπαλλήλου Η πράξη αυτή δεν υποστηρίζεται στην Σχεσιακή Άλγεβρα Υπάρχουν Γλώσσες ερωταποκρίσεων που τις υποστηρίζουν (π.χ., Query By Example QBE) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.195

53 Null Values (Κενές Τιµές) Είναι δυνατόν να έχουµε κενές τιµές για κάποια από τα γνωρίσµατασε µια πλειάδα (null) Το null υποδηλώνει ότι η τιµή είναι ΑΓΝΩΣΤΗ ή ότι ΕΝ ΥΠΑΡΧΕΙ Το αποτέλεσµα µιας αριθµητικής πράξης που έχει µέσα το null είναι null. Οι συν-αθροιστικές συναρτήσεις αγνοούν το null Αυτή είναι µια τυχαία απόφαση (θα µπορούσαν ενδεχοµένως να επιστρέφουν σαν αποτέλεσµα το null). υο null θεωρούνται ότι είναι ίσα Και αυτή είναι µια τυχαία απόφαση (θα µπορούσε ενδεχοµένως κάθε null να είναι διαφορετικό) Γενικά ακολουθείται εννοιολογικά για το null το µοντέλο της SQL I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.196

54 Κενές Τιµές Συγκρίσεις µε null επιστρέφουν την τιµή unknown Αν falseεπέστρεφε αντί για unknown, τότε not (A < 5) θα ήταν ισοδύναµο µε A >= 5 Εφαρµόζεται µια Λογική τριών τιµών (true, false, unknown): OR: (unknown or true) = true, (unknown or false) = unknown (unknown or unknown) = unknown AND: (true and unknown) = unknown, (false and unknown) = false, (unknown and unknown) = unknown NOT: (not unknown) = unknown I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.197

55 Αλλαγές των τιµών στη Βάση εδοµένων Το περιεχόµενο της Βάσης αλλάζει µε τις παρακάτω πράξεις: Deletion Insertion Updating Οι πράξεις αυτές εκφράζονται µε τον τελεστή ASSIGNMENT (εκχώρηση) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.198

56 ιαγραφή (DELETION) Μια ιαγραφή εκφράζεται όπως µια επερώτηση, µε τη διαφορά ότι αντί να παρουσιαστεί το αποτέλεσµα, αυτό διαγράφεται. ιαγράφονται ΜΟΝΟ Πλειάδες (όχι µεµονωµένες τιµές) Στη Σχεσιακή Άλγεβρα, η ιαγραφή παρίσταται µε: r r E όπου r είναι µια σχέση και E είναι το αποτέλεσµα µιας σχεσιακής έκφρασης. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.199

57 Παραδείγµατα ΙΑΓΡΑΦΩΝ ιέγραψε όλες τις account εγγραφές στο Perryridge branch. account account σ branch-name = Perryridge (account) ιέγραψε όλες τις loan εγγραφές µε ποσό µεταξύ 0 και 50 loan loan σ amount 0 and amount 50 (loan) ιέγραψε όλα τα accounts σε branches του Needham. r 1 σ branch-city = Needham (account branch) r 2 branch-name, account-number, balance (r 1 ) r 3 customer-name, account-number (r 2 depositor) account account r 2 depositor depositor r 3 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.200

58 ΕΙΣΑΓΩΓΗ (Insertion) Για εισαγωγή δεδοµένων σε µια Σχέση, είτε: Παρουσιάζουµε µια νέα πλειάδα Ή γράφουµε µια επερώτηση το αποτέλεσµα της οποίας θα εισαχθεί Στη σχεσιακή άλγεβρα, η Εισαγωγή συµβολίζεται µε: r r E όπου r είναι µια σχέση και E είναι µια έκφραση I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.201

59 Παραδείγµατα Εισαγωγής Να εισαχθούν τα δεδοµένα: Smith has $1200 in account A-973 at the Perryridge branch. account account {( Perryridge, A-973, 1200)} depositor depositor {( Smith, A-973)} Κάνε δώρο σε όλους τους loan customers στο Perryridge branch, ένα $200 savings account. r 1 (σ branch-name = Perryridge (borrower loan)) account account branch-name, account-number,200 (r 1 ) depositor depositor customer-name, loan-number (r 1 ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.202

60 ΕΝΗΜΕΡΩΣΗ (Updating) Ένας µηχανισµός για αλλαγές επιλεκτικά σε ΤΙΜΕΣ µιας Πλειάδας ΧΩΡΙΣ να αλλάζουν ΟΛΕΣ οι τιµές της ΠΛΕΙΑ ΑΣ Χρησιµοποιείται ο συµβολισµός: r F1, F2,, FI, (r) όπουτα F i είναιέναεκτων: το ith γνώρισµατου r, αντο ith γνώρισµαδεναλλάζει, ή, αντο ithγνώρισµαπρόκειταινααλλάξει, τότετο F i είναιµια έκφραση, που περιλαµβάνει µόνο σταθερές και τα γνωρίσµατα του r, πουδίνουντηνέατιµήγιατογνώρισµα I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.203

61 Παραδείγµατα Ενηµέρωσης Πλήρωσε τους τόκους αυξάνοντας όλα τα υπόλοιπα λογαριασµών µε 5 % account AN, BN, BAL * 1.05 (account) όπου AN, BN και BAL είναι το account-number, branch-name και balance, αντίστοιχα. Πλήρωσεόλουςµευπόλοιποπάνωαπό $10,000 6 % τόκουςκαι Πλήρωσεόλουςτουςάλλους 5 % account AN, BN, BAL * 1.06 (σ BAL > (account)) AN, BN, BAL * 1.05 (σ BAL (account)) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.204

62 ΌΨΕΙΣ // ΠΡΟΒΟΛΕΣ (VIEWS) Στις περισσότερες περιπτώσεις, δεν είναι επιθυµητό να βλέπουν όλοι οι χρήστες ολόκληρο το λογικό µοντέλο (δηλαδή, όλες τις σχέσεις που αποθηκεύονται στη βάση δεδοµένων.) Ενδεικτικά, θεωρήστε ότι κάποιος θέλει να ξέρει τον αριθµό δανείου για έναν πελάτη, ΑΛΛΑ (π.χ., για λόγους εχεµύθειας ή ασφαλείας) δεν πρέπει να δει το ποσό του δανείου.αυτός µπορεί να «βλέπει» µια σχέση που περιγράφεται στη σχεσιακή άλγεβρα ως: customer-name, loan-number (borrower loan) Κάθε σχέση που δεν είναι στο εννοιολογικό (conceptual) µοντέλοαλλά είναι ορατή σε χρήστες ως µια Ι ΕΑΤΗ ΣΧΕΣΗ ( virtual relation )ονοµάζεταιοψη (view). I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.205

63 ΟΡΙΣΜΟΣ ΟΨΗΣ Μια όψη ορίζεται µε την εντολή create view που έχει τη µορφή: create view v as <query expression> όπου <query expression> είναι κάθε νόµιµη έκφραση επερώτησης. Το όνοµα της ΟΨΗΣ είναι το v. Από τη στιγµή που ορίζεται η Όψη, το όνοµα της χρησιµοποιείται για αναφορά στην ιδεατή σχέση που η ΟΨΗ δηµιουργεί. Ο Ορισµός της ΟΨΗΣ δεν δηµιουργεί µια νέα Σχέση µε πλειάδες το αποτέλεσµα της εκτέλεσης της επερώτησης. Αντίθετα, ο Ορισµός της ΟΨΗΣ σηµαίνει ότι δηµιουργείται (και κρατιέται) µια έκφραση, που αργότερα αντικαθίσταται στις επερωτήσεις που την χρησιµοποιούν. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.206

64 Παραδείγµατα ΟΨΕΩΝ Έστω η όψη (µε ονοµασία all-customer) που αποτελείται από branches και customers. create view all-customer as branch-name, customer-name (depositor account) branch-name, customer-name (borrower loan) Μπορούµε να βρούµε όλους τους customers του Perryridge branch γράφοντας: customer-name (σ branch-name = Perryridge (all-customer)) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.207

65 Ενηµερώσεις µέσω ΟΨΕΩΝ Ενηµερώσεις της Βάσης εδοµένων εκφραζόµενες µέσω όψεων πρέπει να µεταφραστούν σε ενηµερώσεις των πραγµατικών Σχέσεων στη Βάση. Για παράδειγµα, έστω ότι κάποιος θέλει να δει όλα τα δεδοµένα για δάνεια στην loan σχέση ΕΚΤΟΣ του amount. Η όψη που του δίνεται, branch-loan, ορίζεται ως: create view branch-loan as branch-name, loan-number (loan) Εφόσον επιτρέπουµε το όνοµα µιας ΟΨΗΣ να παρουσιάζεται όπου µπορεί να παρουσιαστεί το όνοµα µιας ΣΧΕΣΗΣ, τότε θα µπορούσε να γραφεί: branch-loan branch-loan {( Perryridge, L-37)} I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.208

66 Ενηµερώσεις µέσω ΟΨΕΩΝ (συνέχεια) Η Εισαγωγή των στοιχείων πρέπει να µεταφραστεί σε µια εισαγωγή στοιχείων στην πραγµατική σχέση loan από την οποία η branch-loan κατασκευάζεται. Όµως η εισαγωγή στη σχέση loanαπαιτεί µια τιµή για το amount. Υπάρχουν δύο περιπτώσεις: Απαγόρευσε την εισαγωγή και επέστρεψε κάποιο µήνυµα στο χρήστη Βάλε την πλειάδα ( L-37, Perryridge, null) στη σχέση loan Μερικές τροποποιήσεις µέσω όψεων είναι Α ΥΝΑΤΟ να µεταφραστούν σε τροποποιήσεις στις πραγµατικές σχέσεις! create view v as σ branch-name = Perryridge (account)) v v (L-99, Downtown, 23) Άλλες ΕΝ είναι δυνατό να µεταφραστούν µονοσήµαντα! all-customer all-customer {( Perryridge, John )}» Πρέπει να επιλεχθεί κάποιο loan και account, και να δηµιουργηθεί ένα νέο νούµερο για account / loan! I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.209

67 ΟΨΕΙΣ οριζόµενες µέσω άλλων ΟΨΕΩΝ Μία ΟΨΗ µπορεί να χρησιµοποιηθεί στην ορίζουσα έκφραση µιας άλλης ΟΨΗΣ Μια όψη v 1 λέγεται ότι εξαρτάται άµεσα από µια όψη v 2 αν η v 2 χρησιµοποιείται στην έκφραση που ορίζει την v 1 Μια όψη v 1 λέγεται ότι εξαρτάται από µια όψη v 2 αν είτε η v 1 εξαρτάται άµεσα από την v 2 ή υπάρχει ένα µονοπάτι εξαρτήσεων από τη v 1 στη v 2 Μια όψη vλέγεται αναδροµική (recursive) αν εξαρτάται από τον εαυτό της I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.210

68 Σχεσιακός Λογισµός: ΕΙΣΑΓΩΓΗ ΟΣχεσιακός Λογισµός (RC) είναι µια µη-διαδικαστική, τυπική γλώσσα που βασίζεται στον κατηγορηµατικό λογισµό πρώτης τάξης Οι ερωταποκρίσεις στην RC προδιαγράφουν ΤΙ πρόκειται να ανακληθεί (δηλωτικά) ενώ το σύστηµα (που υποστηρίζει την γλώσσα) αναλαµβάνει το ΠΩΣ Οι περισσότερες εµπορικές σχεσιακές γλώσσες έχουν τις ρίζες τους στον Σχεσιακό Λογισµό (QUEL, QBE, SQL). Αυτές οι γλώσσες δίνουν έµφαση στην ευκολία χρήσης. Ως προς την εκφραστικότητα, ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ και ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ είναι ταυτόσηµοι. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.211

69 Σχεσιακός Λογισµός: ΕΙΣΑΓΩΓΗ (2) Ο Σχεσιακός Λογισµός χρησιµοποιεί την έννοια της ΜΕΤΑΒΛΗΤΗΣ Υπάρχουν δυο µορφές της Γλώσσας: Λογισµός Πλειάδων οι µεταβλητές αναφέρονται σε πλειάδες από µια Σχέση π.χ., t είναι µια µεταβλητή πλειάδος που αναφέρεται σε µια πλειάδα της r(r) Λογισµός Πεδίων Τιµών οι µεταβλητές αναφέρονται σε τιµές από ένα Πεδίο π.χ., d είναι µια µεταβλητή πεδίου που αναφέρεται σε µια τιµή, που έχει µια πλειάδα της r(r) για το γνώρισµα A (από το πεδίο D) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.212

70 Σχεσιακός Λογισµός Πλειάδων Μια ΕΚΦΡΑΣΗ ( ΙΑΤΥΠΩΣΗ) στον ΣΧΕΣΙΑΚΟ ΛΟΓΙΣΜΟ ορίζει µια νέα Σχέση µε βάση της υπάρχουσες σχέσεις. Μια έκφραση κατασκευάζεται από τα παρακάτω στοιχεία: (1) Μεταβλητές πλειάδων (π.χ., t, v, w, t 1, t 2, t 3,... t n ), οι οποίες ορίζονται να παίρνουν τιµές από ένα στιγµιότυπο σχέσης r(r) Οι µεταβλητές µπορεί να είναι περιορισµένες (restricted,) όπου, t.a, µε A ένα γνώρισµα της R, συµβολίζει το A-τµήµατης τιµής του t Παράδειγµα: t.name (2) Συνθήκεςτης µορφής x τελεστής y, όπου x, yείναι περιορισµένες µεταβλητές πλειάδος ή σταθερές τιµές και ο τελεστής { =,, <, >,, } Παράδειγµα: t.name = Μαρία, t.city v.city I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.213

71 Εκφράσεις στον Λογισµό Πλειάδων (3) Well-Formed Formulas (WFFs) (ατοµική διατύπωση), ορίζονται ως: µια συνθήκηείναι WFF αν fείναι µια WFF, τότε είναι και η (f) (όπου είναι το Λογικό NOT) και η (f) αν f και gείναι WFFs, τότε είναι και η (f & g) και η (f g) (όπου &,, είναι τα Λογικά AND, OR αντίστοιχα) αν f είναι WFF µεελεύθερη µεταβλητή t, τότε είναι και οι t(f), t(f) (όπου, είναι οι υπαρξιακός (existential) και καθολικός (universal) ποσοδείκτες) Μια µεταβλητή πλειάδος t ονοµάζεται δεσµευµένη (bound) σε µια έκφραση f ανείναι µια από µεταβλητές που ποσοδεικτούνταιστην f. Αλλιώς,η t είναι ελεύθερη (free) στην f. Παράδειγµα: t είναι freeστην f 1 : (t.city = london ) και είναι boundστην f 2 : ( t ) (t.dnumber = v.dno), ενώ η v είναι free in f 2 I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.214

72 Εκφράσεις στον Λογισµό Πλειάδων Παραδείγµατα των WFFs (ατοµικών διατυπώσεων) t.city = v.city (t.city = v.city) (t.city = v.city) (t.city v.city) (t.city = v.city) & (w.city = London) t (t.city = v.city) t (t.city = Athens) αν f είναι µια WFF, τότε µιαέκφραση / αίτηµα στον λογισµό πλειάδων είναι κάθε έκφραση της µορφής: { t i.a j t i r(r k ) AND f } όπουτα R k είναι σχήµατα σχέσεων και τα A j είναι γνωρίσµατα στις R k I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.215

73 Παραδείγµατα Ερωταποκρίσεων (1) Επανερχόµαστε στην γνωστή Β των Ναυτικών SAILORS (Sid, SName, Rating) BOATS (Bid, BName, Color) RESERVE (Sid, Bid, Date) QUERY1: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ πουέχουν id µεγαλύτερο από 10 και έχουν διαβάθµιση (rating) α RANGE of t is SAILORS t.sname where (t.sid > 10) & (t.rating = a ) Παρακάτω δίνεται σαν θεωρητικά καθαρό RC query: { t.sname t r(sailors) & ((t.sid > 10) & (t.rating = a )) } I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.216

74 Παραδείγµατα Ερωταποκρίσεων (2) QUERY2: Βρες τα ονόµατα και διαβαθµίσεις των ΝΑΥΤΙΚΩΝ πουέχουν κρατήσει το ΣΚΑΦΟΣ µε νούµερο 3 RANGE of t is SAILORS RANGE of v is RESERVE t.sname, t.rating where v ( (t.sid = v.sid) & (v.bid = 3) ) QUERY3: Βρες τα ονόµατα των ΝΑΥΤΙΚΩΝ πουδεν έχουν κρατήσει το ΣΚΑΦΟΣ µε νούµερο 3 RANGE of t is SAILORS RANGE of v is RESERVE t.sname where ( v ( (t.sid = v.sid) & (v.bid = 3) ) ) I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.217

75 ΑΣΦΑΛΕΙΑ Εκφράσεων Είναι δυνατόν να γραφούν εκφράσεις στο Σχεσιακό Λογισµό που δηµιουργούν ΑΠΕΙΡΕΣ Σχέσεις. Για παράδειγµα η: {t t r} έχεισαναποτέλεσµαµιαάπειρησχέση (αντοπεδίοτιµώνγιατην r είναι άπειρο.) Για αποφυγή αυτού του προβλήµατος, περιορίζουµε τις εκφράσεις σε αυτές που ονοµάζονται ασφαλείς εκφράσεις (safe expressions). Μια έκφραση {t P(t)} στο Σχεσιακό Λογισµό Πλειάδων ονοµάζεται ΑΣΦΑΛΗΣανκάθεσυνιστώσατης tπαρουσιάζεταισεµιααπότιςσχέσεις, πλειάδες, ή σταθερές στην P ΠΡΟΣΟΧΗ: Αυτό δεν είναι µια απλή συντακτική συνθήκη.» Π.χ., { t t[a]=5 true } δεν είναι ασφαλής ---ορίζει ένα άπειρο σύνολο µε τιµές γνωρισµάτων που δεν παρουσιάζονται σε καµία σχέση, πλειάδα ή σταθερά στην P. I.B. Το Σχεσιακό Μοντέλο Σελίδα 1.218

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Το Σχεσιακό Μοντέλο και Σχεσιακά Συστήµατα ιοίκησης Βάσεων εδοµένων Σύνοψη Άτυπος και Τυπικός Ορισµός του Μοντέλου οµές, Πράξεις, οµικοί

Διαβάστε περισσότερα

Κεφάλαιο 3. ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ B Μέρος. Tο Σχεσιακό Μοντέλο Σελίδα 1

Κεφάλαιο 3. ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ B Μέρος. Tο Σχεσιακό Μοντέλο Σελίδα 1 Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ B Μέρος Tο Σχεσιακό Μοντέλο Σελίδα 1 Το Σχεσιακό Μοντέλο ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Σχεσιακή Άλγεβρα Επέκταση της Σχεσιακής Άλγεβρας Παραδείγµατα Όψεις Κανόνες Ακεραιότητας Πράξεις Αλλαγών

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ. Tο Σχεσιακό Μοντέλο Σελίδα 1

ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ. Tο Σχεσιακό Μοντέλο Σελίδα 1 ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ Tο Σχεσιακό Μοντέλο Σελίδα 1 Τι θα δούµε Σχεσιακός Λογισµός Παραδείγµατα Σχεσιακή Πληρότητα Tο Σχεσιακό Μοντέλο Σελίδα 2 Εισαγωγή στον Σχεσιακό Λογισµό Ο Σχεσιακός Λογισµός (Relational

Διαβάστε περισσότερα

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Σχεσιακός Λογισµός: ΕΙΣΑΓΩΓΗ Ο Σχεσιακός Λογισµός (RC) είναι µια µη-διαδικαστική, τυπική γλώσσα που βασίζεται

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

Διαβάστε περισσότερα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δένδρο Επερώτησης (Query Tree) Δένδρο Επερώτησης (Query Tree) Είναι μια δενδρική δομή που αντιστοιχεί

Διαβάστε περισσότερα

Εισαγωγή στη Σχεσιακή Άλγεβρα

Εισαγωγή στη Σχεσιακή Άλγεβρα Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, (sigma)) Προβολή (Project, (pi)) Μετονομασία (Rename,

Διαβάστε περισσότερα

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 SQL -ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις.

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

Διαβάστε περισσότερα

#5. Σχεσιακό Μοντέλο

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

Διαβάστε περισσότερα

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων

Διαβάστε περισσότερα

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στο Σχεσιακό Μοντέλο Ορισμοί Σχεσιακού Μοντέλου Σχεσιακοί

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Περιεχόμενο Διάλεξης Κεφάλαιο 5: Το Σχεσιακό Μοντέλο Δεδομένων Περιορισμοί Σχεσιακού Μοντέλου

Διαβάστε περισσότερα

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης

Διαβάστε περισσότερα

Lecture 8: RM I + RA I

Lecture 8: RM I + RA I Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM I + RA I Relational Model + Relational Algebra (Chapter 5.2-5.3, 6.1 Elmasri-Navathe 7ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

Διαβάστε περισσότερα

Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1

Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1 Η Γλώσσα SQL Μέρος α Η Γλώσσα SQL Σελίδα 1 SQL - ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις. Η πρώτη χρήση ήταν στο πρότυπο σύστηµα της IBM, που

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

Διαβάστε περισσότερα

Θεωρία Κανονικοποίησης

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

Διαβάστε περισσότερα

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Το Σχεσιακό Μοντζλο Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του

Διαβάστε περισσότερα

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Σχεσιακή Άλγεβρα Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή

Διαβάστε περισσότερα

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

SQL: Συναρτήσεις Συνάθροισης

SQL: Συναρτήσεις Συνάθροισης SQL: Συναρτήσεις Συνάθροισης Συναρτήσεις Συνάθροισης (Aggregate Functions) Εφαρμόζονται πάνω σε σύνολα τιμών γνωρισμάτων. count, max, min, avg, sum Περιορισμοί: η συνάρτηση count μπορεί να εφαρμοστεί σε

Διαβάστε περισσότερα

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Oct.2009 Περιεχόμενα Εισαγωγή Μοντελοποίηση, Σχεδιασμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σχεσιακό Μοντέλο Βάσης Δεδομένων Βασικές Αρχές Θεμελιώδη Μαθηματικά Λειτουργίες Αναβάθμισης

Διαβάστε περισσότερα

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων Ασκήσεις -Επανάληψη Βάσεις Δεδομένων 2016-2017 Ε-R μοντέλα -Flashback. ENTITY SET WEAK ENTITY SET is_a GENERALIZATION RELATIONSHIP SET ATTRIBUTE DERIVED Attribute E2 Total PARTICIPATION of E1 in R1 E2

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ενότητα 6

Βάσεις Δεδομένων Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries

Βάσεις Δεδομένων Σύνθετα SQL queries Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ασάφεια και Πλήρη Ονόματα Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Περιεχόμενα Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων

Διαβάστε περισσότερα

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1) Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα Σχεσιακή Άλγεβρα Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and,

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

Διαβάστε περισσότερα

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

Διαβάστε περισσότερα

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1 Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός 06/06/2009 Μ.Χατζόπουλος 1 Αρχιτεκτονική Τριών Σχημάτων ΕΞΩΤΕΡΙΚΟ ΕΠΙΠΕΔΟ Τελικοί Χρήστες Εξωτερική Όψη 1 Εξωτερική Όψη n ΕΝΝΟΙΟΛΟΓΙΚΟ ΕΠΙΠΕΔΟ ΕΝΝΟΙΟΛΟΓΙΚΟ

Διαβάστε περισσότερα

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

Διαβάστε περισσότερα

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering)

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering) By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of the race. -- Alfred North Whitehead

Διαβάστε περισσότερα

Σχεδιασμός μιας Β : Βήματα

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Εισαγωγή. Σχεδιασµός µιας Β

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

Διαβάστε περισσότερα

Το σχεσιακό μοντέλο βάσεων δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος. Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke Σχεσιακή Άλγεβρα Κεφάλαιο 4 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Γλώσσες Σχεσιακών Αιτηµάτων v Γλώσσες Αιτηµάτων: Ε ιτρέ ουν τη ιαχείριση και την Ανάκτηση εδοµένων α ό µια Β. v

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Περιεχόμενα Μαθήματος Εισαγωγή στις βασικές αρχές σχεδίασης και ανάπτυξης εφαρμογών Ανάλυση Απαιτήσεων. Σχεδιασμός Βάσης Δεδομένων (Μοντέλο Οντοτήτων

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

Διαβάστε περισσότερα

Κεφάλαιο 3 Σχεσιακό Μοντέλο

Κεφάλαιο 3 Σχεσιακό Μοντέλο Κεφάλαιο 3 Σχεσιακό Μοντέλο Στο κεφάλαιο αυτό παρουσιάζεται το σχεσιακό µοντέλο βάσεων δεδοµένων, και αναλύονται τα δοµικά του χαρακτηριστικά, οι βασικές του ιδιότητες, και ο τρόπος µε τον οποίο µπορεί

Διαβάστε περισσότερα

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασµός

Διαβάστε περισσότερα

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Ακαδημαϊκό Έτος Εαρινό. Μάθημα 7 Κεφάλαιο 6: Τυπικές Σχεσιακές Γλώσσες

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής  Ακαδημαϊκό Έτος Εαρινό. Μάθημα 7 Κεφάλαιο 6: Τυπικές Σχεσιακές Γλώσσες Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής http://www.cs.uth.gr/ Ακαδημαϊκό Έτος 2014-2015 - Εαρινό Βάσεις Δεδομένων Μάθημα 7 Κεφάλαιο 6: Τυπικές Σχεσιακές Γλώσσες Ευάγγελος Θεοδωρίδης etheodoridis@teilam.gr

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3: Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

Διαβάστε περισσότερα

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

Διαβάστε περισσότερα

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2. Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.84 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Query by Example QBE Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)

Διαβάστε περισσότερα

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Θα

Διαβάστε περισσότερα

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

Διαβάστε περισσότερα

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe 1 Θα μιλήσουμε για

Διαβάστε περισσότερα

Σχεδίαση Σχεσιακών ΒΔ

Σχεδίαση Σχεσιακών ΒΔ Σχεδίαση Σχεσιακών ΒΔ Εισαγωγή: Μοντελοποίηση, Σχεδιασμός και Ανάπτυξη Βάσεων Δεδομένων Σχεδιασμός ΒΔ Εννοιολογικός σχεδιασμός το Μοντέλο Οντοτήτων Συσχετίσεων (Entity Relationship Model) Λογικός σχεδιασμός

Διαβάστε περισσότερα

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

Διαβάστε περισσότερα

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Εισαγωγή (1) Εναλλακτικοί τρόποι για

Διαβάστε περισσότερα

Σηµειώσεις Βάσεων εδοµένων

Σηµειώσεις Βάσεων εδοµένων Σηµειώσεις Βάσεων εδοµένων Επισκόπηση Σχεδίασης Β Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/ version: 2007-05--07 Περιεχόµενα Εισαγωγή Μοντελοποίηση, Σχεδιασµός

Διαβάστε περισσότερα

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές) Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη 1 Σχεσιακή Άλγεβρα Η σχεσιακή άλγεβρα (relational

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε επερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (querying)

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε επερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (querying) Εισαγωγή Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων εδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασµός Βάσεων εδοµένων (µε χρήση του Σχεσιακού Μοντέλου) Βάσεις εδοµένων

Διαβάστε περισσότερα

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL DML SELECT, FROM, WHERE,

Διαβάστε περισσότερα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 3ο Μάθημα: Εισαγωγή στην SQL Δρ. Κωνσταντίνος Χ. Γιωτόπουλος SQL Background SQL Structured Query Language Standard query γλώσσα για

Διαβάστε περισσότερα

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα. ΗΥ360 Αρχεία και Βάσεις Δεδομένων Φροντιστήριο στην Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα Εισαγωγή Σύνολο τελεστών που εφαρμόζονται σε μία ή περισσότερες σχέσεις Όλες οι πράξεις της σχεσιακής άλγεβρας επιστρέφουν

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Λογισμός πεδίου τιμών (domain calculus) Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σχεσιακό Μοντέλο Ο λογισμός πεδίου τιμών διαφέρει από

Διαβάστε περισσότερα

Κεφ 4: Προχωρημένες Εντολές SQL

Κεφ 4: Προχωρημένες Εντολές SQL Κεφ 4: Προχωρημένες Εντολές SQL Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Σύνδεση σχέσεων (join) Οι λειτουργίες Join παίρνουν ως είσοδο δυο σχέσεις και επιστρέφουν

Διαβάστε περισσότερα