ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

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

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

Μετατροπή Ο/Σ σε Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

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

Σχεδίαση Σχεσιακών ΒΔ

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

Σχεδίαση Β.Δ. (Database Design)

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών


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

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

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

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

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

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

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

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

Κανονικές Μορφές. Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Παράδειγμα 1. Παράδειγμα 2

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

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

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διαχείριση Δεδομένων

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

Σχεσιακή δοµή δεδοµένων

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

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

Σχεδίαση Βάσεων Δεδομένων

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

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

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

Σχεδίαση Βάσεων Δεδομένων

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

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

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

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

Επισκόπηση Μαθήµατος

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

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

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

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

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

1.1. Βάσεις δεδομένων

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

Transcript:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκουσα: Μαρία Χαλκίδη

ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Δομές αποθήκευσης και αρχείων - Ευρετήρια Επεξεργασία ερωτημάτων Βελτιστοποίηση ερωτημάτων Διαχείριση Δοσοληψιών Δοσοληψίες Συστήματα αποκατάστασης Έλεγχος Συγχρονικότητας

Επικοινωνία Ιστοσελίδα μαθήματος: http://evdoxos.ds.unipi.gr/courses/ds101/ Θέματα και υλικό σχετικά με το μάθημα ΔΙΑΛΕΞΕΙΣ ΑΝΑΚΟΙΝΩΣΕΙΣ ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟ

Συγγράμματα Συστήματα Βάσεων Δεδομένων 6η Έκδοση, Abraham Silberschatz,Henry F. Korth,S. Sudarshan Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes

Αξιολόγηση μαθήματος Βαθμολογία Ασκήσεις (Α) 20% Εξέταση (Ε) 80% Τελικός βαθμός = Α*0.2 +Ε *0.8

Ανασκόπηση των βασικών εννοιών των Βάσεων Δεδομένων Μάθημα 1 ο

Δεδομένα (Data): Βασικοί ορισμοί Γνωστά γεγονότα που μπορούν να καταγραφούν και έχουν κάποια υπονοούμενη σημασία Βάση δεδομένων (Database): Μια συλλογή σχετιζόμενων δεδομένων Σύστημα διαχείρισης βάσεων δεδομένων (DBMS): Ένα πακέτο λογισμικού που επιτρέπει τη δημιουργία, τη χρήση και τη συντήρηση μιας βάσης δεδομένων

Γιατί όχι Αρχεία (1) Μειονεκτήματα της χρήσης αρχείων Πλεονασμός δεδομένων (redundancy) και ασυνέπεια(inconsistency) Πολλαπλές μορφές αρχείων, εμφάνιση της πληροφορίας σε διαφορετικά αρχεία Δυσκολία στην προσπέλαση δεδομένων Ανάγκη νέου προγράμματος για κάθε νέα εργασία Απομόνωση δεδομένων Τα δεδομένα βρίσκονται σε πολλά αρχεία με διαφορετικές μορφές Π.χ. Υπόλοιπο λογαριασμού > 0 Προβλήματα ακεραιότητας Περιορισμοί ακεραιότητας γίνονται μέρος του κώδικα Δύσκολο να προστεθούν ή να αλλάξουν οι περιορισμοί

Γιατί όχι Αρχεία (2) Ατομικότητα ενημερώσεων Π.χ. Μεταφορά σε λογαριασμό Όταν εκτελείται μέρος των ενημερώσεων, τα δεδομένα μπορεί να είναι ασυνεπή Ταυτόχρονη προσπέλαση από πολλαπλούς χρήστες Μπορεί να οδηγήσει σε ασυνέπειες Προβλήματα ασφάλειας Π.χ. Ταυτόχρονη ανάγνωση υπολοίπου λογαριασμού και ανάληψη

