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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

2. Εννοιολογική Μοντελοποίηση Δεδομένων

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

3 Το Σχεσιακό Μοντέλο και η Σχεσιακή Άλγεβρα

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

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

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

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

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

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

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

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

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

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

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

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

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

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

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

Παραστατικά µοντέλα ή µοντέλα υλοποίησης ή λογικά µοντέλα. Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, Δικτυωτό Μοντέλο

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

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

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

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

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

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

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

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

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

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

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

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

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

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

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)

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

Θεωρία Κανονικοποίησης

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Εισαγωγή στα Πληροφοριακά Συστήματα

Διαδικασία σχεδιασμού Β.Δ.

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

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ)

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

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

Transcript:

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

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

Βήματα Σχεδιασμού 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα -- Περιγραφή σε φυσική γλώσσα 2. Εννοιολογικός Σχεδιασμός/Μοντελοποίηση (conceptual design) -- Χρήση Μοντέλου Οντοτήτων/Συσχετίσεων Υψηλού-επιπέδου περιγραφή: (α) Τι είδους δεδομένα, ποια δομή (τύποι οντοτήτων και συσχετίσεων) θα αποθηκευτούν στη βδ (β) Τι είδους πληροφορία (γνωρίσματα) για αυτά θα αποθηκεύσουμε (γ) Περιορισμοί ακεραιότητας (integrity constraints) Περιορισμός κλειδιού, Δομικοί περιορισμοί (συμμετοχής, πληθικότητας) Ευαγγελία Πιτουρά 3

Βήματα Σχεδιασμού 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα -- Περιγραφή σε φυσική γλώσσα 2. Εννοιολογικός Σχεδιασμός/Μοντελοποίηση (conceptual design) -- Χρήση Μοντέλου Οντοτήτων/Συσχετίσεων Υψηλού-επιπέδου περιγραφή: (α) Τι είδους δεδομένα, ποια δομή (τύποι οντοτήτων και συσχετίσεων) θα αποθηκευτούν στη βδ (β) Τι είδους πληροφορία (γνωρίσματα) για αυτά θα αποθηκεύσουμε (γ) Περιορισμοί ακεραιότητας (integrity constraints) Περιορισμός κλειδιού, Δομικοί περιορισμοί (συμμετοχής, πληθικότητας) Ευαγγελία Πιτουρά 4

Βήματα Σχεδιασμού 3. Λογικός Σχεδιασμός (ή Απεικόνιση των Μοντέλων Δεδομένων) (logical design) Επιλογή ενός ΣΔΒΔ για την υλοποίηση του σχεδιασμού Μετατροπή του εννοιολογικού σχεδιασμού σε ένα σχήμα στο μοντέλο δεδομένων του επιλεγμένου ΣΔΒΔ χρήση Σχεσιακού Μοντέλου επίσης Κανονικοποίηση, π.χ., έλεγχοι πλεονασμού Βελτίωση Σχήματος (Schema Refinement) Ευαγγελία Πιτουρά 5

Σχήμα και Στιγμιότυπο Σχήμα της βάσης δεδομένων Πρόθεση (intension) Μοντέλο : (1) δομικά στοιχεία (2) περιορισμοί ακεραιότητας Ανάπτυξη (extension) Στιγμιότυπο της βάσης δεδόμένων (κατάσταση ή σύνολο εμφανίσεων ή σύνολο στιγμιοτύπων) (αρχική κατάσταση, έγκυρη κατάσταση) Ευαγγελία Πιτουρά 6

Τι θα δούμε σήμερα I. Παραδείγματα εννοιολογικού σχεδιασμού (Ο/Σ) II. Το σχεσιακό μοντέλο III. Μετατροπή/αντιστοιχία σχήματος Ο/Σ σε σχεσιακό σχήμα Ευαγγελία Πιτουρά 7

Αλλαγές στο Πρόγραμμα Μαθημάτων Βάσεις Δεδομένων Δευτέρα 4μμ-6μμ (αντί Πέμπτης 2μμ-4μμ) Δίκτυα Υπολογιστών Ι Πέμπτη 2μμ-4μμ (αντί Τρίτης) Οι αλλαγές ισχύουν από αυτή την εβδομάδα

