SlideShare une entreprise Scribd logo
1  sur  71
Με τη MySQL
Σύνδεση πινάκων
Σύνδεση Πινάκων
 Η μεγάλη δύναμη της SQL πηγάζει από τη σύνδεση
πινάκων.
 Όλες οι εφαρμογές προγραμμάτων πληροφορικής
στηρίζονται στη δημιουργία πινάκων και στη
σύνδεση μεταξύ αυτών
Σύνδεση Πινάκων
 Στις επόμενες διαφάνειες δημιουργούμε ένα νέο
πίνακα και καταχωρούμε σε αυτόν εγγραφές.
 Ο νέος πίνακας περιέχει γεωγραφικές περιοχές, τα
γεωγραφικά διαμερίσματα της Ελλάδας.
 Στη συνέχεια θα αντιστοιχήσουμε μια περιοχή σε
κάθε εγγραφή του πρώτου πίνακα.
 Υποθέτουμε ότι το κάθε πρόσωπο
δραστηριοποιείται σε συγκεκριμένες περιοχές
 Δηλαδή σε κάθε πρόσωπο θα προσθέσουμε τόπο
εργασίας.
Σύνδεση Πινάκων
 Ποια είναι η σχέση ανάμεσα σε εσάς και την θεία
σας, τον θείο σας, τα ξαδέλφια σας, τη γιαγιά σας
κλπ; Πώς θα μπορούσατε να εξηγήσετε σε κάποιον
τρίτο ότι η Ιωάννα είναι ξαδέλφη σας;
Σύνδεση Πινάκων
 Είναι απαραίτητο για την κοινωνία μας να
κατηγοριοποιεί τις σχέσεις μεταξύ των ανθρώπων
ή της αρκεί να αναγνωρίζει τα άτομα μόνο με το
όνομά τους;
Σύνδεση Πινάκων
 Για παράδειγμα, φανταστείτε ότι θέλετε να
συστήσετε σε κάποιον την ξαδέλφη σας την
Ιωάννα, χωρίς την αναφορά της λέξης «ξαδέλφη» ή
κάποια άλλη παρεμφερή. Θα λέγατε τότε «Αυτή
είναι η Ιωάννα, το παιδί της γυναίκας που έχει τους
ίδιους γονείς με τους γονείς μου».
Σύνδεση Πινάκων
 Πολύ μεγάλη εισαγωγή και κουραστική. Δεν θα
ήταν προτιμότερο να πείτε «Αυτή είναι η Ιωάννα, η
κόρη της θείας μου» ή πιο απλά ακόμη «Αυτή είναι
η Ιωάννα, ξαδέλφη μου»;
Σύνδεση Πινάκων
 Το παραπάνω καθημερινό παράδειγμα των
οικογενειακών σχέσεων συναντάται και στον χώρο
των επιχειρήσεων και των οργανισμών. Γενικά, οι
σχέσεις (relationships) μας βοηθούν να δούμε πώς
τα διάφορα μέρη ενός συστήματος επηρεάζουν το
ένα το άλλο.
Σύνδεση Πινάκων
 Για παράδειγμα, οι οντότητες ΜΑΘΗΤΗΣ
(STUDENT) και ΜΑΘΗΜΑ (COURSE) συνδέονται
μεταξύ τους. Κάθε μαθητής μπορεί να επιλέξει, για
παράδειγμα το μάθημα «Εφαρμογές
Πληροφορικής». Για να μοντελοποιήσουμε με
ακρίβεια την επιχείρηση ή τον οργανισμό, οι
σχέσεις μεταξύ των οντοτήτων είναι εξίσου
σημαντικές με τις ίδιες τις οντότητες.
Σύνδεση Πινάκων
 Στη συνέχεια παραθέτουμε κάποια παραδείγματα
σχέσεων μεταξύ διαφόρων οντοτήτων:
Σύνδεση Πινάκων
 Οι ΕΡΓΑΖΟΜΕΝΟΙ έχουν ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ
 Οι ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ κατέχονται από
ΕΡΓΑΖΟΜΕΝΟΥΣ
 Τα ΠΡΟΪΟΝΤΑ κατατάσσονται σύμφωνα με τον
ΤΥΠΟ ΤΟΥ ΠΡΟΪΟΝΤΟΣ
Σύνδεση Πινάκων
 Ο ΤΥΠΟΣ ΤΟΥ ΠΡΟΪΟΝΤΟΣ αποτελεί μια
κατηγοριοποίηση για ένα ΠΡΟΪΟΝ
 Οι ΑΝΘΡΩΠΟΙ κάνουν ΚΡΑΤΗΣΕΙΣ ΕΙΣΙΤΗΡΙΩΝ
 Οι ΚΡΑΤΗΣΕΙΣ ΕΙΣΙΤΗΡΙΟΥ γίνονται από
ΑΝΘΡΩΠΟΥΣ
Σύνδεση Πινάκων
 Οι σχέσεις είναι χαρακτηρίζονται ως υποχρεωτικές
(mandatory) ή προαιρετικές (optional). Θεωρήστε
τις δύο οντότητες ΕΡΓΑΖΟΜΕΝΟΣ (EMPLOYEE) και
ΘΕΣΗ ΕΡΓΑΣΙΑΣ (JOB). Για να μπορέσουμε να
καθορίσουμε το είδος της σχέσης που διέπει τις
παραπάνω οντότητες θα πρέπει να απαντήσουμε
στα παρακάτω δύο ερωτήματα:
Σύνδεση Πινάκων
 - Πρέπει κάθε εργαζόμενος να έχει μια θέση
εργασίας; Με άλλα λόγια, αυτό είναι ένα
υποχρεωτικό ή προαιρετικό για κάθε εργαζόμενο; -
 Πρέπει κάθε θέση εργασίας να αντιστοιχεί σε έναν
υπάλληλο; Με άλλα λόγια, αυτό είναι ένα
υποχρεωτικό ή προαιρετικό για κάθε θέση
εργασίας;
Σύνδεση Πινάκων
 Σε μία σχέση ένα ή περισσότερα στιγμιότυπα μιας
οντότητας μπορούν ή πρέπει να συσχετισθούν με
ένα στιγμιότυπο της άλλης οντότητας.
 Το αν θα είναι ένα ή περισσότερα στιγμιότυπα
εκφράζει αυτό που ονομάζουμε ως πληθάριθμος
(cardinality) μιας σχέσης.
Σύνδεση Πινάκων
 Ο πληθάριθμος μιας σχέσης μετράει την ποσότητα
από κάτι, απαντάει δηλαδή στην ερώτηση «Πόσα;».
 Για παράδειγμα:
Σύνδεση Πινάκων
 - Σε πόσες θέσεις εργασίας μπορεί ένας υπάλληλος
να εργάζεται; Σε μία θέση εργασίας μόνο ή σε
περισσότερες από μία;
 - Πόσοι υπάλληλοι μπορούν να κατέχουν μια
συγκεκριμένη θέση εργασίας; Ένας υπάλληλος
μόνο ή περισσότεροι από έναν εργαζόμενο;
Σύνδεση Πινάκων
 Ο πληθάριθμος μιας σχέσης απαντάει στο ερώτημα
αν το πλήθος είναι ένα ή περισσότερα από ένα. Δεν
δίνει απάντηση με ένα συγκεκριμένο πλήθος για
παράδειγμα τέσσερα (4).
Σύνδεση Πινάκων
 Οι παραπάνω ερωτήσεις είναι πολύ σημαντικές και
έχουν αντίκτυπο στον σχεδιασμό της βάσης
δεδομένων και συγκεκριμένα στο μοντέλο
συσχετίσεων οντοτήτων.
Σύνδεση Πινάκων
 Στο προαναφερθέν παράδειγμα επιλέγουμε τις
παρακάτω παραδοχές για τις οποίες θα δούμε στην
επόμενη ενότητα πώς απεικονίζονται με
διαγραμματικό τρόπο:
Σύνδεση Πινάκων
 Κάθε εργαζόμενος υποχρεωτικά (mandatory)
πρέπει να έχει ακριβώς μία (cardinality) θέση
εργασίας.
 Μια θέση εργασίας μπορεί (optionality) να
κατέχεται από περισσότερους από έναν
εργαζόμενους (cardinality). Δηλαδή για μία θέση
εργασίας μπορεί να έχουμε κανέναν, έναν ή
περισσότερους από έναν εργαζόμενους.
Σύνδεση Πινάκων
 Γενικά, τα μοντέλα οντοτήτων συσχετίσεων
χρησιμοποιούν τρεις τύπους σχέσεων:
 Ένα προς πολλά 1:M
 Πολλά προς πολλά M:Μ
 Ένα προς ένα 1:1
Ένα προς πολλά 1:M
 Ένας ζωγράφος ζωγραφίζει πολλούς πίνακες, αλλά
κάθε πίνακας αποτελεί δημιούργημα ενός μόνο
ζωγράφου.
 Η σχέση «Ο ζωγράφος ζωγραφίζει πίνακες» είναι
μία σχέση «ένα προς πολλά».
 Το «ένα» είναι από την πλευρά της οντότητας
«ΖΩΓΡΑΦΟΣ», ενώ το «πολλά» είναι από την
πλευρά της οντότητας «ΠΙΝΑΚΑΣ».
Πολλά προς πολλά M:Μ
 Ένας εργαζόμενος μπορεί να μάθει πολλές
δεξιότητες και κάθε δεξιότητα μπορεί να
κατακτηθεί από πολλούς εργαζόμενους.
 Η σχέση «Ο εργαζόμενος μαθαίνει μία δεξιότητας»
