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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στα Συστήματα Βάσεων Δεδομένων
Advertisements

ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 2 ΜΑΘΗΜΑ 4.
Σχεσιακός Λογισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Κανονικές Μορφές Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακός Λογισμός.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 2. ΣΧΕΣΙΑΚΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ • Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). • Μια πραγματική οντότητα γίνεται.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Δρ. Παναγιώτης Συμεωνίδης
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ ΜΑΘΗΜΑ 4.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ευρετήρια.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Εισαγωγή στα Συστήματα Βάσεων Δεδομένων.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακός Λογισμός.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακός Λογισμός.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακός Λογισμός.
1 Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ι Εισαγωγή
Σχεσιακή Άλγεβρα.
Σχεσιακή Άλγεβρα Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Σχεσιακή Άλγεβρα.
Σχεσιακός Λογισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σχεσιακή Άλγεβρα Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Ερωτήματα Επιλογής σε ACCESS
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σχεσιακός Λογισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά2 Εισαγωγή Στα προηγούμενα μαθήματα:  Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)  Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Σχεσιακού Μοντέλου)  Αντιστοιχία (μετατροπή) ανάμεσα στα μοντέλα Είναι ο σχεδιασμός μας καλός; Αυτό το θέμα θα το δούμε πάλι σε επόμενα μαθήματα, με βάση τη θεωρία των Κανονικών Μορφών.  Υλοποίηση: Πως θα ορίσουμε το σχήμα σε ένα ΣΔΒΔ και πως θα δημιουργήσουμε και τροποποιήσουμε ένα στιγμιότυπο

Βάσεις Δεδομένων Ευαγγελία Πιτουρά3 Εισαγωγή Τι χρειαζόμαστε: (Η Γενική Εικόνα) Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για τον ορισμό των σχημάτων) ένας μεταφραστής της ΓΟΔ επεξεργάζεται τις εντολές της ΓΟΔ, αναγνωρίζει τις περιγραφές των δομικών στοιχείων του σχήματος και αποθηκεύει την περιγραφή του σχήματος στον κατάλογο του ΣΔΒΔ Μια γλώσσα χειρισμού δεδομένων ΓΧΔ  γλώσσα ενημέρωσης  γλώσσα ερωτήσεων (επερωτήσεων) (Query Language) Την είδαμε

Βάσεις Δεδομένων Ευαγγελία Πιτουρά4 Υπενθύμιση Σχήμα Βάσης Δεδομένων - Στιγμιότυπο Κάθε σχέση (στιγμιότυπο) είναι ένα σύνολο από πλειάδες (Πίνακας: Γραμμές: πλειάδες Στήλες: Γνωρίσματα) Γλώσσες Ερωτήσεων: Εισαγωγή

Βάσεις Δεδομένων Ευαγγελία Πιτουρά5 Γλώσσες Ερωτήσεων: Εισαγωγή Το σχεσιακό μοντέλο υποστηρίζει απλές και ισχυρές γλώσσες ερωτήσεων (σε αντίθεση με το μοντέλο Ο/Σ) Γλώσσες Ερωτήσεων (Query Languages): Επιτρέπουν τον χειρισμό και την εύρεση πληροφορίας από μια βάση δεδομένων Με τη διατύπωση ερωτήσεων στον τρέχων στιγμιότυπο της βάσης δεδομένων (querying)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά6 Γλώσσες Ερωτήσεων: Εισαγωγή Σχεσιακή Άλγεβρα: Λειτουργική “operational” (database byte-code!): αποτελείται από ένα σύνολο τελεστών και περιγράφει τα βήματα για τον υπολογισμό του αποτελέσματος Σχεσιακός Λογισμός (calculus): Επιτρέπει στους χρήστες να περιγράψουν τι θέλουν αλλά όχι πώς να το υπολογίσουν Δύο μαθηματικές γλώσσες ερωτήσεων αποτελούν τη βάση για τις πραγματικές γλώσσες ερωτήσεων (π.χ., SQL) και για την υλοποίησή τους Αυτές οι τυπικές γλώσσες επηρέασαν τις εμπορικές γλώσσες (SQL, QBE) που θα δούμε στα επόμενα μαθήματα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά7 Γλώσσες Ερωτήσεων != Γλώσσες Προγραμματισμού! Δεν αναμένεται να είναι “Turing complete”. Δεν αναμένεται να χρησιμοποιηθούν για ”δύσκολους υπολογισμούς”. Υποστηρίζουν εύκολη και αποδοτική προσπέλαση σε μεγάλα σύνολα δεδομένων. Γλώσσες Ερωτήσεων: Εισαγωγή

