Βάσεις Δεδομένων. Εργαστήριο ΤΕΙ ΣΕΡΡΩΝ Σ.Δ.Ο. Τμήμα Λογιστικής

Σχετικά έγγραφα
Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

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

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

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

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

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

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

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

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

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

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

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

Εισαγωγή στα Συστήματα Βάσεων εδομένων

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

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

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

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

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

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


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

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

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

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

Εισαγωγή. Καλή Ακαδημαϊκή Χρονιά! Τι θα δούμε σήμερα: Τα βασικά Την ιστορία (μέλλον) Μια γρήγορη ματιά στο τι θα δούμε στο μάθημα

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

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

Εισαγωγή. web σελίδα Βάσεις εδοµένων Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

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

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

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

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

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

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

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

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

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

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

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

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

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

Διαδικασία Ανάπτυξης ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

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

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

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

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

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

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

Μοντέλα Δεδομένων. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο Μοντέλα Δεδομένων. Μοντέλο Δεδομένων. Μοντέλα Δεδομένων. Βάσεις Δεδομένων 9 ο εξάμηνο 2014

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

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

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

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

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

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

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

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

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

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

Transcript:

ΤΕΙ ΣΕΡΡΩΝ Σ.Δ.Ο. Τμήμα Λογιστικής Βάσεις Δεδομένων Εργαστήριο Υπολογιστές ΙΙ Υποστηρικτικές στη Διδασκαλία Διαφάνειες του Μαθήματος Σέρρες, 2006 Κάπαρης Κ. Αναστάσιος

Ιστορική Αναδρομή Δεκαετία του 1950 Κάρτες και ταινίες (σειριακή επεξεργασία) Batch processing Αρχή του 1960 πρώτο γενικού-σκοπού ΣΔΒΔ: Integrated Data Store (GE) Charles Bachman (Recipient of the 1 st Turing Award, 1973) network data model (δικτυωτό) Τέλη του 1960 Information Management System (IMS) IBM hierarchical data model (Ιεραρχικό) SABRE Airline Reservation System (AA+IBM, travelocity!!) Διαφάνεια 2

Ιστορική Αναδρομή 1970 Edgar Codd (IBM, San Jose) relational data model (Recipient of the Turing Award, 1981) Ερευνητικά Προγράμματα: System R, INGRES - Γλώσσες: SEQUEL, QBE, QUEL Δεκαετία του 1980 SQL (μέρος του System R) transaction management (Jim Gray, Turing Award, 1999) [Τάσεις: αντικειμενοστραφή, αρχιτεκτονική πελάτη-εξυπηρέτη, κατανεμημένες, έμπειρα] Δεκαετία του 1990 εμπορικά αντικειμενοστραφή συστήματα [Τάσεις: πολυβάσεις, χωρικές & χρονικές, πολυμέσα, αποθήκες δεδομένων, συμπερασματικές] Διαφάνεια 3

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) (Database Management System - DBMS) αποτελείται από μία συλλογή σχετιζόμενων δεδομένων και ένα σύνολο προγραμμάτων για την προσπέλαση σε αυτά τα δεδομένα Η συλλογή των δεδομένων ονομάζεται βάση δεδομένων (ΒΔ) (database) Ο κύριος σκοπός ενός ΣΔΒΔ είναι να παρέχει ένα περιβάλλον για την εύκολη και αποδοτική αποθήκευση και ανάκληση μεγάλου όγκου πληροφορίας Διαφάνεια 4

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Η διαχείριση των δεδομένων περιλαμβάνει: τον ορισμό δομών για την αποθήκευση πληροφορίας μηχανισμούς για τον χειρισμό της πληροφορίας και την ενημέρωσή της μηχανισμούς για την ασφάλεια πληροφορίας που είναι προσβάσιμη από πολλούς χρήστες τη δημιουργία ενός περιβάλλοντος που είναι εύκολο (convenient) και αποτελεσματικό (efficient) στη χρήση Διαφάνεια 5

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Παράδειγμα: ένα τραπεζικό σύστημα αποθηκεύει πληροφορία σχετικά με τους πελάτες της τράπεζας και τους λογαριασμούς τους Η πληροφορία αποθηκεύεται σε αρχεία του συστήματος τα οποία διαχειρίζονται προγράμματα για: χρέωσηήπίστωσηλογαριασμού προσθήκη νέου λογαριασμού εύρεση υπολοίπου μηνιαίες / ετήσιες καταστάσεις κίνησης κλπ Καινούργια αρχεία και προγράμματα εφαρμογών προστίθενται ανάλογα με τις ανάγκες Διαφάνεια 6

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Η υλοποίηση ενός τέτοιου συστήματος μπορεί να βασιστεί σε ένα "τυπικό" σύστημα διαχείρισης και επεξεργασίας αρχείων (file processing system), πάσχει όμως από διάφορα μειονεκτήματα: Πλεονασμός και Ασυνέπεια δεδομένων (data redundancy and inconsistency) η ίδια πληροφορία πιθανόν να επαναλαμβάνεται σεδιαφορετικάαρχείαμεαποτέλεσμαναυπάρχει μεγαλύτερο κόστος αποθήκευσης και ανάκλησης επιπλέον, ενημέρωση ενός αρχείου πρέπει να συνοδεύεται από την ενημέρωση όλων των αρχείων στα οποία η πληροφορία επαναλαμβάνεται Διαφάνεια 7

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Δυσκολία στην πρόσβαση στα δεδομένα τα συστήματα διαχείρισης αρχείων δεν παρέχουν αποδοτικούς μηχανισμούς για αναζήτηση και ανάκληση πληροφορίας με διαφορετικούς τρόπους επιπλέον, τα δεδομένα διασκορπίζονται σε αρχεία που χρησιμοποιούν διαφορετικές μορφές Προβλήματα ακεραιότητας δεδομένων (data integrity) τα δεδομένα υπόκεινται σε περιορισμούς συνέπειας ή ακεραιότητας (consistency or integrity constraints) οι περιορισμοί αυτοί εφαρμόζονται μέσω των προγραμμάτων εφαρμογών τα οποία πρέπει να αλλαχθούν για την προσθήκη νέων ή τη μεταβολή περιορισμών Διαφάνεια 8

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Προβλήματα ατομικότητας δοσοληψιών (transaction atomicity) το σύστημα πρέπει να εγγυάται ότι σε περίπτωση σφάλματος η πληροφορία πρέπει να μπορεί να αποκατασταθεί π.χ. μεταφορά ενός ποσού Χ από λογαριασμό Α σε λογαριασμο Β. Αν συμβεί καποιο σφάλμα κατά τη διάρκεια της μεταφοράς, ο λογαριασμός Α μπορεί να χρεωθεί χωρίς να πιστωθεί ο λογαριασμός Β οι δοσοληψίες πρέπει να χαρακτηρίζονται από ατομικότητα, δηλαδή ή όλη η δοσοληψία ολοκληρώνεται ή κανένα μέρος αυτής Διαφάνεια 9