είναι μία σχέση «πολλά προς πολλά».
 Το «πολλά» είναι και από την πλευρά της
οντότητας «ΕΡΓΑΖΟΜΕΝΟΣ», αλλά και από την
πλευρά της οντότητας «ΔΕΞΙΟΤΗΤΑ».
Ένα προς ένα 1:1
 Μία εταιρεία λιανικού εμπορίου αναθέτει την
διαχείριση για κάθε ένα από τα καταστήματά της
σε ένα υπάλληλο.
 Κάθε υπεύθυνος καταστήματος διευθύνει ένα μόνο
κατάστημα.
 Η σχέση «Ο εργαζόμενος διευθύνει ένα κατάστημα»
είναι μία σχέση «ένα προς ένα».
 Το «ένα» είναι και από την πλευρά της οντότητας
«ΕΡΓΑΖΟΜΕΝΟΣ», αλλά και από την πλευρά της
οντότητας «ΚΑΤΑΣΤΗΜΑ».
Σύνδεση Πινάκων
 Επιπλέον περιορισμοί που έχουν να κάνουν με τους
κανόνες που διέπουν μία επιχείρηση ή έναν
οργανισμό, όπως για παράδειγμα οι βαθμοί ενός
μαθητή πρέπει να κυμαίνονται μεταξύ 8 και 20, δεν
μπορούν να αναπαρασταθούν από έναν
εννοιολογικό μοντέλο.
 Στην περίπτωση αυτή χρειάζεται να γραφτεί
κώδικας που θα ικανοποιεί τις απαιτήσεις της
επιχείρησης ή του οργανισμού.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Το μοντέλο συσχετίσεων οντοτήτων (Entity
Relationship model) είναι ένα εννοιολογικό
μοντέλο το οποίο χρησιμοποιείται ευρέως στον
σχεδιασμό βάσεων δεδομένων για την κατανόηση
και αναπαράσταση των απαιτήσεων δεδομένων
μιας επιχείρησης ή ενός οργανισμού.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Η μοντελοποίηση συσχετίσεων οντοτήτων (Entity
Relationship modeling) είναι ανεξάρτητη από το
υλικό ή το λογισμικό που χρησιμοποιείται ή θα
χρησιμοποιηθεί στην υλοποίηση, όπως φαίνεται
στο παρακάτω σχήμα.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Παρόλο που το μοντέλο συσχετίσεων οντοτήτων
(Entity Relationship Model) αποτελεί τον
θεμελιώδη λίθο για την δημιουργία κάθε τύπου
βάσης δεδομένων, όπως των ιεραρχικών
(hierarchical databases), των διαδικτυακών
(network databases) και των σχεσιακών βάσεων
δεδομένων (relational databases) συνδέεται
περισσότερο όμως με τις σχεσιακές βάσεις
δεδομένων.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Ένα μοντέλο συσχετίσεων οντοτήτων (ERM) είναι
μία λίστα οντοτήτων καθώς και σχέσεων μεταξύ
των οντοτήτων αυτών. Παρέχει βασικές
πληροφορίες, όπως περιγραφές οντοτήτων, τύπους
δεδομένων και περιορισμούς.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Το διάγραμμα συσχετίσεων οντοτήτων (ERD)
αποτελεί γραφική αναπαράσταση του μοντέλου
συσχετίσεων οντοτήτων. Χρησιμοποιεί μία σειρά
από γραφικά στοιχεία τα οποία θα μελετήσουμε
στη συνέχεια.
Μοντελοποίηση Συσχετίσεων
Οντοτήτων και ER Διάγραμμα
 Τα γραφικά αυτά στοιχεία διαφέρουν σε ορισμένα
σημεία από τα αντίστοιχα που παρουσιάστηκαν
στις προηγούμενες ενότητες, όπως είναι αυτό της
αναπαράστασης της συσχέτισης. Και στις δύο όμως
περιπτώσεις η μεθοδολογία και η προσέγγιση
παραμένει η ίδια.
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Κατά την διαδικασία της μοντελοποίησης είναι
δυνατό να ορίσετε αρκετές σχέσεις μεταξύ των
οντοτήτων του τύπου «πολλά προς πολλά» (Μ:M).
Οι περισσότερες από αυτές τις σχέσεις «πολλά
προς πολλά» «κρύβουν» μέσα τους οντότητες τις
οποίες θα χρειαστούμε στη συνέχεια για να τις
προσδώσουμε συγκεκριμένα γνωρίσματα.
Γνωρίσματα τα οποία απαραίτητα για μία
πληρέστερη εννοιολογική απόδοση των αναγκών
μίας επιχείρησης ή ενός οργανισμού.
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Ένα τυπικό παράδειγμα, αποτελεί αυτό της σχέσης
μεταξύ ΠΕΛΑΤΗ και ΠΡΟΪΟΝ, όπως παρουσιάζεται
στο παρακάτω διάγραμμα οντοτήτων-
συσχετίσεων. Μία εταιρεία λιανικού εμπορίου
πουλάει διάφορα προϊόντα σε πελάτες της. Ας
υποθέσουμε ότι γίνονται δεκτοί στο σύστημα και
μελλοντικοί πελάτες. Το ER διάγραμμα διαβάζεται
ως εξής:
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 - Ένας πελάτης μπορεί να αγοράσει ένα ή
περισσότερα προϊόντα.
 - Ένα προϊόν μπορεί να αγοραστεί από έναν ή
περισσότερους πελάτες.
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Για παράδειγμα, ο πελάτης Νίκος Χατζηπέτρου
αγοράζει δύο μπλούζες.
 Το όνομα «Νίκος Χατζηπέτρου» είναι το όνομα του
πελάτη και «μπλούζα» είναι το όνομα του
προϊόντος. Τίθεται το εξής ερώτημα:
 Η ποσότητα 2 ως πληροφορία σε ποια από τις δύο
οντότητες θα «αποθηκευτεί»; Στον ΠΕΛΑΤΗ ή στο
ΠΡΟΪΟΝ;
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Είναι ξεκάθαρο ότι η πληροφορία «Ποσότητα» δεν
αποτελεί γνώρισμα ούτε της οντότητας ΠΕΛΑΤΗ
αλλά ούτε και της οντότητας ΠΡΟΪΟΝ.
 Περισσότερο φαίνεται να είναι η πληροφορία
«Ποσότητα» γνώρισμα της σχέσης που συνδέει τον
ΠΕΛΑΤΗ με το ΠΡΟΪΟΝ.
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Οι συσχετίσεις όμως δεν έχουν και δεν μπορούν να
έχουν γνωρίσματα. Προφανώς λείπει μία οντότητα
της οποίας ένα γνώρισμα είναι η «Ποσότητα».
 Εισάγεται στο ER διάγραμμα η οντότητα
«ΠΑΡΑΓΓΕΛΙΑ», την οποία ονομάζουμε οντότητα
«τομής» (intersection entity).
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Με την δημιουργία μία τρίτης βοηθητικής
οντότητας, όπως είναι η οντότητα «ΠΑΡΑΓΓΕΛΙΑ»
στο προηγούμενο παράδειγμα, επιλύεται το
πρόβλημα των συσχετίσεων «πολλά προς πολλά».
 Η συσχέτιση «πολλά προς πολλά» παραχωρεί την
θέση της σε δύο συσχετίσεις «ένα προς πολλά».
Επίλυση Συσχετίσεων Πολλά προς
Πολλά
 Το μοναδικό αναγνωριστικό ή κλειδί της τρίτης
οντότητας προκύπτει από τον συνδυασμό των
κλειδιών των δύο αρχικών οντοτήτων.
 Τώρα, στο ER διάγραμμα οι συσχετίσεις που
ενώνουν τις δύο αρχικές οντότητες με την τρίτη
βοηθητική οντότητα είναι «ένα προς πολλά».
Με τη MySQL
Κανονικοποίηση
Μοναδικά Κλειδιά και Κανονικοποίηση
(Normalization)
 Ένα βασικό θέμα στον σχεδιασμό μιας βάσης
δεδομένων είναι ο προσδιορισμός των κλειδιών με
τα οποία γίνεται η αναζήτηση πληροφοριών στη
βάση δεδομένων.
Μοναδικά Κλειδιά και Κανονικοποίηση
(Normalization)
 Τα κλειδιά μπορεί να είναι πρωτεύοντα (μοναδικά
για κάθε εγγραφή), δευτερεύοντα (για παράδειγμα
το επίθετο ενός υπαλλήλου, μαθητή) ή σύνθετα
(ένωση δύο ή και περισσότερων
χαρακτηριστικών). Στην παρούσα ενότητα θα
αναφερθούμε στον προσδιορισμό των κλειδιών
μέσω παραδειγμάτων.
Μοναδικά Κλειδιά και Κανονικοποίηση
(Normalization)
 Οι πίνακες που προκύπτουν μετά τη μετατροπή
του μοντέλου ΟΣ σε σχεσιακό, περιέχουν ως
συνήθως πληροφορίες που επαναλαμβάνονται.
Μοναδικά Κλειδιά και Κανονικοποίηση
(Normalization)
 Η επαναλαμβανόμενες πληροφορίες οδηγούν σε
πολλαπλές γραμμές στον σχεδιασμό του
αντίστοιχου πίνακα, γεγονός που οδηγεί σε
σημαντικά προβλήματα.
 Η κανονικοποίηση σχέσεων αφορά στην
απλοποίηση των σχέσεων με στόχο την εξάλειψη
της επαναληπτικότητας των δεδομένων.
Πρωτεύον, Σύνθετο και Δευτερεύον
κλειδί
 Κάθε οντότητα έχει ένα σύνολο χαρακτηριστικών/