Βάσεις Δεδομένων Ευαγγελία Πιτουρά8 Σχεσιακή Άλγεβρα Σχεσιακή άλγεβρα: έναν απλό τρόπο δημιουργίας νέων σχέσεων από υπάρχουσες. Ένα σύνολο από πράξεις που όταν εφαρμοστούν σε σχέσεις (πίνακες) μας δίνουν νέες σχέσεις Μια ερώτηση εφαρμόζεται σε ένα στιγμιότυπο σχέσης και το αποτέλεσμα της ερώτησης είναι πάλι ένα στιγμιότυπο σχέσης

Βάσεις Δεδομένων Ευαγγελία Πιτουρά9 Μια ερώτηση εφαρμόζεται σε ένα στιγμιότυπο σχέσης και το αποτέλεσμα της ερώτησης είναι πάλι ένα στιγμιότυπο σχέσης Το σχήμα της σχέσης εισόδου είναι ορισμένο Το σχήμα του αποτελέσματος είναι επίσης ορισμένο Σχεσιακή Άλγεβρα

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά11 Σχεσιακή Άλγεβρα Οι πράξεις τις σχεσιακής άλγεβρας: 1. Πράξεις που αφαιρούν κομμάτια από μια σχέση είτε επιλέγοντας γραμμές (σ) είτε προβάλλοντας στήλες (π) 2. Οι συνηθισμένες πράξεις συνόλου: ένωση, τομή, διαφορά 3. Πράξεις που συνδυάζουν πλειάδες από δύο σχέσεις 4. Μετονομασία γνωρισμάτων

Βάσεις Δεδομένων Ευαγγελία Πιτουρά12 Η Πράξη της Επιλογής Η πράξη της επιλογής (select) σ ( ) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής

Βάσεις Δεδομένων Ευαγγελία Πιτουρά13 Η Πράξη της Επιλογής σ ( ) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής =, >, <, , ,  συνδυασμένες με AND, OR, NOT ή προτάσεις της μορφής συνθήκη

Βάσεις Δεδομένων Ευαγγελία Πιτουρά14 Παράδειγμα (ταινίες) ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

Βάσεις Δεδομένων Ευαγγελία Πιτουρά15 Παραδείγματα τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη 1. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών) σ διάρκεια > 100 (Ταινία) τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά16 τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη 2. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών που γυρίστηκαν μετά το 1995 σ διάρκεια > 100 AND χρόνος > 1995 (Ταινία) τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά17 Η Πράξη της Επιλογής Η συνθήκη επιλογής εφαρμόζεται ανεξάρτητα σε κάθε πλειάδα Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης που προκύπτει ίδιος με τον βαθμό της αρχικής σχέσης Πλήθος πλειάδων μικρότερο ή ίσο με την αρχική σχέση: ποσοστό που επιλέγονται - επιλεκτικότητα (selectivity)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά18 Η Πράξη της Επιλογής Ιδιότητες αντιμεταθετική σ (σ (R)) = σ (σ (R)) σ (σ ( … σ (R)..)) = σ AND... AND (R)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά19 Η Πράξη της Προβολής Η πράξη της προβολής (project) π ( ) Επιλογή συγκεκριμένων στηλών (γνωρισμάτων)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά20 Παραδείγματα τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά21 1. Τίτλος, χρόνος, διάρκεια των ταινιών π τίτλος, χρόνος, διάρκεια (Ταινία) τίτλος χρόνοςδιάρκεια Star Wars Mighty Ducks Wayne’s World Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά22 2. Είδος ταινιών π είδος (Ταινία) είδος έγχρωμη Προσοχή: απαλοιφή διπλότιμων Γιατί; Με βάση τον ορισμό το αποτέλεσμα είναι σχέση (δηλαδή, σύνολο πλειάδων) Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά23 Η Πράξη της Προβολής Τα γνωρίσματα έχουν την ίδια διάταξη Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης είναι ίσος με τον αριθμό γνωρισμάτων στη Πλήθος πλειάδων μικρότερο ή ίσο (πότε;) με την αρχική σχέση

