Σχεδίαση Βάσεων Δεδομένων Βασική Χαρτογράφηση: Η Διαδικασία Μετασχηματισμού Basic Mapping: The Transformation Process 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους: Να κάνει διαχωρισμό μεταξύ ενός θεωρητικού και ενός φυσικού μοντέλου Να εφαρμόσει ορολογία χαρτογράφησης μεταξύ των δύο μοντέλων Να καταστήσει σαφές και να εφαρμόσει τις συμβάσεις ονοματοδοσίας της Oracle για τους πίνακες και τις στήλες που χρησιμοποιούνται στα φυσικά μοντέλα Να μετατρέψει μία οντότητα σε ένα διάγραμμα πίνακα 2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Σκοπός Όταν σχεδιάζετε ένα σπίτι, θα θέλατε τελικά να δείτε το σπίτι χτισμένο. Ακόμα και αν δεν είστε εσείς αυτός που κάνει πραγματικά την κατασκευή του, θα χρειαστεί να κατανοήσετε τους όρους που χρησιμοποιήθηκαν από τους χτίστες προκειμένου να τους βοηθήσετε να πάρουν το θεωρητικό σας σχέδιο και να το κάνουν φυσική πραγματικότητα. Το αρχικό σχέδιο της βάσης δεδομένων μπορεί να χρησιμοποιηθεί για περαιτέρω συζήτηση μεταξύ σχεδιαστών, διαχειριστών βάσεων δεδομένων και προγραμματιστών εφαρμογών. 3 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων Ένας πίνακας είναι μια απλή δομή στην οποία τα δεδομένα είναι οργανωμένα και αποθηκευμένα. Στο παρακάτω παράδειγμα, ο πίνακας ΕΡΓΑΖΟΜΕΝΟΙ χρησιμοποιείται για την αποθήκευση πληροφοριών των εργαζομένων. 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Οι πίνακες έχουν στήλες και σειρές. Στο παράδειγμα, κάθε σειρά περιγράφει κάποιο συμβάν για έναν εργαζόμενο. Κάθε στήλη χρησιμοποιείται για την αποθήκευση ενός συγκεκριμένου τύπου τιμής, όπως ο αριθμός εργαζομένου, επίθετο, και όνομα. Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Η στήλη ID ΕΡΓΑΖΟΜΕΝΩΝ είναι ένα πρωτεύον κλειδί. Κάθε εργαζόμενος έχει ένα μοναδικό αριθμό αναγνώρισης στο πίνακα αυτό. Η τιμή στη στήλη του πρωτεύοντος κλειδιού διακρίνει κάθε μεμονωμένη σειρά. 5 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Η στήλη id_εργαζομένων είναι ένα πρωτεύον κλειδί. Κάθε εργαζόμενος έχει ένα μοναδικό αριθμό αναγνώρισης στον πίνακα αυτό. Η τιμή στη στήλη του πρωτεύοντος κλειδιού διακρίνει κάθε μεμονωμένη σειρά. 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Το ID ΜΙΣΘΟΔΟΣΙΑΣ είναι ένα μοναδικό κλειδί. Αυτό σημαίνει πως το σύστημα δεν αφήνει δύο σειρές να έχουν το ίδιο ID ΜΙΣΘΟΔΟΣΙΑΣ 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Η στήλη του ξένου κλειδιού αναφέρεται σε μια σειρά σε έναν άλλον πίνακα. Στο παράδειγμα αυτό, το ID ΤΜΗΜΑΤΟΣ αναφέρεται σε μια σειρά του πίνακα ΤΜΗΜΑΤΑ (DEPARTMENTS). 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναθεώρηση των Σχεσιακών Πινάκων (συνέχεια) Γνωρίζουμε πως η Dana Smith δουλεύει στο τμήμα 10. Εάν θέλαμε να μάθουμε περισσότερα για το τμήμα της Dana Smith, θα έπρεπε να ψάξουμε για τη σειρά στον πίνακα ΤΜΗΜΑΤΑ που έχει id τμήματος = 10. 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Μετατροπή Θεωρητικού (εννοιολογικού) σε Φυσικό Το εννοιολογικό μοντέλο (διάγραμμα Οντότητας-Σχέσης, ER diagram) μετατρέπεται σε ένα φυσικό μοντέλο. Η φυσική εφαρμογή θα είναι μία σχεσιακή βάση δεδομένων. 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Μετατροπή Θεωρητικού (εννοιολογικού) σε Φυσικό (συνέχεια) Θεωρητικό Μοντέλο (ERD) Διαδικασία μετατροπής ΕΡΓΑΖΟΜΕΝΟΣ # id εργαζόμενου * όνομα * επίθετο * id μισθοδοσίας o ψευδόνυμο ΤΜΗΜΑ # id τμήματος * όνομα τμήματος ΤΜΗΜΑΤΑ ΤΜΑ 11 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ορολογία Χαρτογράφησης Αλλάζοντας από την ανάλυση (εννοιολογικό μοντέλο) στην εφαρμογή (φυσικό μοντέλο) σημαίνει, επίσης, και αλλαγή ορολογίας: Μία οντότητα γίνεται πίνακας. Μία εγγραφή γίνεται σειρά. Ένα πεδίο γίνεται στήλη. Ένα πρωτεύον μοναδικό αναγνωριστικό γίνεται πρωτεύον κλειδί. Ένα δευτερεύον μοναδικό αναγνωριστικό γίνεται μοναδικό κλειδί. Μία σχέση μετατρέπεται σε μία στήλη ξένου κλειδιού και σε ένα περιορισμό ξένου κλειδιού. Terminology Mapping (cont.) Εγγραφή Πεδίο 12 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Συμβολισμοί Διαγράμματος Πίνακα Η πρώτη σειρά του διαγράμματος πίνακα περιέχει το όνομα του πίνακα και το σύντομο όνομα. Η στήλη του τύπου κλειδιού (key type) θα πρέπει να περιέχει τιμές του «pk» για το πρωτεύον κλειδί (primary key), «uk» για το μοναδικό κλειδί (unique key), και «fk» για τη στήλη του ξένου κλειδιού (foreign key). Θα είναι κενό εάν η στήλη δεν είναι μέρος κανενός κλειδιού. 13 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Συμβολισμοί Διαγράμματος Πίνακα Η στήλη Προαιρετικότητας (optionality) πρέπει να περιέχει * εάν η στήλη είναι υποχρεωτική, και o εάν είναι προαιρετική,όπως και στο διάγραμμα οντότητας. Η τρίτη στήλη είναι για το όνομα της στήλης (Column Name). 14 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Συμβάσεις Ονομασίας για Πίνακες και Στήλες Το όνομα του πίνακα είναι ο πληθυντικός του ονόματος της οντότητας. Παράδειγμα: Το ΜΑΘΗΤΗΣ (STUDENT) γίνεται ΜΑΘΗΤΕΣ (STUDENTS) 15 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Συμβάσεις Ονομασίας για Πίνακες και Στήλες (συνέχεια) Τα ονόματα των στηλών Είναι πανομοιότυπα με τα ονόματα των πεδίων με τη διαφορά ότι οι ειδικοί χαρακτήρες και τα κενά αντικαθίστανται με κάτω παύλες. Στα ονόματα των στηλών χρησιμοποιούνται περισσότερες συντομεύσεις απ ότι στα ονόματα των πεδίων. Παράδειγμα: Το πρώτο όνομα γίνεται πρώτο_όνομα, ή πόνομα 16 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Πίνακας Συντομεύσεων Μία μοναδική συντόμευση για κάθε πίνακα είναι χρήσιμη για την ονομασία στηλών ξένων κλειδιών. Ένας πιθανός τρόπος για να φτιάξετε τις συντομεύσεις αυτές βασίζεται στους ακόλουθους κανόνες: Για ονόματα οντοτήτων μεγαλύτερα της μιας λέξης, χρησιμοποιήσετε τον: Πρώτο χαρακτήρα της πρώτης λέξης Πρώτο χαρακτήρα της δεύτερης λέξης Τελευταίο χαρακτήρα της τελευταίας λέξης Παράδειγμα: Το ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ παίρνει τη συντόμευση ΑΕΣ 17 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Πίνακας Συντομεύσεων (συνέχεια) 18 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Πίνακας Συντομεύσεων (συνέχεια) Για ονόματα οντοτήτων μίας λέξης αλλά μεγαλύτερης της μίας συλλαβής, χρησιμοποιήσετε τον: Πρώτο χαρακτήρα της πρώτης συλλαβής Πρώτο χαρακτήρα της δεύτερης συλλαβής Τελευταίο χαρακτήρα της τελευταίας συλλαβής Παράδειγμα: Το ΕΡΓΑΖΟΜΕΝΟΣ παίρνει τη συντόμευση ΕΡΖΜΣ και το ΠΕΛΑΤΗΣ παίρνει τη συντόμευση ΠΛΣ 19 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Πίνακας Συντομεύσεων (συνέχεια) 20 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Πίνακας Συντομεύσεων (συνέχεια) Για ονόματα οντοτήτων μίας συλλαβής αλλά περισσοτέρων του ενός χαρακτήρα χρησιμοποιήσετε τους: Πρώτος χαρακτήρα Δεύτερος χαρακτήρα Τελευταίος χαρακτήρα Παράδειγμα: Το FLIGHT παίρνει τη συντόμευση FLT 21 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περιορισμοί Ονοματοδοσίας με την Oracle Ονόματα πινάκων και στηλών: Πρέπει να αρχίζουν με ένα γράμμα Μπορούν να περιέχουν μέχρι 30 αλφαριθμητικούς χαρακτήρες Δεν μπορούν να περιέχουν κενά ή ειδικούς χαρακτήρες όπως!, αλλά ο $, #, και _ επιτρέπονται. Τα ονόματα των πινάκων πρέπει να είναι μοναδικά μέσα στο λογαριασμό ενός χρήστη στη βάση δεδομένων της Oracle. Τα ονόματα των στηλών πρέπει να είναι μοναδικά μέσα σε έναν πίνακα. 22 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περιορισμοί Ονοματοδοσίας με την Oracle (συνέχεια) Κάποιες λέξεις έχουν μια ιδιαίτερη σημασία στη βάση δεδομένων της Oracle και στη γλώσσα προγραμματισμού SQL. Οι λέξεις αυτές ονομάζονται «δεσμευμένες» λέξεις. Είναι καλύτερο να αποφεύγετε να χρησιμοποιείτε τις λέξεις αυτές ως ονόματα για τους πίνακες και τις στήλες σας. 23 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περιορισμοί Ονοματοδοσίας με την Oracle (συνέχεια) Μερικά συνηθισμένα παραδείγματα δεσμευμένων λέξεων της Oracle είναι: ΠΙΝΑΚΑΣ ΑΡΙΘΜΟΣ ΑΚΟΛΟΥΘΙΑ ΣΕΙΡΑ ΤΙΜΕΣ ΕΠΙΠΕΔΟ ΤΥΠΟΣ Μια πλήρη λίστα μπορεί να βρεθεί στο otn.oracle.com. 24 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ορολογία Λέξεις κλειδιά που χρησιμοποιήθηκαν στο μάθημα αυτό: Χάρτης Δεσμευμένη λέξη Μετατρέπω 25 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περίληψη Στο μάθημα αυτό, θα πρέπει να έχετε μάθει πώς να: Διακρίνετε μεταξύ ενός θεωρητικού μοντέλου και ενός φυσικού μοντέλου Εφαρμόζετε ορολογία χαρτογράφησης μεταξύ των δύο μοντέλων Κατανοείτε και εφαρμόζετε τις συμβάσεις ονοματοδοσίας της Oracle για τους πίνακες και τις στήλες που χρησιμοποιούνται στα φυσικά μοντέλα Μετατρέπετε μία οντότητα σε ένα διάγραμμα πίνακα 26 Copyright 2013, Oracle and/or its affiliates. All rights reserved.