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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δόμηση Απαιτήσεων: Εννοιολογική Μοντελοποίηση Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

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

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


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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

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

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

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

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

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

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

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

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

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

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

Transcript:

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

Ιστότοπος Μαθήματος https://evdoxos.ds.unipi.gr/ Διαλέξεις Πληροφορίες για το μάθημα Εργασία Τμήμα Ψηφιακών Συστημάτων, Παν. Πειραιώς Ανασκόπηση βασικών εννοιών Βάσεων Δεδομένων Μάθημα ο Τμ. Ψηφιακών Συστημάτων, Παν. Πειραιώς 2

Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) Τι είναι η Βάση Δεδομένων? Συλλογή από συσχετιζόμενα δεδομένα Τι είναι ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)? Σύνολο προγραμμάτων (λογισμικό ) για δημιουργία και χρήση μιας βάσης δεδομένων Σύστηµα Βάσεων εδοµένων (database system): Σ Β + Βάση εδοµένων. ΣΔΒΔ ΒΔ Σύστημα Βάσεων Δεδομένων Τμήμα Ψηφιακών Συστημάτων, Παν. Πειραιώς Κύκλος ζωής Βάσεων Δεδομένων Σχεδίαση ΒΔ µετατροπής της γνώσης που έχουµε για έναν µικρόκοσµο σε µια Β που θα την διαχειρίζεται ένα Σ Β Η διαδικασία διακρίνεται σε διαδοχικές αυτοτελείς διαδικασίες (φάσεις), κάθε µια εκ των οποίων δηµιουργεί ενδιάµεσες περιγραφές. Συλλογή και Ανάλυση Απαιτήσεων (Requirements Collection and Analysis) Εννοιολογικός Σχεδιασµός Β (Conceptual Database Design) Λογικός Σχεδιασµός Β (Logical Database Design) Φυσικός Σχεδιασµός Β (Physical Database Design) 3

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

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

Ενοιολογικός σχεδιασμός Στο στάδιο αυτό χρησιμοποιείται το μοντέλο Οντοτήτων- Συσχετίσεων (Ο-Σ) Ποίες είναι οι οντότητες και οι συσχετίσεις σ έναν οργανισμό Τι πληροφορία για αυτές τις οντότητες και τις συσχετίσεις πρέπει να αποθηκεύσουμε σε μία ΒΔ? Ποίοι είναι οι περιορισμοί ακεραιότητας ή επιχειρισιακοί κανόνες που ισχύουν? Ένα σχήμα ΒΔ στο Μοντέλο Ο-Σ μπορεί να αναπαρασταθεί διαγραμματικά. Μπορούμε να απεικονίσουμε ένα Ο-Σ μοντέλο σε σχεσιακό σχήμα. Μοντέλο Οντοτήτων- Συσχετίσεων (2) E-R (Entity-Relationship) μοντέλο Οντότητες (αντικείμενα) π.χ. customers, accounts, bank branch Συσχετίσεις ανάμεσα σε οντότητες Π.χ.. Account A-0 διατηρείται από τον πελάτη Johnson Το σύνολο συσχέτισης καταθέτης (depositor) συσχετίζει πελάτες με λογαριασμούς Ευρέως χρησιμοποιούμενα για το σχεδιασμό βάσεων δεδομένων Ο σχεδιασμός βάσεων δεδομένων στο μοντέλο E-R συνήθως μετασχηματίζεται σε σχεδιασμό σχεσιακού μοντέλου το οποίο χρησιμοποιείται για αποθήκευση και επεξεργασία 6

Μοντελοποίηση ΒΔ Μία βάση δεδομένων μοντελοποιείται ως: Μία συλλογή από οντότητες, Συσχετίσεις ανάμεσα σε οντότητες. Βασικές έννοιες Μοντέλου Ο-Σ () Μία οντότητα είναι ένα αντικείμενο που υπάρχει και μπορεί να ξεχωρίσει από τα άλλα αντικείμενα. Π.χ: specific person, company, event, plant Οι οντότητες έχουν χαρακτηριστικά Π.χ: οι ανθρωποι έχουν ονόματα και διευθύνσεις Κάθε χαρακτηριστικό έχει ένα πεδίο ορισμού. Ένα σύνολο οντοτήτων είναι μία συλλογή από οντότητες του ίδιου τύπου που μοιράζονται τις ίδιες ιδιότητες. Π.χ: set of all persons, companies, trees, holidays Οι οντότητες σε ένα σύνολο οντοτήτων έχουν το ίδιο σύνολο χαρακτηριστικών Κάθε σύνολο οντοτήτων έχει ένα κλειδί. 7

