Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr



Σχετικά έγγραφα
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

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

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

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

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

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

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

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

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

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

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

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

Φυσική Σχεδίαση Υλοποίηση βάσης

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

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

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

Ηλεκτρονικοί Υπολογιστές II

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

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

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

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

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

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

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

Εισαγωγή στα Πληροφοριακά Συστήματα

Τμήμα Διοίκησης Επιχειρήσεων

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

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

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

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

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

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


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

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

Transcript:

Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση του DBDesigner Γιώργος Πυρουνάκης - forky@di.uoa.gr

Δομή Διαλέξεων Εισαγωγή στο DBDesigner Εφαρμογή στη ΒΔ Προμηθευτής-Προϊόντα Παραδείγματα μοντελοποίησης και σχεδιασμού στο DBDesigner Παράδειγμα 1ο: ΒΔ για εταιρία παραγωγής μουσικών CD Παράδειγμα 2ο: ΒΔ αεροδρομίου 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 2

Εισαγωγή στο DBDesigner Εύχρηστο εργαλείο ανοικτού κώδικα για το σχεδιασμό, τη μοντελοποίηση και τη δημιουργία Βάσεων Δεδομένων Λειτουργεί σε περιβάλλον Windows και Linux Προσανατολισμένο στη MySQL αλλά υποστηρίζει και Oracle, MS SQL Server, ODBC Διαθέσιμο στο http://fabforce.net/dbdesigner4/ Η υποστήριξη του σταμάτησε στην έκδοση 4 Συνέχεια του είναι το MySQL Workbench (για την ώρα τρέχει μόνο σε Windows) 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 3

Χαρακτηριστικά του DBDesigner Παραγωγή εντολών SQL για τη δημιουργία πινάκων σε μια ΣΒΔ, από το μοντέλο ΟΣ Δημιουργία μοντέλου ΟΣ από αντίστοιχες εντολές SQL (Reverse engineer) Σύνδεση με ΣΔΒΔ για την δημιουργία και ενημέρωση του σχήματος της ΒΔ Κατασκευή επερωτήσεων με δυναμικό τρόπο Αποθήκευση των μοντέλων σε μορφή XML 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 4

Διαφορές στο σχεδιασμό ενός μοντέλου ΟΣ στο DBDesigner Χρησιμοποιούνται διαφορετικοί διαγραμματικοί συμβολισμοί από τους καθιερωμένους, για την αναπαράσταση του μοντέλου ΟΣ Είναι προσανατολισμένο στην παραγωγή SQL εντολών για τη δημιουργία ΣΒΔ Ορίζονται οι τύποι δεδομένων των γνωρισμάτων Υποστηρίζονται μόνο δυαδικοί τύποι συσχέτισης Οι τύποι συσχέτισης με λόγο πληθικότητας M:N υλοποιούνται ως νέος τύπος οντότητας με συσχετίσεις 1:N 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 5

Μοντέλο ΟΣ για τη ΒΔ Προμηθευτές-Προϊόντα 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 6

Σχεδιασμός της ΒΔ Προμηθευτής- Προϊόντα στο DBDesigner 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 7