Βασικές έννοιες, λειτουργίες ενός ΣΔΒΔ Ορισμός μιας βάσης δεδομένων: προδιαγραφή των τύπων, των δομών και των περιορισμών των δεδομένων που θα αποθηκευτούν στη ΒΔ Δημιουργία ή φόρτωμα της βάσης σε δευτερεύον μέσο αποθήκευσης Διαχείριση μιας βάσης δεδομένων: υποβολή ερωτήσεων για την ανάκτηση δεδομένων, ενημέρωση (νέες εισαγωγές, διαγραφές ή τροποποιήσεις) Ταυτόχρονη επεξεργασία και διαμοιρασμός από ένα σύνολο προγραμμάτων και χρηστών Διατηρώντας την εγκυρότητα και συνοχή των δεδομένων

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

Σύστημα Διαχείρισης Βάσεων Δεδομένων

Η Αρχιτεκτονική Τριών Επιπέδων ενός ΣΔΒΔ Εξωτερική Όψη 1 Εξωτερική Όψη n Περιγράφει τα αποθηκευμένα δεδομένα με βάση το μοντέλο δεδομένων Εννοιολογικό Σχήμα Φυσικό Σχήμα Απεικόνιση Απεικόνιση Περιγράφει λεπτομέρειες σχετικά με την αποθήκευση και τους τρόπους προσπέλασης Πως οι σχέσεις αποθηκεύονται στο δίσκο, ευρετήρια, κλπ

Διαδικασία σχεδίασης ΒΔ Σχεδίαση ΒΔ µετατροπής της γνώσης που έχουµε για το µικρόκοσµο σε µια Β που θα την διαχειρίζεται ένα Σ Β Η διαδικασία διακρίνεται σε διαδοχικές αυτοτελείς διαδικασίες (φάσεις), κάθε µια εκ των οποίων δηµιουργεί ενδιάµεσες περιγραφές. Συλλογή και Ανάλυση Απαιτήσεων (Requirements Collection and Analysis) Εννοιολογικός Σχεδιασµός ΒΔ (Conceptual Database Design) Λογικός Σχεδιασµός ΒΔ (Logical Database Design) Φυσικός Σχεδιασµός ΒΔ (Physical Database Design)

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

Εισαγωγή- Σχεδιασμός μιας ΒΔ: Βήματα 3. Λογικός Σχεδιασμός (ή Απεικόνιση των Μοντέλων Δεδομένων) Επιλογή ενός ΣΔΒΔ για την υλοποίηση του σχεδιασμού Μετατροπή του εννοιολογικού σχεδιασμού σε ένα σχήμα στο μοντέλο δεδομένων του επιλεγμένου ΣΔΒΔ (επίσης κανονικοποίηση, π.χ., έλεγχοι πλεονασμού) χρήση σχεσιακού μοντέλου 4. Φυσικός Σχεδιασμός Οι εσωτερικές δομές αποθήκευσης και οργανώσεις αρχείων Η διαδικασία προδιαγραφών των αρχείων που υλοποιούν τον λογικό σχεδιασµό και των οργανώσεων αυτών, καθώς και των δοµών ευρετηρίων που αποτελούν το εσωτερικό σχήµα.

Εννοιολογικός σχεδιασμός Στο στάδιο αυτό χρησιμοποιείται το μοντέλο Οντοτήτων-Συσχετίσεων (Ο-Σ) Ποιες είναι οι οντότητες και οι συσχετίσεις σ έναν οργανισμό Τι πληροφορία για αυτές τις οντότητες και τις συσχετίσεις πρέπει να αποθηκεύσουμε σε μία ΒΔ? Ποιοι είναι οι περιορισμοί ακεραιότητας ή επιχειρησιακοί κανόνες που ισχύουν? Ένα σχήμα ΒΔ στο Μοντέλο Ο-Σ μπορεί να αναπαρασταθεί διαγραμματικά. Μπορούμε να απεικονίσουμε ένα Ο-Σ μοντέλο σε σχεσιακό σχήμα.

Μοντελοποίηση ΒΔ Μία βάση δεδομένων μοντελοποιείται ως: Μία συλλογή από οντότητες, Συσχετίσεις ανάμεσα σε οντότητες.