ιδιοτήτων.
 Αναλυτικά, έχουμε τους εξής τύπους
χαρακτηριστικών:
 Απλό ή Σύνθετο.
Πρωτεύον, Σύνθετο και Δευτερεύον
κλειδί
 Ένα απλό χαρακτηριστικό δεν μπορεί να
διαχωριστεί σε μικρότερα τμήματα, ενώ τα
σύνθετα χαρακτηριστικά μπορούν να χωριστούν
σε μικρότερα τμήματα σε άλλα απλούστερα
χαρακτηριστικά.
Πρωτεύον, Σύνθετο και Δευτερεύον
κλειδί
 Η χρήση συνθέτων χαρακτηριστικών είναι
καλύτερα να γίνεται όταν επιθυμούμε σε κάποιες
περιπτώσεις να αναφερόμαστε σε ολόκληρο το
χαρακτηριστικό, ενώ σε κάποιες άλλες
περιπτώσεις επιθυμούμε να αναφερόμαστε στα
επιμέρους τμήματά του.
Πρωτεύον, Σύνθετο και Δευτερεύον
κλειδί
 Για παράδειγμα,θα μπορούσαμε να
αντικαταστήσουμε τα χαρακτηριστικά οδός και
αριθμός του συνόλου οντοτήτων Μαθητής με το
σύνθετο χαρακτηριστικό διεύθυνση.
 Τα σύνθετα χαρακτηριστικά μας βοηθούν να
συγκεντρώσουμε συσχετιζόμενα χαρακτηριστικά
σε ομάδες, διευκολύνοντας το σχεδιασμό της ΒΔ.
Απλής Τιμής ή Πολλαπλής Τιμής
 Τα χαρακτηριστικά απλής τιμής έχουν μία μόνο
τιμή.
 Για παράδειγμα, το σύνολο Μαθητής έχει το
χαρακτηριστικό επίθετο το οποίο είναι ένα για
κάθε οντότητα .
 Υπάρχουν όμως χαρακτηριστικά με δυο ή
περισσότερες τιμές. Αυτά ονομάζονται
χαρακτηριστικά πολλαπλής τιμής.
Απλής Τιμής ή Πολλαπλής Τιμής
 Για παράδειγμα, θεωρείστε το σύνολο Μαθητής το
οποίο έχει το χαρακτηριστικό τηλέφωνο.
 Το χαρακτηριστικό τηλέφωνο μπορεί να έχει δύο ή
και περισσότερες τιμές εφόσον ο μαθητής μπορεί
να έχει σταθερό και κινητό τηλέφωνο.
 Στα χαρακτηριστικά πολλαπλής τιμής μπορούμε να
ορίσουμε κατώτερο και ανώτερο όριο τιμών.
Απλής Τιμής ή Πολλαπλής Τιμής
 Για παράδειγμα, μπορούμε να περιορίσουμε τον
αριθμό των τηλεφωνικών αριθμών που
επιθυμούμε να καταγράψουμε σε δύο μόνο (π.χ.
ένα αριθμό τηλεφώνου σπιτιού και ένα για κινητό).
 Τα χαρακτηριστικά αυτά αναπαριστώνται με διπλή
έλλειψη σε ένα διάγραμμα οντοτήτων
συσχετίσεων.
Κενό
 Μια κενή τιμή χρησιμοποιείται όταν κάποια
οντότητα δεν έχει τιμή για κάποιο χαρακτηριστικό.
 Για παράδειγμα, εάν κάποιος μαθητής δηλώσει ότι
δεν έχει τηλέφωνο, τότε η τιμή του
χαρακτηριστικού Τηλέφωνο για τον συγκεκριμένο
μαθητή θα είναι Κενό.
Πρωτεύον κλειδί
 Ένα χαρακτηριστικό/ιδιότητα ενός πίνακα
ονομάζεται πρωτεύον κλειδί εάν μπορεί να
διαχωρίζει τις διαφορετικές γραμμές του πίνακα.
 Για παράδειγμα, ο αριθμός αστυνομικής
ταυτότητας ή ο αριθμός φορολογικού μητρώου
μπορούν να θεωρηθούν ως πρωτεύοντα κλειδιά
για τον πίνακα Υπάλληλος εφόσον είναι μοναδικά
για κάθε υπάλληλο.
Πρωτεύον κλειδί
 Αντίθετα, το επίθετο δε θεωρείται πρωτεύον
κλειδί, διότι μπορεί να υπάρχουν πολλοί υπάλληλοι
που να έχουν το ίδιο επίθετο (για παράδειγμα το
επίθετο Παπαδόπουλος είναι κοινό και μπορεί να
το έχουν πολλοί υπάλληλοι μιας εταιρείας ή ενός
οργανισμού).
Πρωτεύον κλειδί
 Ένας πίνακας μπορεί να έχει περισσότερα από ένα
πρωτεύοντα κλειδιά (για παράδειγμα ο αριθμός
αστυνομικής ταυτότητας και ο αριθμός
φορολογικού μητρώου).
 Ωστόσο, ένα μόνο επιλέγεται να χρησιμοποιηθεί.
Πρωτεύον κλειδί
 Το κλειδί που επιλέγεται καλείται πρωτεύον κλειδί
(primary key) ενώ τα υπόλοιπα καλούνται
δευτερεύοντα (secondary).
 Ως δευτερεύον κλειδί στον πίνακα υπάλληλος
μπορεί να επιλεχθεί το επίθετο έτσι ώστε να
διευκολύνεται ο χρήστης στην αναζήτηση κάποιου
υπαλλήλου με τη χρήση του επίθετου.
Πρωτεύον κλειδί
 Σε πολλές περιπτώσεις το κλειδί ενός πίνακα
μπορεί να είναι σύνθετο (composite) δηλαδή να
αποτελείται από δύο ή και περισσότερα
χαρακτηριστικά.
 Με αυτόν τον τρόπο διαχωρίζονται οι γραμμές του
πίνακα και εύκολα ξεχωρίζει η εγγραφή
Παπαδόπουλος Ιωάννης του Ιωάννη από την
εγγραφή Παπαδόπουλος Ιωάννης του Χρήστου.
Κανονικοποίηση και Πρώτη Κανονική
Μορφή
 Ήδη αναφερθήκαμε στην επαναληπτικότητα των
δεδομένων και ότι αυτή δημιουργεί προβλήματα
στους πίνακες που προκύπτουν από το σχεσιακό
μοντέλο.
 Αναλογιστήκαμε όμως τους λόγους που καθιστούν
ανεπιθύμητη την επαναληπτικότητα;
 Οι κύριοι λόγοι είναι:
Οι κύριοι λόγοι είναι:
 Πρόβλημα Ενημέρωσης Δεδομένων
 Πρόβλημα Διαγραφής Δεδομένων
 Πρόβλημα Εισαγωγής Δεδομένων
Πρόβλημα Ενημέρωσης Δεδομένων
 Αν χρειαστεί να γίνει αλλαγή των δεδομένων κατά
τη χρήση της ΒΔ, αυτά πρέπει να αλλάξουν όπου
εμφανίζονται. Για παράδειγμα, η αλλαγή
διεύθυνσης ενός μαθητή οδηγεί σε ενημέρωση δύο
γραμμών του πίνακα Μαθητής.
Πρόβλημα Ενημέρωσης Δεδομένων
 Οι ενημερώσεις, δημιουργούν καθυστερήσεις και
αν για κάποιους λόγους δεν ενημερωθούν όλες οι
γραμμές του πίνακα οδηγούμαστε σε ασυνέπεια
δεδομένων (άλλες γραμμές να έχουν τη νέα
διεύθυνση και άλλες την παλιά).
Πρόβλημα Διαγραφής Δεδομένων
 Αν για κάποιους λόγους, ένας μαθητής καταργήσει
όλους τους τηλεφωνικούς του αριθμούς,
δηλώνοντας ότι δεν έχει τηλέφωνο, τι μπορούμε να
κάνουμε;
 Οι εναλλακτικές λύσεις που έχουμε αλλά καμία δεν
μπορεί να εφαρμοστεί είναι οι εξής:
Πρόβλημα Διαγραφής Δεδομένων
 1) να θέσουμε κενό (NULL) σε όλες τις τιμές της
στήλης τηλέφωνο, κάτι το οποίο δεν μπορεί να
γίνει διότι η στήλη μπορεί να συμμετέχει στο
πρωτεύον κλειδί του πίνακα, και
 2) να διαγράψουμε τις γραμμές του πίνακα, που
επίσης δεν μπορεί να γίνει διότι θα χάσουμε τις
υπόλοιπες πληροφορίες για το συγκεκριμένο
μαθητή.
Πρόβλημα Εισαγωγής Δεδομένων
 Κάθε φορά που εισάγουμε στη βάση δεδομένων
έναν νέο μαθητή, πρέπει να εισάγουμε και κάποιον
αριθμό τηλεφώνου, κάτι το οποίο δεν είναι
απαραίτητο να γίνει στην αρχή.
Κανονικοποίηση
 Βασικός στόχος της κανονικοποίησης είναι ο
προσδιορισμός ενός συνόλου πινάκων με στόχο
την ελαχιστοποίηση της επαναληπτικότητας
δεδομένων.
 Με τη μέθοδο της κανονικοποίησης
πραγματοποιούνται διαδοχικές διασπάσεις των
πινάκων σε πιο απλές μορφές.
Κανονικοποίηση
 Η διάσπαση ακολουθεί κάποιους κανόνες.
 Από τον αρχικό πίνακα απομακρύνονται κάποια
