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

Σχετικά έγγραφα
Βάσεις Δεδομένων Ενότητα 6

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ

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

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός

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

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

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

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

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

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

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

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο

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

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

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

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

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


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

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

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

Τμήμα Πληροφορικής ΑΠΘ

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

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

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


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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

Ηλεκτρονικοί Υπολογιστές II

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

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

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

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

Ανάπτυξη και Σχεδίαση Λογισμικού

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

Διαχείριση Πολιτισμικών Δεδομένων

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακός Λογισμός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου


Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

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

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

Lecture 8: RM I + RA I

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

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

Ηλεκτρονικοί Υπολογιστές II

Αριθμητική Ανάλυση και Εφαρμογές

Η Άλγεβρα των πινάκων στο γραφικό περιβάλλον SQL Query Builder του Data Studio

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ

Τμήμα Πληροφορικής ΑΠΘ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

1 / 150

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

Παραδείγματα Διανυσματικοί Χώροι Ι. Λυχναρόπουλος

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

Transcript:

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

Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις (πίνακες). Μία πράξη λέγεται: μοναδιαία (unary) αν εφαρμόζεται σε μία σχέση, ή δυαδική (binary) αν εφαρμόζεται σε δύο σχέσεις. Κάθε πράξη επιστρέφει ως αποτέλεσμα μία σχέση. Η Σχεσιακή Άλγεβρα και ο Σχεσιακός Λογισμός Πλειάδων αποτελούν τη θεωρητική βάση της γλώσσας SQL 2

Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα και ο Σχεσιακός Λογισμός Πλειάδων αποτελούν τη θεωρητική βάση της γλώσσας SQL Η Σχεσιακή Άλγεβρα και ο Σχεσιακός Λογισμός αποτελούν δύο διαφορετικές προσεγγίσεις (μαθηματικά εργαλεία) με τις οποίες μπορούμε να εκτελούμε πράξεις σε ένα σύνολο σχέσεων μιας Βάσης Δεδομένων. 3

Παράδειγμα 4

Πράξεις της σχεσιακής άλγεβρας 5

Για την διατύπωση των πράξεων της Σχεσιακής Άλγεβρας και του Σχεσιακού Λογισμού χρησιμοποιούνται λογικές παραστάσεις (ή λογικές συνθήκες). Για την δημιουργία λογικών παραστάσεων χρησιμοποιούνται Μεταβλητές, Τελεστές Σύγκρισης και Λογικοί Τελεστές.

Τελεστές Σύγκρισης Τελεστής Σύγκρισης Περιγραφή = ίσο με < μικρότερο από > μεγαλύτερο από μικρότερο ή ίσο από μεγαλύτερο ή ίσο από διάφορο του 7

Λογικοί Τελεστές Λογικός Τελεστής (Γλώσσες Προγραμματισμού) AND OR NOT Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 8

Πίνακες Αλήθειας Λογικών Πράξεων Πίνακας Αλήθειας Πράξης AND X Y X AND Y 0 0 0 0 1 0 1 0 0 1 1 1 Πίνακας Αλήθειας Πράξης OR X Y X OR Y 0 0 0 0 1 1 1 0 1 1 1 1 Πίνακας Αλήθειας Πράξης NOT X NOT X 0 1 1 0 9

Επιλογή (Select) Χρησιμοποιείται για την επιλογή πλειάδων (εγγραφών πίνακα) που ικανοποιούν μια λογική συνθήκη (η οποία δημιουργείται με μεταβλητές, τελεστές σύγκρισης και λογικούς τελεστές AND, OR κλπ). 10

Επιλογή (Select) - παραδείγματα «Βρες τα στοιχεία του συνδρομητή με κωδικός = 12». «Ποιές γνωστικές περιοχές έχουν λιγότερους από 5 ή περισσότερους από 50 συνδρομητές?». 11

Επιλογή (Select) - παραδείγματα «Βρες τις γραμμές του πίνακα Πρακτικά Συνεδρίου οι οποίες ικανοποιούν τη συνθήκη: χώρα = Ελλάδα και ημερομηνία > 1/1/2000» Λύση-1 Λύση-2 Χρησιμοποιούνται δύο διαδοχικές πράξεις επιλογής 12