Παράδειγμα Βάσης Δεδομένων (1) Φοιτητής Όνομα Αρ. Μητρώου Έτος Δηλώνει Μάθημα Κωδικός Όνομα Εξάμηνο

Οντότητα (Entity) Αντικείμενο με φυσική ύπαρξη Π.χ. άνθρωπος, αυτοκίνητο, σπίτι, εργαζόμενος Αντικείμενο ιδεατά υπαρκτό Π.χ. εταιρεία, εργασία, μάθημα Μια οντότητα μπορεί να έχει πολλά στιγμιότυπα Έχει συγκεκριμένες ιδιότητες που λέγονται γνωρίσματα/χαρακτηριστικά (attributes) Μια συγκεκριμένη οντότητα έχει μία τιμή για κάθε γνώρισμά της

Γνωρίσματα / Χαρακτηριστικά Αποτελεί την περιγραφή μιας ιδιότητας που έχει μια οντότητα Ένα υποσύνολο των γνωρισμάτων χρησιμοποιείται ως αναγνωριστικό ή κλειδί (key) Μια οντότητα μπορεί να έχει περισσότερα από ένα κλειδιά Ένα από αυτά επιλέγεται ως πρωτεύον κλειδί (primary key)

Γνωρίσματα Κλειδιά - Περιορισμοί Περιορισμός κλειδιού (key constraint) ή μοναδικότητας (uniqueness constraint) Γνώρισμα με διακεκριμένες τιμές για κάθε οντότητα Π.χ. Το γνώρισμα Όνομα της οντότητας ΕΤΑΙΡΕΙΑ Μονοσήμαντος προσδιορισμός της οντότητας δεν μπορεί να υπάρχουν δύο οντότητες με το ίδιο κλειδί Δυνατότητα ύπαρξης πολλαπλών κλειδιών σε μια οντότητα

Συσχετίσεις Συνδέουν δύο ή περισσότερες οντότητες Π.χ. ΥΠΑΛΛΗΛΟΣ ανήκει σε ΤΜΗΜΑ Τμήμα Ανήκει Υπάλληλος Ένας τύπος συσχέτισης R μεταξύ n τύπων οντοτήτων E1, E2,, En ορίζει ένα σύνολο συνδέσεων μεταξύ των οντοτήτων Κάθε στιγμιότυπο r i μιας συσχέτισης R είναι μια σύνδεση οντοτήτων

Πληθάριθμος Συσχετίσεων Για δυαδικές συσχετίσεις ένα-προς-ένα 1:1 ένα-προς-πολλά 1:Ν πολλά-προς-ένα Ν:1 πολλά-προς-πολλά Ν:Μ Παράδειγμα - Συμβολισμός 1 Ν Τμήμα Έχει Υπάλληλος

Παράδειγμα - Συμβολισμοί Πληθάριθμος συσχετίσεων Ένα-προς-Πολλά 1:Ν 1 Ν Τμήμα Έχει Υπάλληλος Ένα Τμήμα έχει πολλούς Υπαλλήλους αλλά ένας Υπάλληλος ανήκει μόνο σε ένα Τμήμα Προσοχή: πόσες φορές ένα Τμήμα/Υπάλληλος εμφανίζεται στη συσχέτιση

Σχεσιακό ΜΟΝΤΕΛΟ Παριστάνει τη ΒΔ ως μια συλλογή από σχέσεις Άτυπα, μια σχέση μοιάζει με ένα πίνακα (table) ή αρχείο Κάθε γραμμή Μια συλλογή από τιμές που σχετίζονται Κάθε στήλη Προσδιορίζει πώς πρέπει να ερμηνευτούν οι τιμές δεδομένων σε κάθε γραμμή Όλες οι τιμές σε μια στήλη είναι του ίδιου τύπου δεδομένων

