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

Σχετικά έγγραφα
Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ A ΜΕΡΟΣ. Ανάπτυξη Β και το Μοντέλο E-R Σελίδα 1

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

Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ. Ι.Β. Ανάπτυξη Β και το Μοντέλο E-R Σελίδα 1.40

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

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

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

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

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

Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ. Ι.Β. Ανάπτυξη Β και το Μοντέλο E-R Σελίδα 1.50

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κ Κ ε ε φ φ ά ά λ λ α α ιιο ο 2 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Ι.Β. Ανάπτυξη Β και το Μοντέλο E-R Σελίδα 1.58

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πολιτισμική Πληροφορική: Οργάνωση και διαχείριση Πληροφοριών

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

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

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

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

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

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

ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6)

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

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

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

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

Transcript:

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ A ΜΕΡΟΣ Ιόνιο Πανεπιστήμιο Ανάπτυξη ΒΔ και το Μοντέλο E-R Σελίδα 1

Εισαγωγικά για την Μοντελοποίηση ΜΟΝΤΕΛΑ Εννοιολογικά μοντέλα» Αναπαράσταση ενός συστήματος χρησιμοποιώντας γενικούς κανόνες και έννοιες Φυσικά μοντέλα» Φυσικό αντίγραφο ενός αντικειμένου Επιστημονικά μοντέλα» Απλοποιημένος τρόπος κατανόησης φυσικών συστημάτων Σελίδα 2

Εννοιολογική Μοντελοποίηση Γιατί; - Καταγραφή Πληροφορίας - Εξήγηση Συμπεριφοράς - Πρόβλεψη Συμπεριφοράς - Προσομοίωση - Απόκρυψη Λεπτομερειών / Αφαίρεση Σελίδα 3

Εργαλεία Μοντέλων Δεδομένων - Από το «περισσότερο» στο «λιγότερο», αφαιρετικά: ΠΡΑΓΜΑΤΙΚΟΣ ΚΟΣΜΟΣ => ΔΕΔΟΜΕΝΑ => ΜΟΝΤΕΛΟ - Πέραν της καταγραφής των δεδομένων, χρειάζεται να: ΟΡΓΑΝΩΣΟΥΜΕ --- ΕΡΜΗΝΕΥΣΟΥΜΕ --- ΔΙΑΣΥΝΔΕΣΟΥΜΕ τα δεδομένα Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ είναι ένα εργαλείο που επιτρέπει αυτή την ΑΦΑΙΡΕΣΗ (ανεξαρτήτως των συγκεκριμένων δεδομένων) Σελίδα 4

Ερωτήσεις κατά την Μοντελοποίηση Δεδομένων - Πώς πρέπει να μοντελοποιήσουμε αυτό τον μικρόκοσμο? - Ποιες είναι οι βασικές συνιστώσες (components)? - Τι γνωρίζουμε για αυτές? - Πως πρέπει να οργανωθούν? - Πως συσχετίζονται? - Ποιες πληροφορίες έχουν ενδιαφέρον? - Ποιες πληροφορίες είναι άσχετες? - Σε ποιόν? - Για ποιο σκοπό? - Πόσο συχνά? - Κάτω από ποιες συνθήκες?... Σελίδα 5

Μοντέλα Δεδομένων -- Οργάνωση - Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ έχει τρεις βασικές συνιστώσες: ΔΟΜΕΣ (Structures) ΠΡΑΞΕΙΣ (Operations) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ (Constraints) Κάθε συνιστώσα εξετάζεται στην συνέχεια με παραδείγματα (και) από Μαθηματικά Μοντέλα Σελίδα 6

Οργάνωση Μοντέλου (α) (A) ΔΟΜΕΣ - Αντικείμενα (αφαιρετικά) - objects - Γενίκευση στα χαρακτηριστικά Παράδειγμα: Μια δομή στα Μαθηματικά: ΣΥΝΟΛΑ Picasso S1 Miro το σύνολο των καλλιτεχνών El Greco Gonzales S2 Picasso Thubithareta το σύνολο των Ισπανών Σελίδα 7