Εισαγωγή στα Συστήματα Διαχείρισης Βάσεων Δεδομένων Ανωμαλίες ταυτόχρονης πρόσβασης (concurrent access) ηταυτόχρονηπρόσβασηκαιενημέρωσητης πληροφορίας από πολλούς χρήστες μπορεί να δημιουργήσει προβλήματα συνέπειας π.χ. έστω ότι ο λογαριασμός Α έχει υπόλοιπο Χ. Αν δύο χρήστες αφαιρέσουν ποσά Δ1 και Δ2 "ταυτόχρονα" από τον Α, το αποτέλεσμα μπορεί να μην είναι ορθό Προβλήματα ασφάλειας (security) διαφορετικοί χρήστες θα πρέπει να έχουν διαφορετικά δικαιώματα πρόσβασης σε αρχεία ή σε συγκεκριμένα δεδομένα Διαφάνεια 10

Όψεις Δεδομένων Ένας από τους κύριους στόχους ενός ΣΔΒΔ είναι να παρέχει μια αφηρημένη όψη των δεδομένων αποκρύπτοντας λεπτομέρειες της αναπαράστασης και της αποθήκευσής τους στο σύστημα ΈναΣΔΒΔείναιέναπρόγραμμαγιατηδιαχείριση ηλεκτρονικών αρχείων επιχειρησιακών δεδομένων με δομημένο τρόπο Για παράδειγμα, ΣΔΒΔ ενός πανεπιστημίου διαχειρίζεται αρχεία για τους φοιτητές, τιςεγγραφέςτουςσεμαθήματα, βαθμολογία, κ.λ.π. Εμπορικές επιχειρήσεις χρησιμοποιούν ΣΔΒΔ για την αποθήκευση στοιχείων σχετικά με πωλήσεις, αγορές, τιμολόγηση, αποθήκη κ.λ.π. Διαφάνεια 11

Όψεις Δεδομένων Αεροπορικές εταιρίες χρησιμοποιούν ΣΔΒΔ για την αποθήκευση στοιχείων σχετικά με πτήσεις, δρομολόγια, διαθεσιμότητα θέσεων, κρατήσεις, προσωπικό, κ.λ.π Ένα ΣΔΒΔ μιας βιβλιοθήκης καταγράφει τα διαθέσιμα βιβλία, τα άτομα που τα δανείζονται, και παρέχει θεματική κατηγοριοποίηση Η συλλογή των αρχείων και εγγραφών που κρατούνται για ένα συγκεκριμένο σκοπό ονομάζεται βάση δεδομένων (database) Κατά κανόνα, οι βάσεις δεδομένων αποθηκεύονται σε δευτερεύουσα μνήμη Ένα ΣΔΒΔ μπορεί να διαχειρίζεται περισσότερες από μία βάσεις δεδομένων Διαφάνεια 12

Όψεις Δεδομένων Οι βάσεις δεδομένων μπορούν να μοιράζονται πληροφορία Η πρόσβαση σε αυτές ελέγχεται από ένα κεντρικό πρόγραμμα το οποίο ονομάζεται διαχειριστής βάσεων δεδομένων (db manager) Η δόμηση της πληροφορίας που αποθηκεύεται στις βάσεις δεδομένων καθορίζεται από το μοντέλο δεδομένων (data model) Διαφάνεια 13

Μοντέλα Δεδομένων Το σχεσιακό μοντέλο (relational model) είναι το πλέον επιτυχημένο μοντέλο δεδομένων από αυτά που έχουν προταθεί Τα δεδομένα οργανώνονται σε μορφή πινάκων εγγραφών ή σχέσεων (tables of records or relations) Οι σχέσεις είναι συλλογές γνωρισμάτων (attributes), όπου κάθε γνώρισμα (μια στήλη του πίνακα) αναπαριστά μια ιδιότητα της εγγραφής Παρέχει εύκολο τρόπο επερώτησης των δεδομένων Εμπορικά σχεσιακά ΣΔΒΔ: Ingres, Oracle, DB2, Informix, Sybase, κλπ Διαφάνεια 14

Χρήστες ΣΔΒΔ ΈναΣΔΒΔπρέπειναπαρέχειεύκοληπρόσβασηστα δεδομένα σε σχετικά μη-έμπειρους χρήστες οι οποίοι λέγονται τελικοί χρήστες (end users) Η φιλικότητα προς το χρήστη και η χρήση μιας γλώσσας επερωτήσεων υψηλού επιπέδου είναι σημαντικά χαρακτηριστικά που πρέπει να διαθέτει ένα ΣΔΒΔ Διαφορετικοί χρήστες έχουν διαφορετικές απαιτήσεις: τελικοί χρήστες προγραμματιστές εφαρμογών (application programmers) διαχειριστές ΒΔ (database administrators) Διαφάνεια 15

Χρήστες ΣΔΒΔ Τελικοί χρήστες συνήθεις ή περιστασιακοί χρήστες (casual users): χρησιμοποιούν μια δομημένη γλώσσα (π.χ. SQL) για την διατύπωση επερωτήσεων στη ΒΔ αδαείς χρήστες (naive users): διατυπώνουν επερωτήσεις χρησιμοποιώντας φόρμες ή μενού Προγραμματιστές εφαρμογών: γράφουν προγράμματα εφαρμογών για να εξυπηρετήσουν τις ανάγκες των τελικών χρηστών έχουντηνευθύνητηςυλοποίησηςενόςτρόπου επερώτησης με αποδοτικό τρόπο Διαχειριστής ΒΔ: είναι υπεύθυνος για τη σχεδίαση και συντήρηση των ΒΔ Διαφάνεια 16