Σχήμα σχέσης (relation schema) Σχήμα σχέσης (relation schema) R αποτελείται από ένα όνομα σχέσης R και μια λίστα από γνωρίσματα A1,A2,...,An R(A1,A2,...,An) Πεδίο ορισμού του Ai dom(ai) Βαθμός σχέσης Το πλήθος n των γνωρισμάτων του σχήματός της Παράδειγμα σχέσης βαθμού 4 ΦΟΙΤΗΤΗΣ(Όνομα, ΑρΜητρώου, ΗμΓέννησης, Τμήμα) dom(αρμητρώου)=αριθμός_μητρώου

Σχέση (Relation) Μία σχέση (relation) r επί του τύπου σχέσης R είναι ένα πεπερασμένο σύνολο απεικονίσεων {t 1, t 2,..., t p }, p n, R à D με τον περιορισμό ότι για κάθε απεικόνιση t της σχέσης r, κάθε τιμή α i = t(a i ) του χαρακτηριστικού A i ανήκει στο πεδίο ορισμού D i, 1 i n. Οι απεικονίσεις αυτές ονομάζονται πλειάδες (tuples) Σχέση (relation) Ένα στιγµιότυπο σχέσης (relation instance), Μία σχέση r επί του τύπου σχέσης R συμβολίζεται και ως r(r) ή r(a 1 A 2 A n ).

Σχέση - Ορολογία Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας δισδιάστατος πίνακας που λέγεται σχέση χαρακτηριστικά SCODE SNAME SSURN SADDRESS 04208 04112 04305 04232 04274 Γεώργιος Παύλος Μαρία Παύλος Νίκη Μακρής Παπάς Αλεξάνδρου Μαθές Μακρή Βυζαντίου 15, Αθήνα Κολοκοτρώνη 100, Πειραιάς Υψηλάντου 412, Πειραιάς Καποδιστρίου 12, Αθήνα Ανδρούτσου 97, Αθήνα πλειάδες Μία σχέση επί του τύπου της σχέσης STUDENT Μία σχέση είναι ένα σύνολο από πλειάδες.

ΠΑΡΑΔΕΙΓΜΑ STUDENT (SCODE, SNAME, SSURN, SADDRESS) α) Τύπος της σχέσης STUDENT STUDENT χαρακτηριστικά SCODE SNAME SSURN SADDRESS 04208 04112 04305 04232 04274 Γεώργιος Παύλος Μαρία Παύλος Νίκη Μακρής Παπάς Αλεξάνδρου Μαθές Μακρή Βυζαντίου 15, Αθήνα Κολοκοτρώνη 100, Πειραιάς Υψηλάντου 412, Πειραιάς Καποδιστρίου 12, Αθήνα Ανδρούτσου 97, Αθήνα πλειάδες β) Μία σχέση επί του τύπου της σχέσης STUDENT dom (SCODE) = το σύνολο των κωδικών των φοιτητών dom (SNAME) = το σύνολο των ονομάτων των φοιτητών dom (SSURN) = το σύνολο των επωνύμων των φοιτητών dom (SADDRESS) = το σύνολο των διευθύνσεων των φοιτητών Η σχέση STUDENT έχει πέντε πλειάδες. Μία από αυτές είναι η t που ορίζεται ως t(scode) = 04274, t(sname) = Νίκη, t(ssurn) = Μακρή και t(saddress) = Ανδρούτσου 97, Αθήνα.

Σχεσιακό Σχήμα Βάσης Δεδομένων Ένα σχεσιακό σχήμα βάσης δεδομένων (relational database schema) S είναι ένα σύνολο από σχεσιακά σχήματα S = {R1,R2,,Rm} και ένα σύνολο από περιορισμούς ακεραιότητας (integrity constraints) Ένα στιγμιότυπο σχεσιακής βάσης δεδομένων (relational database instance) DB του S είναι ένα σύνολο από στιγμιότυπα σχέσεων DB = {r1,r2,,rm}, τέτοια ώστε κάθε r i είναι ένα στιγμιότυπο του R i και οι σχέσεις r i ικανοποιούν τους περιορισμούς ακεραιότητας