Οργάνωση Μοντέλου (β) (B) ΠΡΑΞΕΙΣ - χειρισμός των δομών - δημιουργία ΝΕΩΝ δομών από ΠΑΛΑΙΕΣ - αλλαγή του μοντέλου από στατικό σε δυναμικό Παράδειγμα: Πράξη σε ΣΥΝΟΛΑ -- ΤΟΜΗ S1 S2 S3 το σύνολο των Ισπανών καλλιτεχνών Σελίδα 8

Οργάνωση Μοντέλου (γ) (C) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ - Ιδιότητες που οι Δομές του Μοντέλου πρέπει να ΙΚΑΝΟΠΟΙΟΥΝ Παραδείγματα: όλοι οι καλλιτέχνες έχουν ημερομηνία θανάτου που ΕΠΕΤΑΙ της ημερομηνίας γέννησής των κανένας υπάλληλος στο μουσείο δεν έχει μισθό μεγαλύτερο του Διευθυντή ο Διευθυντής της Τράπεζας πρέπει να είναι τραπεζικός υπάλληλος Υπάρχουν 2 ειδών δομικοί περιορισμοί: Έμφυτοι (INHERENT), e.g., duplicates are not allowed Ρητοί (EXPLICIT), e.g., films have only one director Οι δομικοί περιορισμοί είναι το εργαλείο που επιτρέπει να εκφράζονται και να παρίστανται στην βάση δεδομένων οι κανόνες της επιχείρησης Σελίδα 9

Χρήση του Μοντέλου για Ανάπτυξη ΒΔ Από τον Μικρόκοσμο Real World Στο Μοντέλο Δεδομένων Data Model Στην Βάση Δεδομένων Database Σελίδα 10

Ανάπτυξη Βάσεων Δεδομένων Η διαδικασία της ανάπτυξης ΒΔ Μια μακρά και επίπονη διαδικασία μετατροπής της ΓΝΩΣΗΣ ενός πραγματικού μικρόκοσμου σε μια ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ που θα την διαχειρίζεται ένα DBMS Για εννοιολογική διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε συνεχόμενες αυτοτελείς διαδικασίες (ΦΑΣΕΙΣ), κάθε μια των οποίων δημιουργεί ενδιάμεσες περιγραφές. Συλλογή Απαιτήσεων και Ανάλυση (Requirements Collection and Analysis), Εννοιολογικός Σχεδιασμός Βάσης(Conceptual Database Design), Λογικός Σχεδιασμός Βάσης (Logical Database Design), Φυσικός Σχεδιασμός Βάσης (Physical Database Design) Πλήρωση της Βάσης με Δεδομένα (Database Loading) Σελίδα 11

