Βάσεις Δεδομένων II Ενότητα 4: Σχεσιακός λογισμός II Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Δρ. Παναγιώτης Συμεωνίδης
Advertisements

Ηλεκτρονική Ενότητα 5: DC λειτουργία – Πόλωση του διπολικού τρανζίστορ
Βάσεις Δεδομένων II Ενότητα 3: Σχεσιακός λογισμός I Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Βάσεις Δεδομένων II Ενότητα 5: Απόψεις Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
ανώτερες κανονικές μορφές
Βάσεις Δεδομένων Ι Ενότητα 9: Πρόσθετη κανονικοποίηση: κανονικές μορφές 1 η, 2 η, 3 η και ΚΜ-BC Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής.
Βάσεις Δεδομένων Ι Ενότητα 4: Σχεσιακά αντικείμενα δεδομένων: πεδία ορισμού και σχέσεις Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής.
Βάσεις Δεδομένων I Ενότητα 6: Σχεσιακή Άλγεβρα Γεωργία Γκαράνη
Τμήμα Μηχανικών Πληροφορικής Τ.Ε.,
Βάσεις Δεδομένων Ι Ενότητα 7: H γλώσσα SQL Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
Ποιότητα Λογισμικού Ενότητα 3: Σουίτες Ελέγχων. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Χρονικός Προγραμματισμός Έργων (Εργαστήριο) Ενότητα 5: Αναθέσεις σε πόρους Κλεάνθης Συρακούλης, Επίκουρος Καθηγητής, Τμήμα Διοίκησης Επιχειρήσεων, T.E.I.
Ανθρωπολογία του Θεάτρου Ενότητα 4 η : Βασικές αρχές της Τέχνης του Ηθοποιού Γιώργος Σαμπατακάκης, M.Phil. (Καίμπρητζ) – Ph.D. (Λονδίνο) Τμήμα Θεατρικών.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εκπαιδευτικά Προγράμματα με Χρήση Η/Υ ΙΙ Θέμα «παιγνίδια» (website address) Διδάσκουσα: Καθηγήτρια Τζένη.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(2)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Εισαγωγή στους Η/Υ Ενότητα 8: Αριθμητική υπολογιστών Ιωάννης Σταματίου
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Ποιοτικός Έλεγχος Πρώτων Υλών
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(9)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ Κεφάλαιο 10 Λυμένες Ασκήσεις στον Ευφυή έλεγχο
ΜΗΧΑΝΙΚΗ ΤΩΝ ΥΛΙΚΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΛΕΠΤΟΤΟΙΧΑ
Διαχείριση Κινδύνου Ενότητα 7: Παρακολούθηση Κινδύνων.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 13 Αξιολόγηση μαθήματος και διδάσκοντος από την εφαρμογή της Μονάδας Ολικής Ποιότητας (ΜΟΔΙΠ) του ΤΕΙ Αθήνας Αξιολόγηση του μαθήματος Αξιολόγηση.
Διαχείριση Κινδύνου Ενότητα 3: Σχέδιο Διαχείρισης Κινδύνου.
Εισαγωγή στους Η/Υ Ενότητα 11: Αλγεβρικές πράξεις στους Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι η παρουσίαση δηλώσεων SQL που περιλαμβάνουν EXIST, ANY, ALL. Χ. Σκουρλάς.
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(3)
Συστήματα Αυτομάτου Ελέγχου II
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επιχειρησιακές Επικοινωνίες
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(4)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΕνΟτητα # 8: Ms Word V CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(5)
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(10)
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα # 0: Εισαγωγικά διάφορα Ιωάννης Καρύδης Τμήμα Πληροφορικής
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II Ενότητα 4: Σχεσιακός λογισμός II Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Θεσσαλίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας  Ικανότητα διατύπωσης ερωτημάτων στον σχεσιακό λογισμό,  Κατανόηση της ισοδυναμίας της σχεσιακής άλγεβρας με τον σχεσιακό λογισμό. Σημείωση: Οι διαφάνειες βασίζονται στο σύγγραμμα: C. J. Date. Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. 6 η έκδοση, Κλειδάριθμος, Σχεσιακός λογισμός II 4