Κλειδιά Ένα υποσύνολο K των χαρακτηριστικών ενός σχεσιακού πίνακα ονομάζεται προσδιοριστής (identifier) ή πρωτεύον κλειδί (primary key) του πίνακα αν ισχύουν τα ακόλουθα: Το K παίρνει μοναδικές τιμές για κάθε γραμμή οποιασδήποτε πραγματοποίησης του πίνακα. Το K περιέχει τον ελάχιστο αριθμό χαρακτηριστικών που από κοινού προσδιορίζουν μοναδικά τις γραμμές του πίνακα. Κανένα από τα χαρακτηριστικά που συνιστούν το K δεν παίρνει κενές τιμές σε οποιαδήποτε πραγματοποίηση του πίνακα. ORD_DATE ORD-NO 10870 10871 11800 DATE 20/7/2004 22/7/2004 30/9/2004 ORD_BOOK ORD-NO 10870 10870 10871 10871 10871 11800 BOOK-NO B5011 B4022 B4022 B3211 B6088 B0911

Κανονικές Μορφές: Εισαγωγή Στόχος: Δεδομένου ενός σχήματος, ελέγχουμε εάν είναι καλός ο σχεδιασμός ή χρειάζεται περαιτέρω διάσπαση. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριμένα προβλήματα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε λειτουργικές εξαρτήσεις (έχουν σχέση με την επανάληψη πληροφορίας)

1st Normal Form (1NF) Ένας τύπος σχέσης R βρίσκεται στην πρώτη κανονική μορφή (1NF) αν για κάθε χαρακτηριστικό A του R οι τιμές του πεδίου ορισμού του dom(a) είναι ατομικές (atomic). à οι τιμές του πεδίου ορισμού κάθε χαρακτηριστικού του R δεν είναι σύνολα τιμών ή σύνθετες τιμές. Eνα σχήμα βάσης δεδομένων R βρίσκεται στην πρώτη κανονική μορφή αν κάθε τύπος σχέσης R του σχήματος R βρίσκεται στην πρώτη κανονική μορφή.

Παράδειγμα 1NF ORDERS ORD-NO ORD-DATE BOOK-NO 10870 10871 11800 20/7/2004 22/7/2004 30/9/2004 B5011, B4022 B4022, B3211, B6088 B0911 α) Ο πίνακας ORDERS που δεν βρίσκεται στην 1NF λόγω της ύπαρξης του χαρακτηριστικού ΒΟΟΚ-ΝΟ ORDERS_MOD1 ORD-NO DATE BOOK-NO 10870 10870 10871 10871 10871 11800 20/7/2004 20/7/2004 22/7/2004 22/7/2004 22/7/2004 30/9/2004 B5011 B4022 B4022 B3211 B6088 B0911 β) Ο πίνακας ORDERS_MOD1 βρίσκεται στην 1NF

Δεύτερος Κανόνας Κανονικοποίησης Ένας πίνακας πρώτης κανονικής μορφής ανάγεται σε σύνολο πινάκων δεύτερης κανονικής μορφής (2NF) αν αφαιρεθούν απ αυτόν όσα χαρακτηριστικά δεν εξαρτώνται πλήρως από όλα, και ολόκληρα, τα κλειδιά του πίνακα.

Παράδειγμα -2NF SUPPLY SCODE SCITY PCODE UNIT-PRICE S401 S401 S401 S402 S402 S403 S403 S404 Αθήνα Αθήνα Αθήνα Ηράκλειο Ηράκλειο Ηράκλειο Αθήνα Αθήνα P101 P102 P103 P104 P105 P102 P104 P105 100 500 250 950 150 350 900 120 SCODE SCITY {SCODE, PCODE} UNIT-PRICE α) Λειτουργικές εξαρτήσεις στους πίνακες SUPLOC και SPROD. Αναγωγή σε 2NF SPROD SUPLOC SCODE S401 S402 S403 S404 SCITY Αθήνα Ηράκλειο Ηράκλειο Αθήνα SCODE PCODE UNIT-PRICE S401 S401 S401 S402 S402 S403 S403 S404 P101 P102 P103 P104 P105 P102 P104 P105 100 500 250 1000 150 350 900 120

