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

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

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

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

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

E-R MODEL. lect#3. Μάθηµα 7

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

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

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ: το E-R µοντέλο. Κωνσταντίνος Ταραµπάνης Καθηγητής γρ

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

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

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

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

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

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

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας

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

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

Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία

Πληροφοριακά Συστήµατα

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

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

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

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

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

Εισαγωγή στις Βάσεις εδοµένων και την Access

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

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

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ

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

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

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

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

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

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

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


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

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

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

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων

Εργαστήριο 5o. Σχέσεις πινάκων Ακεραιότητα αναφορών. Ευάγγελος Γ. Καραπιδάκης

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

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

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

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

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

Database Design. Τύποι Σχέσεων Relationship Types. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

Κεφάλαιο 9 Συσχετίσεις

Λίγα λόγια από το συγγραφέα...7

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

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

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

ηµιουργία Β.. ανειστική Βιβλιοθήκη Μάθηµα 5 Ορισµός σχέσεων - Σύνδεση πινάκων

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

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

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

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

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

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Σημειώσεις διάλεξης

Δπγαζηήπιο «Βάζειρ Γεδομένων» Αζκήζειρ Ππακηικήρ Δξάζκηζηρ (έκδοζη 1.0) ςνηακηική Ομάδα. Δπιμέλεια ημειώζεων

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

Βάσεις δεδομένων. Π. Φιτσιλής

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

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

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

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

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

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

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

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

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

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

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

Φτιάξτε µια φόρµα στην οποία θα υπάρχουν δυο κουµπιά εντολών. Το ένα κουµπί θα ανοίγει τη φόρµα «Βαθµολογίες µαθητών» και το δεύτερο κουµπί θα οδηγεί

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

ΕΥΡΕΣΗ ΠΡΟΫΠΗΡΕΣΙΑΣ ΩΡΟΜΗΣΘΙΩΝ ΚΑΘΗΓΗΤΩΝ, ΜΕ ΤΗΝ ΧΡΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ

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

Transcript:

Σχεδίαση Αρχείων Σχεσιακής Βάσης Δεδομένων Καραδήμας N., MSc Σχεσιακές Βάσεις Δεδομένων Μέρος 2ο Σχεδιασμός Βάσης Δεδομένων Συλλογή και ανάλυση Απαιτήσεων Απαιτήσεις Εντολών Απαιτήσεις Βάσεως εδοµένων DBMS Ανεξάρτητο DBMS -Ειδικό Ανάλυση Εντολών Υψηλού επιπέδου λεπτοµερή παρουσίαση εντολών Σχεδιασµός προγράµµατος εφαρµογών (Application Program Design) Εννοιολογικός Σχεδιασµός (Conceptual Design) Εννοιολογικό Σχήµα (σε υψηλού επιπέδου µοντέλου δεδοµένων) Λογικός Σχεδιασµός (Logical Design) Λογικός Εννοιολογικός Σχεδιασµός (µοντέλο δεδοµένων σε ένα ειδικό DBMS) Φυσικός Σχεδιασµός (Physical Design) Υλοποίηση Εντολών Εσωτερικό Σχήµα (Internal Schema) Προγράµµατα Εφαρµογών Σεπτέμβριος 2006 Καραδήμας Ν. 2 1