Επίπεδα Αφαίρεσης ΣΔΒΔ Ένας από τους κύριους στόχους ενός ΣΔΒΔ είναι να παρέχει μια αφηρημένη όψη των δεδομένων, αποκρύπτοντας από το χρήστη λεπτομέρειες σχετικά με την αναπαράσταση και την αποθήκευσή τους Σε ένα ΣΔΒΔ, τα δεδομένα αναπαριστώνται σε 3 επίπεδα αφαίρεσης (abstraction levels): Φυσικό επίπεδο (physical level): το χαμηλότερο επίπεδο αφαίρεσης περιλαμβάνει σύνθετες δομές και λεπτομέρειες αναπαράστασης και αποθήκευσης περιγράφουμε πως αποθηκεύεται μία εγγραφή (record) γιαπαράδειγματαστοιχείαενός υπαλλήλου Διαφάνεια 17

Επίπεδα Αφαίρεσης ΣΔΒΔ Λογικό επίπεδο (logical level): περιγράφει τα δεδομένα και τις μεταξύ τους σχέσεις χρησιμοποιώντας ένα σχετικά μικρό αριθμό απλών δομών και εννοιών οιχρήστεςοιοποίοιβλέπουντοσύστημαστο λογικό επίπεδο δεν χρειάζεται να γνωρίζουν τις λεπτομέρειες του φυσικού επιπέδου Επίπεδο όψεων (view level): το υψηλότερο επίπεδο αφαίρεσης περιγράφει κάποια μέρη της αποθηκευμένης πληροφορίας, καθώς κάποιοι χρήστες χρειάζονται πρόσβαση μόνο σε μέρος των ΒΔ αποτελεί συγχρόνως και μηχανισμό ασφάλειας Διαφάνεια 18

Επίπεδα Αφαίρεσης ΣΔΒΔ View Level View 1 View 2 View n Logical Level Διαφάνεια 19 Physical Level

Σχήμα και Στιγμιότυπα (Schema and Instances) Οι ΒΔ μεταβάλλονται με την πάροδο του χρόνου καθώς πληροφορία προστίθεται, αφαιρείται η τροποποιείται Το σύνολο της πληροφορίας το οποίο βρίσκεται αποθηκευμένο σε μια ΒΔ σε μια συγκεκριμένη χρονική στιγμή λέγεται στιγμιότυπο (instance or snapshot) της ΒΔ Το σχήμα (schema) της ΒΔ είναι το σύνολο των εννοιών που περιγράφουν τη δομή της και είναι σχεδόν πάντα σταθερό Αναλογία: record types schema, variables instances Μια ΒΔ έχει ένα (ή περισσότερα) σχήματα σε κάθε επίπεδο αφαίρεσης: Φυσικό σχήμα Λογικό σχήμα Σχήματα όψεων ή υποσχήματα Διαφάνεια 20

Ανεξαρτησία Δεδομένων (Data Independence) Οόροςανεξαρτησία δεδομένων (data independence) χαρακτηρίζει την ικανότητα μεταβολής του σχήματος σε κάποιο επίπεδο αφαίρεσης, χωρίς να επηρεάζεται ο ορισμός του σχήματος στο αμέσως υψηλότερο επίπεδο φυσική ανεξαρτησία δεδομένων: το φυσικό σχήμα μπορεί να μεταβάλλεται χωρίς να χρειάζεται να γραφούν ξανά τα προγράμματα εφαρμογών που έχουν πρόσβαση στη ΒΔ μεταβολές στο φυσικό σχήμα είναι συχνά απαραίτητες για λόγους βελτιστοποίησης της απόδοσης του συστήματος Διαφάνεια 21

Ανεξαρτησία Δεδομένων (Data Independence) λογική ανεξαρτησία δεδομένων: είναι η ικανότητα μεταβολής του λογικού σχήματος χωρίς την ανάγκη μεταβολής των προγραμμάτων εφαρμογών τέτοιες μεταβολές είναι απαραίτητες όταν μεταβάλλεται η εννοιολογική δομή μιας ΒΔ Η λογική ανεξαρτησία είναι δυσκολότερο να επιτευχθεί από τη φυσική ανεξαρτησία, καθώς τα προγράμματα εφαρμογών εξαρτούνται σε μεγάλο βαθμό από τη λογική δομή μιας ΒΔ Η έννοια της ανεξαρτησίας είναι συγγενής με αυτή των αφηρημένων τύπων δεδομένων (abstract data types) Διαφάνεια 22

Μοντέλα Δεδομένων (Data Models) Ένα μοντέλο δεδομένων (data model) είναι ένα σύνολο εννοιών για την περιγραφή των δεδομένων, των σχέσεων μεταξύ αυτών, τη σημασιολογία τους και τους περιορισμούς στους οποίους υπόκεινται Διακρίνονται σε 3 κατηγορίες: οντοκεντρικά λογικά μοντέλα (object-oriented) πλειαδικά λογικά μοντέλα (record-based) φυσικά μοντέλα Τα οντοκεντρικά μοντέλα χρησιμοποιούνται για την περιγραφή δεδομένων στο λογικό επίπεδο και το επίπεδο όψεων Τέτοια μοντέλα είναι τα: μοντέλο οντοτήτων-σχέσεων (entity-relationship model), σημασιολογικό μοντέλο (semantic data model), συναρτησιακό μοντέλο (functional model) Διαφάνεια 23

Μοντέλα Δεδομένων (Data Models) Τα πλειαδικά λογικά μοντέλα αναπαριστούν τη λογική δομή μιας ΒΔ μέσω συγκεκριμένων τύπων που αναπαριστώνται ως πλειάδες (tuples) ή εγγραφές (records) Τέτοια μοντέλα είναι τα: σχεσιακό μοντέλο (relational model), ιεραρχικό μοντέλο (hierarchical model), μοντέλο δικτύου (network model) Τα φυσικά μοντέλα χρησιμοποιούνται για την περιγραφή των δεδομένων στο φυσικό επίπεδο Τέτοια μοντέλα είναι τα: ενοποιημένο μοντέλο (unifying data model) μοντέλο πλαισίων μνήμης (frame-memory model) Διαφάνεια 24

Οντότητες - Συσχετίσεις Ο κόσμος αποτελείται από διάφορους τύπους οντοτήτων, που συνδέονται μεταξύ τους με συσχετίσεις (ειδικού τύπου οντότητες) Οι οντότητες έχουν ιδιότητες που τις περιγράφουν. Κάποιες ιδιότητες λειτουργούν ως ταυτότητα της οντότητας. Κάθε ιδιότητα είναι ιδιότητα μιας οντότητας Διαφάνεια 25