χαρακτηριστικά και τοποθετούνται σε νέους
πίνακες ώστε να είναι δυνατή η ανασύνδεση των
αρχικών πληροφοριών μέσω των νέων σχέσεων.
Κανονικοποίηση
 Έχουν προταθεί πέντε κανονικές μορφές που όμως
δεν θα αναλυθούν στην παρούσα ενότητα εκτός
από την πρώτη κανονική μορφή.
Πρώτη Κανονική Μορφή (1NF)
 Ένας πίνακας βρίσκεται στην πρώτη κανονική
μορφή όταν οι τιμές που λαμβάνει κάθε στήλη του
πίνακα είναι ατομικές.
 Επομένως, η πρώτη κανονική μορφή απαγορεύει
την ύπαρξη στηλών οι οποίες περιέχουν
χαρακτηριστικά πολλαπλής τιμής.
Πρώτη Κανονική Μορφή (1NF)
 Υπάρχουν δύο τρόποι για να μετασχηματίσουμε
έναν πίνακα που περιέχει πολλαπλές τιμές στην
πρώτη κανονική μορφή.
 Ο ένας τρόπος είναι να επαναλάβουμε τα δεδομένα
πολλές φορές, έτσι ώστε τελικά ο πίνακας που θα
προκύψει να περιέχει μόνο ατομικές τιμές στις
στήλες.
Πρώτη Κανονική Μορφή (1NF)
 Ο δεύτερος τρόπος είναι να χρησιμοποιήσουμε
ξεχωριστό πίνακα για τα χαρακτηριστικά
πολλαπλών τιμών.
 Και οι δύο τρόποι θεωρούνται σωστοί, όμως ο
δεύτερος μειώνει σημαντικά την
επαναληπτικότητα των δεδομένων.

Contenu connexe

Tendances

Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό GeogebraΔιδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
panarg
 
φυλλο εργασιας
φυλλο εργασιαςφυλλο εργασιας
φυλλο εργασιας
stratism
 
Ο Ζητιάνος του Καρκαβίτσα
Ο Ζητιάνος του ΚαρκαβίτσαΟ Ζητιάνος του Καρκαβίτσα
Ο Ζητιάνος του Καρκαβίτσα
4gymzografou
 

Tendances (20)

Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό GeogebraΔιδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
Διδασκαλία:'Ο γεωμετρικός τόπος των σημείων της έλλειψης' με λογισμικό Geogebra
 
Φύλλα Εργασίας Αναζήτηση στο Διαδίκτυο
Φύλλα Εργασίας Αναζήτηση στο ΔιαδίκτυοΦύλλα Εργασίας Αναζήτηση στο Διαδίκτυο
Φύλλα Εργασίας Αναζήτηση στο Διαδίκτυο
 
φυλλο εργασιας
φυλλο εργασιαςφυλλο εργασιας
φυλλο εργασιας
 
İleri Seviye T-SQL Programlama - Chapter 04
İleri Seviye T-SQL Programlama - Chapter 04İleri Seviye T-SQL Programlama - Chapter 04
İleri Seviye T-SQL Programlama - Chapter 04
 
Sql wksht-1
Sql wksht-1Sql wksht-1
Sql wksht-1
 
Restricting and sorting data
Restricting and sorting dataRestricting and sorting data
Restricting and sorting data
 
Ενοτητα 1η, παράγοντες επικοινωνίας
Ενοτητα 1η, παράγοντες επικοινωνίαςΕνοτητα 1η, παράγοντες επικοινωνίας
Ενοτητα 1η, παράγοντες επικοινωνίας
 
10.2.3δικαστικη λειτουργια
10.2.3δικαστικη λειτουργια10.2.3δικαστικη λειτουργια
10.2.3δικαστικη λειτουργια
 
Κώδικες επικοινωνίας, ερευνητική εργασία 2012-13
Κώδικες επικοινωνίας, ερευνητική εργασία 2012-13Κώδικες επικοινωνίας, ερευνητική εργασία 2012-13
Κώδικες επικοινωνίας, ερευνητική εργασία 2012-13
 
Διαδικτυακή φιλία
Διαδικτυακή φιλίαΔιαδικτυακή φιλία
Διαδικτυακή φιλία
 
Τα Πάθη του Χριστού και η Ανάσταση στη ζωγραφική και στην ποίηση
Τα Πάθη του Χριστού  και η Ανάσταση στη ζωγραφική  και στην ποίηση Τα Πάθη του Χριστού  και η Ανάσταση στη ζωγραφική  και στην ποίηση
Τα Πάθη του Χριστού και η Ανάσταση στη ζωγραφική και στην ποίηση
 
Ηλεκτρονικό Εμπόριο
Ηλεκτρονικό ΕμπόριοΗλεκτρονικό Εμπόριο
Ηλεκτρονικό Εμπόριο
 
10 - Οντοσυσχετιστική Μοντελοποίηση
10 - Οντοσυσχετιστική Μοντελοποίηση10 - Οντοσυσχετιστική Μοντελοποίηση
10 - Οντοσυσχετιστική Μοντελοποίηση
 
5.5 κληρονομικότητα
5.5 κληρονομικότητα5.5 κληρονομικότητα
5.5 κληρονομικότητα
 
ερωτησεισ βιολογιασ για την τριτη γυμνασιου 2017 2018
ερωτησεισ βιολογιασ για την τριτη γυμνασιου 2017 2018ερωτησεισ βιολογιασ για την τριτη γυμνασιου 2017 2018
ερωτησεισ βιολογιασ για την τριτη γυμνασιου 2017 2018
 
Θέματα Εξετάσεων Μαϊου-Ιουνίου Πληροφορική Γ Γυμνασίου
Θέματα Εξετάσεων Μαϊου-Ιουνίου Πληροφορική Γ ΓυμνασίουΘέματα Εξετάσεων Μαϊου-Ιουνίου Πληροφορική Γ Γυμνασίου
Θέματα Εξετάσεων Μαϊου-Ιουνίου Πληροφορική Γ Γυμνασίου
 
Κατσαβίδι
ΚατσαβίδιΚατσαβίδι
Κατσαβίδι
 
Εφαρμογές νέφους (cloud computing)
Εφαρμογές νέφους (cloud computing)Εφαρμογές νέφους (cloud computing)
Εφαρμογές νέφους (cloud computing)
 
Εισαγωγή στις Βάσεις Δεδομένων
Εισαγωγή στις Βάσεις ΔεδομένωνΕισαγωγή στις Βάσεις Δεδομένων
Εισαγωγή στις Βάσεις Δεδομένων
 
Ο Ζητιάνος του Καρκαβίτσα
Ο Ζητιάνος του ΚαρκαβίτσαΟ Ζητιάνος του Καρκαβίτσα
Ο Ζητιάνος του Καρκαβίτσα
 

Similaire à Κανονικοποίηση βάσης δεδομένων

δημιουργός μοντέλων παρουσίαση
δημιουργός μοντέλων  παρουσίασηδημιουργός μοντέλων  παρουσίαση
δημιουργός μοντέλων παρουσίαση
Kostis Talampiris
 
δημιουργός μοντέλων
δημιουργός μοντέλωνδημιουργός μοντέλων
δημιουργός μοντέλων
pramas
 
Στατιστική_Ε΄_ΣΤ΄
Στατιστική_Ε΄_ΣΤ΄Στατιστική_Ε΄_ΣΤ΄
Στατιστική_Ε΄_ΣΤ΄
Georgia Palapela
 

Similaire à Κανονικοποίηση βάσης δεδομένων (20)

δημιουργός μοντέλων παρουσίαση
δημιουργός μοντέλων  παρουσίασηδημιουργός μοντέλων  παρουσίαση
δημιουργός μοντέλων παρουσίαση
 
Power point
Power pointPower point
Power point
 
OMAΔΑ 37
OMAΔΑ 37OMAΔΑ 37
OMAΔΑ 37
 
δημιουργός μοντέλων
δημιουργός μοντέλωνδημιουργός μοντέλων
δημιουργός μοντέλων
 
“H επίδραση της εταιρικής παρουσίας στο LinkedIn® στη διαμόρφωση εταιρικής ει...
“H επίδραση της εταιρικής παρουσίας στο LinkedIn® στη διαμόρφωση εταιρικής ει...“H επίδραση της εταιρικής παρουσίας στο LinkedIn® στη διαμόρφωση εταιρικής ει...
“H επίδραση της εταιρικής παρουσίας στο LinkedIn® στη διαμόρφωση εταιρικής ει...
 
σημειώσεις συνάντηση 9
σημειώσεις συνάντηση 9σημειώσεις συνάντηση 9
σημειώσεις συνάντηση 9
 
ΣΗΜΕΙΩΣΕΙΣ 8
ΣΗΜΕΙΩΣΕΙΣ 8ΣΗΜΕΙΩΣΕΙΣ 8
ΣΗΜΕΙΩΣΕΙΣ 8
 
C6 6 Creation and Deletion of Relationships
C6 6 Creation and Deletion of Relationships C6 6 Creation and Deletion of Relationships
C6 6 Creation and Deletion of Relationships
 
C6 5 Table Relationships
C6 5 Table RelationshipsC6 5 Table Relationships
C6 5 Table Relationships
 
Περιγραφική Στατιστική με το Spss
Περιγραφική Στατιστική με το SpssΠεριγραφική Στατιστική με το Spss
Περιγραφική Στατιστική με το Spss
 