Σχεδιασμός Βάσης Δεδομένων Το παραπάνω σχήµα περιγράφει την διαδικασία σχεδίασης µιας βάσης δεδοµένων χρησιµοποιώντας υψηλού επιπέδου εννοιολογικό µοντέλοδεδοµένων (high-level conceptual data model): Συλλογή και η ανάλυση των απαιτήσεων. Παράλληλα είναι χρήσιµο να καθοριστούν και οι απαιτήσεις εντολών. ηµιουργία εννοιολογικού σχήµατος (conceptual design) για την βάση δεδοµένων. Αυτό περιγράφει τις απαιτήσεις δεδοµένων των χρηστών καιπεριέχειτύπουςοντοτήτων, σχέσεων, χαρακτηριστικών, περιορισµούς και υποθέσεις. Χρησιµεύει για επιβεβαίωση των χρηστών ότι ικανοποίησαν όλες τις απαιτήσεις τους. Κατά την διάρκεια του εννοιολογικού σχεδιασµού σχήµατος, µπορούν να προσδιοριστούν αναλυτικά οι εντολές των χρηστών που απορρέουν από την συλλογή και ανάλυση τους που έγινε στα προηγούµενα βήµατα. Σεπτέμβριος 2006 Καραδήμας Ν. 3 Σχεδιασμός Βάσης Δεδομένων Τοεπόµενοβήµαείναιηυλοποίησητηςβάσης χρησιµοποιώντας ένα εµπορικό DBMS (π.χ. το σχεσιακό µοντέλο Ms Access, ORACLE, Sybase, Ingress, κλπ.). Tο υψηλού επιπέδου µοντέλο δεδοµένων µετασχηµατίζεταισεµοντέλουλοποίησηςδεδοµένων. Το βήµα αυτό λέγεται λογικός σχεδιασµός. Τοτελικόβήµαείναιοφυσικόςσχεδιασµόςόπου καθορίζεταιοεσωτερικόςσχεδιασµόςτηςβάσης (π.χ. δοµή, οργάνωσηαρχείων, διαδροµέςπροσβάσεων, κτλ. Παράλληλα, προγράµµατα εφαρµογών σχεδιάζονται και υλοποιούνται σχετικά µε τις εντολές που είχαν προηγουµένως προσδιοριστεί. Σεπτέμβριος 2006 Καραδήμας Ν. 4 2

Οντότητα-Συσχέτιση Μοντέλο (Entity - Relationship Model) Το Entity-Relationship (E-R) µοντέλο δεδοµένων αναπτύχθηκε για να διευκολύνει τον σχεδιασµό βάσεων δεδοµένων στηριζόµενο στις προδιαγραφές ενός τυπικού σχήµατος επιχειρήσεων. Τέτοιο σχήµα αντιπροσωπεύει ολόκληρη τη δοµή των βάσεων δεδοµένων. Βασίζεται στην αντίληψη του πραγµατικού κόσµου που αποτελείται: από ένα σύνολο αντικειµένων που καλούνται Οντότητες (entities), τις Συσχετίσεις (relationships) µεταξύ τους, και τα Χαρακτηριστικά (attributes) τους. Το E-R µοντέλο επίσης περιέχει: τα Σύνολα Οντοτήτων (Entity Sets), τους Περιορισµούς Συσχετίσεων (Mapping Constraints), και τα Κλειδιά Χαρακτηριστικών (Attribute Keys). Σεπτέμβριος 2006 Καραδήμας Ν. 5 Οντότητα(Entity) Entity (οντότητα): Το βασικό αντικείµενο ενός E-R µοντέλου είναι η οντότητα (entity), το οποίο είναι ένα αντικείµενο µέσα στο αληθινό κόσµο µε εξαρτηµένη ύπαρξη. Είναι κάτι για το οποίο ένας οργανισµός ή επιχείρηση επιθυµεί να συλλέξει και να αποθηκεύσει δεδοµένα. Η οντότητα είναι ευκρινώς αναγνωρίσιµη. Για παράδειγµα ο «Φοιτητής», το «Σεµινάριο», ο «Καθηγητής», ο «ΠρογραµµατισµόςΣεµιναρίου»είναι οντότητες. Σεµινάριο Καθηγητής Φοιτητής Προγραµµατισµός Σεµινάριο Σεπτέμβριος 2006 Καραδήμας Ν. 6 3

Σύνολα Οντοτήτων(Entity Sets) Entity sets (σύνολα οντοτήτων): Ένα entity set είναι ένα σύνολο από οντότητες του ιδίου τύπου. Το σύνολο όλων των καθηγητών που έχουν κωδικό, όνοµα και διεύθυνση µπορεί να οριστεί σαν ένα entity set καθηγητές. Τασύνολαοντοτήτωνδενείναιυποχρεωτικόναείναιαποσυνδεδεµένα. Είναι δυνατόν να ορίσουµε το entity set όλων των καθηγητών και το entity set όλων των σπουδαστών προγράµµατος σεµιναρίων. Ένα άτοµο µπορείναείναιµιαοντότηταστο entity set καθηγητές, στο entity set σπουδαστές, να είναι και στα δυο entity sets, ή και σε κανένα. Για κάθε χαρακτηριστικό υπάρχει ένα σύνολο από επιτρεπτές τιµές, που ονοµάζεταιτοπεδίοορισµούτωνχαρακτηριστικών (attribute domain ). Το πεδίο ορισµού του χαρακτηριστικού «όνοµα καθηγητή» µπορεί να είναιτοσύνολοόλωντωναλληλουχιώνκειµένουκάποιουµήκους. Παροµοίως, το πεδίο ορισµού του χαρακτηριστικού «κωδικός καθηγητή» µπορεί να είναι το σύνολο όλων των θετικών ακεραίων. Σεπτέμβριος 2006 Καραδήμας Ν. 7 Χαρακτηριστικά(Attributes) Χαρακτηριστικά (Attributes): Είναι τα δεδοµένα που περιγράφουν µια οντότητα. Για παράδειγµα, η οντότητα «καθηγητής» µπορεί να περιγραφεί από τα χαρακτηριστικά «κωδικός καθηγητή», «όνοµα καθηγητή» και «διεύθυνση καθηγητή». Μιαοντότηταθαέχειµιατιµή (value) γιακάθεένααπότα χαρακτηριστικά της. Οι τιµές των χαρακτηριστικών που περιγράφουν κάθε οντότητα αποτελούν ένα κύριο µέρος από τα δεδοµένα που αποθηκεύονται στην βάση δεδοµένων. ΚΑΘΗΓΗΤΗΣ ΚΩ.ΚΑΘΗΓΗΤΗ 11 22 ΟΝΟΜΑ ΚΑΘΗΓΗΤΗ ελλής Χρήστος Παναγιώτου Μάριος ΙΕΥΘ. ΚΑΘΗΓΗΤΗ Κολλάτου 34, Αµπελόκηποι Αρχελάου 123, Εξάρχεια Σεπτέμβριος 2006 Καραδήμας Ν. 8 4

Χαρακτηριστικά(συν.) Κάθε οντότητα περιγράφεται από ένα σύνολο από ζεύγη (χαρακτηριστικών και τιµή δεδοµένων), ένα ζεύγος για κάθε χαρακτηριστικό ενός συνόλου οντοτήτων. Μια συγκεκριµένη οντότητα για ένα καθηγητή περιγράφεται από το σύνολοζευγών {(Κωδ.Καθηγητή, 11), (ΌνοµαΚαθηγητή, ελλής Χρήστος), ( ιευθ. Καθηγητή, Κολλάτου 34, Αµπελόκηποι)}, που σηµαίνει η οντότητα περιγράφει ένα άτοµο ονοµαζόµενο Χρήστος µε κωδικό 11, που µένει στην οδό Κολλάτου στους Αµπελόκηπους. Η ιδέα ενός συνόλου οντοτήτων αντιστοιχεί στην έννοια ορισµός των τύπων (type definition) στιςγλώσσεςπρογραµµατισµού. Μια µεταβλητή ενός ορισµένου τύπου έχει κάποια συγκεκριµένη τιµή σε µια δεδοµένη στιγµή. Έτσι, µια µεταβλητή στις γλώσσες προγραµµατισµού αντιστοιχεί στην ιδέα entity στο E-R µοντέλο. Έτσι µια βάση δεδοµένων περιλαµβάνει µια συλλογή από entity sets (σύνολα οντοτήτων) που το καθένα περιλαµβάνει ένα αριθµό από οντότητες του ιδίου τύπου. Σεπτέμβριος 2006 Καραδήμας Ν. 9 Συσχετίσεις και Σύνολα Συσχετίσεων Μια συσχέτιση (relationship) είναι κάποιος σύνδεσµος µεταξύ οντοτήτων. Για παράδειγµα, µπορούµε να ορίσουµε µια συσχέτιση που συνδέει τον καθηγητή Χρήστο µε έναν προγραµµατισµό σεµιναρίου. Αυτό δεικνύει ότι ο Χρήστος είναι καθηγητής στον προγραµµατισµό σεµιναρίου που έχει κωδικό 111. Ένα σύνολο συσχετίσεων (relationship set) είναι σύνολο σχέσεων του ιδίου τύπου. Καθηγητής Συµµετέχει Προγραµµατισµός Σεµιναρίου Σεπτέμβριος 2006 Καραδήμας Ν. 10 5

Συσχετίσεις και Σύνολα Συσχετίσεων 1. Τυπικά, ένασύνολοσυσχετίσεωνείναιµιαµαθηµατικήσχέσηµεταξύ n 2 (πιθανώςµηξεχωριστώνήδιακριτών) συνόλωνοντοτήτων. Εάν E 1, E 2,..., E n είναι σύνολα οντοτήτων, τότε µια σχέση R είναι ένα υποσύνολο του συνόλου {(e 1, e 2,, e n ) e 1 E 1, e 2 E 2,, e n E n }, όπου (e 1, e 2,, e n )είναιµιασχέση. 2. Χαρακτηριστικά (Attributes): Λόγω που η ιδέα ενός συνόλου οντοτήτων και ενός συνόλου σχέσεων δεν είναι ακριβής, είναι δυνατόν να ορίσουµε ένα σύνολο οντοτήτων και τις συσχετίσεις µεταξύ τους µε ποικίλους τρόπους. Η κύρια διαφορά είναι στον τρόπο που χρησιµοποιούµε τα χαρακτηριστικά. 3. Πχ. ας θεωρήσουµε το σύνολο οντοτήτων υπάλληλοι µε χαρακτηριστικά υπάλληλος_όνοµα & αριθµός_τηλεφώνου. Μπορούµε όµως να ισχυριστούµε ότι το τηλέφωνο είναι από µόνο του ένα σύνολο οντοτήτων µε χαρακτηριστικά αριθµός_τηλεφώνου & τοποθεσία_τηλεφώνου. Τότε το σύνολο οντοτήτων υπάλληλοι πρέπει να οριστεί ξανά µε χαρακτηριστικά µόνο το υπάλληλος_όνοµα και να προσδιορίσουµε µια συσχέτιση ΥπάλληλοιΤηλέφωνα που να δεικνύει τον σύνδεσµοµεταξύυπαλλήλων & τατηλέφωναπουέχουν. Σεπτέμβριος 2006 Καραδήμας Ν. 11 Συσχετίσεις και Σύνολα Συσχετίσεων 4. Η διαφορά µεταξύ των δυο ορισµών για το σύνολο οντοτήτων υπάλληλοι είναι ότι στην πρώτη περίπτωση ο ορισµός υποδηλώνει ότι κάθε υπάλληλος συσχετίζεται µε ακρίβεια ότι έχει έναν αριθµό τηλεφώνου ενώ ο δεύτερος ορισµός λεει ότι οι υπάλληλοι µπορεί να έχουν µερικούς αριθµούς τηλεφώνου ή κανέναν που συσχετίζονται µαζί τους. 5. Έτσι ο δεύτερος ορισµός είναι γενικότερος και µπορεί µε µεγαλύτερη ακρίβεια να εκφράζει την πραγµατικότητα. Ακόµη εάν είναι γνωστό ότι κάθε υπάλληλος έχει ακριβώς έναν αριθµό τηλεφώνου, ο δεύτερος ορισµός µπορεί να είναι πιο κατάλληλος εάν το τηλέφωνο χρησιµοποιείται από µερικούς υπαλλήλους. 6. εν θα είναι λογικό όµως να εφαρµόσουµε το ίδιο σκεπτικό στο χαρακτηριστικό υπάλληλος_όνοµα διότι είναι δύσκολο να ισχυριστούµε ότι είναι από µόνο του οντότητα. 7. Φυσικά όµως γεννάται το εξής ερώτηµα: Τι είναι χαρακτηριστικό και τι είναι ένα σύνολο οντοτήτων? υστυχώς δεν υπάρχει απλή απάντηση. Η διαφορά τους κυρίως εξαρτάται στη δοµή της επιχείρησης που µοντελοποιείται και στις ιδιαιτερότητες που σχετίζονται µε το χαρακτηριστικό που διερευνάται. Σεπτέμβριος 2006 Καραδήμας Ν. 12 6

Περιορισμοί Συσχετίσεων (Mapping Constraints) Το (E-R) µοντέλο δεδοµένων µπορεί να έχει µερικούς περιορισµούς πουταπεριεχόµεναµιαςβάσηςδεδοµένωνπρέπειναικανοποιούν. Μπορούµε να τους χωρίσουµε σε δύο κύριους τύπους: Λόγος Πληθικότητας (Cardinality Ratio), Περιορισµοί Συµµετοχής (Participation Constraints) Ολική συµµετοχή (Total participation) Μερική συµµετοχή (Partial participation) Για παράδειγµα, η βάση θέτει ένα περιορισµό όπου ο κάθε φοιτητής πρέπειναέχειένανκαιµόνοένασύµβουλο. Φοιτητής Σ1 Σ2 Σ3... Συµ1 Συµ2 Συµ3... Σύµβουλο Σεπτέμβριος 2006 Καραδήμας Ν. 13 Λόγος Πληθικότητας (Cardinality Ratio) Ο πρώτος σπουδαίος περιορισµός είναι ο Λόγος Πληθικότητας (Cardinality Ratio), που εκφράζει τον αριθµό των οντοτήτων µε τον οποίο µια οντότητα µπορεί να συσχετιστεί µέσω του συνόλου συσχετίσεων (relationship sets) στηνβάσηδεδοµένων. Γιαένασύνολοσχέσεων R µεταξύσυνόλωνακαιβαπόοντότητες, το µέγεθος των σχέσεων πρέπει να είναι ένα από τα εξής: (βλέπε παρακάτω σχήµατα): α) Ένα-προς-Ένα (One-to-One): Μια οντότητα στο σύνολο Α συσχετίζεται το πολύ µε µια οντότητα στο σύνολο Β. β) Ένα-προς-πολλά (One-to-Many) ή Πολλά-προς-Ένα (Many-to- One): Μια οντότητα στο σύνολο Α συσχετίζεται µε έναν αριθµό οντοτήτων στο σύνολο Β, αλλά µια οντότητα στο σύνολο Β συσχετίζεται το πολύ µε µια στο σύνολο Α και αντίστροφα. γ) Πολλά-προς-Πολλά (Many-to-Many): Μια οντότητα στο σύνολο Α συσχετίζεται µε έναν αριθµό οντοτήτων στο σύνολο Β και µια οντότητα στοβµεπολλέςστοσύνολοα. Σεπτέμβριος 2006 Καραδήμας Ν. 14 7