Οντότητες Συσχετίσεις Ένα μοντέλο δεδομένων χρησιμεύει: περιγράφει τα δεδομένα παρέχει τρόπο για το χειρισμό τους Το μοντέλο οντοτήτων-συσχετίσεων (Entity- Relationship model ή ER) παρέχει ένα εννοιολογικό (σημασιολογικό) σχήμα για το σχεδιασμό μιας βάσης δεδομένων Δεν μπορεί να χειριστεί δεδομένα, δεν είναι μοντέλο δεδομένων με την πλήρη έννοια Διαφάνεια 26

Ένα μοντέλο δεδομένων είναι ένας μαθηματικός φορμαλισμός που περιλαμβάνει: γλώσσα / συντακτικό για την περιγραφή των δεδομένων ένα σύνολο τελεστών για το χειρισμό των δεδομένων Το μοντέλο Οντοτήτων Σχέσεων (E-R Model) επινοήθηκε σαν συμβολισμός για το σχεδιασμό εννοιολογικών σχημάτων (conceptual schemas) Το εννοιολογικό μοντέλο ενός πεδίου αποτελείται από: μια ιεραρχία οντοτήτων (entities) οι οποίες υποθέτομε ότι υπάρχουν στον κόσμο του ενδιαφέροντός μας ένα σύνολο σχέσεων (relationships) μεταξύ οντοτήτων ένα σύνολο περιορισμών (constraints) σχετικά με τον τρόπο με τον οποίο οντότητες συμμετέχουν σε σχέσεις Διαφάνεια 27

Πρώτα βήματα Η κατασκευή ενός μοντέλου ER είναι το πρώτο βήμα που θα κάνουμε για το σχεδιασμό μιας βάσης δεδομένων, εφ όσον αναλύσουμε τις απαιτήσεις αυτής της βάσης Βοηθάει πάρα πολύ στο ορίσουμε τα δεδομένα της βάσης δεδομένων Ένα καλό ER μοντέλο είναι εγγύηση για την κατασκευή μιας αποδοτικής βάσης δεδομένων Διαφάνεια 28

Ο κόσμος αποτελείται από οντότητες Οι οντότητες ομαδοποιούνται σε τύπους οντοτήτων με κοινές ιδιότητες Μια ειδική ιδιότητα (ταυτότητα) κάνει την μια οντότητα να ξεχωρίζει από τις άλλες οντότητες Μιαοντότηταμπορείνασυνδέεταιμεμιαάλλημέσωσυσχετίσεων Το μοντέλο Οντοτήτων Σχέσεων δεν διαθέτει τελεστές για το χειρισμό δεδομένων Ορισμός: Μια οντότητα (ή σύνολο οντοτήτων) είναι μια συλλογή από διακεκριμένα αντικείμενα με κοινές ιδιότητες που υπάρχουν στον κόσμο οντότητες μπορούν να αντιστοιχούν σε αντικείμενα με φυσική ή αφηρημένη υπόσταση π.χ. Η οντότηταφοιτητής έχει φυσική υπόσταση, ενώ η οντότητα μάθημα έχει μόνο αφηρημένη υπόσταση οντότητες μπορούν να έχουν πολλά στιγμιότυπα (instances, occurrences) π.χ. Μαρία και Γιάννης είναι στιγμιότυπα της οντότητας φοιτητής, ΗΥ360 είναι στιγμιότυπο της οντότητας μάθημα Διαφάνεια 29

Ορισμός υποτύπου ΜιαοντότηταΥείναιείναιυπότυπος της οντότητας Χ, αν και μόνο αν κάθε Υ είναι αναγκαστικά Χ Για παράδειγμα: Υπάλληλος (υπότυπος του Πρόσωπο) Ορχηστικό (υπότυπος της Σύνθεση) Φορτηγό (υπότυπος του Όχημα) Διαφάνεια 30

Ορισμός συσχέτισης Συσχέτιση είναι μια οντότητα που συνδέει δύο ή περισσότερες οντότητες μεταξύ τους Για παράδειγμα: Αποστολή (Αποστολέα-Παραλήπτη) Πρόσληψη (Υπάλληλο-Υπηρεσία) Ηχογράφηση (Συνθέτη-Τραγούδι) Πώληση (Είδος - Πελάτης) Διαφάνεια 31

Γραφική αναπαράσταση: Διαγράμματα E-R οντότητες παραλληλόγραμμα γνωρίσματα ελλείψεις μονότιμα γνωρίσματα ενώνονται με απλές γραμμές πλειότιμα γνωρίσματα ενώνονται με διπλές γραμμές αναγνωριστικά υπογραμμισμένα Διαφάνεια 32

Ορισμός: ένα γνώρισμα (attribute) είναι μια περιγραφή, μια πληροφορία μιας ιδιότητας που αποδίδεται σε μια οντότητα στιγμιότυπα μιας οντότητας έχουν ένα κοινό σύνολο γνωρισμάτων ένα υποσύνολο των γνωρισμάτων μιας οντότητας χρησιμοποιείται ως αναγνωριστικό (identifier) το σύνολο αυτών των γνωρισμάτων δέχεται μοναδικές τιμές για κάθε στιγμιότυπο της οντότητας τα υπόλοιπα γνωρίσματα αποκαλούνται περιγραφικά γνωρίσματα (descriptors) μπορεί να είναι ελλιπείς ή όχι μιαοντότηταμπορείναέχειπερισσότερααπόένα αναγνωριστικά Ένα από αυτά επιλέγεται ως το πρωτεύον αναγνωριστικό Διαφάνεια 33

Τα γνωρίσματα μπορεί να είναι απλά ή σύνθετα τα απλά γνωρίσματα δέχονται απλές τιμές από κάποιο πεδίο τιμών Π.χ. το γνώρισμα ηλικία είναι απλό γνώρισμα της οδός Ιδιότητα οντότητας φοιτητής με τιμές στο σύνολο των φυσικών αριθμών τα σύνθετα γνωρίσματα αποτελούνται από ένα αριθμό γνωρισμάτων τα οποία σαν σύνολο περιγράφουν μια ιδιότητα αριθμός πόλη Π.χ. Το γνώρισμα διεύθυνση αποτελείται από τα έτος γέννησης γνωρίσματα οδός, αριθμός, πόλη, τκ τα γνωρίσματα επίσης διακρίνονται σε μονότιμα έχουν μία μόνο τιμή (single-valued), π.χ. το έτος γέννησης ενός ανθρώπου και σε πλειότιμα που μπορούν να έχουν πολλές τιμές (multi-valued), π.χ. αγαπημένες ασχολίες διεύθυνση χόμπι Διαφάνεια 34