Πλήρης Διαδικασία Ανάπτυξης ΒΔ Ανεξάρτητα του DBMS. Μικρόκοσμος Εξαρτώμενο του επιλεγμένου DBMS (π.χ., με Σχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήματα / Όψεις Απαιτήσεις ΒΔ Εννοιολογικό Μοντέλο (Σχήμα) Συλλογή Απαιτήσεων και Ανάλυση Εννοιολογικός Σχεδιασμός Βάσης (π.χ., με E-R Model) E-R Διάγραμμα Λογικός Σχεδιασμός Βάσης Βάση Δεδομένων Φυσικός Σχεδιασμός Βάσης Φυσικό Μοντέλο Εσωτερικό Σχήμα Πλήρωση Βάσης Σελίδα 12

Διαδικασία Ανάπτυξης ΒΔ (1) Συλλογή Απαιτήσεων και Ανάλυση Η πρώτη φάση ανάπτυξης της ΒΔ είναι απαραίτητη για την «εξόρυξη» των απαιτήσεων για την Βάση από περιγραφές του πραγματικού μικρόκοσμου. Περιγραφές Μικρόκοσμου Απαιτήσεις της Βάσης Η διαδικασία είναι «δύσκολη» (εννοιολογικά) και απαιτεί εμπειρία και επιχειρηματική γνώση (συνήθως στηρίζεται σε συνεντεύξεις, ασαφείς και ημιτελείς περιγραφές, κλπ.) Σελίδα 13

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1) Απαιτήσεις της Βάσης για κάποια Εταιρεία Μια εταιρεία οργανώνεται σε Τμήματα (DEPARTMENTS). Κάθε τμήμα έχει όνομα (name), αριθμό (number), και κάποιον υπάλληλο που είναι επικεφαλής (MANAGES) του τμήματος. Μας ενδιαφέρει η ημερομηνία έναρξης της θητείας του μάνατζερ (start date). Ένα τμήμα κατανέμεται σε διάφορες τοποθεσίες (locations). Κάθε τμήμα ελέγχει έναν αριθμό από έργα (PROJECTS), όπου κάθε έργο έχει όνομα (name), αριθμό (number) και εκτελείται σε μια προκαθορισμένη τοποθεσία (located). Σελίδα 14

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2) Αναφορικά με Υπαλλήλους (EMPLOYEE), κρατάμε τον αριθμό κοινωνικής ασφάλισης (social security number), διεύθυνση (address), μισθό (salary), φύλλο (sex) και ημερομηνία γέννησης (birth date.) Κάθε Υπάλληλος εργάζεται (WORKS FOR) σε ένα τμήμα, αλλά μπορεί να εργάζεται (WORK ON) για πολλά έργα. Επίσης, κρατάμε τις ώρες / εβδομάδα (number of hours) που ένας υπάλληλος εργάζεται σε ένα έργο, όπως και τον/την άμεσο προϊστάμενο (direct supervisor.) Κάθε υπάλληλος μπορεί να έχει μια σειρά από εξαρτώμενα άτομα (DEPENDENTS) Για κάθε έναν, κρατάμε όνομα (name), ημερομηνία γέννησης (birth date), φύλλο (sex) και σχέση (relationship) με τον υπάλληλο. Σελίδα 15

Διαδικασία Ανάπτυξης ΒΔ (2): Σχεδιασμός Η διαδικασία συνεχίζεται με τους ΣΧΕΔΙΑΣΜΟΥΣ Σχεδιασμός είναι η διαδικασία δημιουργίας του ΣΧΗΜΑΤΟΣ (schema) της Βάσης Δεδομένων χρησιμοποιώντας ένα επιλεγμένο Μοντέλο (σε κάποιο επίπεδο της όλης διαδικασίας) Υπάρχουν 3 αυτοτελείς σχεδιασμοί που δημιουργούν Σχήματα (Περιγραφές) της Βάσης. Εννοιολογικός Σχεδιασμός (Conceptual Data Model) Λογικός Σχεδιασμός Φυσικός Σχεδιασμός (Conceptual and External Schemas - Views) (Internal Schema) Σελίδα 16

ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας ένα Διαισθητικό Μοντέλο ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ (Conceptual Model) Προσπάθεια για ξεκαθάρισμα των εννοιών Εύρεση και καταγραφή των Οντοτήτων της βάσης, των μεταξύ τους Συσχετίσεων καθώς και των Εννοιολογικών Κανόνων (semantic rules) που πρέπει να ικανοποιούν ΣΤΟΧΟΣ: Μια αφαιρετική, αλλά πλήρης περιγραφή του τμήματος του μικρόκοσμού που θα αναπαρασταθεί στην βάση δεδομένων. Αυτή η περιγραφή γίνεται με τη χρήση μιας ημι-τυπικής (pseudoformal) σημειογραφίας / συμβολισμού (notation). Σελίδα 17

ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ: Εξωτερικά και Λογικά (Εννοιολογικά) Σχήματα ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ Η διαδικασία μετατροπής ενός εννοιολογικού μοντέλου (διαισθητικής περιγραφής) σε ΤΥΠΙΚΑ ΣΧΗΜΑΤΑ εκφρασμένα στο επιλεγέν (υποστηριζόμενο από το DBMS) μοντέλο δεδομένο (π.χ., Σχεσιακό Μοντέλο) Τα σχήματα (εξωτερικά, λογικό) μαζί με την DML προσδιορίζουν τα προγράμματα της εφαρμογής. Μερικά Σχήματα, αν είναι καλά σχεδιασμένα, κάνουν τις ερωταποκρίσεις ευκολότερες. Μερικά Σχήματα, αν είναι κατάλληλα σχεδιασμένα, αποφεύγουν τους πλεονασμούς, τα προβλήματα σε αλλαγές των δεδομένων, κλπ. Σελίδα 18

ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ Η διαδικασία προδιαγραφών των δομών μνήμης (αρχείων) που υλοποιούν τον λογικό σχεδιασμό και των οργανώσεων αυτών, καθώς και των δομών ευρετηρίων (access methods) που αποτελούν το εσωτερικό σχήμα. ΣΤΟΧΟΙ: Απόδοση Απόδοση - Απόδοση Υποστήριξη του Βελτιστοποιητή Συστήματος Σελίδα 19