Συσχέτιση Ένα-ϖρος ϖρος-ένα (One-to-One relationship) Σύνολο Α Σύνολο Β α 1 β 1 α 2 β 2 α 3 β 3 α 4 β 4 Μια οντότητα στο σύνολο Α συσχετίζεται τοπολύµεµιαοντότηταστοσύνολοβ Σεπτέμβριος 2006 Καραδήμας Ν. 15 Συσχέτιση Ένα-ϖρος ϖρος-πολλά (One-to-Many relationship) Σύνολο Α Σύνολο Β β 1 α 1 β 2 α 2 β 3 α 3 β 4 β 5 Μια οντότητα στο σύνολο Α συσχετίζεται µε έναν αριθµό οντοτήτων στο σύνολο Β, αλλά µια οντότητα στο σύνολοβσυσχετίζεταιτοπολύµεµιαστοσύνολοα Σεπτέμβριος 2006 Καραδήμας Ν. 16 8

Συσχέτιση Πολλά-ϖρος ϖρος-ένα (Many-to-One relationship) Σύνολο A Σύνολο Β α 1 α 2 β 1 α 3 β 2 α 4 β 3 α 5 ΜιαοντότηταστοσύνολοΑσυσχετίζεταιτοπολύµεµια οντότητα στο σύνολο Β, αλλά µια οντότητα στο σύνολο Β µπορεί να συσχετιστεί µε πολλές οντότητες στο σύνολο Α Σεπτέμβριος 2006 Καραδήμας Ν. 17 Συσχέτιση Πολλά-ϖρος ϖρος-πολλά (Many-to-Many relationship) Σύνολο Α Σύνολο Β α 1 β 1 α 2 β 2 α 3 β 3 α 4 β 4 Μια οντότητα στο σύνολο Α συσχετίζεται µε έναναριθµόοντοτήτωνστοσύνολοβκαιµια οντότηταστοβµεπολλέςστοσύνολοα Σεπτέμβριος 2006 Καραδήμας Ν. 18 9

