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

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

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

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

Βάσεις Δεδομένων Ι. 4 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

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

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

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


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

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

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

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

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

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

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

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

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

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ίαυλος. ιαφάνεια 4-1

ΗΥ360 - Αρχεία και Βάσεις Δεδομένων Χειμερινό Eξάμηνο Μοντέλο Οντοτήτων-Συσχετίσεων Σχεσιακό Μοντέλο

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

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

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

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

Βελτιστοποίηση επερωτημάτων

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

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

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

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

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

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

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

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

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

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

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

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

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

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

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

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

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

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος


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

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

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

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

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

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

Θέματα ανακεφαλαίωσης

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

Transcript:

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

Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό μοντέλο Σχεσιακή άλγεβρα Επιλογή Προβολή Πράξεις συνόλου (ένωση, τομή, διαφορά) Μετονομασία Καρτεσιανό γινόμενο 19/3/2015 Βάσεις Δεδομένων 2

Κληρονομικότητα τύπων οντοτήτων Όπως στο αντικειμενοστραφές μοντέλο, έτσι και στο μοντέλο ΟΣ: τα γνωρίσματα και οι συσχετίσεις ενός τύπου οντότητας κληρονομούνται μια υποκλάση είναι ένας τύπος οντότητας που κληρονομεί όλα τα γνωρίσματα και συσχετίσεις του βασικού τύπου οντότητας 19/3/2015 Βάσεις Δεδομένων 3

Εξειδίκευση Είναι η διαδικασία ορισμού ενός συνόλου υποκλάσεων ενός τύπου οντοτήτων Η υποκλάση σε μια εξειδίκευση έχει τα γνωρίσματα και τους τύπους συσχετίσεων που κληρονομεί δικά της, ιδιαίτερα γνωρίσματα (τοπικά γνωρίσματα) ιδιαίτερους τύπους συσχέτισης 19/3/2015 Βάσεις Δεδομένων 4

Όνομα Επώνυμο Όνομα Αριθμός Ημ_Γεν Πλήρες_όνομα Φύλο Διεύθυνση Ν (1,1) ΕΡΓΑΖΕΤΑΙ 1 (4,N) ΤΜΗΜΑ Αρ_ταυτ ΕΡΓΑΖΟΜΕΝΟΣ ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ ΕΜΜΙΣΘΟΣ ΩΡΟΜΙΣΘΙΟΣ ΔΙΕΥΘΥΝΕΙ Μισθός Κλιμάκιο Βαθμός Ειδικότητα ΑΣΦΑΛΙΖΕΤΑΙ ΕΡΓΟ ΤΑΜΕΙΟ 19/3/2015 Βάσεις Δεδομένων 5

Εξειδίκευση = Συσχέτιση; Η εξειδίκευση μοιάζει με μια συσχέτιση 1:1 σε επίπεδο στιγμιοτύπου Όμως δεν είναι γιατί δε συνδέει διαφορετικά στιγμιότυπα Οι οντότητες που συμμετέχουν στις υποκλάσεις είναι οι ίδιες που συμμετέχουν και στην υπερκλάση Υπάλληλοι e 1 Εργαζόμενοι e 1 e 1 Τμήμα= Λογιστήριο" e 5 e 2 e 3 e 4 e 5 e 2 e 3 e 4 Τμήμα= Πωλήσεις" e 2 e 3 e 4 e 5 Τεχνικοί Μηχανικοί 19/3/2015 Βάσεις Δεδομένων 6

Γιατί χρησιμοποιούμε εξειδίκευση Για να ομαδοποιήσουμε καλύτερα τις οντότητες που έχουν ιδιαίτερα γνωρίσματα, περισσότερα από το βασικό τύπο οντότητας Για να χρησιμοποιήσουμε ορισμένα στιγμιότυπα σε ιδιαίτερους τύπους συσχετίσεων που δεν ισχύουν για όλα τα στιγμιότυπα του βασικού τύπου οντότητας 19/3/2015 Βάσεις Δεδομένων 7

Γενίκευση Είναι η αντίστροφη διαδικασία της εξειδίκευσης Όταν δύο ή περισσότεροι τύποι οντοτήτων εμφανίζουν κοινά γνωρίσματα ή/και συσχετίσεις, τότε τα συγκεντρώνουμε σε μια γενικευμένη υπερκλάση Ο συμβολισμός είναι ο ίδιος με την εξειδίκευση Η επιλογή εξειδίκευσης ή γενίκευσης είναι υποκειμενική 19/3/2015 Βάσεις Δεδομένων 8