Περιεχόμενα ενότητας  Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό, Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό,  Ισοδυναμία μεταξύ σχεσιακής άλγεβρας και σχεσιακού λογισμού. Ισοδυναμία μεταξύ σχεσιακής άλγεβρας και σχεσιακού λογισμού. Σχεσιακός λογισμός II 5

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (1 από 7) Παραδείγματα: 1. Να βρεθούν όλες οι λεπτομέρειες για όλα τα έργα. JX 2. Να βρεθούν όλες οι λεπτομέρειες για όλα τα έργα του Λονδίνου. JX WHERE JX.CITY = ‘London’ 3. Να βρεθούν οι κωδικοί των προμηθευτών που εφοδιάζουν το έργο J1. SPJX.S# WHERE SPJX.J# = ‘J1’ Σχεσιακός λογισμός II 6

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (2 από 7) 4. Να βρεθούν όλες οι αποστολές που η ποσότητα είναι στην περιοχή τιμών από 300 μέχρι και 700. SPJX WHERE SPJX.QTY  300 AND SPJX.QTY  Να βρεθούν όλοι οι συνδυασμοί χρώματος εξαρτήματος και πόλης εξαρτήματος. (PX.COLOR, PX.CITY) Σχεσιακός λογισμός II 7

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (3 από 7) 6. Να βρεθούν όλες οι τριάδες κωδικού προμηθευτή, κωδικού εξαρτήματος και κωδικού έργου, έτσι ώστε ο προμηθευτής, το εξάρτημα και το έργο που εξετάζουμε να βρίσκονται όλα στον ίδιο τόπο. (SX.S#, PX.P#, JX.J#) WHERE SX.CITY = PX.CITY AND PX.CITY = JX.CITY AND JX.CITY = SX.CITY 7. Να βρεθούν οι κωδικοί των εξαρτημάτων που διατίθενται από έναν προμηθευτή ο οποίος έχει έδρα το Λονδίνο. SPJX.P# WHERE EXISTS SX (SX.S# = SPJX.S# AND SX.CITY = ‘London’) Σχεσιακός λογισμός II 8

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (4 από 7) 8. Να βρεθούν οι κωδικοί των προμηθευτών στο Παρίσι που έχουν αξιολόγηση > 20. SX.S# WHERE SX.CITY= ‘Paris’ AND SX.STATUS>20 9. Να βρεθούν όλα τα ζεύγη κωδικών προμηθευτών που είναι τέτοια ώστε οι δύο προμηθευτές να έχουν έδρα την ίδια πόλη. (SX.S# AS FIRSTS#, SY.S# AS SECONDS#) WHERE SX.CITY=SY.CITY AND SX.S# < SY.S# 10. Να βρεθούν τα ονόματα των προμηθευτών που διαθέτουν το εξάρτημα P2. SX.SNAME WHERE EXISTS SPX (SPX.S# = SX.S# AND SPX.P# = ‘P2’) Σχεσιακός λογισμός II 9

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (5 από 7) 11. Να βρεθούν τα ονόματα των προμηθευτών που διαθέτουν τουλάχιστον ένα κόκκινο εξάρτημα. SX.SNAME WHERE EXISTS SPX (SPX.S# = SX.S# AND EXISTS PX (SPX.P# = PX.P# AND PX.COLOR = ‘Red’)) 12. Να βρεθούν τα ονόματα των προμηθευτών που διαθέτουν τουλάχιστον ένα εξάρτημα που το διαθέτει ο προμηθευτής S2. SX.SNAME WHERE EXISTS SPX (EXISTS SPY (SX.S# = SPX.S# AND SPX.P# = SPY.P# AND SPY.S# = ‘S2’)) Σχεσιακός λογισμός II 10

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (6 από 7) 13. Να βρεθούν τα ονόματα των προμηθευτών που διαθέτουν όλα τα εξαρτήματα. SX.SNAME WHERE FORALL PX (EXISTS SPX (SPX.S# = SX.S# AND SPX.P# = PX.P#)) 14. Να βρεθούν τα ονόματα των προμηθευτών που δε διαθέτουν το εξάρτημα P2. SX.SNAME WHERE NOT EXISTS SPX (SX.S# = SPX.S# AND SPX.P# = ‘P2’) Σχεσιακός λογισμός II 11

Παραδείγματα ερωτημάτων στον σχεσιακό λογισμό (7 από 7) 15. Να βρεθούν οι κωδικοί των εξαρτημάτων που είτε ζυγίζουν περισσότερο από 16 λίβρες, είτε διατίθενται από τον προμηθευτή S2, είτε και τα δύο. PX.P# WHERE PX.WEIGHT > 16 OR EXISTS SPX (SPX.P# = PX.P# AND SPX.S# = ‘S2’) Σχεσιακός λογισμός II 12

Υπολογιστικές δυνατότητες Η σύνταξη για την αναφορά συγκεντρωτικής συνάρτησης είναι: συγκεντρωτική-συνάρτηση ( παράσταση [, γνώρισμα ] ) συγκεντρωτική-συνάρτηση είναι μια από τις συναρτήσεις COUNT, SUM, AVG, MAX, και MIN, παράσταση είναι μια παράσταση του λογισμού συστοιχιών (και επομένως, δίνει ως αποτέλεσμα μια σχέση), και γνώρισμα είναι εκείνο το γνώρισμα της σχέσης του αποτελέσματος πάνω στο οποίο θα εκτελεστεί η συγκεντρωτική συνάρτηση. Για την COUNT, το όρισμα γνώρισμα δεν έχει νόημα και μπορεί να παραληφθεί. Σχεσιακός λογισμός II 13

Παραδείγματα (1 από 3) 1. Να βρεθεί ο κωδικός εξαρτήματος και το βάρος σε γραμμάρια (GMWT) για κάθε εξάρτημα που έχει βάρος σε γραμμάρια > (PX.P#, PX.WEIGHT*454 AS GMWT) WHERE PX.WEIGHT > Να βρεθούν όλες οι λεπτομέρειες των προμηθευτών, με μια ετικέτα την κυριολεκτική τιμή «Προμηθευτής», στην κάθε συστοιχία της σχέσης S. (SX, ‘Προμηθευτής’ AS TAG) Σχεσιακός λογισμός II 14

Παραδείγματα (2 από 3) 3. Να βρεθεί κάθε αποστολή με τις αντίστοιχες λεπτομέρειες για τα εξαρτήματα και το ολικό βάρος της αποστολής. (SPX.S#, SPX.QTY, SPX.P#, PX.WEIGHT*SPX.QTY AS SHIPWT) WHERE PX.P#=SPX.P# 4. Να βρεθεί για το κάθε εξάρτημα, ο κωδικός του εξαρτήματος και η ολική ποσότητα. (PX.P#, SUM(SPX WHERE SPX.P#=PX.P#, QTY) AS TOTQTY) 5. Να βρεθεί η συνολική ποσότητα αποστολής. SUM(SPX, QTY)) AS GRANDTOTAL Σχεσιακός λογισμός II 15

Παραδείγματα (3 από 3) 6. Για τον κάθε προμηθευτή, να βρεθεί ο κωδικός του προμηθευτή και το συνολικό πλήθος των εξαρτημάτων που διαθέτει. (SX.S#, COUNT(SPX WHERE SPX.S#=SX.S#) AS NUM_OF_PARTS) 7. Να βρεθούν οι πόλεις των εξαρτημάτων όπου είναι αποθηκευμένα (α) περισσότερα από πέντε κόκκινα εξαρτήματα, (β) πέντε ή λιγότερα κόκκινα εξαρτήματα. (α) PX.CITY WHERE COUNT (PY WHERE PY.CITY=PX.CITY AND PY.COLOR= ‘Red’) > 5 (β) PX.CITY WHERE COUNT (PY WHERE PY.CITY=PX.CITY AND PY.COLOR= ‘Red’)  5 Σχεσιακός λογισμός II 16

Ισοδυναμία μεταξύ σχεσιακής άλγεβρας και σχεσιακού λογισμού Η άλγεβρα και ο λογισμός είναι θεμελιωδώς ισοδύναμα μεταξύ τους. Ο Codd έδειξε ότι η άλγεβρα είναι τουλάχιστον το ίδιο ισχυρή με τον λογισμό, χρησιμοποιώντας έναν αλγόριθμο, τον «αλγόριθμο αναγωγής του Codd». Με τον αλγόριθμο αυτό μια οποιαδήποτε παράσταση του λογισμού μπορούσε να αναχθεί σε μια εννοιολογικά ισοδύναμη παράσταση της άλγεβρας. Σχεσιακός λογισμός II 17

Παράδειγμα (1 από 10) «Να βρεθούν τα ονόματα και οι πόλεις των προμηθευτών που εφοδιάζουν τουλάχιστον ένα έργο στην Αθήνα με τουλάχιστον 50 τεμάχια από κάθε εξάρτημα.» Μια παράσταση του λογισμού γι’ αυτό το ερώτημα είναι: (SX.SNAME, SX.CITY) WHERE EXISTS JX FORALL PX EXISTS SPJX (JX. CITY = ‘Athens’ AND JX.J# = SPJX.J# AND PX.P# = SPJX.P# AND SX.S# = SPJX.S# AND SPJX.QTY  50) Θα δείξουμε τώρα πώς μπορεί να εκτιμηθεί αυτή η παράσταση ώστε να δώσει το ζητούμενο αποτέλεσμα. Σχεσιακός λογισμός II 18

Παράδειγμα (2 από 10) Βήμα 1: Για την κάθε μεταβλητή συστοιχιών, ανακαλείται το πεδίο τιμών (δηλαδή, το σύνολο των πιθανών τιμών γι’ αυτή τη μεταβλητή), με περιορισμό αν είναι δυνατόν, εφόσον δηλ. υπάρχει μια συνθήκη περιορισμού στη φράση WHERE, που είναι δυνατόν να χρησιμοποιηθεί αμέσως για την απαλοιφή ορισμένων συστοιχιών από όλες τις επόμενες φάσεις. SX: Όλες οι συστοιχίες της S, PX: Όλες οι συστοιχίες της P, JX: Συστοιχίες της J όπου CITY= ‘Athens’, SPJX: Συστοιχίες της SPJ όπου QTY  50. Σχεσιακός λογισμός II 19

Παράδειγμα (3 από 10) Βήμα 2: Κατασκευάζεται το καρτεσιανό γινόμενο των πεδίων τιμών που ανακλήθηκαν στο Βήμα 1. Βήμα 3: Περιορίζεται το καρτεσιανό γινόμενο που κατασκευάστηκε στο Βήμα 2, σύμφωνα με το μέρος της φράσης WHERE που αφορά τη «συνθήκη σύζευξης». Στο παράδειγμα, αυτό το μέρος είναι: JX.J# = SPJX.J# AND PX.P# = SPJX.P# AND SX.S# = SPJX.S# Σχεσιακός λογισμός II 20

Παράδειγμα (4 από 10) Απαλείφουμε λοιπόν από το γινόμενο τις συστοιχίες για τις οποίες η τιμή S# του προμηθευτή δεν είναι ίση με την τιμή S# της αποστολής, ή η τιμή P# του εξαρτήματος δεν είναι ίση με την τιμή P# της αποστολής, ή η τιμή J# του έργου δεν είναι ίση με την τιμή J# της αποστολής, για να προκύψει ένα υποσύνολο του καρτεσιανού γινομένου που αποτελείται μόνο από δέκα συστοιχίες. Αποτέλεσμα: Σχεσιακός λογισμός II 21

Παράδειγμα (5 από 10) Βήμα 4: Εφαρμόζονται οι ποσοδείκτες από τα δεξιά προς τα αριστερά με τον εξής τρόπο:  Για τον ποσοδείκτη “EXISTS RX” (όπου RX είναι μια μεταβλητή συστοιχιών που έχει πεδίο τιμών κάποια σχέση R), προβάλλεται το τρέχον ενδιάμεσο αποτέλεσμα ώστε να απαλειφθούν όλα τα γνωρίσματα της σχέσης R.  Για τον ποσοδείκτη “FORALL RX”, διαιρείται το τρέχον ενδιάμεσο αποτέλεσμα με τη σχέση «περιορισμένου πεδίου τιμών» που είναι συνδεδεμένη με την RX, η οποία ανακλήθηκε στο Βήμα 1. Αυτή η πράξη θα έχει επίσης ως αποτέλεσμα να απαλειφθούν όλα τα γνωρίσματα της σχέσης R. Σχεσιακός λογισμός II 22

Παράδειγμα (6 από 10) Στο παράδειγμα οι ποσοδείκτες είναι: EXISTS JX FORALL PX EXISTS SPJX Επομένως: 1. (EXISTS SPJX) Απαλείφονται με προβολή τα γνωρίσματα της SPJ (SPJ.S#, SPJ.P#, SPJ.J#, SPJ.QTY). Αποτέλεσμα: Σχεσιακός λογισμός II 23

Παράδειγμα (7 από 10) 2. (FORALL PX) Γίνεται διαίρεση με τη σχέση P. Αποτέλεσμα: 3. (EXISTS JX) Απαλείφονται με προβολή τα γνωρίσματα της J (J.J#, J.JNAME, J.CITY). Αποτέλεσμα: Σχεσιακός λογισμός II 24

Παράδειγμα (8 από 10) Βήμα 5: Προβάλλεται το αποτέλεσμα του Βήματος 4, σύμφωνα με τους προσδιορισμούς της λίστας των ζητούμενων στοιχείων. Στο παράδειγμά μας η λίστα των ζητούμενων στοιχείων είναι: SX.SNAME, SX.CITY Επομένως, το τελικό αποτέλεσμα είναι: Επομένως, προκύπτει ότι η αρχική παράσταση του λογισμού είναι εννοιολογικά ισοδύναμη με μια ορισμένη αλγεβρική παράσταση με ένθετες υποπαραστάσεις. Σχεσιακός λογισμός II 25

Παράδειγμα (9 από 10) Οι οκτώ αλγεβρικοί τελεστές του Codd αποτελούν επίσης ένα μέτρο σύγκρισης με το οποίο μπορεί να μετρηθεί η εκφραστική δύναμη οποιασδήποτε δεδομένης γλώσσας βάσεων δεδομένων. 1. Μια γλώσσα χαρακτηρίζεται σχεσιακά πλήρης αν είναι τουλάχιστον εξίσου ισχυρή με τον σχεσιακό λογισμό. Η σχεσιακή πληρότητα μπορεί να θεωρηθεί ένα βασικό μέτρο για την εκφραστική δύναμη των γλωσσών βάσεων δεδομένων γενικά. Σχεσιακός λογισμός II 26

Παράδειγμα (10 από 10) 2. Αφού η άλγεβρα είναι σχεσιακά πλήρης, προκύπτει ότι, για να αποδείξουμε ότι μια οποιαδήποτε γλώσσα L είναι επίσης πλήρης, αρκεί να αποδείξουμε (α) ότι η L περιλαμβάνει ανάλογες πράξεις για την κάθε μια από τις οκτώ αλγεβρικές πράξεις, και (β) ότι οι τελεστέοι οποιασδήποτε πράξης της L μπορεί να είναι οποιεσδήποτε παραστάσεις της L. Σχεσιακός λογισμός II 27

Τέλος Ενότητας Επεξεργασία υλικού: Χαρτώνας Αλέξανδρος