Άσκηση Υποθέστε ότι σας έχουν προσλάβει σε ένα τμήμα «Επιστήμης Πουλερικών» και σας ζητούν να σχεδιάστε τη βάση δεδομένων τους. Το βασικό πρόβλημα είναι η αποθήκευση πληροφορίας σχετικά με μια σειρά από πειράματα πάνω στον τρόπο εκτροφής κοτόπουλων. Κάθε κοτόπουλο έχει έναν όνομα, ένα είδος, μια ημερομηνία γέννησης και ένα μοναδικό αριθμό που ονομάζεται ID-κοτόπουλου. Τα πειράματα έχουν ένα όνομα, ένα μοναδικό αριθμό που ονομάζεται IDπειράματος, μια ημερομηνία έναρξης και μια ημερομηνία περάτωσης. Για κάθε κοτόπουλο που συμμετέχει σε κάθε πείραμα, πρέπει να καταγράψετε το βάρος του πριν και μετά το πείραμα. Κάθε κοτόπουλο συμμετέχει το πολύ σε ένα πείραμα άλλα σε ένα πείραμα μπορούν να συμμετέχουν πολλά κοτόπουλα. Επίσης, κάθε πείραμα αφορά τουλάχιστον ένα κοτόπουλο. Σχεδιάστε το διάγραμμα Οντοτήτων/Συσχετίσεων (Ο/Σ) που αναπαριστά την παραπάνω πληροφορία. Ευαγγελία Πιτουρά 9

Παράδειγμα Θέλουμε να κατασκευάσουμε μια βδ για δρομολόγια τρένων. Ένα δρομολόγιο περνά από σταθμούς. Κάθε σταθμός έχει ένα (μοναδικό) όνομα και διεύθυνση. Κάθε δρομολόγιο χαρακτηρίζεται από ένα (μοναδικό) αριθμό, έχει έναν σταθμό ως αφετηρία, έναν σταθμό ως προορισμό, καθώς και ένα χρόνο αναχώρησης από την αφετηρία και ένα χρόνο άφιξης στον προορισμό. Επίσης, κάθε δρομολόγιο έχει τουλάχιστον έναν ενδιάμεσο σταθμό καθώς και ένα χρόνο άφιξης σε αυτόν. Τι αλλάζει αν αντί για «έναν τουλάχιστον» ενδιάμεσο σταθμό, έχουμε «μηδέν ή περισσότερους» ή με άλλα λόγια υπάρχουν και απευθείας δρομολόγια (δηλαδή, δρομολόγια χωρίς ενδιάμεσες στάσεις) Ευαγγελία Πιτουρά 10

Παράδειγμα (ασθενείς οντότητες) Οντότητες: Πρωτάθλημα, Ομάδα και Παίκτης Οι ομάδες συμμετέχουν σε πρωταθλήματα και οι παίκτες παίζουν σε ομάδες. Για τα πρωταθλήματα και τις ομάδες έχουμε το όνομα τους και για τους παίκτες τον αριθμό τους Τα ονόματα των πρωταθλημάτων είναι μοναδικά. Σε κανένα πρωτάθλημα δε συμμετέχουν δυο ομάδες με το ίδιο όνομα, αλλά μπορεί να υπάρχουν ομάδες με το ίδιο όνομα σε διαφορετικά πρωταθλήματα Σε καμιά ομάδα δεν υπάρχουν παίκτες με το ίδιο αριθμό. Ωστόσο, μπορεί να υπάρχουν παίκτες με το ίδιο αριθμό σε διαφορετικές ομάδες. Ευαγγελία Πιτουρά 11

Σχήμα Σχέσης Βασικό δομικό στοιχείο είναι οι «πίνακες» ή «σχέσεις» Σχήμα σχέσης R δηλώνεται R(A 1, A 2,,A n ) αποτελείται από ένα όνομα σχέσης και μια λίστα από γνωρίσματα. Παράδειγμα - ΤAINIA(Τίτλος, Χρόνος, Διάρκεια, Τύπος) Γνωρίσματα TAINIA Τίτλος Χρόνος Διάρκεια Τύπος Βαθμός: το πλήθος των γνωρισμάτων Ευαγγελία Πιτουρά 12