Βάσεις Δεδομένων Ευαγγελία Πιτουρά24 Η Πράξη της Προβολής Ιδιότητες αντιμεταθετική; π (π (R)) = ?

Βάσεις Δεδομένων Ευαγγελία Πιτουρά25 διάρκεια Παράδειγμα Διάρκειες μεγαλύτερες των 100 λεπτών π διάρκεια (σ διάρκεια > 100 (Ταινία)) Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά26 Πράξεις Συνόλου Πράξεις συνόλου Ένωση (  ) Τομή (  ) Διαφορά (-) Συμβατότητα ως προς την ένωση Δύo σχέσεις R(A 1, A 2, …, A n ) και S(B 1, B 2, …, B n ) είναι συμβατές ως προς την ένωση όταν 1. Έχουν τον ίδιο βαθμό n 2.  i, dom(A i ) = dom(B i )

Βάσεις Δεδομένων Ευαγγελία Πιτουρά27 Πράξεις Συνόλου Σύμβαση: η προκύπτουσα σχέση έχει τα ίδια ονόματα γνωρισμάτων με την πρώτη σχέση Απαλοιφή διπλότιμων

Βάσεις Δεδομένων Ευαγγελία Πιτουρά28 Σχεσιακή Άλγεβρα Οι πράξεις τις σχεσιακής άλγεβρας: 1. Πράξεις που αφαιρούν κομμάτια από μια σχέση είτε επιλέγοντας γραμμές είτε προβάλλοντας στήλες 2. Οι συνηθισμένες πράξεις συνόλου - ένωση, τομή, διαφορά 3. Πράξεις που συνδυάζουν πλειάδες από δύο σχέσεις 4. Μετονομασία γνωρισμάτων  

Βάσεις Δεδομένων Ευαγγελία Πιτουρά29 Σχεσιακή Άλγεβρα Α Β σ Α > Β (R) Π Α (R) R B C S R  S R  S R - S S - R Παράδειγμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά30 Μετονομασία R  όνομα στην ενδιάμεση σχέση ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ  σ διάρκεια > 100 (Ταινία) Παράδειγμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά31 R(λίστα-με-νέα-ονόματα)  μετονομασία γνωρισμάτων ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ (όνομα ταινίας, έτος παραγωγής, διάρκεια, είδος)  σ διάρκεια > 100 (Ταινία) Παράδειγμα όνομα ταινίας έτος παραγωγής διάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά32 Καρτεσιανό Γινόμενο R(A 1, A 2, …, A n ) x S(B 1, B 2, …, B m ) (ή χιαστί γινόμενο (cross product) ή χιαστί συνένωση (cross join)) αποτέλεσμα η σχέση Q: Q(A 1, A 2, …, A n, B 1, B 2, …, B m ) n + m γνωρίσματα n R * n S πλειάδες

Βάσεις Δεδομένων Ευαγγελία Πιτουρά33 Καρτεσιανό Γινόμενο Α Β B’ C D RS R x S A B B’ C D