Προβολή (Project) Χρησιμοποιείται για να απομονώσουμε συγκεκριμένες στήλες ενός πίνακα. «Βρες τα χαρακτηριστικά όνομα και τηλέφωνο για όλες τις γραμμές του πίνακα Συνδρομητής». Επιστρέφει τα χαρακτηριστικά όνομα και τηλέφωνο για όλες τις γραμμές του πίνακα Συνδρομητής 13

Προβολή (Project) - παραδείγματα «Βρες το όνομα και το τηλέφωνο των Συνδρομητών με κωδικό μεγαλύτερο του 20». Αν προκύψουν ίδιες γραμμές (Συμβαίνει αν στη λίστα των επιλεγόμενων χαρακτηριστικών δεν συμπεριλαμβάνεται κάποιο κλειδί), τότε πρέπει να γίνει απαλοιφή διπλοτύπων (duplicate elimination). 14

Καρτεσιανό Γινόμενο (Cartesian Product) Είναι δυαδική πράξη και δίνει ως αποτέλεσμα όλους τους δυνατούς συνδυασμούς γραμμών των δύο πινάκων. Η σχέση Q έχει: n + m χαρακτηριστικά n R x n S πλειάδες n R Το πλήθος των πλειάδων του πίνακα R n S Το πλήθος των πλειάδων του πίνακα S 15

Καρτεσιανό Γινόμενο - παράδειγμα Εάν το όνομα ενός χαρακτηριστικού εμφανίζεται σε δύο διαφορετικούς πίνακες τότε προτάσσεται το όνομα του πίνακα. 16

Καρτεσιανό Γινόμενο - παράδειγμα «Βρες όλους τους δυνατούς συνδυασμούς μεταξύ συνδρομητών και γνωστικών περιοχών». Ο τελικός πίνακας να έχει ως χαρακτηριστικά τα κλειδιά των πινάκων, όνομα του συνδρομητή και τον τίτλο της γνωστικής περιοχής. 17

Μετονομασία (Rename) Δηλώνεται με το σύμβολο «ρ» και παίρνει ως όρισμα μία έκφραση σχεσιακής άλγεβρας. Η πράξη συναντάται σε δύο μορφές: ρ χ (E), όπου η έκφραση E επιστρέφεται με όνομα χ, ρ χ(α,β,γ) (E), όπου η έκφραση E επιστρέφεται με όνομα χ και τα χαρακτηριστικά ονοματίζονται α, β και γ αντιστοίχως. Τα αποτελέσματα των πράξεων της Σχεσιακής Άλγεβρας δεν έχουν όνομα σε αντίθεση με τους πίνακες της ΒΔ. Η ονομασία των αποτελεσμάτων θεωρείται χρήσιμη επειδή δίνει τη δυνατότητα να χρησιμοποιήσουμε ένα αποτέλεσμα σε κάποια επόμενη πράξη. 18

Ένωση (Union) Η ένωση δύο πινάκων συμβολίζεται με U. Ο πίνακας αποτέλεσμα περιέχει τις γραμμές και των δύο πινάκων. Για να λειτουργήσει η πράξη της ένωσης πρέπει οπωσδήποτε να ισχύουν οι εξής προϋποθέσεις συμβατότητας: ο αριθμός των χαρακτηριστικών των δύο πινάκων πρέπει να είναι ίδιος, και τα πεδία ορισμού των αντίστοιχων χαρακτηριστικών των δύο πινάκων πρέπει να είναι ίδια. 19

Ένωση (Union) - παραδείγματα «Βρες τις γνωστικές περιοχές με αριθμό συνδρομητών μικρότερο από 5 ή μεγαλύτερο από 50». «Βρες τα ονόματα των συνεδρίων και των περιοδικών που υπάρχουν καταχωρισμένα στη ΒΔ». 20