3rd Normal Form (3NF) Η Σχέση R είναι σε 3NF εάν για όλες τις συναρτησιακές εξαρτήσεις X à Y, ισχύει ένα από τα εξής: είτε Υ Χ (τετριµµένη περίπτωση) ή X περιέχει το κλειδί της R ή Y είναι µέρος του κλειδιού της R

Τρίτος Κανόνας Κανονικοποίησης Ένας πίνακας δεύτερης κανονικής μορφής ανάγεται σε σύνολο πινάκων τρίτης κανονικής μορφής (3NF) αν αφαιρεθούν απ αυτόν όσα χαρακτηριστικά δεν αποτελούν συνιστώσες κλειδιών και εξαρτώνται μεταβατικά από κλειδιά.

Παράδειγμα 3NF ORDNO CCODE CCODE CCITY α) Λειτουργικές εξαρτήσεις των πινάκων ORDCUST και CUST ORDER ORDNO CCODE CCITY 124/2004 138/2004 221/2004 253/2004 391/2004 C108 C117 C123 C117 C108 Ηράκλειο Αθήνα Πάτρα Αθήνα Ηράκλειο β) Μία πραγµατοποίηση του πίνακα ORDER. Αναγωγή σε 3NF ORDCUST ORDNO 124/2004 138/2004 221/2004 253/2004 391/2004 CCODE C108 C117 C123 C117 C108 CUST CCODE C108 C117 C123 C317 CCITY Ηράκλειο Αθήνα Πάτρα Σητεία

Τρίτη Κανονική Μορφή Παράδειγμα Παίζει(Έργο, Κινηματογράφος, Πόλη) Έργο Πόλη Κινηματογράφος Κινηματογράφος Πόλη Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Η σχέση είναι σε 3NF?

Boyce-Codd Normal Form (BCNF) Η Σχέση R είναι σε BCNF εάν για όλες τις συναρτησιακές εξαρτήσεις X à Y, ισχύει ένα από τα εξής: είτε Υ Χ (τετριµµένη περίπτωση) ή X περιέχει το κλειδί της R ηλαδή, δεν πρέπει ένα χαρακτηριστικό να έχει συναρτησιακή εξάρτηση από ένα άλλο χαρακτηριστικό που δεν είναι (ή περιέχει) το κλειδί Οι µόνες συναρτησιακές εξαρτήσεις που επιτρέπονται είναι οι περιορισµοί κλειδιού

Κανόνας Κανονικοποίησης Boyce-Codd Ένας πίνακας τρίτης κανονικής μορφής ανάγεται σε σύνολο πινάκων της κανονικής μορφής Boyce/Codd (BCNF) αν αφαιρεθούν απ αυτόν όσα χαρακτηριστικά δεν εξαρτώνται πλήρως από κλειδιά.

Boyce-Codd Κανονική Μορφή Αλγόριθμος Διάσπασης σε BCNF Βρες μια μη τετριμμένη συναρτησιακή εξάρτηση που παραβιάζει τον BCNF ορισμό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y

Παράδειγμα BCNF (1/3) PRCD (κωδικός έργου), CONCD (κωδικός συμβούλου έργου), SENCD (κωδικός μηχανικού λογισμικού), SUBJCD (κωδικός γνωστικού πεδίου έργου). {SENCD, CONCD} PRCD PRCD SUBJCD α) Λειτουργικές εξαρτήσεις στον πίνακα PROJECT. PROJECT PRCD SENCD CONCD SUBJCD P108 P108 P108 P238 P238 P245 SWE132 SWE178 SWE195 SWE192 SWE199 SWE188 CON212 CON212 CON278 CON295 CON295 CON237 S100 S100 S100 S122 S122 S117 Ο πίνακας PROJECT δεν βρίσκεται στην BCNF. μοναδικό κλειδί το σύνθετο χαρακτηριστικό {SENCD, CONCD}