Περιορισμοί σε εξειδίκευση/ γενίκευση Εξειδίκευση οριζόμενη βάσει κατηγορήματος ή βάσει συνθήκης (predicate defined) Όταν μια υπερκλάση εξειδικεύεται σε περισσότερες υποκλάσεις, μπορούμε να ορίσουμε τη συνθήκη με την οποία προσδιορίζεται που ανήκει κάθε στιγμιότυπο Η συνθήκη ορίζεται ως μια τιμή (ή περισσότερες) σε κάποιο γνώρισμα (ή γνωρίσματα) της υπερκλάσης Η συνθήκη ονομάζεται ορίζον κατηγόρημα Εξειδίκευση οριζόμενη βάσει γνωρίσματος (attribute based) Όταν η συνθήκη εξειδίκευσης για όλες τις υποκλάσεις ορίζεται στο ίδιο γνώρισμα της υπερκλάσης Η συνθήκη ονομάζεται ορίζον γνώρισμα Όταν δεν υπάρχει συνθήκη, η υποκλάση ονομάζεται οριζόμενη από το χρήστη 19/3/2015 Βάσεις Δεδομένων 9

Όνομα Επώνυμο Φύλο Διεύθυνση Όνομα Αριθμός Ημ_Γεν Αρ_ταυτ Πλήρες_όνομα Μην. Μισθός Ν (1,1) ΕΡΓΑΖΕΤΑΙ 1 (4,N) ΤΜΗΜΑ Είδος εργασίας ΕΡΓΑΖΟΜΕΝΟΣ βάσει γνωρίσματος Είδος εργασίας Βάσει συνθήκης Τεχνικός Μηχανικός Μην. Μισθός>0 ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ ΕΜΜΙΣΘΟΣ ΩΡΟΜΙΣΘΙΟΣ ΔΙΕΥΘΥΝΕΙ Μισθός Κλιμάκιο Βαθμός Ειδικότητα ΑΣΦΑΛΙΖΕΤΑΙ ΕΡΓΟ ΤΑΜΕΙΟ 19/3/2015 Βάσεις Δεδομένων 10

Άλλοι περιορισμοί Περιορισμός μη επικάλυψης (d): Οι υποκλάσεις της εξειδίκευσης είναι ξένες μεταξύ τους (ή μια οντότητα ανήκει αποκλειστικά σε μια υποκλάση) Διαφορετικά έχουμε εξειδίκευση με επικάλυψη (ο) Η εξειδίκευση που ορίζεται βάσει γνωρίσματος, το οποίο είναι απλό, ικανοποιεί πάντα τον περιορισμό μη επικάλυψης Περιορισμός πληρότητας: Ολική εξειδίκευση έχουμε όταν όλες οι οντότητες της υπερκλάσης ανήκουν σε κάποια από τις υποκλάσεις της εξειδίκευσης. Συμβολίζεται με διπλή γραμμή Διαφορετικά έχουμε μερική εξειδίκευση 19/3/2015 Βάσεις Δεδομένων 11

Όνομα Επώνυμο Φύλο Διεύθυνση Όνομα Αριθμός Ημ_Γεν Αρ_ταυτ Πλήρες_όνομα Μην. Μισθός Ν (1,1) ΕΡΓΑΖΕΤΑΙ 1 (4,N) ΤΜΗΜΑ Είδος εργασίας ΕΡΓΑΖΟΜΕΝΟΣ ΔΙΕΥΘΥΝΕΙ d Είδος εργασίας d Κάποιοι μπορεί να είναι και διευθυντές και προϊστάμενοι ο Τεχνικός Μηχανικός Μην. Μισθός>0 ΔΙΕΥΘΥΝΤΗΣ ΠΡΟΙΣΤΑΜΕΝΟΣ ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΙΚΟΣ ΕΜΜΙΣΘΟΣ ΩΡΟΜΙΣΘΙΟΣ Βαθμός Ειδικότητα Μισθός ΑΣΦΑΛΙΖΕΤΑΙ ΤΑΜΕΙΟ Κλιμάκιο ΔΙΕΥΘΥΝΕΙ ΕΡΓΟ 19/3/2015 Βάσεις Δεδομένων 12