Ολική Συμμετοχή (Total Participation) Ο περιορισµός συµµετοχή ορίζει πότε η ύπαρξη µιας οντότητας εξαρτάται από το να είναι συσχετιζόµενη µε µια άλλη οντότητα µέσω µιας συσχέτισης. Υπάρχουν δύο τύποι περιορισµοί συµµετοχής ολική και µερική. Γιαπαράδειγµαότανοκάθεφοιτητήςέχειένασύµβουλο, τότε αυτό λέγεται ολική συµµετοχή, και σηµαίνει ότι κάθε οντότητα από το συνολικό σετ της οντότητας «Φοιτητής» πρέπει να σχετίζεται στην οντότητα «Σύµβουλο» µέσω της συσχέτισης «Έχει». Η ολική συµµετοχή ονοµάζεται και εξαρτηµένη ύπαρξη (existence dependency). Φοιτητής Σ1 Σ2 Σ3 Σχ1 Σχ2 Σχ3 Έχει Συµ1 Συµ2 Συµ3 Σύµβουλο Σεπτέμβριος 2006 Καραδήμας Ν. 19 Μερική Συμμετοχή (Partial Participation) Στο παρακάτω παράδειγµα δεν προσδοκούµε ότι ο κάθε σπουδαστής συµµετέχει σε όλα τα σεµινάρια που προσφέρονται. Οπότε η συµµετοχή της οντότητας «σπουδαστής» στην συσχέτιση «συµµετέχει» είναι µερική, που σηµαίνει ότι ένα µερικό σύνολο της οντότητας «σπουδαστής» σχετίζεται µε την οντότητα «σεµινάρια» µέσω της συσχέτισης «συµµετέχει». Φοιτητής Σ1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7... Σχ1 Σχ2 Σχ3... Έχει Συµ1 Συµ2 Συµ3... Σύµβουλο Σεπτέμβριος 2006 Καραδήμας Ν. 20 10