Παράδειγμα BCNF (2/3) {SENCD, CONCD} PRCD PRCD SUBJCD α) Λειτουργικές εξαρτήσεις στον πίνακα PROJECT. PROJECT PRCD SENCD CONCD SUBJCD P108 P108 P108 P238 P238 P245 SWE132 SWE178 SWE195 SWE192 SWE199 SWE188 CON212 CON212 CON278 CON295 CON295 CON237 S100 S100 S100 S122 S122 S117 β) Μια πραγµατοποίηση του πίνακα PROJECT. Μετατροπή σε BCNF SWENGIN PRCD SENCD CONCD P108 P108 P108 P238 P238 P245 CONS PRCD P108 P238 P245 SWE132 SWE178 SWE195 SWE192 SWE199 SWE188 SUBJCD S100 S122 S117 CON212 CON212 CON278 CON295 CON295 CON237

Παράδειγμα BCNF (3/3) R=(branch-name, branch-city, assets, customer-name, loan-number, amount) Συναρτησιακές εξαρτήσεις branch-name à branch-city, assets loan-number à branch-name, amount Αποσύνθεση R1 =(branch-name, branch-city, assets) R2=(loan-number, branch-name, amount) R3=(customer-name, loan-number)

Μοντέλο οντοτήτων-συσχετίσεων. Ο συνδυασμός ενός διαγράμματος οντοτήτων-σχέσεων και του αντίστοιχου συνόλου κανονικοποιημένων πινάκων ονομάζεται μοντέλο οντοτήτωνσυσχετίσεων. Για την κατασκευή ενός μοντέλου οντοτήτων-συσχετίσεων είναι πολλές φορές προτιμότερο να αρχίσει κανείς με την κατασκευή ενός βασικού μοντέλου οντοτήτων-συσχετίσεων (basic entity-relationship model). Ένα τέτοιο μοντέλο αποτελείται από ένα διάγραμμα οντοτήτων συσχετίσεων και από ένα αντίστοιχο σύνολο πινάκων που ονομάζονται βασικοί πίνακες. Ένας βασικός πίνακας περιέχει μόνον εκείνα τα χαρακτηριστικά που συνθέτουν τον προσδιοριστή των γραμμών του. Κατά το σχεδιασμό του εννοιολογικού μοντέλου δεδομένων, ο τρόπος αναπαράστασης της συσχέτισης στο βασικό μοντέλο O-Σ εξαρτάται από το είδος της συμμετοχής των δύο οντοτήτων στη συσχέτιση.