Βάσεις Δεδομένων Ευαγγελία Πιτουρά34 ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά35 Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά36 Ταινία Τίτλος Έτος Διάρκεια Είδος Παραμύθι Έγχρωμη Παραμύθι Ασπρόμαυρη Φυγή200098Ασπρόμαυρη Άνοιξη Έγχρωμη Όνομα-ΗθοποιούΤίτλοςΈτος Αλίκη ΠαππάΠαραμύθι1930 Μαρία ΓεωργίουΠαραμύθι1990 Κώστας ΧρήστουΦυγή2000 Μαρία ΣτεργίουΆνοιξη1998 Παίζει Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά37 Ταινία Ταινία.ΤίτλοςΤαινία.Έτος Διάρκεια Είδος Παραμύθι199090Έγχρωμη Παραμύθι Ασπρόμαυρη Φυγή200098Ασπρόμαυρη Άνοιξη Έγχρωμη Όνομα-ΗθοποιούΠαίζει.ΤίτλοςΠαίζει.Έτος Αλίκη ΠαππάΠαραμύθι1930 Μαρία ΓεωργίουΠαραμύθι1990 Κώστας ΧρήστουΦυγή2000 Μαρία ΣτεργίουΆνοιξη1998 Κατερίνα ΑποστόλουΦυγή2000 Παίζει Ταινία.ΤίτλοςΤαινία.Έτος Διάρκεια Είδος Όνομα-ΗθοποιούΠαίζει.ΤίτλοςΠαίζει.Έτος Παραμύθι ΈγχρωμηΑλίκη ΠαππάΠαραμύθι1930 Παραμύθι Έγχρωμη Μαρία ΓεωργίουΠαραμύθι1990 Παραμύθι Έγχρωμη Κώστας ΧρήστουΦυγή2000 Παραμύθι Έγχρωμη Μαρία ΣτεργίουΆνοιξη1998 Παραμύθι Έγχρωμη Κατερίνα ΑποστόλουΦυγή2000 Παραμύθι Ασπρόμαυρη Αλίκη ΠαππάΠαραμύθι1930 Παραμύθι Ασπρόμαυρη Μαρία ΓεωργίουΠαραμύθι1990 Παραμύθι Ασπρόμαυρη Κώστας ΧρήστουΦυγή2000 Παραμύθι Ασπρόμαυρη Μαρία ΣτεργίουΆνοιξη1998 Παραμύθι Ασπρόμαυρη Κατερίνα ΑποστόλουΦυγή2000 Φυγή200098Ασπρόμαυρη Αλίκη ΠαππάΠαραμύθι1930 … Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά38 Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα π όνομα, τίτλος, έτος (σ είδος = “έγχρωμη” AND Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος = Ταινία.έτος (Παίζει x Ταινία)) π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = “έγχρωμη” (Ταινία))) ή Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά39 Συνένωση Συνένωση (ή θήτα συνένωση) (join) συνδυασμός σχετιζόμενων πλειάδων R S (  σ (R x S) ) =, >, <, , ,  Συνθήκη συνένωσης A i B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(A i ) = dom(B j ) Προτάσεις της μορφής συνδυασμένες με AND

Βάσεις Δεδομένων Ευαγγελία Πιτουρά40 Συνένωση το αποτέλεσμα είναι οι συνδυασμοί πλειάδων που ικανοποιούν τη συνθήκη η συνθήκη αποτιμάται για κάθε συνδυασμό αποτέλεσμα σχέση Q με n + m γνωρίσματα πλειάδες με τιμή null σε γνώρισμα συνένωσης δεν εμφανίζονται στο αποτέλεσμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά41 Συνένωση B’ C’ D UV Α Β C U A < D V A B C B’ C’ D U A<D AND U.B  V.B V

Βάσεις Δεδομένων Ευαγγελία Πιτουρά42 Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = “έγχρωμη” (Ταινία))) π όνομα, τίτλος, έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = “έγχρωμη” (Ταινία)) Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά43 Συνένωση Ισότητας Συνένωση Ισότητας (equijoin) Συνθήκη συνένωσης A i = B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(A i ) = dom(B j ) Προτάσεις της μορφής συνδυασμένες με AND όταν χρησιμοποιείται μόνο τελεστής ισότητας

Βάσεις Δεδομένων Ευαγγελία Πιτουρά44 Συνένωση Ισότητας Α Β B’ C D RS A B B’ C D RSRS R.B = S.B

Βάσεις Δεδομένων Ευαγγελία Πιτουρά45 Φυσική Συνένωση συνένωση ισότητας όπου παραλείπουμε το γνώρισμα της δεύτερης σχέσης από το αποτέλεσμα όταν διαφορετικό όνομα - μετονομασία R * (λίστα1, λίστα2) S επιλεκτικότητα συνένωσης: μέγεθος αποτελέσματος / (n r * n s )

Βάσεις Δεδομένων Ευαγγελία Πιτουρά46 Φυσική Συνένωση Α Β B C D RSR * S A B C D

Βάσεις Δεδομένων Ευαγγελία Πιτουρά47 Φυσική Συνένωση B C D UV Α Β C U * V A B C D

