Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙΙ. RA Advanced + Examples

Σχετικά έγγραφα
Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 9: RA IΙ. Relational Algebra. (Chapter Elmasri-Navathe 5ED)

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

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

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

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

Constructors and Destructors in C++

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

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

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

Lecture 14: SQL DML I

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Lecture 14: SQL DML I

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Βάρειπ Δεδξμέμωμ. Εξγαζηήξην ΙΙI. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

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

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Lecture 8: RM I + RA I

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

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Master Class 3. Ο Ν.Ζανταρίδης προτείνει θέματα Μαθηματικών Γ Λσκειοσ ΘΕΜΑ 1.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

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

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

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Εξγαζηήξην Πιεξνθνξηθήο

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

γηα ηνλ Άξε Κσλζηαληηλίδε

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

x x x x tan(2 x) x 2 2x x 1

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

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

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Lecture 16: SQL DML III

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

2.4 Βαζικές ζσνιζηώζες/ ενηολές ενός αλγορίθμοσ

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

όπου R η ακηίνα ηου περιγεγραμμένου κύκλου ηου ηριγώνου.

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Lecture 16: SQL DML III

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 10: RA IΙΙ RA Advanced + Examples (Chapter 6.4-6.5, Elmasri-Navathe 5ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342 10-1

Δπηζθόπεζε Τειεζηώλ Σρεζηαθήο Άιγεβξαο πνπ Καιύθζεθαλ Η ρεζηαθή Άιγεβξα παξέρεη ηνπο ηειεζηέο (operators): Μνλαδηαίνη ρεζηαθνί Σειεζηέο (Unary Relational Ops) Δπηινγή (Select, (sigma)) Πξνβνιή (Project, (pi)) Μεηνλνκαζία (Rename, (rho)) ρεζηαθνί Σειεζηέο από ηελ Θεωξία πλόιωλ Έλωζε (UNION, ), Σνκή (INTERSECTION, ), Γηαθνξά πλόιωλ (DIFFERENCE ή MINUS, ) Καξηεζηαλό Γηλόκελν (CARTESIAN PRODUCT, x ) Γπαδηθνί ρεζηαθνί Σειεζηέο (Binary Relational Ops) πλέλωζε (JOIN, )(ππάξρνπλ πνιιαπιέο εθδνρέο) Δθόζνλ ην δελ ππνζηεξίδεηαη ζαλ ζύκβνιν ζα ρξεζηκνπνηείηαη ην Γηαίξεζε (DIVISION, /) Δπηπιένλ ρεζηαθνί Σειεζηέο πλαξηήζεηο πλάζξνηζεο AGGREGATE FUNCTIONS (π.ρ., SUM, COUNT, AVG, MIN, MAX) Δμωηεξηθή πλέλωζε (OUTER JOINS), 10-2

Πεξηερόκελν Γηάιεμεο Κεθάιαην 6: Πξνρωξεκέλε ρεζηαθή Άιγεβξα 6.3) Γπαδηθνί Σρεζηαθνί Τειεζηέο: Γηαίξεζε, Σπκβνιηζκόο γηα Γέλδξα Δπεξωηήζεωλ 6.4) Δπηπιένλ Σρεζηαθέο Πξάμεηο: πλαζξνηζηηθέο πλαξηήζεηο (Aggregate Functions) Γεληθεπκέλε Πξνβνιή (Generalized Projection) Οκαδνπνίεζε (Grouping) Πξάμεηο Αλαδξνκηθήο Κιεηζηόηεηαο (Recursive Closure) Πξάμεηο Δμωηεξηθήο πλέλωζεο (Outer Join) 6.5) Παξαδείγκαηα Δπεξσηήζεσλ ζε Σρεζηαθή Άιγεβξα κε ην Σρήκα Βάζεο University θαη ην Σρήκα Sailors-Reserve-Boats 10-3