Μοντέλα Οντοτήτων Συσχετίσεων - Βασικό Μοντέλο Αναπαράσταση Σχέσεων 1:1 Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Προαιρετική συμμετοχή και των δύο οντοτήτων

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό κατέχει μία οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο τότε και οι δύο οντότητες συμμετέχουν υποχρεωτικά στη σχέση όπως φαίνεται στο Σχήμα 1 (α). Σ αυτήν την περίπτωση όλα τα χαρακτηριστικά των οντοτήτων και της σχέσης μπορούν να τοποθετηθούν σε έναν πίνακα. Η σχέση OCCUPIES αναπαριστάται εσωτερικά από την παρουσία των προσδιοριστών EMP_CODE και POS_CODE των οντοτήτων EMPLOYEE και POSITION, αντίστοιχα, όπως φαίνεται στο Σχήμα 1(β). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων EMPLOYEE ( EMP_CODE,..., POS_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ1. Βασικό μοντέλο οντοτήτων-σχέσεων (Υποχρεωτική συμμετοχή και των δύο οντοτήτων σε σχέση 1:1).

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Υποχρεωτική Συμμετοχή μόνο της μίας οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό δεν κατέχει υποχρεωτική οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο, τότε η συμμετοχή των οντοτήτων EMPLOYEE και POSITION στη σχέση OCCUPIES είναι προαιρετική και υποχρεωτική, αντίστοιχα, όπως φαίνεται στο Σχήμα 2 (α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραµµα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,..., EMP CODE ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ 2. Βασικό µοντέλο οντοτήτων-σχέσεων (υποχρεωτική συµµετοχή της µιας οντότητας σε σχέση 1:1).

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Προαιρετική Συμμετοχή και των δύο οντοτήτων Αν υποτεθεί ότι κάθε εργαζόμενος του οργανισμού δεν κατέχει υποχρεωτικά οργανική θέση και ότι κάθε οργανική θέση δεν είναι υποχρεωτικά κατειλημμένη, τότε οι δύο οντότητες συμμετέχουν προαιρετικά στη σχέση όπως φαίνεται στο Σχήμα 3(α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραµµα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,... ) OCCUPIES ( EMP_CODE, POS_CODE, ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ 3. Βασικό µοντέλο οντοτήτων - σχέσεων (προαιρετική συµµετοχή και των δύο οντοτήτων σε σχέση 1:1).

Μοντέλα Οντοτήτων Συσχετίσεων / Βασικό Μοντέλο Ο-Σ Αναπαράσταση Σχέσεων 1:Ν Υποχρεωτική συμμετοχή της απογονικής οντότητας Προαιρετική συμμετοχή της απογονικής οντότητας

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων 1:Ν Υποχρεωτική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος πρέπει να ανήκει σε ένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι υποχρεωτική όπως φαίνεται στο Σχήμα 1 Γενικά στην περίπτωση υποχρεωτικής συμμετοχής της απογονικής οντότητας σε σχέση 1:Ν η σχέση μπορεί να αναπαρασταθεί με την τοποθέτηση του προσδιοριστή της γονικής οντότητας στον πίνακα που αντιστοιχεί στην απογονική οντότητα. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραµµα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ 1. Βασικό µοντέλο οντοτήτων-σχέσεων (υποχρεωτική συµµετοχή της απογονικής οντότητας στη σχέση 1:Ν).

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων 1:Ν Προαιρετική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι υπάρχουν εργαζόμενοι στον οργανισμό που δεν ανήκουν σε κανένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι προαιρετική όπως φαίνεται στο Σχήμα 2. Σε αυτή την περίπτωση επιβάλλεται η αναπαράσταση των δύο οντοτήτων και της σχέσης με ξεχωριστούς πίνακες. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραµµα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,...) OCCUPIES ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ 2. Βασικό µοντέλο οντοτήτων-σχέσεων (προαιρετική συµµετοχή της απογονικής οντότητας σε σχέση 1:Ν).

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων Μ:Ν Έστω ότι τα βιβλία μίας βιβλιοθήκης καταχωρούνται κατά θέμα. Κάθε βιβλίο μπορεί να ανήκει σε πολλά θέματα και κάθε θέμα μπορεί να περιλαμβάνει πολλά βιβλία της βιβλιοθήκης. Στην περίπτωση συσχετίσεων Ν:Μ δημιουργούνται τρεις ξεχωριστοί πίνακες (ένας για κάθε οντότητα και ένας για τη σχέση μεταξύ τους) ανεξάρτητα από το είδος συμμετοχής των οντοτήτων στη σχέση, όπως φαίνεται στο Σχήμα 3. BOOK M BD_SUBJ N SUBJECT α) Διάγραµµα οντοτήτων - σχέσεων. BOOK ( BK_CODE,... ) SUBJECT ( SUBJ_NAME,... ) BK_SUBJ ( BK_CODE, SUBJ_NAME,... ) β) Πίνακας που αντιστοιχεί στο διάγραµµα του (α). ΣΧΗΜΑ 3. Βασικό µοντέλο οντοτήτων-σχέσεων (σχέση Ν:Μ).