Ιεραρχίες και Πλέγματα εξειδίκευσης Ιεραρχία εξειδίκευσης: Μια εξειδίκευση επεκτείνεται σε περισσότερα από ένα επίπεδα Πλέγμα εξειδίκευσης: Μια υποκλάση μπορεί να είναι υποκλάση σε περισσότερες από μια εξειδικεύσεις (διαμοιραζόμενη υποκλάση) ΕΡΓΑΖΟΜΕΝΟΣ d d ο ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΙΚΟΣ ΕΜΜΙΣΘΟΣ ΩΡΟΜΙΣΘΙΟΣ ΔΙΕΥΘΥΝΤΗΣ ΠΡΟΙΣΤΑΜΕΝΟΣ ΔΙΕΥΘΥΝΩΝ ΜΗΧΑΝΙΚΟΣ 19/3/2015 Βάσεις Δεδομένων 13

Κατηγορίες ή Τύποι ένωσης Κατηγορία: Μια υποκλάση που περιέχει οντότητες από διαφορετικούς τύπους οντοτήτων, και αποτελεί την ένωση αυτών Μπορεί να είναι ολική ή μερική Όνομα Επώνυμο Επωνυμία ΑΦΜ Αρ_ταυτ Διεύθυνση ΙΔΙΩΤΗΣ ΕΤΑΙΡΙΑ Διεύθυνση U Ιδιώτες και εταιρίες μπορεί να είναι ιδιοκτήτες αυτοκινήτων ΙΔΙΟΚΤΗΤΗΣ Ημ. Αγοράς ΚΑΤΕΧΕΙ Αρ. Κυκλ. ΑΥΤΟΚΙΝΗΤΟ Μοντέλο 19/3/2015 Βάσεις Δεδομένων 14

Συνάθροιση Μας επιτρέπει να συνθέτουμε αντικείμενα από επιμέρους αντικείμενα Συνάθροιση τιμών γνωρισμάτων ενός αντικειμένου αντικείμενο IS ASSOCIATED WITH: Συναθροιστική συσχέτιση IS PART OF: Συνδυασμός αντικειμένων που συμμετέχουν στο στιγμιότυπο μιας συσχέτισης τύπος οντότητας που συμμετέχει σε συσχετίσεις ΔΙΕΥΘΥΝΤΗΣ ΔΙΕΥΘΥΝΤΗΣ ΔΙΕΥΘΥΝΕΙ ΔΙΕΥΘΥΝΕΙ ΕΡΓΟ ΥΠΑΛΛΗΛΟΣ ΤΜΗΜΑ ΥΠΑΛΛΗΛΟΣ ΕΡΓΟ ΕΡΓΑΖΕΤΑΙ ΤΜΗΜΑ ΕΡΓΑΖΕΤΑΙ 19/3/2015 Βάσεις Δεδομένων 15

(Συνέχεια) ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 19/3/2015 Βάσεις Δεδομένων 16

Πράξεις στο σχεσιακό μοντέλο Το σύνολο των πράξεων είναι κλειστό: Οι πράξεις ορίζονται σε Σχέσεις και δίνουν ως αποτέλεσμα νέες Σχέσεις Ενημερώσεις: Εισαγωγή, Διαγραφή, Τροποποίηση πλειάδας Ενδέχεται να παραβιάζουν τους περιορισμούς ακεραιότητας αλλά και αναφοράς Ανακτήσεις Σχεσιακή άλγεβρα: Προσδιορίζει πώς υπολογίζεται το αποτέλεσμα Σχεσιακός λογισμός: Προσδιορίζει ποιες ιδιότητες πρέπει να πληροί το αποτέλεσμα 19/3/2015 Βάσεις Δεδομένων 17

Σχεσιακές γλώσσες Επιτρέπουν την επεξεργασία και ανάκτηση δεδομένων σε μια ΒΔ Είναι απλές και εκφραστικές Έχουν θεωρητική βάση (θεωρία συνόλων, μαθηματική λογική) Επιτρέπουν βελτιστοποιήσεις Δεν είναι γλώσσες προγραμματισμού 19/3/2015 Βάσεις Δεδομένων 18

Σχεσιακή άλγεβρα Ένα σύνολο από τελεστές (πράξεις) που ενεργούν σε Σχέσεις και παράγουν άλλες Σχέσεις Οι πράξεις μπορούν να συνδυαστούν δημιουργώντας «εκφράσεις» Οι πράξεις μπορούν να φωλιάσουν, εφόσον το αποτέλεσμά τους είναι μια νέα Σχέση Κατηγορίες τελεστών/πράξεων: Κλασικές συνολο-θεωρητικές: ένωση, τομή, διαφορά Προσαρμοσμένες στις ΒΔ: προβολή, επιλογή, συνένωση, μετονομασία 19/3/2015 Βάσεις Δεδομένων 19