Ελλιπείς (null) H τιμή null είναι πολλή σημαντική στις βάσεις δεδομένων, και αποδίδεται όταν μια οντότητα δεν έχει τιμή για κάποια ιδιότητα Δεν υπάρχει δυνατή τιμή για την ιδιότητα Υπάρχει δυνατή τιμή, αλλά δεν είναι γνωστή ξέρουμε ότι υπάρχει δεν ξέρουμε αν υπάρχει Διαφάνεια 35

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

ΓιαταΚλειδιά Το σύνολο των ιδιοτήτων (γνωρισμάτων) που προσδιορίζουν μοναδικά μια οντότητα λέγεται υπερκλειδί (superkey) Οελάχιστος(μικρότερος) αριθμός ιδιοτήτων (γνωρισμάτων) που είναι υπερκλειδί λέγεται υποψήφιο κλειδί (candidate key) Το υποψήφιο κλειδί που επιλέγουμε λέγεται πρωτεύον κλειδί (primary key) Αν το πρωτεύον κλειδί αποτελείται από περισσότερες από μία ιδιότητες λέγεται σύνθετο, αλλιώς απλό Αν το πρωτεύον κλειδί είναι εγγενής ιδιότητα της οντότητας, τότε λέγεται φυσικό κλειδί Ο ΑΦΜ ενός υπάλλήλου Αν το πρωτεύον κλειδί δεν είναι εγγενής ιδιότητα της οντότητας, αλλά εισάγεται γι αυτό το σκοπό λέγεται μη φυσικό κλειδί Ένας αύξων αριθμός για μια ενοικίαση βιντεοκασέτας Διαφάνεια 37

Για τις συσχετίσεις Οι οντότητες που συμμετέχουν σε μια συσχέτιση λέγονται μετέχουσες Ο αριθμός των οντοτήτων που συμμετέχουν σε μια συσχέτιση λέγεται βαθμός της συσχέτισης Περισσότερο "βολικές" είναι οι δυαδικές συσχετίσεις, δηλαδή οι συσχετίσεις με βαθμό 2 Διαφάνεια 38

Ολική συμμετοχή Έστω E μια οντότητα που συμμετέχει σε μια συσχέτιση R Η συμμετοχή της οντότητας E στη συσχέτιση R είναι ολική, αν κάθε παρουσία της Ε μετέχει σε τουλάχιστον μια παρουσία της R Για παράδειγμα, αν κάθε βιβλίο έχει έναν εκδότη, η συμμετοχή της οντότητας ΒΙΒΛΙΟ στη συσχέτιση ΕΚΔΟΣΗ είναι ολική Διαφάνεια 39

Μερική συμμετοχή Έστω E μια οντότητα που συμμετέχει σε μια συσχέτιση R Η συμμετοχή της οντότητας E στη συσχέτιση R είναι μερική, αν υπάρχει τουλάχιστον μία παρουσία της Ε που δεν μετέχει σε καμία παρουσία της R Για παράδειγμα, αν ένα βιβλίο είναι δυνατό να μην έχει εκδότη, η συμμετοχή της οντότητας ΒΙΒΛΙΟ στη συσχέτιση ΕΚΔΟΣΗ είναι μερική Διαφάνεια 40

Παράδειγμα ολική-μερικής συμμετοχής Αν κάθε βιβλίο έχει έναν εκδότη, τότε η συμμετοχή της οντότητας βιβλίο στη συσχέτιση έκδοση είναι ολική Αν κάποιος εκδότης δεν έχει εκδώσει κανένα βιβλίο, τότε η συμμετοχή της οντότητας εκδότης στη συσχέτιση έκδοση είναι μερική βιβλίο Ν βιβλίο Μ εκδότης Διαφάνεια 41

Μερικοί ορισμοί για τις συσχετίσεις Συσχέτιση 1:1 Μια δυαδική συσχέτιση R μεταξύ των οντοτήτων Ε και F λέγεται ότι είναι 1:1 όταν κάθε παρουσία των E και F στην R έχει μία τιμή Κάθε πόλη έχει εκλέγει έναν δήμαρχο και ένας δήμαρχος εκλέγεται σε μία μόνο πόλη πόλη 1 1 εκλέγει δήμαρχο Διαφάνεια 42

Μερικοί ορισμοί για τις συσχετίσεις Συσχέτιση 1:Ν Μια δυαδική συσχέτιση R μεταξύ των οντοτήτων Ε και F λέγεται ότι είναι 1:N (ένα προς πολλά) όταν κάθε η E συμμετέχει με μία τιμή και η F με πολλές τιμές στην R Κάθε μητέρα μπορεί να έχει πολλά παιδιά,αλλά ένα παιδί έχει μόνο μία μητέρα Διαφάνεια 43 μητέρα 1 Ν έχει παιδί

Μερικοί ορισμοί για τις συσχετίσεις Συσχέτιση Ν:Μ Μια δυαδική συσχέτιση R μεταξύ των οντοτήτων Ε και F λέγεται ότι είναι Ν:M (πολλά προς πολλά) όταν κάθε η E συμμετέχει με μία τιμή και η F με πολλές τιμές στην R Κάθε φοιτητής μπορεί να δηλώσει πολλά μαθήματα και ένα μάθημα μπορεί να δηλωθεί από πολλούς φοιτητές φοιτητής Ν δηλώνει Μ μάθημα Διαφάνεια 44

Αναδρομική συσχέτιση Μια δυαδική συσχέτιση, που συσχετίζει μια οντότητα με τον εαυτό της, λέγεται αναδρομική διευθυντής του φορητής δηλώνει Διαφάνεια 45 υπάλληλός του

Γραφική αναπαράσταση: Διαγράμματα E-R οντότητες παραλληλόγραμμα γνωρίσματα ελλείψεις μονότιμα γνωρίσματα ενώνονται με απλές γραμμές πλειότιμα γνωρίσματα ενώνονται με διπλές γραμμές αναγνωριστικά υπογραμμισμένα Διαφάνεια 46

Hobbies Student_id Emp id Student Employee Emp_address Student_name lname fname Street City Postal code Διαφάνεια 47