απλός τρόπος αναπαράστασης δεδομένων: ένας δυσδιάστατος πίνακας που λέγεται σχέση TAINIA Στιγμιότυπο Σχέσης Γνωρίσματα Τίτλος Χρόνος Διάρκεια Τύπος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη Οι γραμμές της σχέσης (εκτός της επικεφαλίδας) ονομάζονται πλειάδες. Στιγμιότυπο: Σύνολο από Πλειάδες Παράδειγμα: {(Star Wars, 1997, 124, έγχρωμη), (Mighty Ducks, 1991, 104, έγχρωμη), (Wayne s World, 1992, 95, έγχρωμη)} Ευαγγελία Πιτουρά 13

Σχήμα - Στιγμιότυπο Σχήμα σχέσης R που δηλώνεται R(A 1, A 2,,A n ) αποτελείται από ένα όνομα σχέσης και μια λίστα από γνωρίσματα. Μία σχέση r ή r(r) (ή ένα στιγμιότυπο r του σχήματος σχέσης R) είναι ένα σύνολο από πλειάδες. Ευαγγελία Πιτουρά 14

Πεδίο Ορισμού Κάθε γνώρισμα A i παίρνει τιμές από κάποιο σύνολο D που ονομάζεται πεδίο ορισμού του A i και συμβολίζεται με dom(a i ) Το γνώρισμα είναι το όνομα ενός ρόλου που παίζει κάποιο πεδίο ορισμού D στο σχήμα σχέσης R Το πεδίο ορισμού D είναι ένα σύνολο από ατομικές τιμές (παράδειγμα: ακέραιοι, συμβολοσειρές - όχι εγγραφές, πίνακες, λίστες) Η τιμή του γνωρίσματος μιας πλειάδας ατομική. Ευαγγελία Πιτουρά 15

Πλειάδες Κάθε πλειάδα είναι μια διατεταγμένη λίστα από τιμές <v 1, v 2,, v n > όπου κάθε τιμή v i είναι ένα στοιχείο του dom(a i ) ή η ειδική τιμή null Κάθε σχέση είναι ένα υποσύνολο του καρτεσιανού γινομένου: r(r) dom(a 1 ) x dom(a 2 ) x x dom(a n ) Παρατηρήσεις Δεν υπάρχει διάταξη των πλειάδων σε μια σχέση Υποθέτουμε διάταξη των γνωρισμάτων στο σχήμα σχέσης Ευαγγελία Πιτουρά 16

Συμβολισμός Σχήμα σχέσης βαθμού n R(A 1, A 2,, A n ) Πλειάδα t της σχέσης r(r) (v 1, v 2,, v n ) αναφορά στις συνιστώσες τιμές t[a i ] t[a u, A w,, A z ] όνομα γνωρίσματος t.a i Ευαγγελία Πιτουρά 17

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

Παράδειγμα Θεωρείστε μια βάση δεδομένων για ταινίες και ηθοποιούς όπου κρατάμε το έτος γέννησης, διεύθυνση, και όνομα (που είναι μοναδικό) για τους Ηθοποιούς τον τίτλο, έτος, διάρκεια και τύπος (έγχρωμη/ασπρόμαυρη) για τις Ταινίες. Ο τίτλος μιας ταινίας δεν είναι μοναδικός, αλλά υπάρχει μόνο μια ταινία με τον ίδιο τίτλο κάθε έτος. ποιος ηθοποιός έπαιξε σε ποια ταινία Σχεδιάστε ένα σχεσιακό σχήμα. Ευαγγελία Πιτουρά 19

Σχεσιακό Σχήμα ΤΑΙΝΙΑ Τίτλος Έτος Διάρκεια Τύπος ΗΘΟΠΟΙΟΣ Όνομα Διεύθυνση Έτος-Γέννησης ΠΑΙΖΕΙ Όνομα-Ηθοποιού Τίτλος Έτος Ευαγγελία Πιτουρά 20

Περιορισμός Κλειδιού Μια σχέση ορίζεται ως ένα σύνολο πλειάδων, άρα όλες οι πλειάδες πρέπει να είναι διαφορετικές. (Υπερ)-κλειδί είναι ένα υποσύνολο γνωρισμάτων του σχήματος σχέσης R τέτοια ώστε σε κάθε στιγμιότυπο r(r), κανένα ζευγάρι πλειάδων δε μπορεί να έχει τις ίδιες τιμές για τα γνωρίσματα αυτά, δηλαδή, Κ είναι κλειδί, αν δεν μπορούν να υπάρχουν σε οποιοδήποτε στιγμιότυπο της σχέσης δύο διαφορετικές πλειάδες t 1 και t 2, για τις οποίες t 1 [K] = t 2 [Κ] Ευαγγελία Πιτουρά 21