Βάσεις Δεδομένων Ευαγγελία Πιτουρά48 Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = “έγχρωμη” (Ταινία))) π όνομα, τίτλος, έτος (Παίζει * (σ είδος = “έγχρωμη” (Ταινία))) είναι η τρίτη έκφραση πριν την προβολή ισοδύναμη των άλλων δύο; π όνομα, τίτλος, έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = “έγχρωμη” (Ταινία)) Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά49 Σχεσιακή Άλγεβρα Α Β R B C S R x S R R.a >= S.b S R R.a = S.b SR * S Παράδειγμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά50 Σχεσιακή Άλγεβρα Πλήρες σύνολο πράξεων επιλογή (σ) προβολή (π) διαφορά (-) ένωση (  ) καρτεσιανό γινόμενο (x) Επίσης τομή (  ) συνένωση συνένωση ισότητας φυσική συνένωση (*)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά51 Παράδειγμα (μπύρες) ΠΡΟΤΙΜΑ(ΠΟΤΗΣ, ΜΠΥΡΑ) ΣΥΧΝΑΖΕΙ(ΠΟΤΗΣ, ΜΑΓΑΖΙ) ΣΕΡΒΙΡΕΙ(ΜΑΓΑΖΙ, ΜΠΥΡΑ) 1.Τους πότες που συχνάζουν σε μαγαζιά που σερβίρουν μπύρα «Guinness» 2.Tα μαγαζιά που σερβίρουν μπύρα «Guinness » ή μπύρα «Leffe Brune» ή και τα δύο 3.Tα μαγαζιά που σερβίρουν μπύρα «Guinness» και μπύρα «Leffe Brune» 4.Tα μαγαζιά που σερβίρουν μόνο μπύρα «Guinness» 5.Μαγαζιά που σερβίρουν τουλάχιστον δύο διαφορετικές μπύρες. (μόνο μία;) 6.Μαγαζιά που σερβίρουν ακριβώς δύο διαφορετικές μπύρες. 7.Τα μαγαζιά που σερβίρουν μπύρες που προτιμά ο πότης «Δημήτρης». 8.Τα μαγαζιά που σερβίρουν όλες τις μπύρες που προτιμά ο «Δημήτρης».

Βάσεις Δεδομένων Ευαγγελία Πιτουρά52 Όλες τις ταινίες (τίτλο, έτος) με ηθοποιό τη Βουγιουκλάκη Όλες τις ταινίες (τίτλο, έτος) μεταξύ 1956 και 1975 με ηθοποιό τη Βουγιουκλάκη Παράδειγμα Παράδειγμα (ταινίες)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά53 Παράδειγμα (ταινίες) Μερικά ακόμα παραδείγματα  Τις ταινίες (όλα τα γνωρίσματα) που γυρίστηκαν το 2005  Μόνο τον τίτλο των ταινιών που γυρίστηκαν το 2005  Τους ηθοποιούς (ονόματα) που έπαιξαν σε ταινίες που γυρίστηκαν το 2005  Τους ηθοποιούς (ονόματα) που έπαιξαν σε ταινίες που γυρίστηκαν το 2005, αλλά δεν έπαιξαν σε καμία ταινία που γυρίστηκε το 2004  Για κάθε ηθοποιό το όνομα του και τον τίτλο-έτος για όλες τις (έγχρωμες) ταινίες στις οποίες παίζει μαζί με τον σύζυγο του/της

Βάσεις Δεδομένων Ευαγγελία Πιτουρά54 Παράδειγμα (πίτσες) ΠΙΤΣΑ(ΟΝΟΜΑ, ΣΥΣΤΑΤΙΚΟ) ΑΡΕΣΕΙ(ΦΟΙΤΗΤΗΣ, ΣΥΣΤΑΤΙΚΟ) 1.Τις πίτσες που έχουν συστατικά που αρέσουν στον φοιτητή Δημήτρη 2.Τις πίτσες που έχουν τουλάχιστον δύο διαφορετικά συστατικά. (μόνο μία;) 3.Μαγαζιά που σερβίρουν ακριβώς δύο διαφορετικά συστατικά 4.Μαγαζιά που σερβίρουν παραπάνω από δύο διαφορετικά συστατικά 5.Τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον Δημήτρη