Ορισμός: Δεδομένου ενός διατεταγμένου συνόλου από οντότητες Ε 1, Ε 2,..., Ε n μια σχέση (relationship) R ορίζει μια αντιστοίχιση μεταξύ των στιγμιότυπων των οντοτήτων αυτών. δηλαδή, η R είναι ένα σύνολο από πλειάδες n στοιχείων: R Ε 1 Ε 2 Ε n μια οντότητα μπορεί να συμμετέχει περισσότερες από μία φορές σε μια σχέση ένα στιγμιότυπο σχέσης (relationship instance or occurrence) αντιστοιχεί σε μια πλειάδα από στιγμιότυπα οντοτήτων (e 1, e 2,, e n ), όπου κάθε e i είναι στιγμιότυπο της οντότητας E i Διαφάνεια 48

οαριθμόςn των οντοτήτων που συμμετέχουν σε μια σχέση λέγεται βαθμός (degree) της σχέσης για n=2, η σχέση λέγεται δυαδική π.χ. η σχέσηεργάζεται είναι δυαδική σχέση μεταξύ των οντοτήτων υπάλληλος και έργο οι σχέσεις μπορούν επίσης να έχουν γνωρίσματα π.χ. η σχέσηεργάζεται μπορεί να έχει ένα γνώρισμα ποσοστό το οποίο προσδιορίζει το ποσοστό του χρόνου το οποίο αφιερώνει ένας υπάλληλος σε ένα έργο Μια δυαδική σχέση που σχετίζει μια οντότητα με τον εαυτό της, όπως προαναθέρθηκε, λέγεται αναδρομική (recursive) π.χ. Η οντότηταυπάλληλος συνδέεται με τον εαυτό της μέσω της σχέσης διευθύνει Διαφάνεια 49

Γραφική αναπαράσταση: σχέσεις ρόμβοι Instructor Teaches Course Percent Employee Works_on Project Manager_Of Διαφάνεια 50 Employee Manages Reports_To

Μια σχέση βαθμού n λέγεται n-αδική Πως αναπαριστούμε 3-αδικές σχέσεις σε διαγράμματα E-R? με ένα σύνολο από δυαδικές σχέσεις με ένα ρόμβο ο οποίος συνδέει 3 οντότητες Οι δύο αυτοί τρόποι δεν είναι εν γένει ισοδύναμοι Παράδειγμα: θεωρείστε τις οντότητες supplier, part, project και τη σχέση Supply μεταξύ των τριών οντοτήτων που αναπαριστά την πληροφορία ότι προμηθευτές προμηθεύουν έργα με εξαρτήματα. Σχεδιάστε ένα διάγραμμα οντοτήτων σχέσεων που να αναπαριστά αυτές τις οντότητες και σχέσεις Διαφάνεια 51

Sname Supplier Supply Project Part# Pname Part Διαφάνεια 52

Sname Pname Supplier Supplies Project Can_ supply Part Uses Διαφάνεια 53 Part#

Ιδιότητες σχέσεων: Κάθε οντότητα συμμετέχει σε μια σχέση με μια δεδομένη ελάχιστη (min-) και μέγιστη (max-) πληθικότητα (cardinality) Οι πληθικότητες των σχέσεων καθορίζονται κατά το σχεδιασμό μιας ΒΔ Ο ρόλος τους είναι να περιορίζουν τους τρόπους με τους οποίους στιγμιότυπα οντοτήτων συμμετέχουν σε στιγμιότυπα σχέσεων Γραφική αναπαράσταση: οι πληθικότητες συμβολίζονται σαν ζεύγη τιμών πάνω στις γραμμές οι οποίες ενώνουν τις οντότητες με τις σχέσεις Διαφάνεια 54

Γραφική αναπαράσταση: σχέσεις ρόμβοι Instructor (0,Ν) (1,1) Teaches Course Percent Employee (1,N) Works_on (0,N) Project (0,N) Manager_Of Employee Manages (0,1) Reports_To Διαφάνεια 55

Ορισμός: Έστω E, F οντότητες οι οποίες συμμετέχουν σε μια σχέση R αν max-card(e,r) = 1, τότε η Ε έχει μονότιμη συμμετοχή στην R αν max-card(e,r) = Ν, τότε η Ε έχει πλειότιμη συμμετοχή στην R μια δυαδική σχέση R μεταξύ των οντοτήτων E, F είναι σχέση "πολλά προς πολλά" (many-tomany ή M-N) αν και η Ε και η F έχουν πλειότιμη συμμετοχή στην R αν και η E και η F έχουν μονότιμη συμμετοχή, η R είναι σχέση 1-1 (one-to-one) αν η E έχει μονότιμη συμμετοχή και η F έχει πλειότιμη συμμετοχή, η R είναι σχέση 1-Ν (oneto-many) Διαφάνεια 56

Ορισμός: Αν μια οντότητα E η οποία συμμετέχει σε μια σχέση R έχει min-card(e,r) = 1, τότε η Ε έχει υποχρεωτική (mandatory) συμμετοχή στην R. Αν min-card(e,r) = 0, τότε έχει προαιρετική (optional) συμμετοχή στην R E R F E R F E R F Διαφάνεια 57 min-card(e,r)=0 max-card(e,r)=1 min-card(f,r)=0 max-card(f,r)=1 min-card(e,r)=1 max-card(e,r)=n min-card(f,r)=1 max-card(f,r)=n min-card(e,r)=0 max-card(e,r)=n min-card(f,r)=1 max-card(f,r)=1

Πληθικότητες Γνωρισμάτων Ορισμός: Έστω Α ένα γνώρισμα μιας οντότητας E. Τότε, min-card(a,e) και max-card(a,e) δηλώνουν τον ελάχιστο και μέγιστο αντίστοιχα αριθμό τιμών για το Α οι οποίες σχετίζονται με κάθε στιγμιότυπο της Ε min-card(a,e) = 0 δηλώνει ότι το γνώρισμα είναι προαιρετικό min-card(a,e) = 1δηλώνει ότι το γνώρισμα είναι υποχρεωτικό max-card(a,e) =1 δηλώνει ότι το γνώρισμα Α δέχεται μία τιμή max-card(a,e) =Ν δηλώνει ότι το γνώρισμα Α δέχεται πολλαπλές τιμές Διαφάνεια 58