Περιορισμός Κλειδιού (υπερ)κλειδί - υποψήφιο κλειδί - πρωτεύον κλειδί υποψήφιο κλειδί Κ: κλειδί με την ιδιότητα ότι αν αφαιρεθεί ένα οποιοδήποτε γνώρισμα Α από το Κ, το Κ που προκύπτει δεν είναι κλειδί Συμβολισμός: υπογραμμίζουμε τα γνωρίσματα του πρωτεύοντος κλειδιού Κάθε σχέση έχει τουλάχιστον ένα υπερ-κλειδί, ποιο; Από τον ορισμό, κάθε (σχήμα) σχέσης έχει τουλάχιστον ένα (πρωτεύον) κλειδί δεν υπάρχουν «ασθενείς» σχέσεις Ευαγγελία Πιτουρά 22

Περιορισμός Κλειδιού Υποθέσεις: (1) Το όνομα του ηθοποιού είναι μοναδικό (2) Ο τίτλος μιας ταινίας δεν είναι μοναδικός, αλλά μόνο μια ταινία με τον ίδιο τίτλο κάθε έτος (3) Σε μια ταινία μπορεί να παίζουν πολλοί ηθοποιοί και ένα ηθοποιός μπορεί να παίζει σε πολλές ταινίες ΤΑΙΝΙΑ Τίτλος Έτος Διάρκεια Τύπος ΗΘΟΠΟΙΟΣ Όνομα Διεύθυνση Έτος-Γέννησης ΠΑΙΖΕΙ Όνομα-Ηθοποιού Τίτλος Έτος Ευαγγελία Πιτουρά 23

Περιορισμός Κλειδιού ΤΑΙΝΙΑ Τίτλος Έτος Διάρκεια Τύπος ΗΘΟΠΟΙΟΣ Όνομα Διεύθυνση Έτος-Γέννησης ΠΑΙΖΕΙ Όνομα-Ηθοποιού Τίτλος Έτος Ευαγγελία Πιτουρά 24

Θεωρείστε μια βάση δεδομένων για το φοιτητολόγιο για ένα πανεπιστήμιο που να περιέχει τις παρακάτω πληροφορίες: το όνομα, διεύθυνση, αριθμό μητρώου (που είναι μοναδικός) για τους Φοιτητές το όνομα, κωδικό (που είναι μοναδικός), μονάδες, εξάμηνο για τα Μαθήματα το βαθμό που πήρε ένας φοιτητής που παρακολούθησε κάποιο μάθημα Υποθέστε ότι καταγράφεται μόνο ένας (ο τελικός βαθμός) του φοιτητή στο μάθημα Σχεδιάστε ένα σχεσιακό σχήμα. Παράδειγμα Ευαγγελία Πιτουρά 25

Περιορισμός Κλειδιού Έστω το παρακάτω στιγμιότυπο ενός σχήματος σχέσης R(A, B, C, D) Α Β C D 6 7 1 1 1 7 7 2 3 7 8 1 1 5 9 2 Τι μπορείτε να πείτε για τα κλειδιά της R; Ο περιορισμός του κλειδιού αφορά το σχήμα, από ένα στιγμιότυπο, μπορούμε να πούμε ποια σύνολα γνωρισμάτων δεν έχουν την ιδιότητα του κλειδιού, αλλά δεν μπορούμε να πούμε ποια την έχουν Αυτό ισχύει για ΟΛΟΥΣ ΤΟΥΣ ΠΕΡΙΟΡΙΣΜΟΥΣ ΑΚΕΡΑΙΟΤΗΤΑΣ Ευαγγελία Πιτουρά 26

Περιορισμός Ακεραιότητας Οντοτήτων Δε μπορεί η τιμή του πρωτεύοντος κλειδιού (οποιοδήποτε γνωρίσματος που ανήκει στο κλειδί) να είναι null. Ευαγγελία Πιτουρά 27

