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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η SQL ως γλώσσα τροποποίησης Δεδομένων

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

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

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

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

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

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

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

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

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

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

καλών σχεσιακών σχημάτων

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

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

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

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

Συναρτησιακές Εξαρτήσεις

Επεξεργασία Ερωτήσεων

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

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

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

Η Γλώσσα SQL. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

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

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

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

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

SQL. Πριν μια σύντομη επανάληψη της σχεσιακής άλγεβρας. H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού εδομένων (ΓΟ ) Γλώσσα Χειρισμού εδομένων (ΓΧ )

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Σχεδιασµός Σχεσιακών Σχηµάτων

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

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

Συναρτησιακές Εξαρτήσεις

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση

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

Μοντέλο Οντοτήτων-Συσχετίσεων

Συναρτησιακές Εξαρτήσεις

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση

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


Η Γλώσσα SQL. SQL αποτελείται από: DDL (Data Definition Language) - ορισμός, δημιουργία, τροποποίηση και διαγραφή σχήματος.

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

καλών σχεσιακών σχημάτων

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

Συναρτησιακές Εξαρτήσεις

Μοντέλο Οντοτήτων-Συσχετίσεων

Transcript:

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

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

Γλώσσες Ερωτήσεων: Εισαγωγή Γλώσσες Ερωτήσεων (Query Languages): Επιτρέπουν τον χειρισμό και την εύρεση πληροφορίας από μια βάση δεδομένων Με τη διατύπωση ερωτήσεων στον τρέχων στιγμιότυπο της βάσης δεδομένων (querying) Το σχεσιακό μοντέλο υποστηρίζει απλές και ισχυρές γλώσσες ερωτήσεων (σε αντίθεση με το μοντέλο Ο/Σ) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 5 Γλώσσες Ερωτήσεων: Εισαγωγή ύο μαθηματικές γλώσσες ερωτήσεων αποτελούν τη βάση για τις πραγματικές γλώσσες ερωτήσεων (π.χ., SQL) και για την υλοποίησή τους Σχεσιακή Άλγεβρα: Λειτουργική operational (database byte-code!): αποτελείται από ένα σύνολο τελεστών και περιγράφει τα βήματα για τον υπολογισμό του αποτελέσματος Σχεσιακός Λογισμός (calculus): Επιτρέπει στους χρήστες να περιγράψουν τι θέλουν αλλά όχι πώς να το υπολογίσουν Αυτές οι τυπικές γλώσσες επηρέασαν τις εμπορικές γλώσσες (SQL, QBE) που θα δούμε στα επόμενα μαθήματα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 6 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 3

Γλώσσες Ερωτήσεων: Εισαγωγή Γλώσσες Ερωτήσεων!= Γλώσσες Προγραμματισμού! εν αναμένεται να είναι Turing complete. εν αναμένεται να χρησιμοποιηθούν για δύσκολους υπολογισμούς. Υποστηρίζουν εύκολη και αποδοτική προσπέλαση σε μεγάλα σύνολα δεδομένων. Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 7 Σχεσιακή Άλγεβρα Σχεσιακή άλγεβρα: έναν απλό τρόπο δημιουργίας νέων σχέσεων από υπάρχουσες. Ένα σύνολο από πράξεις που όταν εφαρμοστούν σε σχέσεις (πίνακες) μας δίνουν νέες σχέσεις Μια ερώτηση εφαρμόζεται σε ένα στιγμιότυπο σχέσης και το αποτέλεσμα της ερώτησης είναι πάλι ένα στιγμιότυπο σχέσης Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 8 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 4

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

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

Η Πράξη της Επιλογής Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής συνθήκη σ <συνθήκη επιλογής> (<όνομα σχέσης>) προτάσεις της μορφής <όνομα γνωρίσματος> <τελεστής σύγκρισης> =, >, <,,, <όνομα γνωρίσματος> ή <σταθερή τιμή από το πεδίο ορισμού του γνωρίσματος> συνδυασμένες με AND, OR, NOT Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 13 Παράδειγμα (ταινίες) Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 14 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 7

Παράδειγμα (ταινίες) Παραδείγματα τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη 1. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών) σ διάρκεια > 100 (Ταινία) τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 15 Παράδειγμα (ταινίες) τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη 2. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών που γυρίστηκαν μετά το 1995 σ διάρκεια > 100 AND χρόνος > 1995 (Ταινία) τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 16 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 8