Διαδικασία Ανάπτυξης ΒΔ (3): Πλήρωση της Βάσης με Δεδομένα Η τελική φάση είναι η διαδικασία DATABASE LOADING Απλά Αρχεία Φυσικό Σχήμα Βάση Δεδομένων Υπάρχουν, κατά κανόνα σε όλα τα μεγάλα DBMS, βοηθητικά προγράμματα για ΜΑΖΙΚΗ ΠΛΗΡΩΣΗ (BULK LOADING) Σελίδα 20

Αυτοματοποίηση της Όλης Διαδικασίας ΕΡΓΑΛΕΙΑ ΓΙΑ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Είναι δύσκολη να αυτοματοποιηθούν οι πρώτες Φάσεις της διαδικασίας ανάπτυξης, αλλά για τις επόμενες φάσεις υπάρχουν πολλά και καλά υπολογιστικά εργαλεία που υποστηρίζουν αποτελεσματικά τον σχεδιαστή της ΒΔ. Για παράδειγμα, εργαλεία που δημιουργούν Λογικά Σχήματα (κατά κανόνα στο Σχεσιακό Μοντέλο) από ένα Εννοιολογικό Μοντέλο (κατά κανόνα E-R) π.χ.., AD/VANCE, Blue/60, Colonel, ER-Designer, Lydia, IDEF/Leverage, MastER PLus, RIDL, Silverun, Oracle Designer / Developer, κλπ. Μερικά από αυτά δημιουργούν και αξιολογούν το αντίστοιχο Φυσικό Σχήμα (π.χ., σε θέματα πληρότητας και συμβατότητας) ή δημιουργούν καταλόγους συστήματος / λεξικά. Υπάρχουν και ΠΛΗΡΗ περιβάλλοντα ανάπτυξης (CASE) π.χ., IEW, IEF, Excelerator, CASE Product, Foundation, κλπ. Σελίδα 21

Το Κλασσικό Μοντέλο Εννοιολογικού Σχεδιασμού: Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship) Το E-R μοντέλο ήταν ο «νικητής» μεταξύ αρκετών υποψηφίων (την δεκαετία του 80) και έγινε αποδεκτό από τους ερευνητές και την αγορά για την ΑΠΛΟΤΗΤΑ (simplicity), ΣΑΦΗΝΕΙΑ (clarity) και ΓΡΑΦΙΚΟ ΣΥΜΒΟΛΙΣΜΟ (graphical notation) που έχει. Το E-R μοντέλο είναι ένα μάλλον διαισθητικό μοντέλο που επιδιώκει να προσδιορίσει αφαιρετικά τις πληροφορίες που μια ΒΔ αποθηκεύει και οργανώνει. Όλα τα άλλα μοντέλα δεδομένων μπορούν να κριθούν σε σχέση με αυτά που προσφέρει το E-R μοντέλο Σελίδα 22