Περιορισμός Αναφορικής Ακεραιότητας Έστω δύο σχήματα σχέσεων R 1 (X) και R 2 (Y), ένα σύνολο γνωρισμάτων F της R 1 είναι ξένο κλειδί που αναφέρεται στην R 2 αν (1) το σύνολο F αποτελείται από το ίδιο πλήθος και με το ίδιο πεδίο ορισμού γνωρίσματα όπως και το πρωτεύον κλειδί K της R 2 και (2) σε οποιοδήποτε στιγμιότυπο, για μια πλειάδα t 1 της R 1 ισχύει ότι είτε (α) όλα τα γνωρίσματα F της t 1 έχουν την τιμή null είτε (β) στο ίδιο στιγμιότυπο, υπάρχει μια πλειάδα t 2 της R 2, τέτοια ώστε t 1 [F] = t 2 [Κ]. Λέμε ότι η πλειάδα t 1 της R 1 αναφέρεται στην πλειάδα t 2 της R 2. H R 2 καλείται αναφερόμενη σχέση και η R 1 αναφέρουσα σχέση. Ευαγγελία Πιτουρά 29

Περιορισμός Αναφορικής Ακεραιότητας Συνήθως προκύπτουν από συσχετίσεις μεταξύ οντοτήτων Το ξένο κλειδί μπορεί να αναφέρεται στη δική του σχέση (συνήθως, προκύπτει από αναδρομική συσχέτιση) ΗΘΟΠΟΙΟΣ Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ευαγγελία Πιτουρά 30

Περιορισμός Σημασιολογικής Ακεραιότητας Παραδείγματα: ο μισθός ενός εργαζομένου δεν μπορεί να υπερβαίνει το μισθό του προϊσταμένου του ο μέγιστος αριθμός ωρών που ένας εργαζόμενος μπορεί να απασχοληθεί σε όλα τα έργα ανά εβδομάδα είναι 56. Ευαγγελία Πιτουρά 31

Περιορισμοί Ακεραιότητας (integrity constraints) Περιορισμός Πεδίου Ορισμού: Η τιμή κάθε γνωρίσματος A πρέπει να είναι μία ατομική τιμή από το πεδίο ορισμού αυτού του γνωρίσματος dom(a) Περιορισμός Κλειδιού Περιορισμός Ακεραιότητας Οντοτήτων: Δε μπορεί η τιμή του πρωτεύοντος κλειδιού να είναι null Περιορισμός Αναφορικής Ακεραιότητας Περιορισμός Σημασιολογικής Ακεραιότητας Ευαγγελία Πιτουρά 32

Σχεσιακό Σχήμα Ένα σχεσιακό σχήμα βάσης δεδομένων είναι ένα σύνολο από σχήματα σχέσεων Σ = {R 1, R 2,, R n } και ένα σύνολο από περιορισμούς ακεραιότητας. Ένα στιγμιότυπο μιας σχεσιακής βάσης δεδομένων ΒΔ του Σ είναι ένα σύνολο από στιγμιότυπα σχέσεων (σχέσεις) ΒΔ = {r 1, r 2,, r n } τέτοια ώστε κάθε r i είναι ένα στιγμιότυπο του R i που ικανοποιεί τους περιορισμούς ορθότητας (πεδίου ορισμού, κλειδιού, ακεραιότητας οντοτήτων, και αναφορικής ακεραιότητας) Προσοχή: οι περιορισμοί ακεραιότητας πρέπει να ισχύουν σε κάθε στιγμιότυπο. Ευαγγελία Πιτουρά 33

Ερωτήσεις; Ευαγγελία Πιτουρά 34