Η Πράξη της Επιλογής Η συνθήκη επιλογής εφαρμόζεται ανεξάρτητα σε κάθε πλειάδα Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης που προκύπτει ίδιος με τον βαθμό της αρχικής σχέσης Πλήθος πλειάδων μικρότερο ή ίσο με την αρχική σχέση: ποσοστό που επιλέγονται - επιλεκτικότητα (selectivity) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 17 Ιδιότητες αντιμεταθετική σ <συνθ1> (σ <συνθ2> (R)) = σ <συνθ2> (σ <συνθ1> (R)) Η Πράξη της Επιλογής σ <συνθ1> (σ <συνθ2> ( σ <συνθn> (R)..)) = σ <συνθ1> AND <συνθ2>... AND <συνθn> (R) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 18 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 9

Η Πράξη της Προβολής Η πράξη της προβολής (project) Επιλογή συγκεκριμένων στηλών (γνωρισμάτων) π <λίστα γνωρισμάτων> (<όνομα σχέσης>) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 19 Παράδειγμα (ταινίες) Παραδείγματα τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 20 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 10

Παράδειγμα (ταινίες) 1. Τίτλος, χρόνος, διάρκεια των ταινιών π τίτλος, χρόνος, διάρκεια (Ταινία) τίτλος χρόνος διάρκεια Star Wars 1997 124 Mighty Ducks 1991 104 Wayne s World 1992 95 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 21 Παράδειγμα (ταινίες) 2. Είδος ταινιών π είδος (Ταινία) είδος έγχρωμη Προσοχή: απαλοιφή διπλότιμων Γιατί; Με βάση τον ορισμό το αποτέλεσμα είναι σχέση (δηλαδή, σύνολο πλειάδων) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 22 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 11

Η Πράξη της Προβολής Τα γνωρίσματα έχουν την ίδια διάταξη Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης είναι ίσος με τον αριθμό γνωρισμάτων στη <λίστα γνωρισμάτων> Πλήθος πλειάδων μικρότερο ή ίσο (πότε;) αρχική σχέση με την Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 23 Η Πράξη της Προβολής Ιδιότητες αντιμεταθετική; π <λίστα1> (π <λίστα2> (R)) =? Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 12

Παράδειγμα (ταινίες) Παράδειγμα ιάρκειες μεγαλύτερες των 100 λεπτών π διάρκεια (σ διάρκεια > 100 (Ταινία)) διάρκεια 124 104 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 25 Πράξεις Συνόλου Πράξεις συνόλου Ένωση ( ) Τομή ( ) ιαφορά (-) Συμβατότηταωςπροςτηνένωση ύ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 ) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 26 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 13

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

Σχεσιακή Άλγεβρα R Α Β 1 2 1 4 2 1 6 5 Παράδειγμα σ Α > Β (R) Π Α (R) R S R S R -S S - R S B C 2 3 2 5 1 4 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 29 Μετονομασία Μετονομασία όνομα στην ενδιάμεση σχέση R Παράδειγμα ΜΕΓΑΛΗΣ_ ΙΑΡΚΕΙΑΣ σ διάρκεια > 100 (Ταινία) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 30 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 15

Παράδειγμα (ταινίες) μετονομασία γνωρισμάτων Παράδειγμα R(λίστα-με-νέα-ονόματα) ΜΕΓΑΛΗΣ_ ΙΑΡΚΕΙΑΣ (όνομα ταινίας, έτος παραγωγής, διάρκεια, είδος) σ διάρκεια > 100 (Ταινία) όνομα ταινίας έτος παραγωγής διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 31 Καρτεσιανό Γινόμενο Καρτεσιανό Γινόμενο (ή χιαστί γινόμενο (cross product) ή χιαστί συνένωση (cross join)) R(A 1, A 2,, A n ) x S(B 1, B 2,, B m ) αποτέλεσμα η σχέση Q: Q(A 1, A 2,, A n, B 1, B 2,, B m ) n + m γνωρίσματα n R * n S πλειάδες Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 32 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 16

Καρτεσιανό Γινόμενο R Α Β 1 2 3 4 S B C D 2 5 6 4 7 8 9 10 11 R x S A B B C D 1 2 2 5 6 1 2 4 7 8 1 2 9 10 11 3 4 2 5 6 3 4 4 7 8 3 4 9 10 11 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 33 Παράδειγμα (ταινίες) Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 34 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 17

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