A) Επιλογή (selection) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής σ <συνθήκη επιλογής> (<όνομα σχέσης>) Η συνθήκη επιλογής αποτελείται από μια ή περισσότερες προτάσεις σύγκρισης που συνδέονται με λογικούς τελεστές (AND,OR,NOT) Οι προτάσεις συγκρίνουν ένα γνώρισμα με ένα άλλο γνώρισμα ή μια τιμή (=,>,<,,, ) 19/3/2015 Βάσεις Δεδομένων 20

Παράδειγμα Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη Casablanca 1942 102 ασπρόμαυρη City of Gods 2002 130 έγχρωμη 19/3/2015 Βάσεις Δεδομένων 21

Ερωτήσεις Ταινίες μετά το 1970; σ Έτος>1970 (Ταινία) Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη City of Gods 2002 130 έγχρωμη Ταινίες με διάρκεια μεγαλύτερη των 2 ωρών που γυρίστηκαν μετά το 1970; σ Έτος>1970 AND Διάρκεια>120 (Ταινία) Τίτλος Έτος Διάρκεια Είδος City of Gods 2002 130 έγχρωμη 19/3/2015 Βάσεις Δεδομένων 22

Επιλογή Η συνθήκη εφαρμόζεται ανεξάρτητα σε κάθε πλειάδα Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης που προκύπτει είναι ίδιος με το βαθμό της αρχικής σχέσης Το πλήθος των πλειάδων είναι ίδιο ή μικρότερο Επιλεκτικότητα (selectivity), ορίζεται ως το ποσοστό των πλειάδων που επιλέγονται 19/3/2015 Βάσεις Δεδομένων 23

Ιδιότητες αντιμεταθετική σ <συνθ1> (σ <συνθ2> (R)) = σ <συνθ2> (σ <συνθ1> (R)) σ <συνθ1> (σ <συνθ2> ( σ <συνθn> (R)..)) = σ <συνθ1> AND <συνθ2>... AND <συνθn> (R) 19/3/2015 Βάσεις Δεδομένων 24

Παράδειγμα Έγχρωμες ταινίες που γυρίστηκαν πριν το 2000 σ είδος= έγχρωμη (σ έτος<2000 (R)) Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη Casablanca 1942 102 ασπρόμαυρη Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη σ έτος<2000 (σ είδος= έγχρωμη (R)) Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη City of Gods 2002 130 έγχρωμη σ έτος<2000 AND είδος= έγχρωμη (R) Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη Τίτλος Έτος Διάρκεια Είδος Star Wars 1977 115 έγχρωμη 19/3/2015 Βάσεις Δεδομένων 25

B) Προβολή (projection) Επιλογή συγκεκριμένων γνωρισμάτων (στηλών) π <λίστα γνωρισμάτων> (<όνομα σχέσης>) Στις πλειάδες που απομένουν δεν εμφανίζονται διπλότυπα Τα γνωρίσματα έχουν την ίδια διάταξη Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης είναι ίσος με τον αριθμό των γνωρισμάτων στη <λίστα γνωρισμάτων> Το πλήθος πλειάδων είναι μικρότερο ή ίσο με την αρχική σχέση 19/3/2015 Βάσεις Δεδομένων 26

Παραδείγματα Εμφανίστε τον τίτλο, το έτος και τη διάρκεια των ταινιών. π τίτλος, χρόνος, διάρκεια (Ταινία) Εμφανίστε τα είδη των ταινιών. Τίτλος Έτος Διάρκεια Star Wars 1977 115 Casablanca 1942 102 City of Gods 2002 130 π είδος (Ταινία) Είδος έγχρωμη ασπρόμαυρη 19/3/2015 Βάσεις Δεδομένων 27

Ιδιότητες Αντιμεταθετική π <λίστα1> (π <λίστα2> (R)) = ισχύει? Δύο διαδοχικές προβολές είναι εφικτές μόνο όταν <λίστα1> υποσύνολο της <λίστα2> π.χ. π τίτλος (π τίτλος, χρόνος, διάρκεια (Ταινία)) π τίτλος (Ταινία) Η αντιμετάθεση ισχύει μόνο εφόσον <λίστα1> = <λίστα2> 19/3/2015 Βάσεις Δεδομένων 28