Παράδειγμα (ασθενείς οντότητες) Θέλουμε να σχεδιάσουμε μια βάση δεδομένων στην οποία θα καταγράψουμε τις προτιμήσεις φοιτητών σε φαγητά που σερβίρουν εστιατόρια. Κάθε φοιτητής χαρακτηρίζεται από τον αριθμό μητρώο του και το όνομά του. Ο αριθμός μητρώου είναι μοναδικός. Κάθε εστιατόριο έχει ένα όνομα (που είναι μοναδικό) και μια διεύθυνση. Ένα εστιατόριο σερβίρει φαγητά. Κάθε φαγητό έχει ένα όνομα και μια τιμή. Το όνομα του φαγητού είναι μοναδικό σε κάθε εστιατόριο, αλλά διαφορετικά εστιατόρια μπορεί να σερβίρουν ένα φαγητό με το ίδιο όνομα. Η τιμή του ίδιου φαγητού μπορεί να είναι διαφορετική σε κάθε εστιατόριο. Σε ένα φοιτητή αρέσει ένα φαγητό που σερβίρει κάποιο εστιατόριο. Για παράδειγμα, στο φοιτητή Γιάννη αρέσει η «Καρμπονάρα» που σερβίρει το εστιατόριο «La Trattoria» (αλλά πιθανών όχι η «Καρμπονάρα» που σερβίρει το εστιατόριο «Il Forno»), ενώ στη φοιτήτρια Μαρία αρέσει ο «Μουσακάς» που σερβίρει το εστιατόριο «Θωμάς». Κάθε φαγητό σερβίρεται τουλάχιστον από ένα εστιατόριο και κάθε εστιατόριο σερβίρει τουλάχιστον ένα φαγητό. Σε κάθε φοιτητή αρέσει τουλάχιστον ένα φαγητό, αλλά μπορεί να υπάρχουν φαγητά που δεν αρέσουν σε κάποιο φοιτητή. 35

Παράδειγμα (ιεραρχίες) Θεωρείστε μια βάση δεδομένων που διατηρεί πληροφορίες για συλλόγους, φοιτητές και καθηγητές ενός Πανεπιστημίου, πιο συγκεκριμένα Κάθε σύλλογος έχει έναν τίτλο και ένα μοναδικό αναγνωριστικό. Για κάθε φοιτητή έχουμε το όνομά του και ένα μοναδικό αριθμό μητρώου. Ένας καθηγητής έχει έναόνομα και έναμοναδικό αναγνωριστικό. Οι φοιτητές ανήκουν σε έναν ή περισσότερους συλλόγους. Καταγράφουμε την ημερομηνία εγγραφής του φοιτητή στο σύλλογο. Κάθε σύλλογος έχει τουλάχιστον έναν φοιτητή ως μέλος Ένας καθηγητής είναι είτε μερικής είτε πλήρους απασχόλησης. Για έναν καθηγητή μερικής απασχόλησης καταγράφουμε το ποσοστό της απασχόλησής του. Για έναν καθηγητή πλήρους απασχόλησης καταγράφουμε τις ώρες γραφείου του. Κάθε σύλλογος έχει ακριβώς έναν καθηγητή ως σύμβουλο, ο οποίος πρέπει να είναι καθηγητής πλήρους απασχόλησης. Δώστε ένα μοντέλο Οντοτήτων/Συσχετίσεων. Τι αλλάζει στο μοντέλο Οντοτήτων/Συσχετίσεων αν δεν ισχύει ο περιορισμός ότι ο σύμβουλος καθηγητής πρέπει να είναι πλήρους απασχόλησης Ευαγγελία Πιτουρά 36

Άσκηση Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για επεισόδια τηλεοπτικών σειρών. δεδομένων θέλουμε να έχουμε πληροφορία για: Στη βάση Ηθοποιούς: το όνομα τους, την ημερομηνία γέννησής τους, το φύλο τους και την πόλη που γεννήθηκαν. Θεωρείστε ότι ένας ηθοποιός προσδιορίζεται μοναδικά από τον συνδυασμό του ονόματος και της ημερομηνίας γέννησής του. Κανάλι: το όνομα που είναι μοναδικά ανά κανάλι, τη διεύθυνση και το έτος ίδρυσης του. Τηλεοπτικές Σειρές: τον τίτλο που είναι μοναδικός, μια περιγραφή καθώς και το είδος της σειράς (πχ., δράμα, κωμωδία). Μια σειρά μπορεί να έχει ένα ή παραπάνω είδη. Διατηρούμε επίσης και το κανάλι στα οποία προβάλλεται. Όλα τα επεισόδια μιας σειράς προβάλλονται από το ίδιο κανάλι. Όλες οι σειρές προβάλλονται σε κάποιο κανάλι, αλλά μπορεί να υπάρχουν κανάλια που δεν προβάλλουν σειρές. Επεισόδια: Κάθε τηλεοπτική σειρά έχει επεισόδια. Κάθε επεισόδιο έχει έναν αριθμό επεισοδίου, μια ημερομηνία προβολή και μια διάρκεια. Επεισόδια της ίδιας σειράς δεν μπορούν να έχουν τον ίδιο αριθμό. Εμφανίσεις Ηθοποιού Ρόλοι: Οι ηθοποιοί εμφανίζονται σε συγκεκριμένα επεισόδια τηλεοπτικών σειρών υποδυόμενοι έναν ρόλο (π.χ., «Ντάλια», «Ζουμπουλία») που μπορεί να είναι διαφορετικός σε κάθε επεισόδιο. Σε κάθε επεισόδιο παίζει τουλάχιστον ένας ηθοποιός, αλλά μπορεί να υπάρχουν ηθοποιοί που δεν έχουν παίξει σε κανένα επεισόδιο. Ευαγγελία Πιτουρά 37