Ταινία Ταινία.Τίτλος Ταινία.Έτος ιάρκεια Είδος Παραμύθι 1990 90 Έγχρωμη Παραμύθι 1930 120 Ασπρόμαυρη Φυγή 2000 98 Ασπρόμαυρη Άνοιξη 1998 101 Έγχρωμη Παράδειγμα (ταινίες) Παίζει Όνομα-Ηθοποιού Παίζει.Τίτλος Παίζει.Έτος Αλίκη Παππά Παραμύθι 1930 Μαρία Γεωργίου Παραμύθι 1990 Κώστας Χρήστου Φυγή 2000 Μαρία Στεργίου Άνοιξη 1998 Κατερίνα Αποστόλου Φυγή 2000 Ταινία.Τίτλος Ταινία.Έτος ιάρκεια Είδος Όνομα-Ηθοποιού Παίζει.Τίτλος Παίζει.Έτος Παραμύθι 1990 90 Έγχρωμη Αλίκη Παππά Παραμύθι 1930 Παραμύθι 1990 90 Έγχρωμη Μαρία Γεωργίου Παραμύθι 1990 Παραμύθι 1990 90 Έγχρωμη Κώστας Χρήστου Φυγή 2000 Παραμύθι 1990 90 Έγχρωμη Μαρία Στεργίου Άνοιξη 1998 Παραμύθι 1990 90 Έγχρωμη Κατερίνα Αποστόλου Φυγή 2000 Παραμύθι 1930 120 Ασπρόμαυρη Αλίκη Παππά Παραμύθι 1930 Παραμύθι 1990 120 Ασπρόμαυρη Μαρία Γεωργίου Παραμύθι 1990 Παραμύθι 1930 120 Ασπρόμαυρη Κώστας Χρήστου Φυγή 2000 Παραμύθι 1930 120 Ασπρόμαυρη Μαρία Στεργίου Άνοιξη 1998 Παραμύθι 1930 120 Ασπρόμαυρη Κατερίνα Αποστόλου Φυγή 2000 Φυγή 2000 98 Ασπρόμαυρη Αλίκη Παππά Παραμύθι 1930 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 37 Παράδειγμα (ταινίες) Παράδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει π όνομα, τίτλος, έτος (σ είδος = έγχρωμη AND Παίζει.τίτλος = Ταινία.τίτλος (Παίζει x Ταινία)) AND Παίζει.έτος = Ταινία.έτος ή π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = έγχρωμη (Ταινία))) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 38 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 19

Συνένωση Συνένωση (ήθήτασυνένωση) (join) συνδυασμός σχετιζόμενων πλειάδων R <συνθήκη συνένωσης> S ( σ <συνθήκη συνένωσης> (R x S) ) Συνθήκη συνένωσης Προτάσεις της μορφής =, >, <,,, A i <τελεστής σύγκρισης> B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(a i ) = dom(b j ) συνδυασμένες με AND Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 39 Συνένωση το αποτέλεσμα είναι οι συνδυασμοί πλειάδων που ικανοποιούν τη συνθήκη η συνθήκη αποτιμάται για κάθε συνδυασμό αποτέλεσμα σχέση Q με n + m γνωρίσματα πλειάδες με τιμή null σε γνώρισμα συνένωσης δεν εμφανίζονται στο αποτέλεσμα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 40 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 20

Συνένωση U Α Β C 1 2 3 6 7 8 9 7 8 V B C D 2 3 4 2 3 5 7 8 10 U A < D V A B C B C D 1 2 3 2 3 4 1 2 3 2 3 5 1 2 3 7 8 10 6 7 8 7 8 10 9 7 8 7 8 10 U A<D AND U.B V.B V Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 41 Παράδειγμα (ταινίες) Παράδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = έγχρωμη (Ταινία))) π όνομα, τίτλος, έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = έγχρωμη (Ταινία)) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 42 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 21

Συνένωση Ισότητας Συνένωση Ισότητας (equijoin) όταν χρησιμοποιείται μόνο τελεστής ισότητας Συνθήκη συνένωσης Προτάσεις της μορφής A i = B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(a i ) = dom(b j ) συνδυασμένες με AND Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 43 Συνένωση Ισότητας R Α Β 1 2 3 4 S B C D 2 5 6 4 7 8 9 10 11 A B B C D 1 2 2 5 6 3 4 4 7 8 R S R.B = S.B Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 44 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 22