E-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣ ΔΟΜΕΣ Υπάρχουν δυο εννοιολογικές βασικές δομές:» Οντότητες Συγκεκριμένα αντικείμενα που υπάρχουν (ή πιστεύεται ότι υπάρχουν) και μπορούν να αναπαρασταθούν στην ΒΔ π.χ., ο ΥΠΑΛΛΗΛΟΣ Μαρία, στο ΤΜΗΜΑ Λογιστήριο,το ΠΡΟΙΟΝ Βίδες, η ΟΜΑΔΑ Ολυμπιακός,...» Συσχετίσεις / Σχέσεις Είναι επίσης (ειδικά) αντικείμενα που αντιστοιχούν δύο ή περισσότερες ξεχωριστές οντότητες με ένα συγκεκριμένο νόημα (τυπικά, μια Συσχέτιση είναι ένα ταξινομημένο σύνολο οντοτήτων) π.χ.,. Η Μαρία είναι ΟΠΑΔΟΣ του Ολυμπιακού, Η Μαρία ΕΡΓΑΖΕΤΑΙ στο Λογιστήριο, κλπ. Σελίδα 23

E-R Μοντέλο: ΔΟΜΕΣ Οντότητες με ταυτόσημα γνωρίσματα ομαδοποιούνται σε ΤΥΠΟΥΣ ΟΝΤΟΤΗΤΩΝ (ENTITY SETS ή ENTITY TYPES) Ενδεικτικά, all PERSONS, all DEPARTMENTS, κλπ. Συσχετίσεις ιδίου τύπου επίσης ομαδοποιούνται σε ΤΥΠΟΥΣ ΣΥΣΧΕΤΙΣΕΩΝ (RELATIONSHIP SETS ή TYPES) Ενδεικτικά, ο τύπος συσχέτισης WORKS-ON όπου συμμετέχουν οι τύποι οντοτήτων EMPLOYEE και PROJECT. ο τύπος συσχετίσεων MANAGES όπου συμμετέχουν οι τύποι οντοτήτων EMPLOYEE και DEPARTMENΤ. ο τύπος συσχέτισης SALE-ACT όπου συμμετέχουν οι τύποι οντοτήτων PRODUCTS, CUSTOMERS, και SALESPERSONS. Σελίδα 24

Διαφοροποίηση μεταξύ ΟΝΤΟΤΗΤΑΣ και ΤΥΠΟΥ ΟΝΤΟΤΗΤΑΣ ΟΝΤΟΤΗΤΑ Σελίδα 25

Διαφοροποίηση μεταξύ ΣΥΣΧΕΤΙΣΗΣ και ΤΥΠΟΥ ΣΥΣΧΕΤΙΣΗΣ Σελίδα 26