Γπαδηθνί Σρεζηαθνί Τειεζηέο Γηαίξεζε (Division) Ο ηειεζηήο ηεο Γηαίξεζεο (Division, /), παξόιν πνπ ΓΔΝ ππνζηεξίδεηαη ζε πξαγκαηηθέο γιώζζεο βάζεσλ δεδνκέλσλ*, είλαη ρξήζηκνο ζην πιαίζην ηεο Σρεζηαθήο Άιγεβξαο γηα λα δηαηππώζεη επεξσηήζεηο ηεο κνξθήο: Βρες ηοσς Suppliers ποσ προζθέροσν ΌΛΑ ηα Parts (όπως προζδιορίζονηαι ηα Parts). Π.ρ., sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 PARTS pno p2 p4 / = s1 sno * Σηελ ζπλέρεηα ζα δνύκε πσο ν ηειεζηήο κπνξεί λα πινπνηεζεί κε ρξήζε ππαξθηώλ ηειεζηώλ EPL342: Databases ηεο SQL - Demetris (δει., αληίζηνηρνπο Zeinalipour (University ηειεζηέο of ησλ Cyprus) ζ-π-x) s4 10-4

Γπαδηθνί Σρεζηαθνί Τειεζηέο Γηαηξεηένο (nominator) sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 A Γηαίξεζε (Division) sno s1 s2 s3 s4 A/B1 Γηαηξέηεο (denominators) pno / / pno p2 p2 B1 p4 Απάληεζε; B2 Απάληεζε; sno s1 s4 A/B2 Αλαπαξάζηαζε Γηαίξεζεο κε Πνζνδείθηεο Α / Β = { x (x,y) A y B } / pno p1 p2 p4 B3 Απάληεζε; sno s1 A/B3 10-5

Expressing A/B Using Basic Operators Σεκεηώζηε όηη ε δηαίξεζε (/) ΓΔΝ είλαη βαζηθόο ηειεζηήο αιιά απνηειεί βνιηθή ζπληνκνγξαθία Τν ίδην ηζρύεη θαη γηα ηελ πλέλωζε ( ), ζπκεζείηε όηη R Θ S= Θ (R S). Ωζηόζν ε ζπλέλσζε είλαη πξαγκαηηθά ρξήζηκε (γηα απηό πινπνηείηαη από από ηελ SQL σο μερσξηζηόο ηειεζηήο) Εθόζον η διαίπεζη δεν ςπάπσει ωρ ηελεζηήρ ζε ππαγμαηικέρ γλώζζερ, ποια ακολοσθία ηελεζηών ζ-π-x θα μαρ επέζηπεθε ηο ίδιο λογικό αποηέλεζμα; Έκθραζη Γιαίρεζης με ηελεζηές ζ-π-x A / B = π x (Α) - π x ( (π x (Α) B) - A) Η επόκελε δηαθάλεηα εμεγεί ηελ πην πάλσ έθθξαζε 10-7

Γπαδηθνί Σρεζηαθνί Τειεζηέο Γηαίξεζε (Division) A / B = π x (Α) - π x ( (π x (Α) B) - A) = all_results - disqualifying_results all_results: Όιεο νη δπλαηέο πιεηάδεο ηνπ απνηειέζκαηνο π.ρ., όινη νη suppliers π x (Α) = { s 1, s 2, s 3, s 4 } Από ην all_results πξέπεη λα αθαηξέζνπκε ηνπο αθαηάιιεινπο suppliers (disqualifying_results) π ρ απηνύο πνπ ΓΔΝ πξνζθέξνπλ ΟΛΑ ηα parts y Β. (δει., s 2, s 3 ) disqualifying_results ζπκβνιίδεηαη κε [ π x ( (π x (Α) B) - A)] Η επεμήγεζε ηνπ πην πάλσ αθνινπζεί δηαγξακκαηηθά x s1 s2 s3 x s1 s1 y p2 p4 y s2 p2 p2 s2 p4 p4 = s3 p2 s3 p4 s4 B s4 p2 π s4 p4 x (Α) (π x (Α) B) Όινη νη Γπλαηνί Σπλδπαζκνί x s1 s1 s1 s1 s2 s2 s3 y p1 p2 p3 p4 p1 p2 p2 s4 p2 A s4 p4 Πξαγκαηηθνί Σπλδπαζκνί - x s1 s1 s1 s1 s2 s2 s3 s4 s4 Α Β y p2 p4 sno s2 s3 y p1 p2 p3 p4 p1 p2 p2 p2 p4 Disqualifying_ results = Σέινο, Α/Β = {s1,s2,s3,s4} {s2,s3} = {s1, 10-8 s4}