Φυσική Συνένωση Φυσική Συνένωση συνένωση ισότητας όπου παραλείπουμε το γνώρισμα της δεύτερης σχέσης από το αποτέλεσμα όταν διαφορετικό όνομα - μετονομασία R * (λίστα1, λίστα2) S επιλεκτικότητα συνένωσης: μέγεθος αποτελέσματος / (n r * n s ) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 45 Φυσική Συνένωση R S R * S Α Β B C D 1 2 2 5 6 A B C D 3 4 4 7 8 1 2 5 6 9 10 11 3 4 7 8 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 46 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 23

Φυσική Συνένωση U Α Β C 1 2 3 6 7 8 9 7 8 V B C D 2 3 4 2 3 5 7 8 10 U * V A B C D 1 2 3 4 1 2 3 5 6 7 8 10 9 7 8 10 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 47 Παράδειγμα (ταινίες) Παράδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = έγχρωμη (Ταινία))) π όνομα, τίτλος, έτος (Παίζει>< Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = έγχρωμη (Ταινία)) π όνομα, τίτλος, έτος (Παίζει * (σ είδος = έγχρωμη (Ταινία))) είναι η τρίτη έκφραση πριν την προβολή ισοδύναμη των άλλων δύο; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 48 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 24

Σχεσιακή Άλγεβρα R Α Β 1 2 1 4 2 1 6 5 Παράδειγμα S B C 2 3 2 5 1 4 R x S R R.a >= S.b S R R.a = S.b S R * S Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 49 Σχεσιακή Άλγεβρα Πλήρες σύνολο πράξεων επιλογή (σ) προβολή (π) ένωση ( ) διαφορά (-) καρτεσιανό γινόμενο (x) Επίσης τομή ( ) συνένωση συνένωση ισότητας φυσική συνένωση (*) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 50 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 25

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

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

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

ιαίρεση 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 S το αποτέλεσμα Q τέτοιο ώστε... R Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 57 ιαίρεση R A B a 1 b 1 S R S a 1 b 3 a 1 b 4 a 2 b 2 a 2 b 4 B b 2 b 4 Ζ = {Α, Β} R(Z) Q(Υ)? Χ = {B} S(X), X Z a 3 b 2 Q Υ = Ζ - Χ Υ = {A} A t Q, t R1 R, t R1 [Y] = t a 2 t S S, t R R, t R [X] = t S και t R [Y] = t Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 58 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 29

ιαίρεση R A B C a 1 b 1 c 1 a 1 b 1 c 2 a 2 b 2 c 2 a 2 b 1 c 1 R S; Παράδειγμα S A a 1 a 2 a 3 a 2 b 2 c 1 a 3 b 1 c 1 a 3 b 1 c 2 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 59 ιαίρεση R A B C a 1 b 1 c 1 R S; Παράδειγμα S A B a 1 b 1 c 2 a 2 b 2 c 2 a 1 b 1 a 2 b 2 a 2 b 2 c 3 a 2 b 2 c 1 a 3 b 1 c 1 a 3 b 1 c 2 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 60 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 30

ιαίρεση (παράδειγμα) R S παράδειγμα: βρες τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον ημήτρη R(ΠΙΤΣΑ) S: Τα συστατικά που αρέσουν στον ημήτρη Q: Τα ονόματα από πίτσες που εμφανίζονται στη σχέση ΠΙΤΣΑ με όλα τα υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 61 ΙΑΙΡΕΣΗ ΑΡΕΣΕΙ ΦΟΙΤΗΤΗΣ Δημήτρης Κώστας ΣΥΣΤΑΤΙΚΟ Παράδειγμα ζαμπόν ΠΙΤΣΑ ΟΝΟΜΑ Vegetarian Vegetarian Χαβάη ΣΥΣΤΑΤΙΚΟ ελιά ανανάς Μαρία Κατερίνα Μαρία Δημήτρης Μαρία ελιά ζαμπόν μπέικον ανανάς Χαβάη ζαμπόν Σπέσιαλ ζαμπόν Σπέσιαλ Σπέσιαλ Ελληνική μπέικον ελιά Δ_ΑΡΕΣΕΙ ΣΥΣΤΑΤΙΚΟ S μπέικον ΟΝΟΜΑ Σπέσιαλ Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 62 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 31