Κλειδιά(Keys) Είναι σπουδαίο να µπορούµε να προδιαγράφουµε πως οι οντότητες και οι σχέσεις ξεχωρίζουν µεταξύ τους. Ιδεολογικά οι οντότητες και οι σχέσεις είναι διακριτές αλλά από την πλευρά της βάσης δεδοµένων η διαφορά µεταξύ τους πρέπει να εκφραστεί σύµφωνα µε τα χαρακτηριστικά τους. Το πρωτεύον κλειδί (Primary key) µας επιτρέπει να κάνουµε αυτή τη διάκριση. Το πρωτεύον κλειδί (primary key) είναι ένα χαρακτηριστικό µε τα οποίο µπορούµε να αναγνωρίσουµε µοναδικά µια οντότητα στο σύνολο οντοτήτων. Για παράδειγµα, µε το χαρακτηριστικό κωδικός_καθηγητή της οντότητας «Καθηγητής» είναι αρκετό να διακρίνουµε έναν καθηγητή οντότητα από κάποιον άλλον καθηγητή οντότητα. Έτσι ο κωδικός_καθηγητή είναι ένα πρωτεύον κλειδί. Το χαρακτηριστικό Όνοµα_καθηγητή της οντότητας «Καθηγητής» δεν είναι πρωτεύον κλειδί, διότι πολλά (περισσότερα από ένα) άτοµα µπορείναέχουντοίδιοόνοµα. Σεπτέμβριος 2006 Καραδήμας Ν. 21 Κλειδιά(συν.) Το συνδυασµένο κλειδί (composite key) είναι ένα σύνολο από περισσότερα από ένα χαρακτηριστικά µε τα οποία µπορούµε να αναγνωρίσουµε µοναδικά µια οντότητα στο σύνολο οντοτήτων. Για παράδειγµα, εάν µας δοθεί ο κωδικός ενός φοιτητή, δεν µπορούµε να βρούµε πόσα χρήµατα οφείλει. ιότι ο συγκεκριµένος φοιτητής µπορεί να έχει γραφτεί σε πολλά σεµινάρια. Αν έχουµε το κωδικό του φοιτητή και τον κωδικό του µαθήµατος τότε µπορούµε να γνωρίζουµε τα οφειλόµενα δίδακτρα. Κωδικός_Φοιτητή Κωδικός_Μαθήµατος Οφειλόµενα ίδακτρα Σεπτέμβριος 2006 Καραδήμας Ν. 22 11