Εναύσματα-Δημιουργία εκπαιδευτικής εφαρμογής με εμφάνιση κρυμμένου κειμένου-P...
Εναύσματα-Δημιουργία εκπαιδευτικής εφαρμογής με εμφάνιση κρυμμένου κειμένου-P...Εναύσματα-Δημιουργία εκπαιδευτικής εφαρμογής με εμφάνιση κρυμμένου κειμένου-P...
Εναύσματα-Δημιουργία εκπαιδευτικής εφαρμογής με εμφάνιση κρυμμένου κειμένου-P...
 
Λογισμικά γενικής χρήσης: Διδακτικές Προσεγγίσεις
Λογισμικά γενικής χρήσης: Διδακτικές ΠροσεγγίσειςΛογισμικά γενικής χρήσης: Διδακτικές Προσεγγίσεις
Λογισμικά γενικής χρήσης: Διδακτικές Προσεγγίσεις
 
Διδακτικές προσεγγίσεις λογισμικών γενικής χρήσης
Διδακτικές προσεγγίσεις λογισμικών γενικής χρήσηςΔιδακτικές προσεγγίσεις λογισμικών γενικής χρήσης
Διδακτικές προσεγγίσεις λογισμικών γενικής χρήσης
 
ASOCEU GREECE - Lesson 2 - Data Refining (slides)
ASOCEU GREECE - Lesson 2 - Data Refining (slides)ASOCEU GREECE - Lesson 2 - Data Refining (slides)
ASOCEU GREECE - Lesson 2 - Data Refining (slides)
 
Networking be creative at your job search
Networking be creative at your job searchNetworking be creative at your job search
Networking be creative at your job search
 
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
 
CSR_Module3_Διερεύνηση Πλεονεκτημάτων ΕΚΕ
CSR_Module3_Διερεύνηση Πλεονεκτημάτων ΕΚΕCSR_Module3_Διερεύνηση Πλεονεκτημάτων ΕΚΕ
CSR_Module3_Διερεύνηση Πλεονεκτημάτων ΕΚΕ
 
εννοιολογικοί χάρτες Ιπποκράτης Κοχλιαρίδης αεμ: 362
εννοιολογικοί χάρτες Ιπποκράτης Κοχλιαρίδης αεμ: 362εννοιολογικοί χάρτες Ιπποκράτης Κοχλιαρίδης αεμ: 362
εννοιολογικοί χάρτες Ιπποκράτης Κοχλιαρίδης αεμ: 362
 
Στατιστική_Ε΄_ΣΤ΄
Στατιστική_Ε΄_ΣΤ΄Στατιστική_Ε΄_ΣΤ΄
Στατιστική_Ε΄_ΣΤ΄
 
ΕΝΝΟΙΟΛΟΓΙΚΟΙ ΧΑΡΤΕΣ - Conceptual maps
ΕΝΝΟΙΟΛΟΓΙΚΟΙ ΧΑΡΤΕΣ - Conceptual mapsΕΝΝΟΙΟΛΟΓΙΚΟΙ ΧΑΡΤΕΣ - Conceptual maps
ΕΝΝΟΙΟΛΟΓΙΚΟΙ ΧΑΡΤΕΣ - Conceptual maps
 

Plus de Nikos Mpalatsoukas

Plus de Nikos Mpalatsoukas (20)

Μαζική αποστολή email
Μαζική αποστολή emailΜαζική αποστολή email
Μαζική αποστολή email
 
Χρήση Vba για την πρόσβαση σε βάση δεδομένων
Χρήση Vba για την πρόσβαση σε βάση δεδομένωνΧρήση Vba για την πρόσβαση σε βάση δεδομένων
Χρήση Vba για την πρόσβαση σε βάση δεδομένων
 
Vba παρουσίαση
Vba παρουσίασηVba παρουσίαση
Vba παρουσίαση
 
Δημιουργία βιογραφικού europass cv
Δημιουργία βιογραφικού europass cvΔημιουργία βιογραφικού europass cv
Δημιουργία βιογραφικού europass cv
 
Διαφοροποιημένη διδασκαλία στην πληροφορική
Διαφοροποιημένη διδασκαλία στην πληροφορικήΔιαφοροποιημένη διδασκαλία στην πληροφορική
Διαφοροποιημένη διδασκαλία στην πληροφορική
 
Wordpress administrator home-page
Wordpress administrator home-pageWordpress administrator home-page
Wordpress administrator home-page
 
Photoshop levels πολύ φωτεινή εικόνα
Photoshop levels πολύ φωτεινή εικόναPhotoshop levels πολύ φωτεινή εικόνα
Photoshop levels πολύ φωτεινή εικόνα
 
Photoshop curves και levels σε πολύ σκοτεινή εικόνα
Photoshop curves και levels σε πολύ σκοτεινή εικόναPhotoshop curves και levels σε πολύ σκοτεινή εικόνα
Photoshop curves και levels σε πολύ σκοτεινή εικόνα
 
Εγκατάσταση tux-paint
Εγκατάσταση tux-paintΕγκατάσταση tux-paint
Εγκατάσταση tux-paint
 
Οδηγίες για την εξ αποστάσεως εκπαίδευση με το webex
Οδηγίες για την εξ αποστάσεως εκπαίδευση με το webexΟδηγίες για την εξ αποστάσεως εκπαίδευση με το webex
Οδηγίες για την εξ αποστάσεως εκπαίδευση με το webex
 
Ασφάλεια στο webex
Ασφάλεια στο webexΑσφάλεια στο webex
Ασφάλεια στο webex
 
Σύνδεση εκπαιδευόμενου στο Webex μέσω smartphone
Σύνδεση εκπαιδευόμενου στο Webex μέσω smartphoneΣύνδεση εκπαιδευόμενου στο Webex μέσω smartphone
Σύνδεση εκπαιδευόμενου στο Webex μέσω smartphone
 
Σύνδεση εκπαιδευόμενου στο Webex μέσω υπολογιστή
Σύνδεση εκπαιδευόμενου στο Webex μέσω υπολογιστήΣύνδεση εκπαιδευόμενου στο Webex μέσω υπολογιστή
Σύνδεση εκπαιδευόμενου στο Webex μέσω υπολογιστή
 
Πως να κάνετε activate το Webex
Πως να κάνετε activate το WebexΠως να κάνετε activate το Webex
Πως να κάνετε activate το Webex
 
GDPR GAP Analysis
GDPR GAP AnalysisGDPR GAP Analysis
GDPR GAP Analysis
 
Εκτίμηση αντίκτυπου σχετικά με την προστασία δεδομένων
Εκτίμηση αντίκτυπου σχετικά με την προστασία δεδομένωνΕκτίμηση αντίκτυπου σχετικά με την προστασία δεδομένων
Εκτίμηση αντίκτυπου σχετικά με την προστασία δεδομένων
 
Χαρτογράφηση ροής δεδομένων Data Flow Mapping
Χαρτογράφηση ροής δεδομένων Data Flow MappingΧαρτογράφηση ροής δεδομένων Data Flow Mapping
Χαρτογράφηση ροής δεδομένων Data Flow Mapping
 
Η λίστα ελέγχου συμβατότητας με το Γενικό Κανονισμο προστασίας Δεδομένων
Η λίστα ελέγχου συμβατότητας με το Γενικό Κανονισμο προστασίας ΔεδομένωνΗ λίστα ελέγχου συμβατότητας με το Γενικό Κανονισμο προστασίας Δεδομένων
Η λίστα ελέγχου συμβατότητας με το Γενικό Κανονισμο προστασίας Δεδομένων
 
Διαβίβαση δεδομένων σε άλλον οργανισμό και GDPR
Διαβίβαση δεδομένων σε άλλον οργανισμό και GDPRΔιαβίβαση δεδομένων σε άλλον οργανισμό και GDPR
Διαβίβαση δεδομένων σε άλλον οργανισμό και GDPR
 
Συμμόρφωση επιχειρήσεων και οργανισμών με το GDPR
Συμμόρφωση επιχειρήσεων και οργανισμών με το GDPRΣυμμόρφωση επιχειρήσεων και οργανισμών με το GDPR
Συμμόρφωση επιχειρήσεων και οργανισμών με το GDPR
 

Dernier

εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
Effie Lampropoulou
 

Dernier (14)

-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
 
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 