ιαίρεση Iσοδύναμη έκφραση για το Q(Υ) R(Ζ) S(Χ) Υπολογισμός των πλειάδων που δεν πρέπει να είναι στο αποτέλεσμα. Μια πλειάδα y αποκλείεται από το αποτέλεσμα αν και μόνον αν: όταν της συνάψουμε μια τιμή x από το S, η πλειάδα <y, x> δεν ανήκει στο R Τ 1 (π Y (R) x S) - R Q π Y (R) - π Y (T 1 ) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 63 Τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον φοιτητή ημήτρη ΠΙΤΣΑ ΟΝΟΜΑ ΣΥΣΤΑΤΙΚΟ Vegetarian Vegetarian ελιά Δ_ΑΡΕΣΕΙ Χαβάη ανανάς ΣΥΣΤΑΤΙΚΟ Χαβάη ζαμπόν Σπέσιαλ ζαμπόν μπέικον Σπέσιαλ μπέικον Σπέσιαλ Ελληνική ελιά Τ 1 (π Y (R) x S) - R ΟΝΟΜΑ Vegetarian Vegetarian Χαβάη Χαβάη Σπέσιαλ Σπέσιαλ Ελληνική Ελληνική ΣΥΣΤΑΤΙΚΟ μπέικον μπέικον μπέικον μπέικον Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 64 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 32

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

ιαίρεση (ταινίες) Παράδειγμα (εφαρμογή ισοδύναμης έκφρασης): βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και o George Clooney. Μια πλειάδα y αποκλείεται από το αποτέλεσμα ανν όταν τις συνάψουμε μια τιμή x από το S, η πλειάδα<y, x> δεν ανήκει στο R Τ 1 (π Y (R) x S) - R Q π Y (R) - π Y (T 1 ) S π τίτλος, έτος (σ Όνομα Ηθοποιού = George Clooney (Παίζει)) Τ 1 (π ηθοποιός (Παίζει) x S) Παίζει (μένουν μόνο οι ηθοποιοί που δεν παίζουν σε κάποια ταινία που παίζει o Clooney!) Q π ηθοποιός (Παίζει) π ηθοποιός (Τ 1 ) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 67 Παράδειγμα (μπύρες) R S παράδειγμα: βρες τα μαγαζιά που σερβίρουν ΟΛΕΣ τις μπύρες που αρέσουν στο ημήτρη R(ΣΕΡΒΙΡΕΙ): Όλα τα μαγαζιά και οι μπύρες που σερβίρουν S: Όλες οι μπύρες που προτιμά ο ημήτρης Q: Τα μαγαζιά που εμφανίζονται στη σχέση ΣΕΡΒΙΡΕΙ (R) με τα υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 68 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 34

Αναδρομική Κλειστότητα R Αρ_Ταυτ Διεύθυνση Μισθός Προϊστάμενος εν είναι δυνατόν να βρούμε όλους τους υφισταμένους που επιτηρεί σε οποιοδήποτε επίπεδο ένας συγκεκριμένος προϊστάμενος (π.χ., Αρ_Ταυτ = Μ20200) Π 1 (Προϊστ1) π Αρ_Ταυτ (σ Προϊστάμενος = Μ20200 (R)) Π 2 (Προϊστ2) π Αρ_Ταυτ ( Π 1 Προϊστ1 = Προϊστάμενος (R)) Παρόμοια, μπορώ να βρω πχ τους συμπρωταγωνιστές του George Clooney (ηθοποιούς που έπαιξαν σε τουλάχιστον μια ταινία μαζί του), τους συμπρωταγωνιστές των συμπρωταγωνιστών του κλπ άλλα μέχρι ένα βάθος Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 69 Εξωτερική Συνένωση Όταν θέλουμε να κρατήσουμε στο αποτέλεσμα όλες τις πλειάδες - και αυτές που δεν ταιριάζουν) είτε της σχέσης στα αριστερά (αριστερή εξωτερική συνένωση) είτε της σχέσης στα δεξιά (δεξιά εξωτερική συνένωση) R S R * S Α C Α B Α C B Α C B Α C B 1 6 1 3 1 6 3 1 6 3 1 6 3 2 4 1 5 1 6 5 1 6 5 1 6 5 3 9 2 4 null 3 null 9 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 70 Βάσεις Δεδομένων 2010-2011: Σχεσιακή Άλγεβρα 35