Βάσεις Δεδομένων Ευαγγελία Πιτουρά55 Παράδειγμα ΠΙΤΣΑ ΟΝΟΜΑΣΥΣΤΑΤΙΚΟ Vegetarianμανιτάρι Vegetarianελιά Χαβάηανανάς Χαβάηζαμπόν Σπέσιαλζαμπόν Σπέσιαλμπέικον Σπέσιαλμανιτάρι Ελληνικήελιά ΑΡΕΣΕΙ ΦΟΙΤΗΤΗΣΣΥΣΤΑΤΙΚΟ Δημήτρηςμανιτάρι Κώσταςζαμπόν Μαρίαελιά Κατερίναμανιτάρι Μαρίαζαμπόν Δημήτρηςμπέικον Μαρίαανανάς Τις πίτσες που έχουν συστατικά που αρέσουν στον φοιτητή Δημήτρη ΟΝΟΜΑΠΙΤΣΑ.ΣΥΣΤΑΤΙΚΟΦΟΙΤΗΤΗΣΑΡΕΣΕΙ.ΣΥΣΤΑΤΙΚΟ VegetarianμανιτάριΔημήτρηςμανιτάρι VegetarianμανιτάριΔημήτρηςμπέικον VegetarianελιάΔημήτρηςμανιτάρι VegetarianελιάΔημήτρηςμπέικον ΧαβάηανανάςΔημήτρηςμανιτάρι ΧαβάηανανάςΔημήτρηςμπέικον ΧαβάηζαμπόνΔημήτρηςμανιτάρι ΧαβάηζαμπόνΔημήτρηςμπέικον ΣπέσιαλζαμπόνΔημήτρηςμανιτάρι ΣπέσιαλζαμπόνΔημήτρηςμπέικον ΣπέσιαλμπέικονΔημήτρηςμανιτάρι ΣπέσιαλμπέικονΔημήτρηςμπέικον ΣπέσιαλμανιτάριΔημήτρηςμανιτάρι ΣπέσιαλμανιτάριΔημήτρηςμπέικον ΕλληνικήελιάΔημήτρηςμανιτάρι ΕλληνικήελιάΔημήτρηςμπέικον

Βάσεις Δεδομένων Ευαγγελία Πιτουρά56 ΠΙΤΣΑ ΟΝΟΜΑΣΥΣΤΑΤΙΚΟ Vegetarianμανιτάρι Vegetarianελιά Χαβάηανανάς Χαβάηζαμπόν Σπέσιαλζαμπόν Σπέσιαλμπέικον Σπέσιαλμανιτάρι Ελληνικήελιά Τις πίτσες που έχουν τουλάχιστον δύο διαφορετικά συστατικά ΟΝΟΜΑ1ΣΥΣΤΑΤΙΚΟ1ΟΝΟΜΑ2ΣΥΣΤΑΤΙΚΟ2 VegetarianμανιτάριVegetarianμανιτάρι VegetarianμανιτάριVegetarianελιά VegetarianμανιτάριΧαβάηανανάς VegetarianμανιτάριΧαβάηζαμπόν VegetarianμανιτάριΣπέσιαλζαμπόν VegetarianμανιτάριΣπέσιαλμπέικον VegetarianμανιτάριΣπέσιαλμανιτάρι VegetarianμανιτάριΕλληνικήελιά VegetarianελιάVegetarianμανιτάρι … ΕλληνικήελιάVegetarianμανιτάρι ΕλληνικήελιάVegetarianελιά ΕλληνικήελιάΧαβάηανανάς ΕλληνικήελιάΧαβάηζαμπόν ΕλληνικήελιάΣπέσιαλζαμπόν ΕλληνικήελιάΣπέσιαλμπέικον ΕλληνικήελιάΣπέσιαλμανιτάρι ΕλληνικήελιάΕλληνικήελιά

Βάσεις Δεδομένων Ευαγγελία Πιτουρά57 Διαίρεση R(Z) S(X), X  Z Το αποτέλεσμα είναι μια καινούργια σχέση Q(Y) όπου Y = Z - X και t  Q(Y) ανν  t R1  R, t R1 [Y] = t και  t S  S,  t R  R, t R [X] = t S, και t R [Y] = t αναλογία με τη διαίρεση ακεραίων διαίρεση ακεραίων: R / S το αποτέλεσμα Q τέτοιο ώστε: Q * S  R διαίρεση σχέσεων: R S το αποτέλεσμα Q τέτοιο ώστε...