E-R Μοντέλο: ΔΟΜΕΣ (3) Οι Οντότητες και οι Συσχετίσεις μπορούν να έχουν ΓΝΩΡΙΣΜΑΤΑ / ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ / ΙΔΙΟΤΗΤΕΣ (ATTRIBUTES) που είναι ιδιότητες που τα χαρακτηρίζουν π.χ., μια οντότητα ΥΠΑΛΛΗΛΟΣ έχει γνωρίσματα όνομα, ηλικία, διεύθυνση, (ενδεικτικά, Μαρία, 21, Κηφισίας 32,...) επίσης, ημερομηνία είναι ένα γνώρισμα της συσχέτισης ΔΑΝΕΙΖΟΜΑΙ (ενδεικτικά, η Μαρία ΔΑΝΕΙΣΤΗΚΕ στις 20 Ιουνίου το βιβλίο X Συνήθως τα Γνωρίσματα των Συσχετίσεων προσδιορίζουν: - Ποιος έκανε την συσχέτιση - Πότε έγινε αυτή - Πότε παύει να ισχύει, κλπ. Σελίδα 27

Τα Γνωρίσματα ως ΙΔΙΟΤΗΤΕΣ των Οντοτήτων / Τύπων Οντοτήτων Σελίδα 28

Τα Γνωρίσματα ως ΙΔΙΟΤΗΤΕΣ των Συσχετίσεων / Τύπων Συσχετίσεων Σελίδα 29

E-R Μοντέλο: Γνωρίσματα Τα ΠΕΔΙΑ (DOMAINS) είναι σύνολα τιμών για τα γνωρίσματα π.χ., DOMAIN OF NAMES = το σύνολο των ονομάτων DOMAIN of WEIGHT = το σύνολο τιμών για βάρη INTEGERS FROM 0 to 220 CHAR STRINGS from 1 to 10 in length, κλπ. ΕΙΔΗ ΓΝΩΡΙΣΜΑΤΩΝ ΑΠΛΑ: μια οντότητα έχει ατομική τιμή για αυτό (π.χ., φύλλο) ΣΥΝΘΕΤΑ: το γνώρισμα αποτελείται από περισσότερες τιμές (π.χ., η διεύθυνση = { Δρόμος, Αριθμός, Πόλη, Χώρα} ) ΜΟΝΟΤΙΜΑ: Μία τιμή (π.χ., φύλλο) ΠΛΕΙΟΤΙΜΑ (MULTI-VALUED): το γνώρισμα έχει πολλαπλές τιμές (π.χ., color of a CAR, degrees of a PERSON) ΑΠΟΘΗΚΕΥΜΕΝΑ: π.χ. ημερομηνία γέννησης ΠΑΡΑΓΟΜΕΝΑ: Παράγεται από τιμές άλλων γνωρισμάτων (π.χ., ηλικία που υπολογίζεται από την ημερομηνία γέννησης) Σελίδα 31

Σύνθετα γνωρίσματα Σελίδα 32

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (1) Πολλαπλές συσχετίσεις (multiple relationships) Περισσότεροι του ενός τύποι συσχετίσεων μπορεί να υπάρχουν μεταξύ των ιδίων τύπων οντοτήτων π.χ., WORKS-FOR και MANAGES μεταξύ EMPLOYEE και DEPARTMENT. Αναδρομικός τύπος συσχετίσεων (recursive relationship type) Μια συσχέτιση μπορεί να συνδέει δύο οντότητες που ανήκουν στον ίδιο τύπο οντοτήτων π.χ., ο SUPERVISION τύπος συσχετίσεων συνδέει EMPLOYEE (στον ρόλο αυτού που επιβλέπεται) με κάποιο άλλο EMPLOYEE (στον ρόλο του επιβλέποντα) Σελίδα 33

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2) Ένας τύπος Συσχετίσεων έχει βαθμό (relationship degree) που αντιστοιχεί στον αριθμό οντοτήτων που περιλαμβάνει: 2 τύποι οντοτήτων ---> binary relationship 3 τύποι οντοτήτων ---> ternary relationship N τύποι οντοτήτων ---> N-ary relationship Περιορισμός Ύπαρξης (existence dependency) ορίζει αν η συμμετοχή μιας οντότητας στον τύπο συσχέτισης είναι ΟΛΙΚΗ ή ΜΕΡΙΚΗ (total or partial) π.χ., όλοι οι ΥΠΑΛΛΗΛΟΙ συμμετέχουν στην ΕΡΓΑΖΟΝΤΑΙ-ΣΕ (όλοι δουλεύουν σε ένα τμήμα) - ΟΛΙΚΗ ενώ, Στην συσχέτιση ΔΙΕΥΘΥΝΩ δεν συμμετέχουν όλοι (υπάρχουν Υπάλληλοι που δεν είναι Διευθυντές) - ΜΕΡΙΚΗ Σελίδα 34

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (3) Περιορισμοί Συμμετοχής. Ο λόγος πληθικότητας (cardinality) ενός τύπου συσχετίσεων ορίζει το πόσες οντότητες από τον πρώτο τύπο οντοτήτων στην συσχέτιση μπορούν να συνδεθούν με πόσες οντότητες από τον δεύτερο τύπο οντοτήτων Συγκεκριμένα: 1 : 1 PERSON married-to PERSON 1 : N MOTHER having CHILDREN N : 1 N : M STUDENT reports-to ADVISOR EMPLOYEE works-on PROJECT Σελίδα 35

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4). 1 : 1 1 : N e1 e2 e3 r1 r2 r3 d1 d2 e1 e2 r1 r2 r3 d1 d2 e4 r4 d3 d3 d4 PERSON married-to PERSON MOTHER having CHILDREN Σελίδα 36

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5). N : 1 N : M e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 STUDENT reports-to ADVISOR EMPLOYEE works-for PROJECT Σελίδα 37

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1) Ένα ΓΝΩΡΙΣΜΑ (ή σύνολο Γνωρισμάτων) ενός Τύπου Οντοτήτων / Συσχετίσεων για το οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει μοναδική τιμή είναι ΚΛΕΙΔΙ (key) (ή superkey). Ενδεικτικά, ΑΦΜ του ΥΠΑΛΛΗΛΟΥ, ΟΝΟΜΑ και ΔΙΕΥΘΥΝΣΗ του ΥΠΑΛΛΗΛΟΥ, ΑΦΜ και ΟΝΟΜΑ, κλπ. Ένα ΥΠΟΨΗΦΙΟ ΚΛΕΙΔΙ (candidate key) είναι ένα ΕΛΑΧΙΣΤΟ (minimal) ΚΛΕΙΔΙ (δηλαδή, κανένα υποσύνολο των γνωρισμάτων του δεν είναι και αυτό κλειδί) Ενδεικτικά, ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασμός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι. Σελίδα 38

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2) Το ΚΥΡΙΟ / ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ (primary key) είναι ένα από τα υποψήφια κλειδιά που ορίζεται σαν αναγνωριστής (identifier) για τον τύπο οντοτήτων / συσχετίσεων Ενδεικτικά, ΑΦΜ είναι μια καλή επιλογή Κυρίου Κλειδιού στον τύπο οντοτήτων ΥΠΑΛΛΗΛΟΣ. Ένα ΕΞΩΤΕΡΙΚΟ ΚΛΕΙΔΙ (foreign key) είναι ένα σύνολο ενός ή περισσοτέρων γνωρισμάτων ενός τύπου οντοτήτων (ή συσχετίσεων) που αντιστοιχεί σε ένα ΚΥΡΙΟ ΚΛΕΙΔΙ για κάποιον άλλο τύπο οντοτήτων (ή συσχετίσεων). Ενδεικτικά, για τον τύπο συσχετίσεων ΕΡΓΑΖΕΤΑΙ, το γνώρισμα ΑΦΜ είναι Εξωτερικό Κλειδί (είναι Κύριο Κλειδί στον ΥΠΑΛΛΗΛΟ). Σελίδα 39