Κανονικοποίηση βάσης δεδομένων

  • 2. Σύνδεση Πινάκων  Η μεγάλη δύναμη της SQL πηγάζει από τη σύνδεση πινάκων.  Όλες οι εφαρμογές προγραμμάτων πληροφορικής στηρίζονται στη δημιουργία πινάκων και στη σύνδεση μεταξύ αυτών
  • 3. Σύνδεση Πινάκων  Στις επόμενες διαφάνειες δημιουργούμε ένα νέο πίνακα και καταχωρούμε σε αυτόν εγγραφές.  Ο νέος πίνακας περιέχει γεωγραφικές περιοχές, τα γεωγραφικά διαμερίσματα της Ελλάδας.  Στη συνέχεια θα αντιστοιχήσουμε μια περιοχή σε κάθε εγγραφή του πρώτου πίνακα.  Υποθέτουμε ότι το κάθε πρόσωπο δραστηριοποιείται σε συγκεκριμένες περιοχές  Δηλαδή σε κάθε πρόσωπο θα προσθέσουμε τόπο εργασίας.
  • 4. Σύνδεση Πινάκων  Ποια είναι η σχέση ανάμεσα σε εσάς και την θεία σας, τον θείο σας, τα ξαδέλφια σας, τη γιαγιά σας κλπ; Πώς θα μπορούσατε να εξηγήσετε σε κάποιον τρίτο ότι η Ιωάννα είναι ξαδέλφη σας;
  • 5. Σύνδεση Πινάκων  Είναι απαραίτητο για την κοινωνία μας να κατηγοριοποιεί τις σχέσεις μεταξύ των ανθρώπων ή της αρκεί να αναγνωρίζει τα άτομα μόνο με το όνομά τους;
  • 6. Σύνδεση Πινάκων  Για παράδειγμα, φανταστείτε ότι θέλετε να συστήσετε σε κάποιον την ξαδέλφη σας την Ιωάννα, χωρίς την αναφορά της λέξης «ξαδέλφη» ή κάποια άλλη παρεμφερή. Θα λέγατε τότε «Αυτή είναι η Ιωάννα, το παιδί της γυναίκας που έχει τους ίδιους γονείς με τους γονείς μου».
  • 7. Σύνδεση Πινάκων  Πολύ μεγάλη εισαγωγή και κουραστική. Δεν θα ήταν προτιμότερο να πείτε «Αυτή είναι η Ιωάννα, η κόρη της θείας μου» ή πιο απλά ακόμη «Αυτή είναι η Ιωάννα, ξαδέλφη μου»;
  • 8. Σύνδεση Πινάκων  Το παραπάνω καθημερινό παράδειγμα των οικογενειακών σχέσεων συναντάται και στον χώρο των επιχειρήσεων και των οργανισμών. Γενικά, οι σχέσεις (relationships) μας βοηθούν να δούμε πώς τα διάφορα μέρη ενός συστήματος επηρεάζουν το ένα το άλλο.
  • 9. Σύνδεση Πινάκων  Για παράδειγμα, οι οντότητες ΜΑΘΗΤΗΣ (STUDENT) και ΜΑΘΗΜΑ (COURSE) συνδέονται μεταξύ τους. Κάθε μαθητής μπορεί να επιλέξει, για παράδειγμα το μάθημα «Εφαρμογές Πληροφορικής». Για να μοντελοποιήσουμε με ακρίβεια την επιχείρηση ή τον οργανισμό, οι σχέσεις μεταξύ των οντοτήτων είναι εξίσου σημαντικές με τις ίδιες τις οντότητες.
  • 10. Σύνδεση Πινάκων  Στη συνέχεια παραθέτουμε κάποια παραδείγματα σχέσεων μεταξύ διαφόρων οντοτήτων:
  • 11. Σύνδεση Πινάκων  Οι ΕΡΓΑΖΟΜΕΝΟΙ έχουν ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ  Οι ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ κατέχονται από ΕΡΓΑΖΟΜΕΝΟΥΣ  Τα ΠΡΟΪΟΝΤΑ κατατάσσονται σύμφωνα με τον ΤΥΠΟ ΤΟΥ ΠΡΟΪΟΝΤΟΣ
  • 12. Σύνδεση Πινάκων  Ο ΤΥΠΟΣ ΤΟΥ ΠΡΟΪΟΝΤΟΣ αποτελεί μια κατηγοριοποίηση για ένα ΠΡΟΪΟΝ  Οι ΑΝΘΡΩΠΟΙ κάνουν ΚΡΑΤΗΣΕΙΣ ΕΙΣΙΤΗΡΙΩΝ  Οι ΚΡΑΤΗΣΕΙΣ ΕΙΣΙΤΗΡΙΟΥ γίνονται από ΑΝΘΡΩΠΟΥΣ
  • 13. Σύνδεση Πινάκων  Οι σχέσεις είναι χαρακτηρίζονται ως υποχρεωτικές (mandatory) ή προαιρετικές (optional). Θεωρήστε τις δύο οντότητες ΕΡΓΑΖΟΜΕΝΟΣ (EMPLOYEE) και ΘΕΣΗ ΕΡΓΑΣΙΑΣ (JOB). Για να μπορέσουμε να καθορίσουμε το είδος της σχέσης που διέπει τις παραπάνω οντότητες θα πρέπει να απαντήσουμε στα παρακάτω δύο ερωτήματα:
  • 14. Σύνδεση Πινάκων  - Πρέπει κάθε εργαζόμενος να έχει μια θέση εργασίας; Με άλλα λόγια, αυτό είναι ένα υποχρεωτικό ή προαιρετικό για κάθε εργαζόμενο; -  Πρέπει κάθε θέση εργασίας να αντιστοιχεί σε έναν υπάλληλο; Με άλλα λόγια, αυτό είναι ένα υποχρεωτικό ή προαιρετικό για κάθε θέση εργασίας;
  • 15. Σύνδεση Πινάκων  Σε μία σχέση ένα ή περισσότερα στιγμιότυπα μιας οντότητας μπορούν ή πρέπει να συσχετισθούν με ένα στιγμιότυπο της άλλης οντότητας.  Το αν θα είναι ένα ή περισσότερα στιγμιότυπα εκφράζει αυτό που ονομάζουμε ως πληθάριθμος (cardinality) μιας σχέσης.
  • 16. Σύνδεση Πινάκων  Ο πληθάριθμος μιας σχέσης μετράει την ποσότητα από κάτι, απαντάει δηλαδή στην ερώτηση «Πόσα;».  Για παράδειγμα:
  • 17. Σύνδεση Πινάκων  - Σε πόσες θέσεις εργασίας μπορεί ένας υπάλληλος να εργάζεται; Σε μία θέση εργασίας μόνο ή σε περισσότερες από μία;  - Πόσοι υπάλληλοι μπορούν να κατέχουν μια συγκεκριμένη θέση εργασίας; Ένας υπάλληλος μόνο ή περισσότεροι από έναν εργαζόμενο;
  • 18. Σύνδεση Πινάκων  Ο πληθάριθμος μιας σχέσης απαντάει στο ερώτημα αν το πλήθος είναι ένα ή περισσότερα από ένα. Δεν δίνει απάντηση με ένα συγκεκριμένο πλήθος για παράδειγμα τέσσερα (4).
  • 19. Σύνδεση Πινάκων  Οι παραπάνω ερωτήσεις είναι πολύ σημαντικές και έχουν αντίκτυπο στον σχεδιασμό της βάσης δεδομένων και συγκεκριμένα στο μοντέλο συσχετίσεων οντοτήτων.
  • 20. Σύνδεση Πινάκων  Στο προαναφερθέν παράδειγμα επιλέγουμε τις παρακάτω παραδοχές για τις οποίες θα δούμε στην επόμενη ενότητα πώς απεικονίζονται με διαγραμματικό τρόπο:
  • 21. Σύνδεση Πινάκων  Κάθε εργαζόμενος υποχρεωτικά (mandatory) πρέπει να έχει ακριβώς μία (cardinality) θέση εργασίας.  Μια θέση εργασίας μπορεί (optionality) να κατέχεται από περισσότερους από έναν εργαζόμενους (cardinality). Δηλαδή για μία θέση εργασίας μπορεί να έχουμε κανέναν, έναν ή περισσότερους από έναν εργαζόμενους.
  • 22. Σύνδεση Πινάκων  Γενικά, τα μοντέλα οντοτήτων συσχετίσεων χρησιμοποιούν τρεις τύπους σχέσεων:  Ένα προς πολλά 1:M  Πολλά προς πολλά M:Μ  Ένα προς ένα 1:1
  • 23. Ένα προς πολλά 1:M  Ένας ζωγράφος ζωγραφίζει πολλούς πίνακες, αλλά κάθε πίνακας αποτελεί δημιούργημα ενός μόνο ζωγράφου.  Η σχέση «Ο ζωγράφος ζωγραφίζει πίνακες» είναι μία σχέση «ένα προς πολλά».  Το «ένα» είναι από την πλευρά της οντότητας «ΖΩΓΡΑΦΟΣ», ενώ το «πολλά» είναι από την πλευρά της οντότητας «ΠΙΝΑΚΑΣ».
  • 24. Πολλά προς πολλά M:Μ  Ένας εργαζόμενος μπορεί να μάθει πολλές δεξιότητες και κάθε δεξιότητα μπορεί να κατακτηθεί από πολλούς εργαζόμενους.  Η σχέση «Ο εργαζόμενος μαθαίνει μία δεξιότητας» είναι μία σχέση «πολλά προς πολλά».  Το «πολλά» είναι και από την πλευρά της οντότητας «ΕΡΓΑΖΟΜΕΝΟΣ», αλλά και από την πλευρά της οντότητας «ΔΕΞΙΟΤΗΤΑ».
  • 25. Ένα προς ένα 1:1  Μία εταιρεία λιανικού εμπορίου αναθέτει την διαχείριση για κάθε ένα από τα καταστήματά της σε ένα υπάλληλο.  Κάθε υπεύθυνος καταστήματος διευθύνει ένα μόνο κατάστημα.  Η σχέση «Ο εργαζόμενος διευθύνει ένα κατάστημα» είναι μία σχέση «ένα προς ένα».  Το «ένα» είναι και από την πλευρά της οντότητας «ΕΡΓΑΖΟΜΕΝΟΣ», αλλά και από την πλευρά της οντότητας «ΚΑΤΑΣΤΗΜΑ».
  • 26. Σύνδεση Πινάκων  Επιπλέον περιορισμοί που έχουν να κάνουν με τους κανόνες που διέπουν μία επιχείρηση ή έναν οργανισμό, όπως για παράδειγμα οι βαθμοί ενός μαθητή πρέπει να κυμαίνονται μεταξύ 8 και 20, δεν μπορούν να αναπαρασταθούν από έναν εννοιολογικό μοντέλο.  Στην περίπτωση αυτή χρειάζεται να γραφτεί κώδικας που θα ικανοποιεί τις απαιτήσεις της επιχείρησης ή του οργανισμού.
  • 27. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Το μοντέλο συσχετίσεων οντοτήτων (Entity Relationship model) είναι ένα εννοιολογικό μοντέλο το οποίο χρησιμοποιείται ευρέως στον σχεδιασμό βάσεων δεδομένων για την κατανόηση και αναπαράσταση των απαιτήσεων δεδομένων μιας επιχείρησης ή ενός οργανισμού.
  • 28. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Η μοντελοποίηση συσχετίσεων οντοτήτων (Entity Relationship modeling) είναι ανεξάρτητη από το υλικό ή το λογισμικό που χρησιμοποιείται ή θα χρησιμοποιηθεί στην υλοποίηση, όπως φαίνεται στο παρακάτω σχήμα.
  • 29. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Παρόλο που το μοντέλο συσχετίσεων οντοτήτων (Entity Relationship Model) αποτελεί τον θεμελιώδη λίθο για την δημιουργία κάθε τύπου βάσης δεδομένων, όπως των ιεραρχικών (hierarchical databases), των διαδικτυακών (network databases) και των σχεσιακών βάσεων δεδομένων (relational databases) συνδέεται περισσότερο όμως με τις σχεσιακές βάσεις δεδομένων.
  • 30. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Ένα μοντέλο συσχετίσεων οντοτήτων (ERM) είναι μία λίστα οντοτήτων καθώς και σχέσεων μεταξύ των οντοτήτων αυτών. Παρέχει βασικές πληροφορίες, όπως περιγραφές οντοτήτων, τύπους δεδομένων και περιορισμούς.
  • 31. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Το διάγραμμα συσχετίσεων οντοτήτων (ERD) αποτελεί γραφική αναπαράσταση του μοντέλου συσχετίσεων οντοτήτων. Χρησιμοποιεί μία σειρά από γραφικά στοιχεία τα οποία θα μελετήσουμε στη συνέχεια.
  • 32. Μοντελοποίηση Συσχετίσεων Οντοτήτων και ER Διάγραμμα  Τα γραφικά αυτά στοιχεία διαφέρουν σε ορισμένα σημεία από τα αντίστοιχα που παρουσιάστηκαν στις προηγούμενες ενότητες, όπως είναι αυτό της αναπαράστασης της συσχέτισης. Και στις δύο όμως περιπτώσεις η μεθοδολογία και η προσέγγιση παραμένει η ίδια.
  • 33. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Κατά την διαδικασία της μοντελοποίησης είναι δυνατό να ορίσετε αρκετές σχέσεις μεταξύ των οντοτήτων του τύπου «πολλά προς πολλά» (Μ:M). Οι περισσότερες από αυτές τις σχέσεις «πολλά προς πολλά» «κρύβουν» μέσα τους οντότητες τις οποίες θα χρειαστούμε στη συνέχεια για να τις προσδώσουμε συγκεκριμένα γνωρίσματα. Γνωρίσματα τα οποία απαραίτητα για μία πληρέστερη εννοιολογική απόδοση των αναγκών μίας επιχείρησης ή ενός οργανισμού.
  • 34. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Ένα τυπικό παράδειγμα, αποτελεί αυτό της σχέσης μεταξύ ΠΕΛΑΤΗ και ΠΡΟΪΟΝ, όπως παρουσιάζεται στο παρακάτω διάγραμμα οντοτήτων- συσχετίσεων. Μία εταιρεία λιανικού εμπορίου πουλάει διάφορα προϊόντα σε πελάτες της. Ας υποθέσουμε ότι γίνονται δεκτοί στο σύστημα και μελλοντικοί πελάτες. Το ER διάγραμμα διαβάζεται ως εξής:
  • 35. Επίλυση Συσχετίσεων Πολλά προς Πολλά  - Ένας πελάτης μπορεί να αγοράσει ένα ή περισσότερα προϊόντα.  - Ένα προϊόν μπορεί να αγοραστεί από έναν ή περισσότερους πελάτες.
  • 36. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Για παράδειγμα, ο πελάτης Νίκος Χατζηπέτρου αγοράζει δύο μπλούζες.  Το όνομα «Νίκος Χατζηπέτρου» είναι το όνομα του πελάτη και «μπλούζα» είναι το όνομα του προϊόντος. Τίθεται το εξής ερώτημα:  Η ποσότητα 2 ως πληροφορία σε ποια από τις δύο οντότητες θα «αποθηκευτεί»; Στον ΠΕΛΑΤΗ ή στο ΠΡΟΪΟΝ;
  • 37. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Είναι ξεκάθαρο ότι η πληροφορία «Ποσότητα» δεν αποτελεί γνώρισμα ούτε της οντότητας ΠΕΛΑΤΗ αλλά ούτε και της οντότητας ΠΡΟΪΟΝ.  Περισσότερο φαίνεται να είναι η πληροφορία «Ποσότητα» γνώρισμα της σχέσης που συνδέει τον ΠΕΛΑΤΗ με το ΠΡΟΪΟΝ.
  • 38. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Οι συσχετίσεις όμως δεν έχουν και δεν μπορούν να έχουν γνωρίσματα. Προφανώς λείπει μία οντότητα της οποίας ένα γνώρισμα είναι η «Ποσότητα».  Εισάγεται στο ER διάγραμμα η οντότητα «ΠΑΡΑΓΓΕΛΙΑ», την οποία ονομάζουμε οντότητα «τομής» (intersection entity).
  • 39. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Με την δημιουργία μία τρίτης βοηθητικής οντότητας, όπως είναι η οντότητα «ΠΑΡΑΓΓΕΛΙΑ» στο προηγούμενο παράδειγμα, επιλύεται το πρόβλημα των συσχετίσεων «πολλά προς πολλά».  Η συσχέτιση «πολλά προς πολλά» παραχωρεί την θέση της σε δύο συσχετίσεις «ένα προς πολλά».
  • 40. Επίλυση Συσχετίσεων Πολλά προς Πολλά  Το μοναδικό αναγνωριστικό ή κλειδί της τρίτης οντότητας προκύπτει από τον συνδυασμό των κλειδιών των δύο αρχικών οντοτήτων.  Τώρα, στο ER διάγραμμα οι συσχετίσεις που ενώνουν τις δύο αρχικές οντότητες με την τρίτη βοηθητική οντότητα είναι «ένα προς πολλά».
  • 42. Μοναδικά Κλειδιά και Κανονικοποίηση (Normalization)  Ένα βασικό θέμα στον σχεδιασμό μιας βάσης δεδομένων είναι ο προσδιορισμός των κλειδιών με τα οποία γίνεται η αναζήτηση πληροφοριών στη βάση δεδομένων.
  • 43. Μοναδικά Κλειδιά και Κανονικοποίηση (Normalization)  Τα κλειδιά μπορεί να είναι πρωτεύοντα (μοναδικά για κάθε εγγραφή), δευτερεύοντα (για παράδειγμα το επίθετο ενός υπαλλήλου, μαθητή) ή σύνθετα (ένωση δύο ή και περισσότερων χαρακτηριστικών). Στην παρούσα ενότητα θα αναφερθούμε στον προσδιορισμό των κλειδιών μέσω παραδειγμάτων.
  • 44. Μοναδικά Κλειδιά και Κανονικοποίηση (Normalization)  Οι πίνακες που προκύπτουν μετά τη μετατροπή του μοντέλου ΟΣ σε σχεσιακό, περιέχουν ως συνήθως πληροφορίες που επαναλαμβάνονται.
  • 45. Μοναδικά Κλειδιά και Κανονικοποίηση (Normalization)  Η επαναλαμβανόμενες πληροφορίες οδηγούν σε πολλαπλές γραμμές στον σχεδιασμό του αντίστοιχου πίνακα, γεγονός που οδηγεί σε σημαντικά προβλήματα.  Η κανονικοποίηση σχέσεων αφορά στην απλοποίηση των σχέσεων με στόχο την εξάλειψη της επαναληπτικότητας των δεδομένων.
  • 46. Πρωτεύον, Σύνθετο και Δευτερεύον κλειδί  Κάθε οντότητα έχει ένα σύνολο χαρακτηριστικών/ ιδιοτήτων.  Αναλυτικά, έχουμε τους εξής τύπους χαρακτηριστικών:  Απλό ή Σύνθετο.
  • 47. Πρωτεύον, Σύνθετο και Δευτερεύον κλειδί  Ένα απλό χαρακτηριστικό δεν μπορεί να διαχωριστεί σε μικρότερα τμήματα, ενώ τα σύνθετα χαρακτηριστικά μπορούν να χωριστούν σε μικρότερα τμήματα σε άλλα απλούστερα χαρακτηριστικά.
  • 48. Πρωτεύον, Σύνθετο και Δευτερεύον κλειδί  Η χρήση συνθέτων χαρακτηριστικών είναι καλύτερα να γίνεται όταν επιθυμούμε σε κάποιες περιπτώσεις να αναφερόμαστε σε ολόκληρο το χαρακτηριστικό, ενώ σε κάποιες άλλες περιπτώσεις επιθυμούμε να αναφερόμαστε στα επιμέρους τμήματά του.
  • 49. Πρωτεύον, Σύνθετο και Δευτερεύον κλειδί  Για παράδειγμα,θα μπορούσαμε να αντικαταστήσουμε τα χαρακτηριστικά οδός και αριθμός του συνόλου οντοτήτων Μαθητής με το σύνθετο χαρακτηριστικό διεύθυνση.  Τα σύνθετα χαρακτηριστικά μας βοηθούν να συγκεντρώσουμε συσχετιζόμενα χαρακτηριστικά σε ομάδες, διευκολύνοντας το σχεδιασμό της ΒΔ.
  • 50. Απλής Τιμής ή Πολλαπλής Τιμής  Τα χαρακτηριστικά απλής τιμής έχουν μία μόνο τιμή.  Για παράδειγμα, το σύνολο Μαθητής έχει το χαρακτηριστικό επίθετο το οποίο είναι ένα για κάθε οντότητα .  Υπάρχουν όμως χαρακτηριστικά με δυο ή περισσότερες τιμές. Αυτά ονομάζονται χαρακτηριστικά πολλαπλής τιμής.
  • 51. Απλής Τιμής ή Πολλαπλής Τιμής  Για παράδειγμα, θεωρείστε το σύνολο Μαθητής το οποίο έχει το χαρακτηριστικό τηλέφωνο.  Το χαρακτηριστικό τηλέφωνο μπορεί να έχει δύο ή και περισσότερες τιμές εφόσον ο μαθητής μπορεί να έχει σταθερό και κινητό τηλέφωνο.  Στα χαρακτηριστικά πολλαπλής τιμής μπορούμε να ορίσουμε κατώτερο και ανώτερο όριο τιμών.
  • 52. Απλής Τιμής ή Πολλαπλής Τιμής  Για παράδειγμα, μπορούμε να περιορίσουμε τον αριθμό των τηλεφωνικών αριθμών που επιθυμούμε να καταγράψουμε σε δύο μόνο (π.χ. ένα αριθμό τηλεφώνου σπιτιού και ένα για κινητό).  Τα χαρακτηριστικά αυτά αναπαριστώνται με διπλή έλλειψη σε ένα διάγραμμα οντοτήτων συσχετίσεων.
  • 53. Κενό  Μια κενή τιμή χρησιμοποιείται όταν κάποια οντότητα δεν έχει τιμή για κάποιο χαρακτηριστικό.  Για παράδειγμα, εάν κάποιος μαθητής δηλώσει ότι δεν έχει τηλέφωνο, τότε η τιμή του χαρακτηριστικού Τηλέφωνο για τον συγκεκριμένο μαθητή θα είναι Κενό.
  • 54. Πρωτεύον κλειδί  Ένα χαρακτηριστικό/ιδιότητα ενός πίνακα ονομάζεται πρωτεύον κλειδί εάν μπορεί να διαχωρίζει τις διαφορετικές γραμμές του πίνακα.  Για παράδειγμα, ο αριθμός αστυνομικής ταυτότητας ή ο αριθμός φορολογικού μητρώου μπορούν να θεωρηθούν ως πρωτεύοντα κλειδιά για τον πίνακα Υπάλληλος εφόσον είναι μοναδικά για κάθε υπάλληλο.
  • 55. Πρωτεύον κλειδί  Αντίθετα, το επίθετο δε θεωρείται πρωτεύον κλειδί, διότι μπορεί να υπάρχουν πολλοί υπάλληλοι που να έχουν το ίδιο επίθετο (για παράδειγμα το επίθετο Παπαδόπουλος είναι κοινό και μπορεί να το έχουν πολλοί υπάλληλοι μιας εταιρείας ή ενός οργανισμού).
  • 56. Πρωτεύον κλειδί  Ένας πίνακας μπορεί να έχει περισσότερα από ένα πρωτεύοντα κλειδιά (για παράδειγμα ο αριθμός αστυνομικής ταυτότητας και ο αριθμός φορολογικού μητρώου).  Ωστόσο, ένα μόνο επιλέγεται να χρησιμοποιηθεί.
  • 57. Πρωτεύον κλειδί  Το κλειδί που επιλέγεται καλείται πρωτεύον κλειδί (primary key) ενώ τα υπόλοιπα καλούνται δευτερεύοντα (secondary).  Ως δευτερεύον κλειδί στον πίνακα υπάλληλος μπορεί να επιλεχθεί το επίθετο έτσι ώστε να διευκολύνεται ο χρήστης στην αναζήτηση κάποιου υπαλλήλου με τη χρήση του επίθετου.
  • 58. Πρωτεύον κλειδί  Σε πολλές περιπτώσεις το κλειδί ενός πίνακα μπορεί να είναι σύνθετο (composite) δηλαδή να αποτελείται από δύο ή και περισσότερα χαρακτηριστικά.  Με αυτόν τον τρόπο διαχωρίζονται οι γραμμές του πίνακα και εύκολα ξεχωρίζει η εγγραφή Παπαδόπουλος Ιωάννης του Ιωάννη από την εγγραφή Παπαδόπουλος Ιωάννης του Χρήστου.
  • 59. Κανονικοποίηση και Πρώτη Κανονική Μορφή  Ήδη αναφερθήκαμε στην επαναληπτικότητα των δεδομένων και ότι αυτή δημιουργεί προβλήματα στους πίνακες που προκύπτουν από το σχεσιακό μοντέλο.  Αναλογιστήκαμε όμως τους λόγους που καθιστούν ανεπιθύμητη την επαναληπτικότητα;  Οι κύριοι λόγοι είναι:
  • 60. Οι κύριοι λόγοι είναι:  Πρόβλημα Ενημέρωσης Δεδομένων  Πρόβλημα Διαγραφής Δεδομένων  Πρόβλημα Εισαγωγής Δεδομένων
  • 61. Πρόβλημα Ενημέρωσης Δεδομένων  Αν χρειαστεί να γίνει αλλαγή των δεδομένων κατά τη χρήση της ΒΔ, αυτά πρέπει να αλλάξουν όπου εμφανίζονται. Για παράδειγμα, η αλλαγή διεύθυνσης ενός μαθητή οδηγεί σε ενημέρωση δύο γραμμών του πίνακα Μαθητής.
  • 62. Πρόβλημα Ενημέρωσης Δεδομένων  Οι ενημερώσεις, δημιουργούν καθυστερήσεις και αν για κάποιους λόγους δεν ενημερωθούν όλες οι γραμμές του πίνακα οδηγούμαστε σε ασυνέπεια δεδομένων (άλλες γραμμές να έχουν τη νέα διεύθυνση και άλλες την παλιά).
  • 63. Πρόβλημα Διαγραφής Δεδομένων  Αν για κάποιους λόγους, ένας μαθητής καταργήσει όλους τους τηλεφωνικούς του αριθμούς, δηλώνοντας ότι δεν έχει τηλέφωνο, τι μπορούμε να κάνουμε;  Οι εναλλακτικές λύσεις που έχουμε αλλά καμία δεν μπορεί να εφαρμοστεί είναι οι εξής:
  • 64. Πρόβλημα Διαγραφής Δεδομένων  1) να θέσουμε κενό (NULL) σε όλες τις τιμές της στήλης τηλέφωνο, κάτι το οποίο δεν μπορεί να γίνει διότι η στήλη μπορεί να συμμετέχει στο πρωτεύον κλειδί του πίνακα, και  2) να διαγράψουμε τις γραμμές του πίνακα, που επίσης δεν μπορεί να γίνει διότι θα χάσουμε τις υπόλοιπες πληροφορίες για το συγκεκριμένο μαθητή.
  • 65. Πρόβλημα Εισαγωγής Δεδομένων  Κάθε φορά που εισάγουμε στη βάση δεδομένων έναν νέο μαθητή, πρέπει να εισάγουμε και κάποιον αριθμό τηλεφώνου, κάτι το οποίο δεν είναι απαραίτητο να γίνει στην αρχή.
  • 66. Κανονικοποίηση  Βασικός στόχος της κανονικοποίησης είναι ο προσδιορισμός ενός συνόλου πινάκων με στόχο την ελαχιστοποίηση της επαναληπτικότητας δεδομένων.  Με τη μέθοδο της κανονικοποίησης πραγματοποιούνται διαδοχικές διασπάσεις των πινάκων σε πιο απλές μορφές.
  • 67. Κανονικοποίηση  Η διάσπαση ακολουθεί κάποιους κανόνες.  Από τον αρχικό πίνακα απομακρύνονται κάποια χαρακτηριστικά και τοποθετούνται σε νέους πίνακες ώστε να είναι δυνατή η ανασύνδεση των αρχικών πληροφοριών μέσω των νέων σχέσεων.
  • 68. Κανονικοποίηση  Έχουν προταθεί πέντε κανονικές μορφές που όμως δεν θα αναλυθούν στην παρούσα ενότητα εκτός από την πρώτη κανονική μορφή.
  • 69. Πρώτη Κανονική Μορφή (1NF)  Ένας πίνακας βρίσκεται στην πρώτη κανονική μορφή όταν οι τιμές που λαμβάνει κάθε στήλη του πίνακα είναι ατομικές.  Επομένως, η πρώτη κανονική μορφή απαγορεύει την ύπαρξη στηλών οι οποίες περιέχουν χαρακτηριστικά πολλαπλής τιμής.
  • 70. Πρώτη Κανονική Μορφή (1NF)  Υπάρχουν δύο τρόποι για να μετασχηματίσουμε έναν πίνακα που περιέχει πολλαπλές τιμές στην πρώτη κανονική μορφή.  Ο ένας τρόπος είναι να επαναλάβουμε τα δεδομένα πολλές φορές, έτσι ώστε τελικά ο πίνακας που θα προκύψει να περιέχει μόνο ατομικές τιμές στις στήλες.
  • 71. Πρώτη Κανονική Μορφή (1NF)  Ο δεύτερος τρόπος είναι να χρησιμοποιήσουμε ξεχωριστό πίνακα για τα χαρακτηριστικά πολλαπλών τιμών.  Και οι δύο τρόποι θεωρούνται σωστοί, όμως ο δεύτερος μειώνει σημαντικά την επαναληπτικότητα των δεδομένων.