Οντότητα-Συσχέτιση Διάγραμμα(E-R Diagram) Ολόκληρη η λογική δοµή µιας βάσης δεδοµένων µπορεί να παρουσιαστεί γραφικά µε ένα οντότητα-συσχέτιση διάγραµµα. Ένα τέτοιο διάγραµµα αποτελείται από τα εξής µέρη: Τετράγωνα, που αντιπροσωπεύουν τα σύνολα οντοτήτων. Ελλείψεις, που αντιπροσωπεύουν τα χαρακτηριστικά των συνόλων οντοτήτων. Ρόµβους, που αντιπροσωπεύουν τα σύνολα σχέσεων µεταξύ των συνόλων οντοτήτων. Γραµµές, που συνδέουν τα χαρακτηριστικά µε τα σύνολα οντοτήτων. Κατευθυνόµενες Γραµµές ή Γραµµές µε Βέλη, που συνδέουν τα σύνολα οντοτήτων µεταξύ τους µέσω των συνόλων σχέσεων. Τοβέλοςστηγραµµήµπορείναείναιµονόαπόένασύνολοοντότητας και διπλό προς ένα άλλο σύνολο οντότητας δεικνύοντας την µεταξύ τους συσχέτιση ένα-προς-πολλά. Επίσηςτοβέλοςστηγραµµήµπορείναείναιδιπλόαπόένασύνολο οντότητας και διπλό προς ένα άλλο σύνολο οντότητας δεικνύοντας την µεταξύ τους συσχέτιση πολλά-προς-πολλά. Σεπτέμβριος 2006 Καραδήμας Ν. 23 Περιορισμοί vs. Υποθέσεις Π.χ. Περιορισµός: Ένας φοιτητής δεν µπορεί ναεγγραφείσεπερισσότερααπό 10 µαθήµατα. Π.χ. Υπόθεση: Οι φοιτητές εγγράφονται σε ένα µάθηµα µόνο µία φορά. Σεπτέμβριος 2006 Καραδήμας Ν. 24 12