Πληθικότητες Γνωρισμάτων Γραφικός Συμβολισμός: card(a,e) = (x,y), x=min-card(a,e), y=maxcard(a,e) Τα ζεύγη (x,y) τα οποία δηλώνουν την ελάχιστη και μέγιστη πληθικότητα γνωρισμάτων χρησιμοποιούνται ως ετικέτες των γραμμών που ενώνουν τα γνωρίσματα με τις οντότητες Μια γραμμή που ενώνει ένα περιγραφικό γνώρισμα με μια οντότητα και δεν έχει ετικέτα, θεωρείται ότι έχει την ετικέτα (0,1) Μια γραμμή που ενώνει ένα αναγνωριστικό γνώρισμα με μια οντότητα και δεν έχει ετικέτα, θεωρείται ότι έχει την ετικέτα (1,1) Διαφάνεια 59

Hobbies Student_id (1,Ν) (1,1) Emp id (1,1) Student Employee (1,1) (1,1) Emp_address Student_name (1,1) (1,1) lname fname (1,1) Street (1,1) City (1,1) Postal code Διαφάνεια 60

Ασθενείς και Ισχυρές Οντότητες Ορισμός: Μια οντότητα Ε 1 λέγεται ασθενής (weak) αν η ύπαρξη των στιγμιότυπών της εξαρτάται από μια άλλη οντότητα Ε 2 μέσω μιας σχέσης R. H E 2 λέγεται ισχυρή (strong) οντότητα Οι ασθενείς οντότητες δεν έχουν δικά τους αναγνωριστικά γνωρίσματα Μιαισχυρήοντότηταλέγεταιότιείναικάτοχος (owner) των στιγμιότυπων της ασθενούς οντότητας που σχετίζεται με αυτήν Οι ασθενείς οντότητες μπορούν να έχουν μερικά αναγνωριστικά (partial identifiers), δηλαδή ένα σύνολο γνωρισμάτων τα οποία καθορίζουν με μοναδικό τρόπο στιγμιότυπα της ασθενούς οντότητας που σχετίζονται με το ίδιο στιγμιότυπο της ισχυρής οντότητας Διαφάνεια 61

Ασθενείς και Ισχυρές Οντότητες Αναγνωριστικά για τις ασθενείς οντότητες δημιουργούνται από τα αναγνωριστικά γνωρίσματα της ισχυρής οντότητας και τα μερικά αναγνωριστικά της ασθενούς οντότητας Μια ασθενής οντότητα μπορεί να είναι κάτοχος άλλων ασθενών οντοτήτων Μια ασθενής οντότητα μπορεί να σχετίζεται με περισσότερες από μία ισχυρές οντότητες μέσω διαφορετικών σχέσεων Συχνά, ασθενείς οντότητες αναπαριστώνται σαν σύνθετα γνωρίσματα πολλαπλών τιμών Συμβολισμός: παραλληλόγραμμα με διπλή γραμμή Διαφάνεια 62

Παράδειγμα: Τα εξαρτώμενα πρόσωπα υπαλλήλων μπορούν να θεωρηθούν ως ασθενείς οντότητες σχετιζόμενες με την ισχυρή οντότητα Employee με την Ν-1 σχέση Has Emp id (1,1) Name Has Employee (1,1) Emp_address Dependent (1,1) Street (1,1) (1,1) Postal code Διαφάνεια 63 City Sex Relship Bdate

Παράδειγμα: Airline Reservations Database Entities: passengers (ticketno), flights (flightno, departure_time), departure_gates(gateno), seats (seatno) Αριθμοί θέσεων έχουν νόημα μόνο για μια συγκεκριμένη πτήση Relationships: seats belonging to a particular flight assignment of passengers to seats travel of passengers on flights use of gates by flights Διαφάνεια 64

Gateno Ticketno Gates Travel Passengers Use Assign Dep_time Date Flights Have Seat Διαφάνεια 65 Time Flightno Seatno

Πληθικότητες: κάθε πτήση χρησιμοποιεί μία πύλη δεν είναι απαραίτητο όλες οι πύλες να χρησιμοποιούνται περισσότερες από μία πτήσεις χρησιμοποιούν την ίδια πύλη κάθε επιβάτης ταξιδεύει σε ακριβώς μία πτήση κάθε πτήση μεταφέρει τουλάχιστον ένα επιβάτη κάθε πτήσεις έχει περισσότερες από μία θέσεις κάθε θέση ανήκει σε μία πτήση κάθε επιβάτης ταξιδεύει σε ακριβώς μία πτήση κάποιες θέσεις μπορεί να είναι κενές αν μια θέση δεν είναι κενή, σε αυτήν μπορεί να ταξιδέψει ακριβώς ένας επιβάτης Διαφάνεια 66

Gateno Ticketno Gates Travel Passengers (0,Ν) (1,1) (1,1) Use Assign Dep_time Date (1,1) (1,Ν) Flights Have (1,Ν) (1,1) Seat (0,1) Διαφάνεια 67 Time Flightno Seatno