SQL εντολές για τη ΒΔ Προμηθευτής- Προϊόντα CREATE TABLE ΠΡΟΪΟΝ ( κωδικος CHAR NOT NULL, ονομα VARCHAR NOT NULL, χρωμα ENUM('ΚΟΚΚΙΝΟ','ΠΡΑΣΙΝΟ','ΜΠΛΕ') NULL, πολη VARCHAR NULL, βαρος INTEGER UNSIGNED NULL, PRIMARY KEY(κωδικος) ); CREATE TABLE ΠΡΟΜΗΘΕΥΤΗΣ ( κωδικος CHAR NOT NULL, ονομα VARCHAR NOT NULL, κατασταση INTEGER UNSIGNED NULL, πολη VARCHAR NULL, PRIMARY KEY(κωδικος) ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 8

SQL εντολές για τη ΒΔ Προμηθευτής- Προϊόντα CREATE TABLE ΠΡΟΜΗΘΕΥΤΗΣ_ΠΡΟΜΗΘΕΥΕΙ_ΠΡΟΪΟΝ ( ΠΡΟΜΗΘΕΥΤΗΣ_κωδικος CHAR NOT NULL, ΠΡΟΪΟΝ_κωδικος CHAR NOT NULL, PRIMARY KEY(ΠΡΟΜΗΘΕΥΤΗΣ_κωδικος, ΠΡΟΪΟΝ_κωδικος), FOREIGN KEY(ΠΡΟΜΗΘΕΥΤΗΣ_κωδικος) REFERENCES ΠΡΟΜΗΘΕΥΤΗΣ(κωδικος) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ΠΡΟΪΟΝ_κωδικος) REFERENCES ΠΡΟΪΟΝ(κωδικος) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 9

Παράδειγμα 1 Απαιτήσεις (Ι) Η εταιρεία παραγωγής μουσικών CD το σαπιο_μηλο αποφάσισε να κρατάει πληροφορίες σε μια βάση δεδομένων για τους μουσικούς που μετέχουν σε εκτελέσεις στις εκδόσεις της. Η εταιρεία σας προσλαμβάνει σαν αναλυτή. Κάθε μουσικός που παίζει για την σαπιο_μηλο έχει ένα αριθμό ταυτότητας, ένα όνομα, μια διεύθυνση και ένα τηλέφωνο. Κάθε όργανο που χρησιμοποιείται σε τραγούδια που ηχογραφούνται από την σαπιο_μηλο έχει ένα όνομα (π.χ κιθάρα, φλαόυτο...) και ένα μουσικό κλειδί (π.χ C, B-flat, E-flat). 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 10

Παράδειγμα 1 Απαιτήσεις (ΙΙ) Κάθε άλμπουμ που ηχογραφείται από την σάπιο μήλο έχει ένα τίτλο, μια ημερομηνία, ένα τρόπο εγγραφής (π.χ CD, MC,..) και ένα κωδικό άλμπουμ. Κάθε τραγούδι που ηχογραφείται έχει ένα τίτλο και ένα συνθέτη. Κάθε μουσικός μπορεί να παίζει διάφορα όργανα και κάθε όργανο μπορεί να χρησιμοποιείται από διάφορους μουσικούς. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 11

Παράδειγμα 1 Απαιτήσεις (ΙΙΙ) Κάθε άλμπουμ περιέχει ένα πλήθος τραγουδιών, αλλά ένα τραγούδι δεν μπορεί να εμφανίζεται σε περισσότερα από ένα άλμπουμ. Κάθε τραγούδι εκτελείται από έναν ή περισσότερους μουσικούς, και ένας μουσικός μπορεί να συμμετέχει στην εκτέλεση ενός πλήθους τραγουδιών. Κάθε άλμπουμ έχει ακριβώς έναν μουσικό που έχει το ρόλο παραγωγού. Φυσικά ένας μουσικός μπορεί να παράγει περισσότερα από ένα άλμπουμ. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 12

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Κάθε μουσικός που παίζει για την σαπιο_μηλο έχει ένα αριθμό ταυτότητας, ένα όνομα, μια διεύθυνση και ένα τηλέφωνο. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 13

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Κάθε όργανο που χρησιμοποιείται σε τραγούδια που ηχογραφούνται από την σαπιο_μηλο έχει ένα όνομα (π.χ κιθάρα, φλαόυτο...) και ένα μουσικό κλειδί (π.χ C, B-flat, E-flat). 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 14

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Κάθε άλμπουμ που ηχογραφείται από την σάπιο μήλο έχει ένα τίτλο, μια ημερομηνία, ένα τρόπο εγγραφής (π.χ CD, MC,..) και ένα κωδικό άλμπουμ. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 15

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Κάθε τραγούδι που ηχογραφείται έχει ένα τίτλο και ένα συνθέτη. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 16

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε μουσικός μπορεί να παίζει διάφορα όργανα και κάθε όργανο μπορεί να χρησιμοποιείται από διάφορους μουσικούς. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 17

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε άλμπουμ περιέχει ένα πλήθος τραγουδιών, αλλά ένα τραγούδι δεν μπορεί να εμφανίζεται σε περισσότερα από ένα άλμπουμ. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 18

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε τραγούδι εκτελείται από έναν ή περισσότερους μουσικούς, και ένας μουσικός μπορεί να συμμετέχει στην εκτέλεση ενός πλήθους τραγουδιών. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 19

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε άλμπουμ έχει ακριβώς έναν μουσικό που έχει το ρόλο παραγωγού. Φυσικά ένας μουσικός μπορεί να παράγει περισσότερα από ένα άλμπουμ. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 20

Βήμα 3ο: Δημιουργία μοντέλου ΟΣ για τη ΒΔ 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 21

Βήμα 4ο: Σχεδιασμός στο DBDesigner 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 22

Βήμα 5ο: Παραγωγή εντολών SQL για τη δημιουργία της ΒΔ CREATE TABLE ΟΡΓΑΝΟ ( ονομα VARCHAR NOT NULL, κλειδι VARCHAR NOT NULL, PRIMARY KEY(ονομα, κλειδι) ); CREATE TABLE ΜΟΥΣΙΚΟΣ ( αρ_ταυτ CHAR NOT NULL, ονομα VARCHAR NOT NULL, διευθυνση VARCHAR NULL, τηλεφωνο CHAR NULL, PRIMARY KEY(αρ_ταυτ) ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 23

Βήμα 5ο: Παραγωγή εντολών SQL για τη δημιουργία της ΒΔ CREATE TABLE ΑΛΜΠΟΥΜ ( κωδικος CHAR NOT NULL AUTO_INCREMENT, ΜΟΥΣΙΚΟΣ_αρ_ταυτ CHAR NOT NULL, τιτλος VARCHAR NULL, ημερομηνια DATE NULL, εγγραφη CHAR NULL, PRIMARY KEY(κωδικος), FOREIGN KEY(ΜΟΥΣΙΚΟΣ_αρ_ταυτ) REFERENCES ΜΟΥΣΙΚΟΣ(αρ_ταυτ) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 24

Βήμα 5ο: Παραγωγή εντολών SQL για τη δημιουργία της ΒΔ CREATE TABLE ΤΡΑΓΟΥΔΙ ( τιτλος VARCHAR NOT NULL, συνθετης VARCHAR NOT NULL, ΑΛΜΠΟΥΜ_κωδικος CHAR NOT NULL, PRIMARY KEY(τιτλος, συνθετης), FOREIGN KEY(ΑΛΜΠΟΥΜ_κωδικος) REFERENCES ΑΛΜΠΟΥΜ(κωδικος) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 25

Βήμα 5ο: Παραγωγή εντολών SQL για τη δημιουργία της ΒΔ CREATE TABLE ΜΟΥΣΙΚΟΣ_ΕΚΤΕΛΕΙ_ΤΡΑΓΟΥΔΙ ( ΜΟΥΣΙΚΟΣ_αρ_ταυτ CHAR NOT NULL, ΤΡΑΓΟΥΔΙ_συνθετης VARCHAR NOT NULL, ΤΡΑΓΟΥΔΙ_τιτλος VARCHAR NOT NULL, PRIMARY KEY(ΜΟΥΣΙΚΟΣ_αρ_ταυτ, ΤΡΑΓΟΥΔΙ_συνθετης, ΤΡΑΓΟΥΔΙ_τιτλος), FOREIGN KEY(ΜΟΥΣΙΚΟΣ_αρ_ταυτ) REFERENCES ΜΟΥΣΙΚΟΣ(αρ_ταυτ) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ΤΡΑΓΟΥΔΙ_τιτλος, ΤΡΑΓΟΥΔΙ_συνθετης) REFERENCES ΤΡΑΓΟΥΔΙ(τιτλος, συνθετης) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 26

Βήμα 5ο: Παραγωγή εντολών SQL για τη δημιουργία της ΒΔ CREATE TABLE ΜΟΥΣΙΚΟΣ_ΠΑΙΖΕΙ_ΟΡΓΑΝΟ ( ΜΟΥΣΙΚΟΣ_αρ_ταυτ CHAR NOT NULL, ΟΡΓΑΝΟ_κλειδι VARCHAR NOT NULL, ΟΡΓΑΝΟ_ονομα VARCHAR NOT NULL, PRIMARY KEY(ΜΟΥΣΙΚΟΣ_αρ_ταυτ, ΟΡΓΑΝΟ_κλειδι, ΟΡΓΑΝΟ_ονομα), FOREIGN KEY(ΜΟΥΣΙΚΟΣ_αρ_ταυτ) REFERENCES ΜΟΥΣΙΚΟΣ(αρ_ταυτ) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ΟΡΓΑΝΟ_ονομα, ΟΡΓΑΝΟ_κλειδι) REFERENCES ΟΡΓΑΝΟ(ονομα, κλειδι) ON DELETE NO ACTION ON UPDATE NO ACTION ); 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 27

Αντιστοιχία μοντέλου ΟΣ και σχεσιακού μοντέλου Μοντέλο ΟΣ τύπος οντότητας τύπος συσχέτισης 1:Ν τύπος συσχέτισης Μ:Ν n-αδικός τύπος συσχ. απλό γνώρισμα σύνθετο γνώρισμα πλειότιμο γνώρισμα σύνολο τιμών γνώρισμα-κλειδί Σχεσιακό Μοντέλο 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 28 σχέση 'οντοτήτων' ξένο κλειδί σχέση 'συσχέτισης' και δύο ξένα-κλειδιά σχέση 'συσχέτισης' και n ξένα-κλειδιά γνώρισμα επιμέρους γνωρίσματα σχέση και ξένο κλειδί πεδίο ορισμού πρωτεύον (ή δευτερεύον) κλειδί

Μοντέλο ΟΣ για την εταιρία παραγωγής μουσικών CD 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 29

Παράδειγμα 2 Απαιτήσεις (Ι) Σχεδιάστε τη ΒΔ για τη λειτουργία ενός αεροδρομίου όπου ισχύουν τα ακόλουθα: Κάθε αεροσκάφος έχει ένα κωδικό εγγραφής, και είναι ενός μοντέλου. Το αεροδρόμιο έχει δυνατότητα εξυπηρέτησης ενός πλήθους μοντέλων, και κάθε μοντέλο προσδιορίζεται από ένα κωδικό μοντέλου (π.χ Β737) και έχει μια χωρητικότητα και ένα βάρος. Ένα πλήθος τεχνικών απασχολούνται στο αεροδρόμιο. Για καθένα καταχωρείται ο αριθμός ταυτότητας, το όνομα, η διεύθυνση, το τηλέφωνο και ο μισθός. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 30

Παράδειγμα 2 Απαιτήσεις (ΙΙ) Κάθε τεχνικός είναι ειδικός για ένα ή περισσότερα μοντέλα αεροπλάνων, και η ειδικότητα του μπορεί να επικαλύπτεται με αυτήν άλλων τεχνικών. Αυτές οι πληροφορίες για τους τεχνικούς πρέπει να αποθηκεύονται. Στο αεροδρόμιο απασχολούνται και ελεγκτές εναέριας κυκλοφορίας. Αυτοί υποβάλλονται σε ιατρικό έλεγχο κάθε χρόνο. Για κάθε ελεγκτή θα πρέπει να αποθηκεύεται η πιο πρόσφατη ημερομηνία ιατρικού ελέγχου. Όλοι οι εργαζόμενοι ανήκουν σε ένα σωματείο. Για το σωματείο θα πρέπει να αποθηκεύσετε το όνομα του, το έτος ίδρυσης και τον κωδικό μέλους κάθε εργαζόμενου. Μπορείτε να υποθέσετε ότι είναι ο αριθμός ταυτότητας. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 31

Παράδειγμα 2 Απαιτήσεις (ΙΙΙ) Στο αεροδρόμιο γίνονται περιοδικά κάποιοι έλεγχοι στα αεροπλάνα για την πτητική ικανότητά τους. Κάθε έλεγχος έχει ένα κωδικό της ΥΠΑ (υπηρεσία πολιτικής αεροπορίας), ένα όνομα και μια μέγιστη βαθμολογία. Η ΥΠΑ απαιτεί από το αεροδρόμιο να καταχωρεί κάθε έλεγχο του αεροπλάνου που γίνεται από κάποιον τεχνικό. Για κάθε έλεγχο οι πληροφορίες που χρειάζονται είναι η ημερομηνία, οι ώρες που χρειάσθηκαν για να γίνει ο έλεγχος, και η βαθμολογία. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 32

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Κάθε αεροσκάφος έχει ένα κωδικό εγγραφής, και είναι ενός μοντέλου. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 33

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Το αεροδρόμιο έχει δυνατότητα εξυπηρέτησης ενός πλήθους μοντέλων, και κάθε μοντέλο προσδιορίζεται από ένα κωδικό μοντέλου (π.χ Β737) και έχει μια χωρητικότητα και ένα βάρος. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 34

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Ένα πλήθος τεχνικών απασχολούνται στο αεροδρόμιο. Για καθένα καταχωρείται ο αριθμός ταυτότητας, το όνομα, η διεύθυνση, το τηλέφωνο και ο μισθός. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 35

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Στο αεροδρόμιο απασχολούνται και ελεγκτές εναέριας κυκλοφορίας. Αυτοί υποβάλλονται σε ιατρικό έλεγχο κάθε χρόνο. Για κάθε ελεγκτή θα πρέπει να αποθηκεύεται η πιο πρόσφατη ημερομηνία ιατρικού ελέγχου. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 36

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Όλοι οι εργαζόμενοι ανήκουν σε ένα σωματείο. Για το σωματείο θα πρέπει να αποθηκεύσετε το όνομα του, το έτος ίδρυσης και τον κωδικό μέλους κάθε εργαζόμενου. Μπορείτε να υποθέσετε ότι είναι ο αριθμός ταυτότητας. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 37

Βήμα 1ο: Δημιουργία τύπων οντοτήτων Στο αεροδρόμιο γίνονται περιοδικά κάποιοι έλεγχοι στα αεροπλάνα για την πτητική ικανότητά τους. Κάθε έλεγχος έχει ένα κωδικό της ΥΠΑ (υπηρεσία πολιτικής αεροπορίας), ένα όνομα και μια μέγιστη βαθμολογία. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 38

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε αεροσκάφος έχει ένα κωδικό εγγραφής, και είναι ενός μοντέλου. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 39

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Κάθε τεχνικός είναι ειδικός για ένα ή περισσότερα μοντέλα αεροπλάνων, και η ειδικότητα του μπορεί να επικαλύπτεται με αυτήν άλλων τεχνικών. Αυτές οι πληροφορίες για τους τεχνικούς πρέπει να αποθηκεύονται. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 40

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Όλοι οι εργαζόμενοι ανήκουν σε ένα σωματείο. Για το σωματείο θα πρέπει να αποθηκεύσετε το όνομα του, το έτος ίδρυσης και τον κωδικό μέλους κάθε εργαζόμενου. Μπορείτε να υποθέσετε ότι είναι ο αριθμός ταυτότητας. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 41

Βήμα 2ο: Δημιουργία τύπων συσχετίσεων Η ΥΠΑ απαιτεί από το αεροδρόμιο να καταχωρεί κάθε έλεγχο του αεροπλάνου που γίνεται από κάποιον τεχνικό. Για κάθε έλεγχο οι πληροφορίες που χρειάζονται είναι η ημερομηνία, οι ώρες που χρειάσθηκαν για να γίνει ο έλεγχος, και η βαθμολογία. 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 42

Βήμα 3ο: Δημιουργία μοντέλου ΟΣ για τη ΒΔ 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 43

Εναλλακτική υλοποίηση μοντέλου ΟΣ 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 44

Βήμα 4ο: Σχεδιασμός στο DBDesigner 5-6/12/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 45