Βασικές έννοιες Μοντέλου Ο-Σ (2) Συσχετίσεις: Σύνδεση ανάμεσα σε δύο ή περισσότερες οντότητες. Π.χ., Attishoo works in Pharmacy department. Σύνολο συσχετίσεων: Συλλογή από όμοιες συσχετίσεις. Ένα n-ιοστό σύνολο συσχετίσεων R σχετίζει n σύνολα οντοτήτων E... En; Βαθμός συνόλου Συσχετίσεων Βαθμός ενός τύπου συσχέτισης (degree): πλήθος των τύπων οντοτήτων που συμμετέχουν Δυαδικά (ή βαθμού 2): σύνολα συσχέτισης που περιλαμβάνουν δύο σύνολα οντοτήτων. Μπορεί να υπάρχουν και συσχετίσεις ανάμεσα σε περισσότερα σύνολα οντοτήτων Π.χ. Υποθέτουμε ότι οι υπάλληλοι μίας τράπεζας έχουν εργασίες σε πολλαπλά υποκαταστήματα και διαφορετικές εργασίες σε κάθε υποκατάστημα. Υπάρχει μία συσχέτιση ανάμεσα στα σύνολα οντοτήτων employee, job and branch Οι συσχετίσεις ανάμεσα σε περισσότερα από δύο σύνολα οντοτήτων συσχετίσεων είναι σπάνιες. Οι περισσότερες συσχετίσεις είναι δυαδικές. 8

Λόγος Πληθικότητας Για δυαδικές συσχετίσεις ένα-προς-ένα : ένα-προς-πολλά :Ν πολλά-προς-ένα Ν: πολλά-προς-πολλά Ν:Μ Παράδειγμα - Συμβολισμός Ταινία Παίζει Ηθοποιός Λόγος Πληθικότητας Παράδειγμα - Συμβολισμοί Ένα-προς-Πολλά :Ν Ν Τμήμα Έχει Υπάλληλος Ένα Τμήμα έχει πολλούς Υπαλλήλους αλλά ένας Υπάλληλος ανήκει μόνο σε ένα Τμήμα Προσοχή: πόσες φορές ένα Τμήμα/Υπάλληλος εμφανίζεται στη συσχέτιση Τμήμα Ψηφιακών Συστημάτων, Παν. Πειραιώς 9

Μοντέλο Οντοτήτων- Συσχετίσεων Παράδειγμα του σχήματος στο μοντέλο οντοτήτων-συσχετίσεων Customer Customer-id Customer-name Customer-street Customer-city depositor Τμ. Ψηφιακών Συστημάτων, Παν. Πειραιώς Account Account- number Balance Βασικά Βήματα ανάπτυξης Σύστηματος Βάσεων Δεδομένων ΒΗΜΑ : Μοντελοποίηση Εννοιολογικό Μοντέλο (Μοντέλο Οντοτήτων/Συσχετίσεων) Μοντέλο Υλοποίησης (Σχεσιακό μοντέλο) ΒΗΜΑ 2: Προγραμματισμός/Υλοποίηση Ορισμός Σχέσεων (πρόθεση/σχήμα) Εισαγωγή Στοιχείων (δημιουργία του αρχικού στιγμιότυπου) Διατύπωση Ερωτήσεων 0

Τύποι σχέσεων (Relation type) Τύπος σχέσης ή σχεσιακό σχήμα (relation type ή relation scheme) R ένα πεπερασμένο σύνολο {A, A2,, An} από τύπους χαρακτηριστικών (attribute types) ή, απλώς, χαρακτηριστικά. Βαθμός σχέσης: πλήθος χαρακτηριστικών Τύπος σχέσης R επί των χαρακτηριστικών {A, A 2,, A n } συμβολίζεται και ως R[A A 2 A n ]. Σχέση (Relation) Μία σχέση (relation) r επί του τύπου σχέσης R είναι ένα πεπερασμένο σύνολο απεικονίσεων {t, t 2,..., t p }, p n, R D με τον περιορισμό ότι για κάθε απεικόνιση t της σχέσης r, κάθε τιμή α i = t(a i ) του χαρακτηριστικού A i ανήκει στο πεδίο ορισμού D i, i n. Οι απεικονίσεις αυτές ονομάζονται πλειάδες (tuples) Σχέση (relation) Ένα στιγµιότυπο σχέσης (relation instance), Μία σχέση r επί του τύπου σχέσης R συμβολίζεται και ως r(r) ή r(a A 2 A n ).

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