Το E-R Μοντέλο: Άλλες Έννοιες Αδύναμοι Τύποι Οντοτήτων (ή Εξαρτώμενοι) Ένας τύπος οντοτήτων ΧΩΡΙΣ Κλειδί Εξαρτάται από την ύπαρξη κάποιου άλλου τύπου οντότητας (προσδιορίζων τύπος οντότητας)» Ολική one-to-many συσχέτιση από τον προσδιορίζοντα στον αδύναμο τύπο οντοτήτων. Μερικό κλειδί είναι ένα σύνολο γνωρισμάτων που ξεχωρίζει την αδύναμη οντότητα από τις υπόλοιπες που σχετίζονται με την ίδια ισχυρή οντότητα Το πρωτεύον κλειδί του αδύναμου τύπου είναι το πρωτεύον κλειδί του προσδιορίζοντα τύπου μαζί με το μερικό κλειδί του αδύναμου τύπου Π.χ. ο τύπος DEPENDENT, δλδ τα εξαρτώμενα μέλη ενός εργαζομένου (έχει μόνο σημασία σε συσχέτιση με τον συγγενή του που δουλεύει στην Εταιρεία) Σελίδα 40

Το E-R Μοντέλο: Γραφικός Συμβολισμός. ENTITY SET WEAK ENTITY SET is_a GENERALIZATION RELATIONSHIP SET ATTRIBUTE DERIVED Attribute PRIMARY KEY E2 R1 Total PARTICIPATION of E1 in R1 E2 1 N R1 Cardinality ratio 1:N for E2:E1 in R1 E1 E1 Σελίδα 41