Γέλδξν Δπεξώηεζεο (Query Tree) Γέλδξν Δπεξώηεζεο (Query Tree) Δίλαη κηα δελδξηθή δνκή πνπ αληηζηνηρεί ζε κηα έθθξαζε ηεο Σρεζηαθήο Άιγεβξαο ε νπνία δείρλεη κε πνηα αθνινπζία πξέπεη λα εθηειεζηνύλ νη ηειεζηέο Σεξκαηηθνί Κόκβνη: Σρέζεηο Δηζόδνπ Δζωηεξηθνί Κόκβνη: Τειεζηέο To δέλδξν ζηα δεμηά, αλαπαξηζηάηαη από ηελ έθθξαζε Σ.Α.: T1 ζ P.Plocation= Stafford (P) T2 T1 DNum=DNumber D T3 T2 Mgr_ssn=ssn D T4 π Pnumber, Dnum,Address, Bdate (T3) 10-11

Γέλδξν Δπεξώηεζεο (Query Tree) Έλα Γέλδξν Δπεξώηεζεο (Query Tree) νλνκάδεηαη θαη Γέλδξν Απνηίκεζεο Δπεξωηήζεωλ (Query Evaluation Tree) Η βάζε δεδνκέλσλ επηιεγεί ζπλήζσο κόλν ηα αξηζηεξνβαζή δέλδξα (απηά ζηα νπνία ην δεμί παηδί είλαη ζρέζε εηζόδνπ γηαηί κε απηό ηνλ ηξόπν ηα απνηειέζκαηα κπνξεί λα ζσιελώλνληαη κεηαμύ ηειεζηώλ (pipelined) Σεκεηώζηε όηη ππάξρνπλ πνιιά ηέηνηα πηζαλά δέλδξα n!, όπνπ n o αξηζκόο ησλ ζρέζεσλ (δηάηαμε ρσξίο επαλαηνπνζέηεζε) 10-12

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Additional Relational Operators) Η ζρεζηαθή άιγεβξα, όπσο πξνηάζεθε δελ είρε πξόλνηεο γηα θάπνηα είδε ρξήζηκωλ πξάμεωλ, π.ρ., πλαζξνηζηηθέο πλαξηήζεηο (Aggregate Functions) Δύξεζε απιώλ ζηαηηζηηθώλ ησλ πηλάθσλ (π.ρ., κέζε ειηθία, κέγηζηνο βαζκόο θνηηεηή, αξηζκόο θνηηεηώλ ζε κηα ζρέζε θηι.) Οκαδνπνίεζε (Grouping) ησλ ζπλαζξνηζηηθώλ απνηειεζκάησλ (π.ρ., αλά Τκήκα) Πξάμεηο Αλαδξ. Κιεηζηόηεηαο (Recursive Closure) γηα εύξεζε απαληήζεσλ αλαδξνκηθά ζε κηα ζρεζε Πξάμεηο Δμωηεξηθήο πλέλωζεο (Outer Join) γηα ζπκπεξίιεςε πιεηάδσλ πνπ δελ ζπλελώλνληαη Πνιιέο από ηηο πην πάλσ πξάμεηο ππνζηεξίδνληαη ζήκεξα θαη ηόζν ζην ηππηθό επίπεδν (δει., ζηε Σρεζηαθή Άιγεβξα όζν θαη ζην πξαθηηθό επίπεδν (δει., ζηε SQL, QBE, θηι.) 10-13

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Σπλαζξνηζηηθέο Σπλαξηήζεηο) πλαζξνηζηηθέο πλαξηήζεηο (Aggregate Functions): Πξνζδηνξίδνπλ καζεκαηηθέο πξάμεηο πάλσ ζε ζπιινγέο ηηκώλ ηεο βάζεο: F <function-list> (Relation) Function List: ΜΙΝ, ΜΑΥ, SUM, COUNT, AVERAGE, Παξάδεηγκα: Βξεο ηε κέζε ειηθία ησλ ππάιιεισλ F Average(age) (EMPLOYEE) Η ζπλάξηεζε COUNT ρξεζηκνπνηείηαη γηα λα κεηξηνύληαη πιεηάδεο ή ηηκέο. Γελ κεηξηνύληαη ηα NULL θαη ηα δηπιόηππα (duplicates) Σηελ SQL, όπνπ νη ζρέζεηο (πίλαθεο) ελδέρεηαη λα πεξηέρνπλ δηπιόηππα (duplicates) ρξεζηκνπνηείηαη θαη ε έλλνηα ηνπ COUNT DISTINCT γηα λα MHN κεηξηνύληαη μαλά ηα δηπιόηππα. Σηε ρεζηαθή Άιγεβξα σζηόζν δελ ππάξρεη απηό ην πξόβιεκα εθόζνλ νη ζρέζεηο αθνινπζνύλ πηζηά ηελ έλλνηα ηνπ ζπλόινπ. 10-14

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Σπλαζξνηζηηθέο Σπλαξηήζεηο) Παξαδείγκαηα Υξήζεο ηνπ Σειεζηή πλαζξνηζηηθήο πλάξηεζεο F F MAX(Salary) (EMPLOYEE) επηζηξέθεη ηελ κέγηζηε ηηκή ηνπ πεδίνπ Salary πνπ εκθαλίδεηαη ζηε ζρέζε EMPLOYEE. F MIN(Salary) (EMPLOYEE) επηζηξέθεη ηελ ειάρηζηε ηηκή ηνπ πεδίνπ Salary πνπ εκθαλίδεηαη ζηε ζρέζε EMPLOYEE. F SUM(Salary) (EMPLOYEE) επηζηξέθεη ην άζξνηζκα ηνπ πεδίνπ Salary πνπ εκθαλίδεηαη ζηε ζρέζε EMPLOYEE. F COUNT(SSN), AVERAGE(Salary) (EMPLOYEE) επηζηξέθεη ηνλ αξηζκό ηωλ ππαιιήιωλ θαη ηνλ κέζν όξν ησλ κηζζώλ ηνπο 10-15

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Οκαδνπνίεζε κε Σπλαζξνηζηηθέο Σπλαξηήζεηο) Οκαδνπνίεζε (Grouping) Οη ζπλαζξνηζηηθέο ζπλαξηήζεηο F κπνξεί λα εθαξκόδνληαη ζε επί κέξνπο (νκαδνπνηεκέλα) ππνζύλνια κηαο ζρέζεο Π.ρ., Βξεο ηνλ Μέζν Μηζζό αλά Σκήκα (αληί γηα όιε ηελ εηαηξεία). Ο ηειεζηήο ηεο ζπλάζξνηζεο επεθηείλεηαη σο αθνινύζσο: <grouping-list>f <function-list> (Relation) To απνηέιεζκα πεξηιακβάλεη ηα πεδία πνπ πξνζδηνξίδνληαη ζην function-list θαη ην επηπιένλ πεδίν(α) ηνπ grouping-list Παξάδεηγκα Δξώηεζε: Γηα θάζε ηκήκα, αλάθηεζε ην DNO, ηνλ αξηζκό ησλ ππαιιήισλ θαη ηνλ κέζν κηζζό αλά ηκήκα Απάληεζε: DNO F COUNT(SSN), AVERAGE(Salary) (EMPLOYEE) 10-16

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Οκαδνπνίεζε κε Σπλαζξνηζηηθέο Σπλαξηήζεηο) Δάλ ζέινπκε κπνξνύκε λα κεηνλνκάζνπκε ηα απνηειέζκαηα έηζη ώζηε απηά λα έρνπλ εμεηδηθεπκέλα νλόκαηα γλσξηζκάησλ R(Dno, No_of_employees, Average_sal) DNO F COUNT(SSN), AVERAGE(Salary) (EMPLOYEE) 10-17

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Οκαδνπνίεζε + Δπηινγή κε Σπλαζξ. Σπλαξ.) Οκαδνπνίεζε κε Δπηινγή (HAVING) Φηιηξάξεη ην απνηέιεζκα κηαο νκαδνπνίεζεο π.ρ., λα βξνύκε θαη πάιη ηνλ αξηζκό ππαιιήισλ θαη ηνλ κέζν όξν κηζζώλ αλά ηκήκα αιιά λα ηππώζνπκε κόλν ηα απνηειέζκαηα όπνπ Count>3. Σηε SQL ππάξρεη εμεηδηθεπκέλνο ηειεζηήο γηα απηή ηε ζπρλή ιεηηνπξγία ν νπνίνο νλνκάδεηαη HAVING (ζα κειεηεζεί αξγόηεξα) Σηε ρεζηαθή Άιγεβξα κπνξεί λα ιπζεί κε ζπλδπαζκό πλαζξνηζηηθήο ζπλάξηεζεο αθνινπζνύκελν από επηινγή. Τν παξάδεηγκα ζηελ επόκελε δηαθάλεηα δείρλεη πσο 10-18

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Οκαδνπνίεζε + Δπηινγή κε Σπλαζξ. Σπλαξ.) Q1: Βξεο ηα νλόκαηα όιωλ ηωλ ππαιιήιωλ κε δπν ή πεξηζζόηεξνπο εμαξηώκελνπο (dependents). // Καηαμέηπηζη (COUNT) Εξαπηωμένων κάθε αηόμος 1. T1(Ssn, Dcount) ESSN F COUNT(Dependent_name) (DEPENDENT) // Φιληπάπιζμα Σςναπθποιζηικού Αποηελέζμαηορ με Επιλογή 2. T2 ζ Dcount 2 (T1) // Πποβολή Αποηελεζμάηων (μέζω θςζικήρ ζςνένωζηρ πάνω ζηο SSN) 3. RESULT π LNAME, FNAME (T2 *EMPLOYEE) 10-19

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Γεληθεπκέλε Πξνβνιή) Γεληθεπκέλε Πξνβνιή (Generalized Projection): Δπεθηείλεη ηελ πξάμε ηεο πξνβνιήο επηηξέπνληαο λα ζπκπεξηιεθζνύλ ζηε ιίζηα ηεο πξνβνιήο ζπλαξηήζεηο γλωξηζκάηωλ, δει., π F1, F2,, Fn (R), όποσ F i (i n) κπνξεί λα είλαη ζπλάξηεζε γλωξίζκαηνο ή ζηαζεξά. Π.ρ., Υπνζέζηε ην αθόινπζν Σρήκα: EMPLOYEE(Ταπηόηεηα, Μηζζόο, Απνθνπέο, Φξόληα_Υπεξεζίαο) Π Σαπηόηεηα, Μηζζόο-Απνθνπέο, 2000*Υξόληα_Τπεξεζίαο, 0.25*Μηζζόο (EMPLOYEE) Απλό Γνώπιζμα Καθαπόρ Μιζθόρ Bonus Φοπολογία 10-20

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Αλαδξνκηθή Κιεηζηόηεηα) Αλαδξνκηθή Κιεηζηόηεηα (Recursive or Transitive Closure Operations): Δπεμήγεζε κε Παξάδεηγκα: Supervisor(123456789) 333445555 Supervisor(333445555) 888665555 Supervisor(888665555) NULL Supervisor(123456789) ζε όια ηα πην πάλσ επίπεδα? Απάληεζε Α= {333445555, 888665555, NULL} Τν Α νξίδεη ηελ αλαδξνκηθή θιεηζηόηεηα ηνπ Supervisor(123456789) νζέζηε ην αθόινπζν ζρήκα 10-21

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Αλαδξνκηθή Κιεηζηόηεηα) Αλαδξνκηθή Κιεηζηόηεηα (Recursive Closure Operations) Σηε Σρεζηαθή Άιγεβξα δελ ππάξρεη ηειεζηήο πνπ λα ππνζηεξίδεη απηή ηελ πξάμε. Μπνξνύκε σζηόζν λα ην ππνζηεξίμνπκε κε κηα ζεηξά ελώζεωλ (δεο επόκελε δηαθάλεηα). Σε SQL3, πνπ ζα δνύκε αξγόηεξα, ζα είλαη δπλαηό λα πινπνηεζεί κε θάπνην δηαδηθαζηηθό ηξόπν, κε ρξήζε επαλαιήςεσλ, αιιά όρη κέζσ θάπνηνπ εμεηδηθεπκέλνπ ηειεζηή. Μηα ηδέα είλαη ε ρξήζε ηνπ αιγνξίζκνπ Floyd- Warshall, ην νπνίν βξίζθεη ην ειάρηζην κνλνπάηη κεηαμύ νπνηνλδήπνηε θνξπθώλ(θαη θαη επέθηαζε όια ηα δπλαηά δεύγε) 10-22

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Αλαδξνκηθή Κιεηζηόηεηα) Αλαδξνκηθή Κιεηζηόηεηα ζε Σρεζηαθή Άιγεβξα supervises Borg Δξώηεκα (Q5): Βξεο ηνπο πθηζηάκελνπο (supervisees) ηνπ James Borg κέρξη 2 επίπεδα θάησ. Απάληεζε: A B 1. BORG_SSN π SSN (ζ Fname= James AND Lname= Borg (EMPLOYEE)) C 2. SUPERVISION(SSN1,SSN2) π SSN, Super_ssn (EMPLOYEE) // Υθιζηάμενοι ηος James Borg ζε επίπεδο 1 3. RESULT1(SSN)= π SSN1 (SUPERVISION SSN2=SSN BORG_SSN)) // Υθιζηάμενοι ηων Άμεζα Υθιζηάμενων ηος James Borg (ζε επίπεδο 2) 4. RESULT2(SSN)= π SSN1 (SUPERVISION SSN2=SSN RESULT1)) 5. RESULT RESULT2 RESULT1 10-23

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Αλαδξνκηθή Κιεηζηόηεηα) BORG SSN: 888665555 Τθηζηάκελνη Borg Δπηπέδνπ 1 Τθηζηάκελνη Borg Δπηπέδνπ 2 RESULT2 RESULT1 10-24

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Δμσηεξηθή Σπλέλσζε, Outer Join =, =, = =) Δμωηεξηθή πλέλωζε (Outer Join) Παξάδεηγκα Sailors =5 sid sname rating age 22 dustin 7 45.0 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 sid=sid Reserves =6 sid bid Σε κηα Θ-ζπλέλωζε ηo απνηέιεζκα πεξηιακβάλεη MONO ηηο πιεηάδεο πνπ έρνπλ ην ίδην γλώξηζκα ζπλέλσζεο (δει., ην sid): SAILOR sid=sid RESERVES = {(28, yuppy, 9, 35.0, 103, 12/4/06), (28, yuppy, 9, 35.0, 103, 11/3/06), (31, lubber, 8, 55.5, 101, 10/10/06), (31, lubber, 8, 55.5, 102, 10/12/06), (31, lubber, 8, 55.5, 101, 10/11/06), (58, rusty, 10, 35.0, 103, 11/12/06)} Σπρλά, ζέινπκε λα έρνπκε ζην απνηέιεζκα ΟΛΔΣ ηηο πιεηάδεο ηεο ΑΡΙΣΔΡΗ ζρέζεο, δει., λα πεξηιακβάλεη θαη ηηο πιεηάδεο (22,dustin,7,45.0,NULL,NULL), (44,guppy,5,35.0,NULL, NULL) Τν πην πάλσ είλαη παξάδεηγκα Αξηζηεξήο Δμ. πλ. (left outer join, = ) Καηά αληίζηνηρν ηξόπν δεκηνπξγνύληαη θαη νη έλλνηεο ηεο δεμηάο (right outer join, =) θαη Πιήξεο Δμωηεξηθήο ζπλέλωζεο (full outer join,= =) day 28 103 12/4/06 28 103 11/3/06 31 101 10/10/06 31 102 10/12/06 31 101 10/11/06 58 103 11/12/06 10-25