Βασικές ιδιότητες των σχέσεων () Οι τιμές κάθε χαρακτηριστικού σε μια πλειάδα μιας σχέσης είναι ατομικές. ORDERS ORD-NO ORD-DATE BOOK-NO 0870 800 20/7/2004 22/7/2004 30/9/2004 B50, B4022 B4022, B32, B6088 B09 Χαρακτηριστικό με πολλαπλές τιμές Διάσπαση Πίνακα ORD_DATE ORDERS_MOD ORD-NO DATE BOOK-NO 0870 0870 800 20/7/2004 20/7/2004 22/7/2004 22/7/2004 22/7/2004 30/9/2004 ORDERS_MOD2 B50 B4022 B4022 B32 B6088 B09 ORD-NO DATE BOOK-NO- BOOK-NO-2 BOOK-NO-3 0870 800 20/7/2004 22/7/2004 30/9/2004 B50 B4022 B09 Κάθετη ανάπτυξη Οριζόντια ανάπτυξη B4022 B32 - - B6088 - ORD- NO 0870 800 ORD_BOOK ORD-NO 0870 0870 800 DATE 20/7/2004 22/7/2004 30/9/2004 BOOK-NO B50 B4022 B4022 B32 B6088 B09 Κλειδιά (2) Ένα υποσύνολο K των χαρακτηριστικών ενός σχεσιακού πίνακα ονομάζεται προσδιοριστής (identifier) ή πρωτεύον κλειδί (primary key) του πίνακα αν ισχύουν τα ακόλουθα: Το K παίρνει μοναδικές τιμές για κάθε γραμμή οποιασδήποτε πραγματοποίησης του πίνακα. Το K περιέχει τον ελάχιστο αριθμό χαρακτηριστικών που από κοινού προσδιορίζουν μοναδικά τις γραμμές του πίνακα. Κανένα από τα χαρακτηριστικά που συνιστούν το K δεν παίρνει κενές τιμές σε οποιαδήποτε πραγματοποίηση του πίνακα. ORD_BOOK ORD_DATE ORD-NO 0870 800 DATE 20/7/2004 22/7/2004 30/9/2004 ORD-NO 0870 0870 800 BOOK-NO B50 B4022 B4022 B32 B6088 B09 3

Περιορισμοί () Υπάρχουν τρία είδη περιορισµών που είναι έµφυτοι στο µοντέλο: Περιορισµοί κλειδιών Περιορισµοί ακεραιότητας οντότητας (entity integrity) Περιορισµοί αναφορικής ακεραιότητας (referential integrity) Υπάρχουν τρία είδη ρητών περιορισµών: Περιορισµοί πεδίου τιµών Περιορισµοί στηλών Περιορισµοί οριζόµενοι από το χρήστη (user-defined) Περιορισμοί αναφορικής ακεραιότητας Αναφορική ακεραιότητα (referential integrity): εµπλέκει δύο σχέσεις και χρησιµοποιείται για να καταγράψει τη συνέπεια σε µια συσχέτιση µεταξύ πλειάδων των δυο σχέσεων. Η πλέον συνήθης µορφή είναι αυτή των ξένων κλειδιών. Ένα ξένο κλειδί (foreign key) FK είναι ένα σύνολο χαρακτηριστικών σε µια σχέση R που αποτελεί κύριο κλειδί σε µια άλλη σχέση R2. Μια πλειάδα t στην r(r) λέγεται ότι αναφέρεται σε µια άλλη πλειάδα t2 στην r(r2), εάν: t[fk] = t2[pk] π.χ., για την σχέση Account το χαρακτηριστικό branch-name αποτελεί ξένο κλειδί (καθώς είναι το κύριο κλειδί στην σχέση Branch). 4

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

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

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

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