Πεδία Ορισμού Έναπεδίοορισµούείναιτοσύνολοόλωντωντύπωνδεδοµένων και εύρους τιµών όπου τα χαρακτηριστικά µπορούν να υποθέσουν. Τα πεδία ορισµού προσφέρουν διάφορα πλεονεκτήµατα: Ελέγχουνεάνισχύουνοιτιµέςενόςχαρακτηριστικού. Εξασφαλίζει ότι οι διάφορες διαδικασίες τροποποίησης στα δεδοµένα είναι λογικές. Η βοήθεια συντηρεί την προσπάθεια στην περιγραφή των ιδιοτήτωντωνχαρακτηριστικών. Π.χ. ΠεδίαΟρισµού Αρ.Φοιτητών = s01 s99 Ονοµατεπώνυµο = κείµενο ΚωδικόςΠροσωπικού = 1000 9999 Έτος = 1960 2010 Σεπτέμβριος 2006 Καραδήμας Ν. 25 Πεδία Ορισμού Οντότητα Προσωπικό Αρ.Προσωπικού: ΚωδικόςΠροσωπικού Όνοµα: Ονοµατεπώνυµο Οντότητα Φοιτητής Αρ.Φοιτητή: Αρ.Φοιτητών Όνοµα: Ονοµατεπώνυµο Ηµ.Εγγραφής: Έτος Κωδ.Συµβούλου: ΚωδικόςΠροσωπικού Ή: Προσωπικό (Αρ.Προσωπικού, Όνοµα) Φοιτητής (Αρ.Φοιτητή, Όνοµα, Ηµ.Εγγραφής, Κωδ.Συµβούλου) Σεπτέμβριος 2006 Καραδήμας Ν. 26 13