Άσκηση (ιεραρχίες) Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για γυμναστήρια και τους εργαζόμενούς τους, συγκεκριμένα, θέλουμε να έχουμε την παρακάτω πληροφορία. Κάθε γυμναστήριο έχει ένα όνομα (που είναι μοναδικό), μια διεύθυνση που αποτελείται από την οδό, αριθμό, και ταχυδρομικό κώδικα και τέλος ένα ή περισσότερα τηλέφωνα Κάθε εργαζόμενος έχει ένα μοναδικό ΑΤ και επίσης διατηρούμε και το όνομά του. Ένας εργαζόμενος μπορεί να δουλεύει σε πολλά γυμναστήρια. Για παράδειγμα, ο εργαζόμενος με ΑΤ ΜΝ203910 μπορεί να δουλεύει και στο γυμναστήριο με όνομα «Ioannina Fitness» και στο γυμναστήριο με όνομα «HDV». Για κάθε εργαζόμενο, καταγράφουμε και το ποσοστό του χρόνου που δουλεύει σε ένα γυμναστήριο. Για παράδειγμα, για τον παραπάνω εργαζόμενο με ΑΤ ΜΝ203910 ότι δουλεύει π.χ., 50% στο γυμναστήριο «Ioannina Fitness» και 50% στο γυμναστήριο «HDV». Κάποιοι από τους εργαζομένους έχουν μία από τις παρακάτω ειδικότητες: γραμματέας, προσωπικός γυμναστής και διευθυντής. Κάθε εργαζόμενος έχει το πολύ μία (δηλαδή, μία ή καμία) ειδικότητα. Κάθε διευθυντής διευθύνει ένα ή περισσότερα γυμναστήρια. Κάθε γυμναστήριο έχει ακριβώς έναν διευθυντή. Για κάθε προσωπικό γυμναστή διατηρούμε και το είδος (ένα ή περισσότερα) των γνώσεων του (πχ yoga, αεροβική, κλπ). Σχεδιάστε ένα κατάλληλο μοντέλο Οντοτήτων/Συσχετίσεων. Ευαγγελία Πιτουρά 38

Σχήμα μιας Βάσης Δεδομένων ΠΡΟΣΟΧΗ - το παρακάτω σχήμα για ταινίες είναι διαφορετικό από αυτό στις προηγούμενες διαφάνειες ACTOR Name Day Month Year Sex Nationality MOVIE Title Year Genre Runtime PLAYS Name Title Year Role * Υποθέτουμε μια τιμή για το Genre Ευαγγελία Πιτουρά 39

Στιγμιότυπο του σχήματος ACTOR Name Day Month Year Sex Nationality George Clooney 6 May 1961 Male American Emmanuelle Riva 24 Feb 1927 Female French Sandra Bullock 26 Jul 1964 Female American Brad Pitt 18 Dec 1963 Male American Frank Sinatra 12 Dec 1915 Male American MOVIE Title Year Genre Runtime Amour 2012 drama 117 Gravity 2013 science-fiction 91 Ocean s Eleven 1960 crime 127 Frozen 2013 comedy 102 Ocean s Eleven 2001 crime 116 PLAYS Name Title Year Role George Clooney Gravity 2013 Mark Kowalski George Clooney Ocean s Eleven 2001 Danny Ocean Sandra Bullock Gravity 2013 Ryan Stone Emmanuelle Riva Amour 2012 Anne Frank Sinatra Ocean s Eleven 1960 Danny Ocean Brad Pitt Ocean s Eleven 2001 Rusty Ryan Ευαγγελία Πιτουρά 40