Προβολή - Επιλογή Εμφάνισε τους τίτλους και τις διάρκειες των ταινιών που υπερβαίνουν τις 2 ώρες. Επιλογή και μετά προβολή: π τίτλος,διάρκεια (σ διάρκεια > 120 (Ταινία)) Τίτλος Έτος Διάρκεια Είδος Τίτλος Διάρκεια City of Gods 2002 130 έγχρωμη City of Gods 130 Προβολή και μετά επιλογή (πρέπει στην προβολή περιέχονται τα πεδία στα οποία θα γίνει η επιλογή) σ διάρκεια > 120 (π τίτλος,διάρκεια (Ταινία)) Τίτλος Διάρκεια Star Wars 115 Τίτλος Διάρκεια Casablanca 102 City of Gods 130 City of Gods 130 19/3/2015 Βάσεις Δεδομένων 29

Γ) Πράξεις συνόλου Ένωση ( ) UNION Τομή ( ) INTERSECTION Διαφορά (-) DIFFERENCE Για να εφαρμόσουμε μια από τις πράξεις αυτές σε δύο Σχέσεις (σύνολα πλειάδων), πρέπει οι σχέσεις να είναι συμβατές Δύο σχέσεις R(A 1, A 2,, A n ) και S(B 1, B 2,, B n ) είναι συμβατές ως προς την ένωση όταν 1. Έχουν τον ίδιο βαθμό n (ίδιο πλήθος στηλών) 2. i, dom(a i ) = dom(b i ) (αντιστοιχία στηλών) Σύμβαση: η σχέση που προκύπτει έχει τα ίδια ονόματα γνωρισμάτων με την πρώτη σχέση Οι διπλότυπες πλειάδες απαλείφονται Καρτεσιανό Γινόμενο (Cartesian Product) 19/3/2015 Βάσεις Δεδομένων 30

Παράδειγμα R Α Β 1 2 1 5 3 1 6 5 S Β C 2 3 2 5 1 5 σ Α > Β (R) Π Β (S) R S R S R - S S - R Α Β 3 1 6 5 Β 2 1 C1 C2 1 2 1 5 3 1 6 5 C1 C2 1 5 Α Β 1 2 1 5 3 1 6 5 Β C 2 3 2 5 1 5 2 3 2 5 Βάσεις Δεδομένων 31

Παράδειγμα Σχεσιακό σχήμα ΕΡΓΑΖΟΜΕΝΟΣ Όνομα Επώνυμο Αρ_Ταυτ Ημ_Γεν Διεύθυνση Φύλο Μισθός Προϊστάμενος Αριθ_Τμ ΤΜΗΜΑ Τ_Όνομα Κωδ_Τμημ Διευθυντής Ημ_Εναρξ ΤΟΠΟΘ_ΤΜΗΜΑ Κωδ_Τμημ Τμ_Τοποθεσία ΕΡΓΟ Ε_όνομα Κωδ_Έργου Τοπ_Έργου Κ_Τμήμα ΑΠΑΣΧΟΛΗΣΗ Εργ_Αρ_Ταυτ Κωδ_Έργου Ώρες ΕΞΑΡΤΩΜΕΝΟΣ Εργ_Αρ_Ταυτ Όνομα_Εξαρτώμενου Φύλο Ημ_Γεν Σχέση 19/3/2015 Βάσεις Δεδομένων 32

Από το βιβλίο Εικ. 5.6 19/3/2015 Βάσεις Δεδομένων 33

Άσκηση Διατυπώστε σε σχεσιακή άλγεβρα τα ακόλουθα ερωτήματα: Εμφανίστε τα ονοματεπώνυμα όλων των υπαλλήλων Εμφανίστε τα ονόματα και τις τοποθεσίες όλων των έργων Εμφανίστε τα στοιχεία των υπαλλήλων που έχουν γεννηθεί μετά το 1965 Εμφανίστε το όνομα, το φύλο και τη σχέση των εξαρτώμενων μελών του υπαλλήλου με αριθμό 333445555 Εμφανίστε τις ώρες που έχει δουλέψει κάθε εργαζόμενος στο έργο 10 Εμφανίστε τα ονόματα των υπαλλήλων και εξαρτώμενων μελών που έχουν γεννηθεί μετά το 1965 Εμφανίστε τους κωδικούς των ανδρών υπαλλήλων που εργάζονται στο έργο με κωδικό 30 Εμφανίστε τους κωδικούς των υπαλλήλων του τμήματος 5 που δεν έχουν κάποιο προστατευόμενο μέλος 19/3/2015 Βάσεις Δεδομένων 34