Αναπαράσταση Συσχέτισης 1:1 Προσωπικό ιευθύνει Τµήµα Τύποι Οντοτήτων Προσωπικό (Αρ.Προσωπικού, Ονοµατεπώνυµο) Τµήµα (Αρ.Τµήµατος, ΌνοµαΤµήµατος) Με την συσχέτιση: Προσωπικό (Αρ.Προσωπικού, Ονοµατεπώνυµο Τµήµα (Αρ.Τµήµατος, ΌνοµαΤµήµατος Σεπτέμβριος 2006 Καραδήμας Ν. 27 Αναπαράσταση Συσχέτισης 1:M Προσωπικό Επιβλέπει Φοιτητή Τύποι Οντοτήτων Προσωπικό (Αρ.Προσωπικού, Ονοµατεπώνυµο) Φοιτητής (Αρ.Φοιτητή, Ονοµατεπώνυµο, Ηµ.Εγγραφής) Με την συσχέτιση: Προσωπικό (Αρ.Προσωπικού, Ονοµατεπώνυµο Φοιτητής (Αρ.Φοιτητή, Ονοµατεπώνυµο, Ηµ.Εγγραφής Σεπτέμβριος 2006 Καραδήμας Ν. 28 14

Αναπαράσταση Συσχέτισης M:N Φοιτητής Εγγράφεται Μάθηµα Τύποι Οντοτήτων Φοιτητής (Αρ.Φοιτητή, Ονοµατεπώνυµο, Ηµ.Εγγραφής) Μάθηµα (Κωδ.Μαθήµατος, Τίτλος, ιδ.μονάδες) Με την συσχέτιση: Φοιτητής (Αρ.Φοιτητή, Ονοµατεπώνυµο, Ηµ.Εγγραφής) Μάθηµα (Κωδ.Μαθήµατος, Τίτλος, ιδ.μονάδες) Σεπτέμβριος 2006 Καραδήμας Ν. 29 Κανόνες Υλοποίησης Σχέσεων Κανόνας 1: Συσχετίσεις Ένα-προς-Ένα Αν δύο στοιχεία έχουν συσχέτιση ένα-προς-ένα τότε βάλτε τα στο ίδιο αρχείο. Κανόνας 2: Συσχετίσεις Ένα-προς-Πολλά Αν δύο οντότητες έχουν συσχέτιση ένα-προς-πολλά τότε τοποθετούµε το πρωτεύον κλειδί του «ένα» σαν απλό χαρακτηριστικό στην οντότητα του «πολλά». Κανόνας 3: Συσχετίσεις Πολλά-προς-Πολλά Αν δύο οντότητες έχουν συσχέτιση πολλά-προς-πολλά τότε διαγράφουµε την συσχέτιση και στην θέση της οποίας δηµιουργούµε µία νέα οντότητα. Οι συσχετίσεις των οντοτήτων µε την νέα οντότητα είναι συσχετίσεις Ένα-προς-Πολλά. Στην νέα οντότητα σαν Πρωτεύοντα Κλειδιά τοποθετούµε τα πρωτεύοντα κλειδιά των οντοτήτων από τις οποίες προήλθε η νέα οντότητα. Σηµ. Αυτοί οι τρεις κανόνες αποτελούν µέρος της διαδικασίας της κανονικοποίησης (Normalization) βάσεωνδεδοµένων. Σεπτέμβριος 2006 Καραδήμας Ν. 30 15

Αξιοποίηση& Χρήση Σχεσιακών Βάσεων Δεδομένων Ταξινόµηση δεδοµένων Φιλτράρισµα δεδοµένων Ερωτήµατα Εκθέσεις Φόρµες Σηµ. Τα αντικείµενα µιας βάσης δεδοµένων είναι: 1. Πίνακες 2. Ερωτήµατα 3. Φόρµες 4. Εκθέσεις 5. Μακροεντολές 6. Modules Σεπτέμβριος 2006 Καραδήμας Ν. 31 Φάσεις Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Συλλογή στοιχειωδών πληροφοριών (δεδοµένων) Οµαδοποίηση δεδοµένων Συσχέτιση οµάδων ή οντοτήτων Πίνακες (ή αρχεία) Φυσική υλοποίηση (γλώσσα προγραµµατισµού) Σεπτέμβριος 2006 Καραδήμας Ν. 32 16

Στρατηγικές Σχεδίασης Υπάρχουν πολλές χρήσιµες στρατηγικές σχεδίασης µίας βάσης δεδοµένων: Στρατηγική Top-down Στρατηγική Bottom-up Στρατηγική Inside-out Στρατηγική Mixed Σεπτέμβριος 2006 Καραδήμας Ν. 33 Στρατηγικές Σχεδίασης Υπάρχουν διάφορες χρήσιµες στρατηγικές σχεδίασης: Στρατηγική Top-Down: Ξεκινάει από µια αρχική πολύ υψηλού επιπέδου όψη της σχεδίασης των πεδίων ορισµού και εφαρµόζει διαδοχικές βελτιώσεις στις έννοιες σε αυτό το σχήµα έως ότου λαµβάνεται ένα πλήρως διαµορφούµενο τελικό σχήµα. Στρατηγική Bottom-Up: Αρχίζει µε τον προσδιορισµό των ιδιοτήτων από τον τοµέα εφαρµογών και προχωρά για να προσθέσει περισσότερες θεωρητικές έννοιες στο σχήµα. Στρατηγική Inside-Out: Είναι µία παραλλαγή της στρατηγικής Bottom-Up. Αρχίζει µε το πιο προσιτό µέρος του σχεδίου και προσδιορίζει και βελτιώνει µια βασική έννοια σε µια µικρή οµάδα οντοτήτων, σχέσεων και ιδιοτήτων τους. Στρατηγική Mixed: Αρχίζει µε ένα πλαίσιο σχήµατος περιέχοντας τις κύριες οντότητες και τις περισσότερες συσχετίσεις τους. Κάθε κατάτµηση µπορεί να βελτιωθεί ξεχωριστά, χρησιµοποιώντας στρατηγική Top-Down. Στην τελική φάση, τα τεµάχια σχηµάτων ενσωµατώνονται χρησιµοποιώντας µία στρατηγική Bottom-Up. Σεπτέμβριος 2006 Καραδήμας Ν. 34 17