Διαφορά Συνόλων (R1 R2) - (Set difference) Χρησιμοποιείται για να απομονώσει τις γραμμές ενός πίνακα, οι οποίες δεν ανήκουν σε κάποιον άλλο πίνακα. Η πράξη βασίζεται στην πράξη της διαφοράς συνόλων και συμβολίζεται με το πρόσημο της αφαίρεσης. Παράγει έναν πίνακα που περιέχει τις εγγραφές που ανήκουν στον πίνακα R1 αλλά όχι στον πίνακα R2. ο αριθμός των χαρακτηριστικών των δύο πινάκων πρέπει να είναι ίδιος, και τα πεδία ορισμού των αντίστοιχων χαρακτηριστικών των δύο πινάκων πρέπει να είναι ίδια. 21

Διαφορά Συνόλων - Παράδειγμα «Βρες όλες τις γνωστικές περιοχές εκτός εκείνων που έχουν αριθμό συνδρομητών μεγαλύτερο από 30» Γνωστικη_Περιοχη - Γνωστικη_Περιοχη αριθμος_συνδρομητων αριθμος_συνδρομητων > 30 22

Τομή Πινάκων (Intersection) Συμβολίζεται με και επιστρέφει τις κοινές πλειάδες των δύο πινάκων. Πρέπει να ισχύουν οι προϋποθέσεις συμβατότητας, όπως στην πράξη της ένωσης και της διαφοράς. «Βρες τα κοινά ονόματα συγγραφέων και συνδρομητών, χωρίς κατ ανάγκη να είναι και το ίδιο πρόσωπο». Χρησιμοποιώντας προβολή και τομή πινάκων έχουμε: Ισχύει γενικώς: 23

Φυσική ή Εσωτερική Σύνδεση (Natural Join) a b c 1 10 100 2 20 200 3 30 300 4 40 400 a d 1 123 2 321 3 111 5 222 a b c d 1 10 100 123 2 20 200 321 3 30 300 111 R 1 R 2 1 2 Η πράξη της φυσικής σύνδεσης επιστρέφει τις γραμμές των R 1 και R 2, οι οποίες έχουν την ίδια τιμή στα κοινά χαρακτηριστικά των πινάκων. Εδώ το κοινό χαρακτηριστικό είναι το a. Επιστρέφονται οι γραμμές, για τις οποίες η τιμή του a στον R 1 ισούται με την τιμή του a στον R 2. R R 24

Φυσική ή Εσωτερική Σύνδεση (Natural Join) Το καρτεσιανό γινόμενο δύο πινάκων R1 και R 2 επιστρέφει όλους τους δυνατούς συνδυασμούς των πλειάδων των πινάκων. Σε πολλές περιπτώσεις ενδιαφερόμαστε μόνο για ένα υποσύνολο του καρτεσιανού γινομένου, αναλόγως με την τιμή που έχουν κάποια χαρακτηριστικά των πινάκων. Για το σκοπό αυτό χρησιμοποιούμε την πράξη της φυσικής σύνδεσης. Αν οι R 1 και R 2 δεν έχουν κοινά χαρακτηριστικά τότε έχουμε ταύτιση καρτεσιανού γινομένου και φυσικής σύνδεσης. 25

Φυσική Σύνδεση Η έκφραση: είναι ισοδύναμη με:: a b c 1 10 100 2 20 200 3 30 300 4 40 400 R 1 2 a d 1 123 2 321 3 111 5 222 a b d 1 10 123 2 20 321 3 30 111 R a, b, d R1 R2 26

Σύνδεση-θ (θ-join) Ορίζουμε τη συνθήκη θ, ανάλογα με τις πλειάδες που θέλουμε να συμπεριληφθούν στο αποτέλεσμα. Στο παράδειγμα, το χαρακτηριστικό α του R 1 θα είναι μικρότερο από το χαρακτηριστικό x του R 2. Επίσης, οι R 1 και R 2 δεν έχουν κοινά χαρακτηριστικά οπότε έχουμε ταύτιση καρτεσιανού γινομένου και φυσικής σύνδεσης. 27