Παράδειγμα: Bank Database Entities:customers (name, ID, address), accounts (accountno, balance), branches(name, city, assets), transactions (transaction#, amount, date) Δοσοληψίες (transactions) έχουν νόημα μόνο για ένα συγκεκριμένο λογαριασμό Relationships: customers own accounts at branches transactions are logged with respect to accounts Διαφάνεια 68

ID Accountno Name Customer CAB Account Address Name Branch Log City Assets Transaction Date Διαφάνεια 69 Transaction# Amount

Πληθικότητες: κάθε πελάτης μπορεί να έχει έναν η περισσότερους λογαριασμούς και κάθε λογαριασμός ανήκει σε ένα υποκατάστημα κάθε πελάτης πρέπει να έχει τουλάχιστον ένα λογαριασμό κάθε υποκατάστημα πρέπει να έχει τουλάχιστον έναν πελάτη μια δοσοληψία σχετίζεται με ακριβώς ένα λογαριασμό για κάθε λογαριασμό γίνονται μία ή περισσότερες δοσοληψίες Διαφάνεια 70

ID Accountno Name Customer (1,Ν) CAB (1,Ν) Account Address (1,Ν) (1,1) (1,Ν) Name (1,Ν) (1,Ν) Branch Log City Assets (1,1) Transaction Date Διαφάνεια 71 Transaction# Amount

Εξειδίκευση (Specialization) Μια οντότητα μπορεί να περιλαμβάνει υπο-ομάδες οντοτήτων οι οποίες διακρίνονται από άλλες οντότητες στην ίδια ομάδα καθώς χαρακτηρίζονται από γνωρίσματα τα οποία δεν χαρακτηρίζουν όλες τις οντότητες σε αυτό το σύνολο Η διαδικασία προσδιορισμού υπο-ομάδων μέσα σε σύνολα οντοτήτων ονομάζεται εξειδίκευση Η εξειδίκευση δημιουργεί ιεραρχίες εξειδίκευσης (specialization or IsA hierarchies) με χρήση της σχέσης "είναι (υπο-ομάδα)" (IsA) Μια σχέση IsA επίσης ορίζει μια σχέση υπερκλάσης υποκλάσης (superclass subclass) Διαφάνεια 72

Εξειδίκευση (Specialization) Παράδειγμα: Η οντότητα account με γνωρίσματα account-number και balance μπορεί να εξειδικευθεί σε: savings-account checking-account Κάθε είδος λογαριασμού περιγράφεται από ένα σύνολο γνωρισμάτων τα οποία περιλαμβάνουν όλα τα γνωρίσματα της οντότητας account. Επιπλέον, μπορεί να έχει ιδιαίτερα γνωρίσματα η οντότητα savings-account έχει το γνώρισμα interestrate η οντότητα checking-account έχει το γνώρισμα overdraft-amount Διαφάνεια 73

Εξειδίκευση (Specialization) Μιαοντότηταμπορείναεξειδικεύεταισύμφωναμε περισσότερα από ένα γνωρίσματα ηοντότηταaccount μπορεί να εξειδικευθεί σε σχέση με τους κατόχους ενός λογαριασμού σε commercial-account και personal-account Όταν υπάρχουν περισσότερες από μια εξειδικεύσεις για μια οντότητα, ένα στιγμιότυπο μπορεί να ανήκει και στις δύο εξειδικεύσεις π.χ. ένας λογαριασμός μπορεί να είναι personal-account και savings-account συγχρόνως Η εξειδίκευση μπορεί να εφαρμοστεί επαναληπτικά π.χ. η οντότηταchecking-account μπορεί να εξειδικευθεί σε standard, gold, senior Διαφάνεια 74

Account# Account Balance Interest IsA Overdraft Savings-Account Checking-Account IsA Διαφάνεια 75 Standard Gold Senior Num_checks Interest_paid Min_balance Birthdate

Γενίκευση Η εξειδίκευση οντοτήτων σε υπο-ομάδες αντιστοιχεί σε μια top-down διαδικασία σχεδιασμού ενός εννοιολογικού μοντέλου Οσχεδιασμόςμπορείναγίνεικαιbottom-up. Σε αυτή την περίπτωση, οντότητες χρησιμοποιούνται για να συνθέσουν άλλες οντότητες σε υψηλότερα επίπεδα. Η σύνθεση γίνεται βάσει των κοινών γνωρισμάτων των οντοτήτων Ηδιαδικασίααυτήλέγεταιγενίκευση (generalization) και αναπαριστά μια σχέση υποσυνόλου μεταξύ των συντιθέμενων οντοτήτων και της νέας οντότητας που δημιουργείται Η γενίκευση είναι η δυϊκή σχέση της εξειδίκευσης Διαφάνεια 76

Κληρονομικότητα Γνωρισμάτων (Attribute Inheritance) Όταν οντότητες οργανώνονται σε ιεραρχίες εξειδίκευσης / γενίκευσης, τα γνωρίσματα των οντοτήτων που βρίσκονται στα υψηλότερα επίπεδα κληρονομούνται από τις οντότητες που βρίσκονται σε χαμηλότερα επίπεδα Π.χ. οι οντότητες savings-account και checkingaccount κληρονομούν όλα τα γνωρίσματα της οντότητας account Επίσης κληρονομείται η συμμετοχή σε σχέσεις με τους ίδιους περιορισμούς Οι σχέσεις γενίκευσης / εξειδίκευσης υπόκεινται σε περιορισμούς που αφορούν τα στιγμιότυπα των οντοτήτων που συμμετέχουν σε αυτές Διαφάνεια 77

Περιορισμοί Η σχέση μέλους ενός στιγμιότυπου μιας οντότητας μπορεί να είναι: υπό συνθήκη (condition-defined): ελέγχεται μία συνθήκη προκειμένου να προσδιοριστεί αν ένα στιγμιότυπο ανήκει σε μια οντότητα Π.χ. Υποθέστε ότι η οντότητα account έχει ένα γνώρισμα account-type. Τα στιγμιότυπα τα οποία ικανοποιούν τη συνθήκη account-type=savings-account ανήκουν στην οντότητα savings-account, ενώ αυτά που ικανοποιούν τη συνθήκη account-type=checking-account ανήκουν στην οντότητα checking-account ορισμένηαπότοχρήστη(user-defined): στιγμιότυπα ορίζονται ως μέλη συνόλων οντοτήτων από το χρήστη Διαφάνεια 78

Περιορισμοί Αποκλειστικότητα (Disjointness): ένα στιγμιότυπο δεν μπορεί να ανήκει σε περισσότερες από μία οντότητες στο ίδιο επίπεδο μιας ιεραρχίας IsA π.χ. ένας λογαριασμός θα είναι savings-account ή checking-account αλλά όχι και τα δύο Επικάλυψη (overlapping): το ίδιο στιγμιότυπο μπορεί να ανήκει σε περισσότερες από μία οντότητες σε μια ιεραρχία Πληρότητα (completeness): καθορίζει αν ένα στιγμιότυπο μιας οντότητας πρέπει να ανήκει σε τουλάχιστο μία οντότητα σε χαμηλότερο επίπεδο Διαφάνεια 79

Περιορισμοί Περιορισμοί πληρότητας μπορεί να είναι: ολικοί (total): κάθε στιγμιότυπο πρέπει να ανήκει σε μιαοντότητασεχαμηλότεροεπίπεδο μερικοί (partial): κάποια στιγμιότυπα μπορούν να μην ανήκουν σε κάποια από τις οντότητες σε χαμηλότερα επίπεδα Αν ισχύει ο ολικός περιορισμός πληρότητας, τότε όποτε εισάγεται ένα στιγμιότυπο ως μέλος μιας οντότητας, πρέπει να εισαχθεί και ως μέλος μιας οντότητας σε χαμηλότερο επίπεδο Η διαγραφή ενός στιγμιότυπου από μια οντότητα πρέπει να συνοδεύεται από τη διαγραφή του από όλες τις οντότητες χαμηλότερου επιπέδου στις οποίες ανήκει Διαφάνεια 80