Παράδειγμα Οντότητας με Γνωρίσματα Σελίδα 42

Παράδειγμα Συσχέτισης με Γνωρίσματα Σελίδα 43

Ρόλοι Σελίδα 44

Συμμετοχή Ολική συμμετοχή (με διπλή γραμμή): κάθε οντότητα του συνόλου οντοτήτων συμμετέχει τουλάχιστον σε μια συσχέτιση του συνόλου συσχετίσεων» E.g. participation of loan in borrower is total» every loan must have a customer associated to it via borrower Μερική συμμετοχή: κάποιες οντότητες μπορεί να μη συμμετέχουν σε καμία συσχέτιση του συνόλου συσχετίσεων» E.g. participation of customer in borrower is partial Σελίδα 45

Ternary Relationship Σελίδα 46

Αδύναμοι τύποι οντοτήτων Οι αδύναμοι τύποι αναπαριστώνται με διπλό παραλληλόγραμμο Υπογραμμίζουμε το μερικό κλειδί με διακεκομμένη γραμμή payment-number μερικό κλειδί του payment entity set Primary key for payment (loan-number, payment-number) Σελίδα 47

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1) Απαιτήσεις της Βάσης για κάποια Εταιρεία Μια εταιρεία οργανώνεται σε Τμήματα (DEPARTMENTS). Κάθε τμήμα έχει όνομα (name), αριθμό (number), και κάποιον υπάλληλο που είναι επικεφαλής (MANAGES) του τμήματος. Μας ενδιαφέρει η ημερομηνία έναρξης της θητείας του μάνατζερ (start date). Ένα τμήμα κατανέμεται σε διάφορες τοποθεσίες (locations). Κάθε τμήμα ελέγχει έναν αριθμό από έργα (PROJECTS), όπου κάθε έργο έχει όνομα (name), αριθμό (number) και εκτελείται σε μια προκαθορισμένη τοποθεσία (located). Σελίδα 48

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2) Αναφορικά με Υπαλλήλους (EMPLOYEE), κρατάμε τον αριθμό κοινωνικής ασφάλισης (social security number), διεύθυνση (address), μισθό (salary), φύλλο (sex) και ημερομηνία γέννησης (birth date.) Κάθε Υπάλληλος εργάζεται (WORKS FOR) σε ένα τμήμα, αλλά μπορεί να εργάζεται (WORK ON) για πολλά έργα. Επίσης, κρατάμε τις ώρες / εβδομάδα (number of hours) που ένας υπάλληλος εργάζεται σε ένα έργο, όπως και τον/την άμεσο προϊστάμενο (direct supervisor.) Κάθε υπάλληλος μπορεί να έχει μια σειρά από εξαρτώμενα άτομα (DEPENDENTS) Για κάθε έναν, κρατάμε όνομα (name), ημερομηνία γέννησης (birth date), φύλλο (sex) και σχέση (relationship) με τον υπάλληλο. Σελίδα 49

Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1) ΓΝΩΡΙΣΜΑΤΑ σε Οντότητες και Συσχετίσεις EMPLOYEE -- SSN, Name, BirthDate, Sex, Address, Salary DEPARTMENT -- Number, Name,Locations, NoOfEmployees PROJECT -- Number, Name, Location DEPENDENT -- Name, Sex, BirthDate, Relationship WORKS-ON -- HoursPerWeek MANAGES -- StartDate Σελίδα 50

Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (2). EMPLOYEE N 1 WORKS-FOR DEPARTMENT 1 1 1 MANAGES CONTROLS 1 N SUPERVISION supervisor supervisee 1 Dependents-of N M WORKS-ON N PROJECT N DEPENDENT Σελίδα 51