Σύνδεση-θ (θ-join) a b c x y 1 10 100 1 123 1 10 100 2 321 1 10 100 3 111 1 10 100 5 222 2 20 200 1 123 2 20 200 2 321 2 20 200 3 111 2 20 200 5 222 3 30 300 1 123 3 30 300 2 321 3 30 300 3 111 3 30 300 5 222 4 40 400 1 123 4 40 400 2 321 4 40 400 3 111 4 40 400 5 222 28

Εξωτερική Σύνδεση (Outer Join) Η εξωτερική σύνδεση δίνει όλες τις γραμμές του αριστερού ή/και του δεξιού πίνακα, χωρίς να υπάρχει ταύτιση των τιμών των κοινών χαρακτηριστικών κατ ανάγκη. Η εξωτερική σύνδεση μπορεί να είναι αριστερή (left), δεξιά (right) ή πλήρης (full) εξωτερική σύνδεση. 29

Εξωτερική Σύνδεση (Outer Join) Διατηρούμε το σχήμα της αριστερής ή δεξιάς σχέσης και προσθέτουμε το υπόλοιπο της άλλης. Υπάρχουν γραμμές του ενός πίνακα, οι οποίες δεν αντιστοιχούν σε γραμμές του άλλου πίνακα. Όλες οι γραμμές του ενός εκ των δύο πινάκων πρέπει να εμφανιστούν στο αποτέλεσμα. Οι τιμές που λείπουν συμπληρώνονται με NULL. Στην πλήρη εξωτερική σύνδεση συμμετέχουν οι γραμμές και των δύο πινάκων. Αν δεν υπάρχει αντιστοιχία μεταξύ των γραμμών οι τιμές συμπληρώνονται με NULL. 30

Εκχώρηση (Assignment) Επιτρέπει τη χρήση μεταβλητών για την αποθήκευση των ενδιάμεσων αποτελεσμάτων των πράξεων. Οι μεταβλητές μπορούν να χρησιμοποιηθούν ως ορίσματα σε επόμενες πράξεις. «Βρες τις γραμμές του πίνακα Πρακτικά Συνεδρίου, οι οποίες ικανοποιούν τη συνθήκη χώρα= Ελλάδα και ημερομηνία> 1/1/2000». 31

Σχεσιακός λογισμός (relational calculus) Ο σχεσιακός λογισμός είναι μία γλώσσα που μπορεί να χρησιμοποιηθεί αντί της σχεσιακής άλγεβρας. Έχει αποδειχθεί ότι οι δύο γλώσσες είναι ισοδύναμες. Δύο εναλλακτικές μορφές: Σχεσιακός λογισμός πλειάδων (tuple relational calculus), Σχεσιακός λογισμός πεδίου (domain relational calculus). 32

Σχεσιακός λογισμός πλειάδων Ένα ερώτημα στο σχεσιακό λογισμό πλειάδων εκφράζεται ως εξής: Η κάθε μεταβλητή στη λογική έκφραση Ε(t) αναφέρεται σε πλειάδες πινάκων. Η μεταβλητή είναι ελεύθερη ή δεσμευμένη (δηλαδή ποσοτικοποιείται με ποσοδείκτες). 33

Σχεσιακός λογισμός πλειάδων Μια έκφραση (formula) σχεσιακού λογισμού απαρτίζεται από ατομικές μονάδες (atoms) που μπορεί να είναι: 34

Σχεσιακός λογισμός πλειάδων 35

Σχεσιακός λογισμός πλειάδων Για τις εκφράσεις σχεσιακού λογισμού πλειάδων ισχύουν οι εξής ταυτότητες: 36

Σχεσιακός λογισμός πλειάδων - παραδείγματα «Βρες τις γνωστικές περιοχές που έχουν τουλάχιστον ένα συνδρομητή». Αν θέλουμε μόνο τον κωδικό της Γνωστικής_Περιοχής τότε: «Το σύνολο των πλειάδων t έτσι ώστε να υπάρχει στη σχέση Γνωστική_Περιοχή μια πλειάδα s για την οποία οι κωδικοί των t και s να είναι ίσοι και η τιμή του χαρακτηριστικού αριθμός_συνδρομητών της s να είναι τουλάχιστον 1» 37