Βάσεις Δεδομένων Ευαγγελία Πιτουρά58 Διαίρεση S Bb2b4Bb2b4 R A B a 1 b 1 a 1 b 3 a 1 b 4 a 2 b 2 a 2 b 4 a 3 b 2 Q(Υ)? R(Z) S(X), X  Z Ζ = {Α, Β}Χ = {B} Υ = {A}Υ = Ζ - Χ t  Q,  t R1  R, t R1 [Y] = t  t S  S,  t R  R, t R [X] = t S και t R [Y] = t R S Q Aa2Aa2

Βάσεις Δεδομένων Ευαγγελία Πιτουρά59 Διαίρεση R S; RABCa1b1c1a1b1c2a2b2c2a2b1c1a2b2c1a3b1c1a3b1c2RABCa1b1c1a1b1c2a2b2c2a2b1c1a2b2c1a3b1c1a3b1c2 SAa1a2a3SAa1a2a3 Παράδειγμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά60 Διαίρεση R S; RABCa1b1c1a1b1c2a2b2c2a2b2c3a2b2c1a3b1c1a3b1c2RABCa1b1c1a1b1c2a2b2c2a2b2c3a2b2c1a3b1c1a3b1c2 SABa1b1a2b2SABa1b1a2b2 Παράδειγμα

Βάσεις Δεδομένων Ευαγγελία Πιτουρά61 Διαίρεση (παράδειγμα) παράδειγμα: βρες τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον Δημήτρη R (ΠΙΤΣΑ) S : Τα συστατικά που αρέσουν στον Δημήτρη Q : Τα ονόματα από πίτσες που εμφανίζονται στη σχέση ΠΙΤΣΑ με όλα τα υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S R S

Βάσεις Δεδομένων Ευαγγελία Πιτουρά62 Παράδειγμα ΠΙΤΣΑ ΟΝΟΜΑΣΥΣΤΑΤΙΚΟ Vegetarianμανιτάρι Vegetarianελιά Χαβάηανανάς Χαβάηζαμπόν Σπέσιαλζαμπόν Σπέσιαλμπέικον Σπέσιαλμανιτάρι Ελληνικήελιά ΑΡΕΣΕΙ ΦΟΙΤΗΤΗΣΣΥΣΤΑΤΙΚΟ Δημήτρηςμανιτάρι Κώσταςζαμπόν Μαρίαελιά Κατερίναμανιτάρι Μαρίαζαμπόν Δημήτρηςμπέικον Μαρίαανανάς ΔΙΑΙΡΕΣΗ Δ_ΑΡΕΣΕΙ ΣΥΣΤΑΤΙΚΟ μανιτάρι μπέικον ΟΝΟΜΑ Σπέσιαλ S

Βάσεις Δεδομένων Ευαγγελία Πιτουρά63 Διαίρεση Iσοδύναμη έκφραση για το Υπολογισμός των πλειάδων που δεν πρέπει να είναι στο αποτέλεσμα. Q(Υ)  R(Ζ) S(Χ) Μια πλειάδα y αποκλείεται από το αποτέλεσμα αν και μόνον αν: όταν της συνάψουμε μια τιμή x από το S, η πλειάδα δεν ανήκει στο R Τ 1  (π Y (R) x S) - R Q  π Y (R) - π Y (T 1 )

Βάσεις Δεδομένων Ευαγγελία Πιτουρά64 ΠΙΤΣΑ ΟΝΟΜΑΣΥΣΤΑΤΙΚΟ Vegetarianμανιτάρι Vegetarianελιά Χαβάηανανάς Χαβάηζαμπόν Σπέσιαλζαμπόν Σπέσιαλμπέικον Σπέσιαλμανιτάρι Ελληνικήελιά Τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον φοιτητή Δημήτρη ΟΝΟΜΑΣΥΣΤΑΤΙΚΟ Vegetarianμανιτάρι Vegetarianμπέικον Χαβάημανιτάρι Χαβάημπέικον Σπέσιαλμανιτάρι Σπέσιαλμπέικον Ελληνικήμανιτάρι Ελληνική μπέικον Δ_ΑΡΕΣΕΙ ΣΥΣΤΑΤΙΚΟ μανιτάρι μπέικον Τ 1  (π Y (R) x S) - R