Δπηπιένλ Σρεζηαθνί Τειεζηέο (Δμσηεξηθή Σπλέλσζε, Outer Join =, =, = =) EMPLOYEE = DNO=Dnumber DEPARTMENT_SUB 2 2 2 2 2 Σππηθά, ην ζελάξην απηό δελ είλαη εθηθηό ιόγω ηνπ θαλόλα αλαθνξηθήο αθεξαηόηεηαο, πξνθύπηεη ωζηόζν ζε ζπλέλωζε κεθιεηδηωλ DEPARTMENT_SUB DNO=Dnumber H εμσηεξηθή ζπλέλσζε είλαη ρξήζηκε γηα παξαγσγή απνηειεζκάησλ πνπ ζέινπλ ζην απνηέιεζκα όιεο ηηο εγγξαθέο κηαο νληόηεηαο αλεμάξηεηα εάλ ζπλελώλνληαη ή όρη. = 10-26

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο (Σρήκα UNIVERSITY) 10-27

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο Q1: Αλάθηεζε ην name θαη address όιωλ ηωλ ππαιιήιωλ πνπ δνπιεύνπλ γηα ην Research department. 1. RESEARCH_DEPT ζ DNAME= Research (DEPARTMENT) 2. RESEARCH_EMPS (RESEARCH_DEPT DNUMBER= DNO EMPLOYEE) 3. RESULT π FNAME, LNAME, ADDRESS (RESEARCH_EMPS) * Η ζεηξά ησλ ζ-π- ζα κπνξνύζε λα αιιάμεη ιακβάλνληαο πίζσ ην ίδην απνηέιεζκα (π.ρ., ε ζεηξά ησλ joins ζην 2) 10-28

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο Q3: Βξεο ην όλνκα ησλ ππαιιήισλ πνπ δνπιεύνπλ πάλσ ζε όια ηα projects πνπ ειέγρνληαη από ην department 5. 1. DEPT5_PROJS(Pno) π Pnumber (ζ DNUM=5 (PROJECT)) 2. EMP_PROJ(Ssn, Pno) π ESSN, Pno (WORKS_ON) 3. RESULT_EMP_SSNS EMP_PROJ / DEPT5_PROJS 4. RESULT π LNAME, FNAME (RESULT_EMP_SSNS * EMPLOYEE) 10-29

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο Smith Q4: Γεκηνπξγήζηε κηα ιίζηα από projects ηα νπνία πεξηιακβάλνπλ έλα ππάιιειν κε ην επίζεην Smith, σο ππάιιειν ή* σο manager ηνπ ηκήκαηνο πνπ ειέγρεη ην ελ ιόγω project. Αλαιύνληαο ην πην πάλσ εξώηεκα βξίζθνπκε όηη ην απνηέιεζκα ζα πξεπεη λα είλαη ηεο κνξθήο (δει., λα είλαη έλσζε απνηειεζκάησλ) π Pnumber (SMITH_WORKER_PROJS SMITH_MGR_PROJS) Σηελ επόκελε δηαθάλεηα δείρλνπκε αλαιπηηθά ηελ απάληεζε. * Εάν ηο ή ήηαν ζςμμεηπική διάθοπα (δηλαδή είηε ή) ηόηε θα έππεπε να εθαπμόζοςμε ηην ιζοδςναμία R S = (R S) (S R) 10-30

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο Smith Q4: Γεκηνπξγήζηε κηα ιίζηα από projects ηα νπνία πεξηιακβάλνπλ έλα ππάιιειν κε ην επίζεην Smith, σο ππάιιειν ή σο manager ηνπ ηκήκαηνο πνπ ειέγρεη ην ελ ιόγσ project. SMITHS π SSN (ζ Lname= Smith (EMPLOYEE)) SMITH_WORKER_PROJS π Pno (SMITHS SSN=ESSN WORKS_ON) SMITH_MNG_DEPTS π DNumber (SMITHS SSN=MGR_SSN DEPARTMENT) SMITH_MGR_PROJS(PNO) π Pnumber (SMITH_MNG_DEPTS DNumber=DNum PROJECT ) RESULT π Pno (SMITH_WORKER_PROJS SMITH_MGR_PROJS(PNO)) 10-31

Παξαδείγκαηα Σρεζηαθήο Άιγεβξαο Sailors-Reserve-Boats Βξεο ηα νλόκαηα ηωλ sailors πνπ θξάηεζαλ κηα θόθθηλε βάξθα Sailors(sid:integer, sname:string, rating:integer, age:real) Boats(bid:integer, bname:string, color:string) Reserves(sid:integer, bid:integer, day:date) sname (( Boats) Re serves Sailors) color ' red ' Μηα πην απνδνηηθή δηαηύπσζε*: Διαηήπηζη μόνο ηων απαπαιηήηων γνωπιζμάηων sname ( sid (( Boats) Re s) Sailors) bid color ' red' * Δίλαη πην απνδνηηθό δηόηη ηα ελδηάκεζα απνηειέζκαηα είλαη κηθξόηεξα π.ρ., ζην π bid (ζ color=«red» Boats) δηαηεξνύκε σο ελδηάκεζν απνηέιεζκα κόλν ην bid αληί θαη ηα ηξία πεδία. 10-32