Σχεσιακός λογισμός πλειάδων παραδείγματα «Βρες τα άρθρα που έχουν δημοσιευθεί στο συνέδριο με κωδικό 1 ή στο συνέδριο με κωδικό 2». «Βρες τα άρθρα που έχουν δημοσιευθεί και σε περιοδικό και σε πρακτικά συνεδρίου». 38

Σχεσιακός λογισμός πλειάδων παραδείγματα «Βρες τους συνδρομητές που έχουν συνδρομή στη γνωστική περιοχή Βάσεις Δεδομένων ή στην περιοχή Κβαντική Φυσική». όπου t, s, u: μεταβλητές πλειάδας αντιστοίχως για τους πίνακες Συνδρομητής, Γνωστική_Περιοχή, Συνδρομή. 39

Σχεσιακός λογισμός πεδίου Σε αντίθεση με το σχεσιακό λογισμό πλειάδων ο σχεσιακός λογισμός πεδίου χρησιμοποιεί μεταβλητές πεδίου, οι οποίες παίρνουν τιμές από ένα συγκεκριμένο πεδίο ορισμού. Ένα ερώτημα εκφράζεται ως εξής: 40

Σχεσιακός λογισμός πεδίου 41

Σχεσιακός λογισμός πεδίου 42

Σχεσιακός λογισμός πεδίου - παραδείγματα «Βρες τις γνωστικές περιοχές που έχουν τουλάχιστον ένα συνδρομητή». όπου a, b, c μεταβλητές πεδίου, οι οποίες λαμβάνουν τιμές από τα πεδία ορισμού των χαρακτηριστικών κωδικός, τίτλος και αριθμός_συνδρομητών, αντιστοίχως. 43

Σχεσιακός λογισμός πεδίου - παραδείγματα (2) «Βρες τα άρθρα που έχουν δημοσιευθεί στο συνέδριο με κωδικό 1 ή στο συνέδριο με κωδικό 2». Έστω χ 1,..., χ 12 μεταβλητές πεδίου, οι οποίες λαμβάνουν τιμές από τα πεδία ορισμού των χαρακτηριστικών της σχέσης Άρθρο με τη σειρά που αναγράφονται στο σχήμα της σχέσης (χ 1 =κωδικός, χ 2 =τίτλος κλπ). 44

Σχεσιακός λογισμός πεδίου - παραδείγματα «Βρες τα άρθρα που έχουν δημοσιευθεί και σε περιοδικό και σε πρακτικά συνεδρίου». Έστω χ 1,..., χ 12 μεταβλητές πεδίου, οι οποίες λαμβάνουν τιμές από τα πεδία ορισμού των χαρακτηριστικών της σχέσης Άρθρο με τη σειρά που αναγράφονται στο σχήμα της σχέσης (χ 1 =κωδικός, χ 2 =τίτλος κλπ). 45

Σχεσιακός λογισμός πεδίου - παραδείγματα «Βρες τους συνδρομητές που έχουν συνδρομή στη γνωστική περιοχή Βάσεις Δεδομένων ή στη γνωστική Περιοχή Κβαντική Φυσική». 46

Σύνοψη Η σχεσιακή άλγεβρα και ο σχεσιακός λογισμός ορίζουν ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις. Οι θεμελιώδεις πράξεις της σχεσιακής άλγεβρας είναι οι: επιλογή, προβολή, καρτεσιανό γινόμενο, μετονομασία, ένωση και διαφορά. Ορίζονται και οι εξής επιπλέον πράξεις: τομή, φυσική σύνδεση, σύνδεση-θ, αριστερή/δεξιά εξωτερική σύνδεση, αριστερή/δεξιά ημισύνδεση και εκχώρηση. Ο σχεσιακός λογισμός μπορεί να χρησιμοποιηθεί αντί της σχεσιακής άλγεβρας (οι δύο γλώσσες είναι ισοδύναμες). Ο σχεσιακός λογισμός έχει δύο μορφές: α) σχεσιακός λογισμός πλειάδων και β) σχεσιακός λογισμός πεδίου. 47