Βάσεις Δεδομένων Ευαγγελία Πιτουρά65 Παράδειγμα (ταινίες) Χρήσιμη όταν για κάθε, παράδειγμα: βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και ο George Clooney. R (Παίζει) : Όλοι οι ηθοποιοί και οι ταινίες που παίζουν S : Όλες τις ταινίες που παίζει ο George Clooney Q : Οι ηθοποιοί που (το όνομα τους) εμφανίζονται στη σχέση Παίζει ( R ) με υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S R S

Βάσεις Δεδομένων Ευαγγελία Πιτουρά66 Διαίρεση (ταινίες) S  π τίτλος, έτος (σ Όνομα Ηθοποιού = George Clooney (Παίζει)) Q  Παίζει S Χωρίς να χρησιμοποιήσω την πράξη της διαίρεσης; παράδειγμα: βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και ο George Clooney. S: Όλες τις ταινίες που παίζει ο George Clooney Q: Οι ηθοποιοί που (το όνομα τους) εμφανίζονται στη σχέση Παίζει (R) με υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S

Βάσεις Δεδομένων Ευαγγελία Πιτουρά67 Διαίρεση (ταινίες) Μια πλειάδα y αποκλείεται από το αποτέλεσμα ανν όταν τις συνάψουμε μια τιμή x από το S, η πλειάδα δεν ανήκει στο R Τ 1  (π Y (R) x S) - R Q  π Y (R) - π Y (T 1 ) Παράδειγμα (εφαρμογή ισοδύναμης έκφρασης): βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και o George Clooney. S  π τίτλος, έτος (σ Όνομα Ηθοποιού = George Clooney (Παίζει)) Τ 1  (π ηθοποιός (Παίζει) x S) – Παίζει (μένουν μόνο οι ηθοποιοί που δεν παίζουν σε κάποια ταινία που παίζει o Clooney!) Q  π ηθοποιός (Παίζει) – π ηθοποιός (Τ 1 )

Βάσεις Δεδομένων Ευαγγελία Πιτουρά68 Παράδειγμα (μπύρες) παράδειγμα: βρες τα μαγαζιά που σερβίρουν ΟΛΕΣ τις μπύρες που αρέσουν στο Δημήτρη R (ΣΕΡΒΙΡΕΙ) : Όλα τα μαγαζιά και οι μπύρες που σερβίρουν S : Όλες οι μπύρες που προτιμά ο Δημήτρης Q : Τα μαγαζιά που εμφανίζονται στη σχέση ΣΕΡΒΙΡΕΙ ( R ) με τα υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S R S

Βάσεις Δεδομένων Ευαγγελία Πιτουρά69 Αναδρομική Κλειστότητα Αρ_Ταυτ Διεύθυνση Μισθός Προϊστάμενος Δεν είναι δυνατόν να βρούμε όλους τους υφισταμένους που επιτηρεί σε οποιοδήποτε επίπεδο ένας συγκεκριμένος προϊστάμενος (π.χ., Αρ_Ταυτ = Μ20200) R Π 1 (Προϊστ1)  π Αρ_Ταυτ (σ Προϊστάμενος = Μ20200 (R)) Π 2 (Προϊστ2)  π Αρ_Ταυτ ( Π 1 Προϊστ1 = Προϊστάμενος (R)) Παρόμοια, μπορώ να βρω πχ τους συμπρωταγωνιστές του George Clooney (ηθοποιούς που έπαιξαν σε τουλάχιστον μια ταινία μαζί του), τους συμπρωταγωνιστές των συμπρωταγωνιστών του κλπ άλλα μέχρι ένα βάθος

Βάσεις Δεδομένων Ευαγγελία Πιτουρά70 Εξωτερική Συνένωση Όταν θέλουμε να κρατήσουμε στο αποτέλεσμα όλες τις πλειάδες - και αυτές που δεν ταιριάζουν) είτε της σχέσης στα αριστερά (αριστερή εξωτερική συνένωση) είτε της σχέσης στα δεξιά (δεξιά εξωτερική συνένωση) R S Α C Α B Α C B Α C B null Α C B null 9 R * S