Μοντέλο αρχείων Οι βασικές έννοιες

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

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

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

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

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

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

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Pylon Entry. Είδη. Στη διαδικασία αυτή περιγράφεται η Δημιουργία Μεταβολή Διαγραφή - Αναζήτηση ενός είδους

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

Κάθε κέντρο εργασίας περιλαμβάνει συγκεκριμένο αριθμό μηχανημάτων και εργατών (πόροι παραγωγής).:

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

#1 Καταχώρηση Πελατών Θα καταχωρήσω δυο πελάτες ώστε να μπορέσω να προχωρήσω σε προσφορά, παραγγελιοληψία και τιμολόγηση.

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση

Εργαστηριακές Ασκήσεις Σελίδα 1

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

Ηλεκτρονικό Κατάστημα

Α. ΔΙΑΓΡΑΜΜΑ ΔΙΑΣΠΟΡΑΣ Απεικόνιση της σχέσης(θετική, αρνητική, απροσδιόριστη) δύο μεταβλητών. Παραδείγματα σχέσεων. Παράδειγμα

Για να δείτε όλες τις εγγραφές της εκτύπωσης μπορείτε να χρησιμοποιήσετε τα βελάκια.

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Είδη. Σε αυτό το εγχειρίδιο περιγράφεται η Δημιουργία, Μεταβολή, Διαγραφή και Αναζήτηση ενός είδους

Pylon Entry. Επαφές. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Επαφών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Είσοδος στην εφαρμογή Δημιουργία Εταιρίας Καρτέλα Στοιχεία εταιρίας: Καρτέλα Πρόσθετα στοιχεία: Καρτέλα Τράπεζα:...

Βασικά ζητήματα μιας βάσης δεδομένων

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

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

Pylon Entry. Υπηρεσίες. Στην διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή και Αναζήτηση υπηρεσίας

Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Αριστομένης Μακρής

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

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

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

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

Οδηγό ς Σχ. Έτόυς

ΠΡΩΤΟ ΜΕΡΟΣ: 13 ΚΕΦΑΛΑΙΟ

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

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

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

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

Αποθήκη. Διαχείριση Αποθήκης. Published on PRISMA Win Help - Megasoft (

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

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

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΜΥΦ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΑΥΤΟΤΗΤΑ ΕΓΓΡΑΦΟΥ. Ημερομηνία 14 Ιανουαρίου 2014 Έκδοση 1.1

4. ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΤΕΛΟΥ ΠΟΛΥΔΙΑΣΤΑΤΗΣ ΑΝΑΛΥΣΗΣ

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Σενάριο Χρήσης myschool

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

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

Οδηγίες Χρήσης V 1.02

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Πίνακας Περιεχομένων. Εγχειρίδιο Χρήσης Υπηρεσίες Φοιτητή Σελίδα 1 / 10

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

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

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

Διαχείριση συνθέσεων στο Πληροφοριακό Σύστημα Κτηματολόγιο του Πανελλήνιου Σχολικού Δικτύου

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

EBS Version Entersoft Business Suite Entersoft CRM

Διαχείριση συνθέσεων στο Πληροφοριακό Σύστημα Κτηματολόγιο του Πανελλήνιου Σχολικού Δικτύου

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2

Εργαστηριακός Οδηγός. Βάσεις Δεδομένων της Γ' Τάξης ΕΠΑΛ


Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση /05/2015. Ημ/νία έκδοσης dd/mm/2015 1

1. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Οδηγίες χρήσης ιστοσελίδας VOLVO

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Εργασία Συστήματα Βάσεων Δεδομένων. Θέμα

Ksyla.gr Σύντομη περιγραφή λειτουργίας

Σελίδα 1 από 51 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΑΥΤΟΤΗΤΑ ΕΓΓΡΑΦΟΥ. Ημερομηνία 10 Φεβρουαρίου 2015 Έκδοση 1.3

ΓΕΦΥΡΑ ΣΥΝ ΕΣΗΣ ΓΕΝΙΚΗΣ ΛΟΓΙΣΤΙΚΗΣ ΜΕ ΕΜΠΟΡΙΚΗ ΙΑΧΕΙΡΙΣΗ

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

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

Η. ΠΙΘΑΝΑ ΕΡΩΤΗΜΑΤΑ

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

ΜΗΧΑΝΟΓΡΑΦΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ ΚΟΣΜΗΤΟΛΟΓΙΑΣ. Σιάτρης Νικηφόρος. Επιβλέπων Καθηγητής Γιαγκουστίδης Κωνσταντίνος

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

Pylon Entry. Υπηρεσίες. Στην διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή και Αναζήτηση υπηρεσίας

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

του πρώτου προμηθευτή. Στο πεδίο κωδικός δίνω <Enter> και το σύστημα δίνει αυτόματα αρίθμηση. 2. Συνεχίζω την καταχώρηση

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

Οδοραµα mobile ADD-ON ΑΓΟΡΕΣ

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

Τεχνολογία Λογισμικού

Transcript:

6.1. Οι βασικές έννοιες Πριν εμβαθύνουμε στο λογικό σχεδιασμό του μοντέλου αρχείων, που είναι το βασικό αντικείμενο του κεφαλαίου αυτού, θα περιγράψουμε τις βασικές έννοιες στις οποίες θα αναφερθούμε στη συνέχεια. Οι έννοιες αυτές είναι : Οντότητες (entities) Πεδία (attributes) Κλειδιά (identifiers) Συσχετίσεις (relationships) 6.1.1. Οντότητες (υποψήφια αρχεία δεδομένων) Κατ αρχάς τι είναι οντότητα ; Οντότητα είναι μια συλλογή ομοειδών αντικειμένων τα οποία έχουν όλα τις ίδιες ιδιότητες και κάθε ένα από τα αντικείμενα αυτά είναι σαφώς διακριτό από τα υπόλοιπα. Παραδείγματα οντοτήτων : Ομάδες αντικειμένων (προϊόντα, υλικά, μηχανήματα ) Ομάδες ατόμων (εργαζόμενοι, προμηθευτές, πελάτες ) Τοποθεσίες (πόλεις, ποτάμια, αποθήκες, γραφεία )

Οργανωτικές δομές (επιχειρήσεις, διευθύνσεις, τμήματα ) Λειτουργίες ροές (συμφωνία, δρομολόγιο, λογαριασμός ) Ομοειδή γεγονότα που συνέβησαν κάποιο χρονικό διάστημα - Εγγραφή, ημερολόγιο, Ισολογισμός Το πρώτο βήμα επομένως είναι ο εντοπισμός αυτών των οντοτήτων. Το έργο αυτό είναι δύσκολο και απαιτείται η καλή κατανόηση και του τι είναι οντότητα, αλλά και ποιες οντότητες απαρτίζουν μια λογική διαδικασία. Έστω ότι επεξεργαζόμαστε το παράδειγμα που περιγράψαμε στα προηγούμενα κεφάλαια του ελέγχου αποθεμάτων και πιστωτικών ορίων παραγγελιών. Οι οντότητες στο παράδειγμα αυτό συμβολίζονται με ορθογώνια παραλληλόγραμμα. Μια από τις οντότητες είναι και η οντότητα πελάτες. Η οντότητα πελάτες αποτελείται από το σύνολο των φυσικών και νομικών προσώπων τα οποία έχουν ένα κοινό χαρακτηριστικό, ότι είναι πελάτες της υπό εξέταση επιχείρησης. Άλλη οντότητα στο παράδειγμα αυτό είναι οι εκκρεμείς παραγγελίες των πελατών. Η οντότητα αυτή αποτελείται από το σύνολο των παραγγελιών πελατών που δεν έχουν ακόμη εκτελεσθεί (δεν έχουν αποσταλεί τα προϊόντα στους πελάτες). Κάθε οντότητα είναι υποψήφιο αρχείο ή πίνακας (σε μια βάση δεδομένων). Όπως φαίνεται και από το όνομά του ένα αρχείο ή πίνακας δεδομένων είναι ένας δισδιάστατος πίνακας που μοιάζει με ένα υπολογιστικό φύλλο. Αποτελείται από στήλες (πεδία) και γραμμές (λογικές εγγραφές). Στο παράδειγμα που ακολουθεί και αφορά ένα πίνακα μισθοδοσίας, τα δεδομένα που ενδιαφέρουν ανά εργαζόμενο και που είναι κοινά για όλους τους υπό εξέταση εργαζομένους είναι ο κωδικός, το όνομα, το επώνυμο και το πατρώνυμο (πεδία). Παρατηρούμε επομένως ότι για κάθε εργαζόμενο στον υπό εξέταση πίνακα τηρούμε τις ίδιες πληροφορίες (πεδία), πάντοτε με την ίδια σειρά (πρώτα ο κωδικός, μετά το όνομα κ.ο.κ.). Κάθε ένας εργαζόμενος μαζί με όλα τα πεδία που τον απαρτίζουν είναι μια λογική εγγραφή του πίνακα εργαζομένων. 136

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 6.1.2. Χαρακτηριστικά αρχείων Για να γίνουν περισσότερο κατανοητές οι έννοιες θα αναφερθεί ένα απλό παράδειγμα χειρόγραφης αρχειοθέτησης. Έστω ότι ζητούμενο είναι η αρχειοθέτηση όλων των εργαζομένων μιας επιχείρησης. Το πρώτο βήμα είναι η δημιουργία καρτελών, όπου κάθε καρτέλα περιέχει τις ίδιες πληροφορίες ανά εργαζόμενο (αριθμός μητρώου, όνομα, επώνυμο κ.ο.κ.). Κάθε καρτέλα περιέχει πληροφορίες για ένα μόνο εργαζόμενο (λογική εγγραφή). Όλες οι καρτέλες αρχειοθετούνται σε ένα συρτάρι το οποίο περιέχει μόνο καρτέλες εργαζομένων (αρχείο εργαζομένων). Έστω ότι η επιχείρηση είναι μεγάλη και έχει εκατοντάδες εργαζομένους. Πώς θα είναι δυνατή η αναζήτηση ενός εργαζομένου μέσα στο συρτάρι ; Η λογική απάντηση είναι η ταξινόμηση των εργαζομένων κατά αριθμό μητρώου ή επωνυμία. Αυτή η ταξινόμηση ισοδυναμεί με τη δημιουργία ενός κλειδιού για εύκολη αναζήτηση των εργαζομένων από τον πίνακα εργαζομένων. Αν για κλειδί επιλεγεί το επώνυμο του εργαζομένου, είναι πολύ πιθανόν να υπάρχουν περισσότεροι του ενός εργαζόμενοι με το ίδιο επώνυμο. Αν στο επώνυμο προστεθεί και το όνομα (σύνθετο κλειδί που αποτελείται από το επώνυμο συν το όνομα), πάλι δεν αποκλείεται να υπάρχουν εργαζόμενοι με κοινό κλειδί. Πέραν αυτού το κλειδί αυτό είναι πολύ μεγάλο (επώνυμο συν όνομα) και επομένως μη λειτουργικό. Για το λόγο 137

αυτό ακόμα και στα χειρόγραφα αρχεία επιλέγονται ή δημιουργούνται κλειδιά που είναι μοναδικά για όλο το αρχείο. Έτσι για ένα πίνακα μισθοδοσίας το πεδίο αριθμός μητρώου εργαζομένου είναι και μοναδικό (κάθε νέος εργαζόμενος μπορεί να παίρνει τον επόμενο αύξοντα αριθμό) και σύντομο. Αυτό λοιπόν το μοναδικό κλειδί του πίνακα εργαζομένων ονομάζεται πρωτεύον κλειδί. Επειδή ο αριθμός μητρώου είναι ένας αριθμός που δεν έχει κάποια λογική συσχέτιση με τα στοιχεία του εργαζόμενου, πολλές φορές χρειάζεται να αναζητηθεί η λογική εγγραφή ενός εργαζομένου και από το επώνυμο. Για το σκοπό αυτό δημιουργούνται ένα ή περισσότερα πρόσθετα κλειδιά τα οποία δίνουν τη δυνατότητα αναζήτησης μιας λογικής εγγραφής με εναλλακτικούς τρόπους (επώνυμο, Α.Φ.Μ. κ.ά.). 6.1.3. Συσχετίσεις οντοτήτων Οι συσχετίσεις ορίζουν (α) κάποια σχέση μεταξύ δυο οντοτήτων ή (β) κάποιο επιχειρηματικό κανόνα. Έτσι υπάρχουν σχέσεις όπως : Κάθε τμήμα αποτελείται από εργαζόμενους Κάθε γεωγραφική περιοχή ανήκει σε μία περιφέρεια Και επιχειρηματικοί κανόνες όπως : Κάθε πελάτης μπορεί να τοποθετεί μία ή περισσότερες παραγγελίες Κάθε εργαζόμενος μπορεί να ανήκει ένα ή περισσότερα ταμεία ασφάλισης Αυτές οι συσχετίσεις πέραν της φραστικής τους διατύπωσης αποτελούν ένα πολύ σημαντικό συστατικό της όλης διαδικασίας λογικού σχεδιασμού του μοντέλου των αρχείων, ώστε να μπορέσει αυτός ο σχεδιασμός να τροφοδοτήσει το φυσικό μοντέλο αρχείων και μια σχεσιακή βάση δεδομένων στη φάση της υλοποίησης. Επομένως μετά τον εντοπισμό όλων των οντοτήτων, των πεδίων και του πρωτεύοντος κλειδιού κάθε οντότητας, το επόμενο σημαντικό βήμα είναι η δημιουργία και ο χαρακτηρισμός των συσχετίσεων μεταξύ των οντοτήτων. 138

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 6.2. Οι βασικές μεθοδολογίες οργάνωσης αρχείων Παρ όλον ότι υπάρχουν πολλές παραλλαγές, οι βασικές μεθοδολογίες οργάνωσης αρχείων και προσπέλασης δεδομένων είναι δύο : Σειριακή προσπέλαση (sequential access) Άμεση προσπέλαση (direct access) 6.2.1. Σειριακή προσπέλαση Στη σειριακή προσπέλαση μια λογική εγγραφή αναζητείται σειριακά από το αρχείο, δηλαδή στο παράδειγμα που ακολουθεί, για να ευρεθεί ένας συγκεκριμένος εργαζόμενος πρέπει να αναγνωσθούν πρώτα όλοι οι προηγούμενοι. Η προσπέλαση αυτή μοιάζει με την αναζήτηση ενός τραγουδιού σε μια μαγνητική κασέτα. Για να μπορέσει να βρεθεί το συγκεκριμένο τραγούδι, πρέπει πρώτα να προηγηθούν (έστω και με γρήγορη μετακίνηση της ταινίας) όλα τα προηγούμενα. 6.2.2. Άμεση προσπέλαση Η άμεση προσπέλαση δίνει τη δυνατότητα άμεσης αναζήτησης μιας λογικής εγγραφής σε ένα αρχείο με κάποιο από τα κλειδιά του. Η αναζήτηση αυτή μοιάζει με την αναζήτηση ενός τραγουδιού σε CD-ROM. Μπορούμε να επιλέξουμε άμεσα οποιοδήποτε τραγούδι επιθυμούμε, φθάνει να γνωρίζουμε τον αύξοντα αριθμό του τραγουδιού. Ο Α/Α του τραγουδιού ισοδυναμεί με το πρωτεύον κλειδί ενός αρχείου δεδομένων. Για να επιτευχθεί αυτή η άμεση αναζήτηση, κάθε αρχείο δεδομένων αποτελείται από δύο αρχεία : Αρχείο δεδομένων (data file). Περιλαμβάνει το σύνολο των πεδίων του αρχείου. Η καταχώρηση μιας νέας λογικής εγγραφής γίνεται στο τέλος του αρχείου (μετά την αμέσως προηγούμενη), ή σε κάποιο κενό που άφησε μια διαγραφή λογικής εγγραφής. Κύριο χαρακτηριστικό κάθε εγγραφής στο αρχείο δεδομένων είναι η φυσική διεύθυνση στο αρχείο. Αρχείο κλειδιών (index file). Περιλαμβάνει δύο πληροφορίες : Το κλειδί της λογικής εγγραφής (π.χ. τον αριθμό μητρώου του εργαζομένου) 139

Τη φυσική διεύθυνση της λογικής εγγραφής στο αρχείο δεδομένων. Το αρχείο αυτό είναι συνήθως πολύ μικρότερο από το αρχείο δεδομένων και είναι οργανωμένο με τρόπο που να επιτρέπει την πολύ γρήγορη αναζήτηση ενός κλειδιού. Οπότε η αναζήτηση ενός κωδικού γίνεται πρώτα στο αρχείο κλειδιών με το κλειδί της λογικής εγγραφής (στο παράδειγμα που ακολουθεί Ο99200) και όταν βρεθεί το κλειδί η αναζήτηση ολοκληρώνεται στο αρχείο δεδομένων με βάση τη φυσική διεύθυνση της λογικής εγγραφής στο αρχείο αυτό (στο παράδειγμα φυσική εγγραφή 312). 6.2.3. Σχεσιακές βάσεις δεδομένων Οι σχεσιακές βάσεις δεδομένων είναι εξέλιξη της οργάνωσης άμεσης προσπέλασης. Είναι μια σύνθεση αρχείων άμεσης προσπέλασης και συσχετίσεων μεταξύ τους (relationships). Στο παράδειγμα που ακολουθεί υπάρχουν δυο αρχικοί πίνακες. Ο πίνακας των φοιτητών ενός τμήματος και ο πίνακας των μαθημάτων. Η συσχέτιση μεταξύ τους είναι ένας τρίτος πίνακας που δίνει την πληροφορία τι μαθήματα έχει παρακολουθήσει κάθε φοιτητής. Αυτό επιτυγχάνεται με τη δημιουργία ενός σύνθετου κλειδιού που το αποτελούν ο αριθμός μητρώου του φοιτητή (πρωτεύον κλειδί πίνακα φοιτητών) και ο κωδικός του μαθήματος (πρωτεύον κλειδί του πίνακα μαθημάτων). Στο νέο πίνακα που προκύπτει κάθε λογική εγγραφή είναι στην ουσία μια συσχέτιση των δυο άλλων πινάκων (στο παράδειγμα η δεύτερη λογική εγγραφή δείχνει ότι ο φοιτητής Ο99225 ΤΣΑΜΗΣ, έχει παρακολουθήσει το μάθημα 0230 Στατιστική). 140

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 141

6.3. Λογικός σχεδιασμός μοντέλου αρχείων Όπως αναλύθηκε στο προηγούμενο κεφάλαιο η κάθε διαδικασία σχεδιασμού ενός Π.Σ. ή οποιουδήποτε συστήματος προσεγγίζεται με δύο μεθόδους. Τη μέθοδο της ανάλυσης (top down) όπου μελετώνται πρώτα οι γενικότερες έννοιες και κατόπιν αναλύονται στις αναλυτικότερες και τη μέθοδο της σύνθεσης (bottom up), όπου μελετώνται πρώτα οι αναλυτικότερες έννοιες και εκ των υστέρων συντίθενται στις γενικότερες. Κατά το σχεδιασμό ενός Π.Σ. η ανάλυση προηγείται της σύνθεσης, γιατί πρώτα πρέπει να γίνουν κατανοητές οι απαιτήσεις των χρηστών και οι γενικές έννοιες και κατόπιν να αναλυθεί το μοντέλο στις επί μέρους έννοιες. Έτσι πρώτα πρέπει να γίνει κατανοητό το σύστημα και κατόπιν αυτό να αναλυθεί στα υποσυστήματα που το απαρτίζουν. Το ίδιο ισχύει και στα άλλα συστήματα, για παράδειγμα για να σχεδιασθεί ένα κτίριο πρώτα σχεδιάζεται το κτίριο, κατόπιν οι όροφοι και τέλος τα δωμάτια. Κατά το λογικό σχεδιασμό του μοντέλου αρχείων το πρώτο ζητούμενο είναι να γίνουν κατανοητές οι οντότητες που το απαρτίζουν, τα βασικά τους χαρακτηριστικά (πεδία, κλειδιά) και οι συσχετισμοί μεταξύ των οντοτήτων. Αποτέλεσμα αυτής της εργασίας είναι το Μοντέλο Συσχετισμού Οντοτήτων (ERM Entity Relationship Model). Αυτό το μοντέλο προκύπτει από μια διαδικασία ανάλυσης από τις συνθετότερες στις αναλυτικότερες έννοιες. Ο έλεγχος της διαδικασίας ανάλυσης συνίσταται στην καταγραφή των πεδίων, τη σύνθεση των πεδίων σε οντότητες, τον καθορισμό των κλειδιών κάθε οντότητας και τέλος τους συσχετισμούς μεταξύ των οντοτήτων. Η όλη διαδικασία της σύνθεσης επιτυγχάνεται με την Κανονικοποίηση (Normalization). 142

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 6.3.1. Μοντέλο Συσχετισμού Οντοτήτων Το μοντέλο συσχετισμού οντοτήτων δείχνει τους συσχετισμούς μεταξύ των οντοτήτων ενός Π.Σ. Το μοντέλο που ακολουθεί δείχνει τους συσχετισμούς μεταξύ των οντοτήτων Πελάτες, Παραγγελίες, Τιμολόγια και Γραμμές (αναλυτικές γραμμές τιμολογίων). Το παράδειγμα αυτό δείχνει ότι κάθε πελάτης μπορεί να τοποθετήσει μια ή περισσότερες παραγγελίες, κάθε παραγγελία όμως ανήκει σε ένα πελάτη. Κάθε τιμολόγιο μπορεί να εκτελεί μια ή περισσότερες παραγγελίες, κάθε παραγγελία όμως εκτελείται από ένα μόνο τιμολόγιο. Μπορεί όμως να υπάρχουν και παραγγελίες δίχως να έχει εκδοθεί τιμολόγιο για αυτές (ανεκτέλεστες παραγγελίες). Τέλος το διάγραμμα δείχνει ότι κάθε τιμολόγιο αποτελείται από μια ή περισσότερες αναλυτικές γραμμές (είδη που πουλήθηκαν στον πελάτη). Κάθε αναλυτική γραμμή όμως πρέπει να ανήκει υποχρεωτικά σε κάποιο τιμολόγιο. 6.3.1.1. Συμβολισμοί Μοντέλου Συσχετισμού Οντοτήτων Όλες αυτές οι πληροφορίες προκύπτουν από τους συμβολισμούς του μοντέλου. Κάθε ορθογώνιο συμβολίζει μια οντότητα, όπως λ.χ. η οντότητα Πελάτες. Οι συσχετισμοί μεταξύ δυο οντοτήτων συμβολίζονται με μία ευθεία γραμμή που συνδέει τις δυο οντότητες. Πέραν της ύπαρξης ενός συσχετισμού μεταξύ δυο οντοτήτων, ενδιαφέρει και τι είδους είναι αυτός ο συσχετισμός. Έτσι μπορεί να είναι συσχετισμός ένα προς ένα. Στο παράδειγμα που ακολουθεί ο συσχετισμός μεταξύ των οντοτήτων γενικά στοιχεία εργαζομένου (επώνυμο, όνομα, πατρώνυμο, διεύθυνση κ.λ.π.) και εργασιακά στοιχεία εργαζομένου (θέση στην επιχείρηση, ειδικότητα, σύμβαση εργασίας κ.λ.π.) 143

είναι ένα προς ένα. Αυτό σημαίνει ότι για κάθε εργαζόμενο της επιχείρησης υπάρχει μια λογική εγγραφή στον πίνακα με τα γενικά στοιχεία εργαζομένου και μια λογική εγγραφή στον πίνακα με τα εργασιακά στοιχεία εργαζομένου. Συνήθως δεν υπάρχουν συσχετισμοί ένα προς ένα στα μοντέλα συσχετισμού οντοτήτων γιατί ενώνονται οι δύο οντότητες ώστε να αποτελέσουν μια νέα οντότητα. Η ανάγκη για δημιουργία συσχετισμών ένα προς ένα προκύπτει για λόγους προγραμματισμού αργότερα στη φάση του φυσικού σχεδιασμού. Κατά το σχεδιασμό του μοντέλου συσχετισμού οντοτήτων το ζητούμενο είναι όλοι οι συσχετισμοί που θα προκύψουν να είναι ένα προς πολλά, ή πολλά προς ένα, ανάλογα με την οπτική γωνία από την οποία εξετάζονται οι οντότητες. Έτσι ο συσχετισμός των οντοτήτων πελάτες με παραγγελίες πελατών είναι ένα προς πολλά από την οπτική γωνία του πελάτη, γιατί κάθε πελάτης έχει μια ή περισσότερες παραγγελίες, ενώ ο ίδιος συσχετισμός είναι πολλά προς ένα από την οπτική γωνία των παραγγελιών, γιατί κάθε παραγγελία ανήκει σε ένα πελάτη και μπορεί να υπάρχουν πολλές παραγγελίες για τον ίδιο πελάτη. Ο συμβολισμός προς πολλά παρατηρούμε ότι απεικονίζεται με ένα μικρό παραλληλόγραμμο προς τη μία κατεύθυνση της γραμμής του συσχετισμού (προς την κατεύθυνση προς πολλά). Πολλές φορές χρησιμοποιούνται και άλλα σύμβολα για το συσχετισμό αυτό όπως : Άλλο είδος συσχετισμού που μπορεί να προκύψει κατά το σχεδιασμό είναι ο συσχετισμός πολλά προς πολλά. Για να γίνει κατανοητός ο συσχετισμός αυτός θα δοθεί ένα παράδειγμα. Ο συσχετισμός οντοτήτων πελάτες προς προϊόντα είναι πολλά προς πολλά γιατί κάθε πελάτης μπορεί να αγοράζει πολλά προϊόντα, αλλά και κάθε προϊόν μπορεί να πωλείται σε πολλούς πελάτες. Η οντότητα προϊόντα συμβολίζει τον πίνακα προϊόντων που περιλαμβάνει τις βασικές πληροφορίες όπως κωδικός (κλειδί), περιγραφή, μονάδα μέτρησης, τιμή μονάδος, υπόλοιπο στην αποθήκη κ.λ.π. Ο συσχετισμός αυτός είναι προβληματικός 144

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων γιατί δεν μπορεί να ολοκληρωθεί ο φυσικός σχεδιασμός όταν υπάρχουν σχέσεις πολλά προς πολλά στο λογικό σχεδιασμό. Οι συμβολισμοί που ακολουθούν μπορούν να χρησιμοποιηθούν για να δώσουν περισσότερες πληροφορίες σε ένα διάγραμμα συσχετισμού οντοτήτων. Ο προαιρετικός συσχετισμός συμβολίζεται με ένα κύκλο προς την οντότητα η οποία είναι προαιρετική. Στο παράδειγμα που ακολουθεί ο συμβολισμός του προαιρετικού δείχνει ότι μπορεί να υπάρχουν παραγγελίες για τις οποίες δεν έχουν εκδοθεί τιμολόγια (ανεκτέλεστες παραγγελίες). Ο υποχρεωτικός συσχετισμός συμβολίζεται με ένα Χ προς την οντότητα η οποία είναι υποχρεωτική. Στο παράδειγμα που ακολουθεί ο συμβολισμός τους υποχρεωτικού δείχνει ότι δεν μπορεί να υπάρξουν αναλυτικές γραμμές τιμολογίων χωρίς να υπάρχει τιμολόγιο. Η οντότητα τιμολόγια έχει γενικές πληροφορίες όπως αριθμός τιμολογίου, κωδικός πελάτη, αριθμός παραγγελίας, ημερομηνία έκδοσης κ.ά., ενώ η οντότητα γραμμές τιμολογίων έχει ειδικές πληροφορίες που αφορούν τα είδη του τιμολογίου όπως αριθμός τιμολογίου, κωδικός είδους, ποσότητα, τιμή μονάδας, αξία κ.ά. Εάν παραλειφθούν οι συμβολισμοί προαιρετικός ή υποχρεωτικός συσχετισμός, από το διάγραμμα συσχετισμού οντοτήτων υπονοείται ότι σε μια σχέση ένα προς πολλά στην οντότητα προς ένα (π.χ. πελάτες) πρέπει να υπάρχει υποχρεωτικά λογική εγγραφή πριν να υπάρξει λογική εγγραφή στην οντότητα προς πολλά (π.χ. παραγγελίες). Δηλαδή για να υπάρξει μια παραγγελία, πρέπει πρώτα να υπάρχει πελάτης στον οποίο θα αναφέρεται. Αντίστοιχα στην οντότητα προς πολλά (π.χ. παραγγελίες) υπονοείται προαιρετικός συσχετισμός. Δηλαδή μπορεί να υπάρχει η λογική εγγραφή ενός πελάτη χωρίς να υπάρχει λογική εγγραφή παραγγελίας για τον συγκεκριμένο πελάτη. Οι συμβολισμοί υποχρεωτικός ή προαιρετικός συσχετισμός μπαίνουν συνήθως για ανατρέψουν αυτούς τους συσχετισμούς που υπονοούνται. Σε ένα διάγραμμα συσχετισμού οντοτήτων μπορεί να εμφανισθούν οντότητες οι οποίες συσχετίζονται με τον εαυτό τους. Στην περίπτωση αυτή δίνεται ονομασία στο συσχετισμό που προσδιορίζει το συσχετισμό (π.χ. διοικεί). Στο παράδειγμα που ακολουθεί η οντότητα εργαζόμενοι περιλαμβάνει όλους τους εργαζόμενους σε ένα οργανι- 145

σμό. Στο ίδιο επομένως αρχείο θα υπάρχουν εργαζόμενοι σε διάφορες διοικητικές βαθμίδες. Επομένως υπάρχει μια σχέση ένα προς πολλά ανάμεσα στον προϊστάμενο και στον υφιστάμενο, που υποδηλώνει ότι κάθε προϊστάμενος θα έχει ένα ή περισσότερους υφιστάμενους. Το σύμβολο προαιρετικό προς το μέρος του προς ένα συμβολίζει ότι θα υπάρχουν και εργαζόμενοι χωρίς προϊστάμενο (γενικός διευθυντής). 6.3.1.2. Τι υποδηλώνουν οι συσχετισμοί Για να γίνουν κατανοητά όσα αναφέρθηκαν μέχρι τώρα, θα εξηγηθεί πώς οι συσχετισμοί ένα προς πολλά θα υλοποιηθούν και γιατί οι συσχετισμοί πολλά προς πολλά δεν μπορούν να υλοποιηθούν χρησιμοποιώντας το σχεσιακό μοντέλο που ήδη αναλύθηκε. Κατ αρχάς θα εξηγηθεί ο συσχετισμός ένα προς πολλά πελάτες προς παραγγελίες. Ο πίνακας πελατών που ακολουθεί έχει πρωτεύον μοναδικό κλειδί τον κωδικό πελάτη. Ο πίνακας παραγγελιών έχει πρωτεύον μοναδικό κλειδί τον αριθμό παραγγελίας. Παρατηρούμε ότι υπάρχουν πελάτες δίχως παραγγελία (οι πελάτες 4 και 6). Παρατηρούμε ότι όλες οι παραγγελίες αναφέρονται υποχρεωτικά σε κάποιον πελάτη. Το πεδίο κωδικός πελάτη στον πίνακα παραγγελιών πρέπει να καταχωρείται υποχρεωτικά και είναι ο σύνδεσμος ανάμεσα στους δύο πίνακες. Επομένως ο συσχετισμός μεταξύ των δύο πινάκων υλοποιείται με το πεδίο κωδικός πελάτη, το οποίο είναι το πρωτεύον μοναδικό κλειδί του πίνακα πελατών (προς ένα) και υποχρεωτικό πεδίο του πίνακα παραγγελιών (προς πολλά). 146

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων Ο συσχετισμός που ακολουθεί μεταξύ φοιτητών και μαθημάτων είναι πολλά προς πολλά. Παρατηρούμε τον πίνακα των φοιτητών. Το κλειδί του πίνακα είναι ο αριθμός μητρώου και τα υπόλοιπα πεδία το επώνυμο και το όνομα του φοιτητή. Στον πίνακα των μαθημάτων κλειδί είναι ο κωδικός του μαθήματος και πεδίο η περιγραφή. Παρατηρούμε ότι δεν υπάρχει κοινό πεδίο ώστε να μπορέσουν με κάποιο τρόπο να συσχετισθούν οι δύο πίνακες. Αν προστεθεί ο κωδικός του μαθήματος στον πίνακα φοιτητών, τότε θα πάψει πλέον ο αριθμός μητρώου να είναι μοναδικό κλειδί γιατί θα υπάρχουν επαναλήψεις. Όσοι φοιτητές έχουν περισσότερα του ενός μαθήματα θα έχουν τόσες λογικές εγγραφές στον πίνακα φοιτητών όσα και τα μαθήματα που έχουν παρακολουθήσει. Το ίδιο πρόβλημα θα υπάρξει αν προστεθεί ο αριθμός μητρώου σαν πεδίο στον πίνακα μαθημάτων. Κάθε μάθημα θα έχει τόσες λογικές εγγραφές στον πίνακα μαθημάτων όσοι και οι φοιτητές που το έχουν παρακολουθήσει. Για το λόγο αυτό δεν μπορεί να προκύψει ένα σχεσιακό μοντέλο αρχείων από ένα διάγραμμα συσχετισμού οντοτήτων το οποίο περιέχει σχέσεις πολλά προς πολλά. Η επίλυση του προβλήματος που θα εξετασθεί και στην επόμενη παράγραφο είναι η δημιουργία ενός νέου πίνακα, του πίνακα μαθήματα φοιτητών. Ο πίνακας αυτός έχει για μοναδικό πρωτεύον κλειδί ένα σύνθετο κλειδί που αποτελείται από τα πρωτεύοντα κλειδιά των πινάκων τους οποίους συσχετίζει, τον αριθμό μητρώου από τον πίνακα φοιτητές και τον κωδικό από τον πίνακα μαθήματα. Ο πίνακας αυτός μπορεί να έχει και άλλα πεδία όπως ημερομηνία ολοκλήρωσης, βαθμός, υπεύθυνος καθηγητής κ.ά. Κάθε λογική εγγραφή στον πίνακα αυτό είναι ένα μάθημα το οποίο παρακολούθησε ένας φοιτητής. Έτσι οι δύο πρώτες λογικές εγγραφές αφορούν τα μαθήματα «Εισαγωγή στους Η/Υ» και «Στατιστική» του φοιτητή «ΤΣΑΜΗΣ». 147

6.3.1.3. Σχεδιαστικές παγίδες και η επίλυσή τους Θα αναφερθούν οι τέσσερις βασικές σχεδιαστικές παγίδες του μοντέλου συσχετισμού οντοτήτων που είναι : Πολλά προς πολλά (chasm trap) Συσχετισμός έλικα (fan trap) Μεταβατικός συσχετισμός (transitive relationship) Συσχετισμός συνδέσμου (connection trap) 6.3.1.3.1. Συσχετισμός πολλά προς πολλά (chasm trap) Το πρόβλημα αυτό εξετάσθηκε και στην προηγούμενη παράγραφο. Οι δύο πίνακες δεν μπορούν να συσχετισθούν μεταξύ τους γιατί μπορεί να υπάρχουν είδη που προμηθεύονται από περισσότερους του ενός προμηθευτές, όπως και προμηθευτές που προμηθεύουν περισσότερα του ενός είδη. Ο πίνακας των ειδών έχει πρωτεύον μοναδικό κλειδί τον κωδικό είδους. Η προσθήκη του κωδικού προμηθευτή στον πίνακα αυτό θα δημιουργήσει επαναλήψεις γιατί κάθε είδος θα έχει τόσες λογικές εγγραφές όσοι και οι προμηθευτές από τους οποίους προμηθεύεται. Ο πίνακας των προμηθευτών έχει πρωτεύον μοναδικό κλειδί τον κωδικό προμηθευτή. Η προσθήκη του κωδικού είδους στον πίνακα των προμηθευτών θα δημιουργήσει επαναλήψεις, γιατί κάθε προμηθευτής θα έχει τόσες λογικές εγγραφές όσα και τα είδη που προμηθεύει. Η παγίδα επιλύεται με την δημιουργία μιας ενδιάμεσης οντότητας (Είδη Προμηθευτή) η οποία έχει μία λογική εγγραφή για κάθε συνδυασμό Είδους Προμηθευτή. Η οντότητα αυτή έχει ένα σύνθετο κλειδί που αποτελείται από το πρωτεύον μοναδικό κλειδί κάθε μιας από τις δύο οντότητες (κωδικός είδους κωδικός προμηθευτή). 148

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 6.3.1.3.2. Συσχετισμός έλικα (fan trap) Η ύπαρξη ενός συσχετισμού έλικα, όπου δυο οντότητες συσχετίζονται με μία τρίτη με συσχετισμό πολλά προς ένα, είναι σημείο προβληματισμού κατά πόσον πράγματι ισχύει η διάταξη αυτή. Ο προβληματισμός είναι κατά πόσον πράγματι κάθε εργαζόμενος ανήκει σε μια διεύθυνση δίχως να ανήκει και σε κάποιο τμήμα. Εάν πράγματι κάθε εργαζόμενος ανήκει μόνο σε ένα τμήμα και κανείς δεν ανήκει κατ ευθείαν στην Διεύθυνση τότε η επίλυση είναι η κατωτέρω. Εάν όμως υπάρχει έστω και ένας εργαζόμενος που δεν ανήκει σε Τμήμα αλλά ανήκει κατ ευθείαν στην Διεύθυνση (π.χ. Διευθυντής), τότε η επίλυση είναι η δημιουργία ενός τριγώνου όπου κάθε εργαζόμενος θα ανήκει σε μια διεύθυνση και προαιρετικά σε κάποιο τμήμα. 6.3.1.3.3. Μεταβατικός συσχετισμός (transitive relationship) Ο μεταβατικός συσχετισμός είναι ένα κλειστό διάγραμμα τριών ή περισσοτέρων οντοτήτων, όπου οι οντότητες συνδέονται μεταξύ τους περιφερειακά. Είναι σημείο προβληματισμού κατά πόσον χρειάζονται όλοι οι συσχετισμοί μεταξύ τους. Η ύπαρξη μιας τέτοιας διάταξης δεν συνεπάγεται και σχεδιαστικό πρόβλημα. Στην συγκεκριμένη όμως περίπτωση οι αναλυτικές γραμμές των τιμολο- 149

γίων (που περιέχουν τα είδη του τιμολογίου) συσχετίζονται με το τιμολόγιο και όχι με τον πελάτη. 6.3.1.3.4. Συσχετισμός συνδέσμου (connection trap) Η διάταξη αυτή αφορά μια ιεραρχία τριών συσχετισμών ένα προς πολλά, όπου ο κατώτερος συσχετισμός είναι προαιρετικός. Η ύπαρξη του προαιρετικού συσχετισμού μεταξύ Τμήματος και εργαζομένου δείχνει ότι θα υπάρχουν περιπτώσεις όπου κάποιοι εργαζόμενοι δεν θα ανήκουν πουθενά. Οι λύσεις είναι δύο : 1. Δημιουργείται συσχετισμός μεταξύ Διεύθυνσης και εργαζομένου για τους Διευθυντές που δεν ανήκουν σε Τμήμα. 2. Δημιουργείται ένα εικονικό Τμήμα (λογική εγγραφή) με τίτλο Διεύθυνση και δεν είναι πλέον προαιρετικός ο συσχετισμός. 150

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων 6.3.1.4. Διάγραμμα συσχετισμού οντοτήτων πολλαπλών επιπέδων Εάν το διάγραμμα συσχετισμού οντοτήτων περιλαμβάνει μεγάλο αριθμό οντοτήτων, είναι πολύ δύσκολη η απεικόνιση όλων αυτών των οντοτήτων σε ένα φύλλο χαρτιού ή μια οθόνη Η/Υ. Για το λόγο αυτό ομαδοποιούνται οι οντότητες σε ενότητες που έχουν σχέση μεταξύ τους και δημιουργούνται διαγράμματα πολλαπλών επιπέδων. Έτσι έστω το διάγραμμα : Παρατηρούμε ότι υπάρχουν νέες πληροφορίες για κάθε οντότητα. Ο κωδικός Ο1, Ο2 κ.λ.π. στην επάνω αριστερή γωνία συμβολίζει τον αύξοντα αριθμό της οντότητας. Το γράμμα Α ή Σ στην επάνω δεξιά γωνία συμβολίζει κατά πόσον η οντότητα αυτή είναι ατομική ή συγκεντρωτική (αναλύεται σε επί μέρους οντότητες). Έτσι η συγκεντρωτική οντότητα Τμήματα (Ο4) αναλύεται στις ατομικές Πτυχία (Ο4.1) και Μαθήματα (Ο4.2) κ.ο.κ. 151

6.3.2. Κανονικοποίηση (Normalization) Η φάση της κανονικοποίησης των δεδομένων είναι είτε ο έλεγχος του μοντέλου συσχετισμού οντοτήτων, είτε μια διαφορετική προσέγγιση του λογικού σχεδιασμού του μοντέλου αρχείων. Στη φάση αυτή καταγράφονται όλες οι πληροφορίες που σχετίζονται με πεδία και όλες οι σχετικές έννοιες με αυτά που θα βοηθήσουν μετά την ομαδοποίηση των πεδίων σε πίνακες. Το βήμα αυτό είναι απαραίτητο για την ολοκλήρωση του σχεδιασμού μιας σχεσιακής βάσης δεδομένων, εφ όσον έχει σαν αποτέλεσμα (α) την αξιοποίηση όλων των δεδομένων που χρειάζεται το σύστημα, (β) την οργάνωση των δεδομένων σε τέτοια μορφή ώστε ένα δεδομένο να υπάρχει σε ένα και μόνο ένα σημείο και (γ) την απεικόνιση των συσχετισμών μεταξύ των οντοτήτων που ενδιαφέρουν το σύστημα. 6.3.2.1. Γιατί χρειάζεται η κανονικοποίηση Για να γίνει κατανοητότερη η όλη διαδικασία της κανονικοποίησης, θα εξετάσουμε ένα απλό παράδειγμα μη κανονικοποιημένου πίνακα. Έστω ότι καλούμαστε από μια εταιρεία συντήρησης Η/Υ να σχεδιάσουμε τους πίνακες παρακολούθησης των πελατών της. Η εταιρεία θέλει να παρακολουθεί τον τύπο και τον αριθμό των συσκευών που διαθέτει κάθε πελάτης της. Επίσης θέλει να γνωρίζει της απόσταση σε χιλιόμετρα της έδρας κάθε πελάτη από το κέντρο υποστήριξης που βρίσκεται στην Αθήνα. Κάθε πελάτης είναι κωδικοποιημένος με ένα μοναδικό κωδικό. Μετά από προσεκτική συλλογή όλων των πληροφοριών που αφορούν το συγκεκριμένο πρόβλημα, προέκυψε ο κατωτέρω πίνακας. Για να γίνουν κατανοητά τα προβλήματα που προκύπτουν όταν διαχειριζόμαστε μη κανονικοποιημένους πίνακες, θα κάνουμε κάποιες νοητές εγγραφές στον πίνακα αυτό και θα παρατηρήσουμε τα αποτελέσματα : 152

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων Έστω ότι θέλουμε να προσθέσουμε ένα νέο πελάτη σε μια υπάρχουσα πόλη (π.χ. ΧΑΛΚΙΔΑ) και έστω ότι ο πελάτης αγόρασε μια από τις συσκευές του πίνακα (π.χ. ARMADA). Παρατηρούμε ότι θα πρέπει να ξανακαταχωρήσουμε επαναλαμβανόμενες πληροφορίες (με όλους του κινδύνους λαθών), όπως την απόσταση (ήδη έχει καταχωρηθεί η απόσταση της Χαλκίδας) και τον κατασκευαστή (COMPAQ). Έστω ότι προσθέτουμε μια νέα συσκευή σε υπάρχοντα πελάτη. Παρατηρούμε ότι πρέπει να ξανακαταχωρήσουμε επαναλαμβανόμενες πληροφορίες, όπως το όνομα του υπευθύνου. Έστω ότι θέλουμε να προσθέσουμε μια νέα συσκευή την οποία ανάλαβε να υποστηρίζει η επιχείρηση, ένα εκτυπωτή DESKJET της HP. Παρατηρούμε ότι δεν μπορούμε να προσθέσουμε τη συσκευή πριν να υπάρξει ο πρώτος πελάτης (δεν επιτρέπονται εγγραφές με κενό κλειδί). Έστω ότι διαγράφουμε τον πελάτη με κωδικό 3. Παρατηρούμε ότι μαζί με τον πελάτη διαγράφεται και η πόλη Χαλκίδα, η απόσταση της Χαλκίδας, καθώς και η συσκευή SCANJET της HP. Τα προβλήματα επομένως που προκύπτουν από τον μη κανονικοποιημένο πίνακα είναι : Σε κάθε νέα λογική εγγραφή πρέπει να επαναλαμβάνονται πληροφορίες που ήδη είναι καταχωρημένες σε άλλες λογικές εγγραφές (όπως υπεύθυνος, απόσταση και κατασκευαστής) με αποτέλεσμα καθυστερήσεις και πιθανά λάθη καταχώρησης. Τα σφάλματα καταχώρησης έχουν σαν αποτέλεσμα διαφορετικές τιμές για την ίδια πληροφορία σε διαφορετικές λογικές εγγραφές. Έτσι σε μια λογική εγγραφή μπορεί η απόσταση της Χαλκίδας να είναι 70 και σε άλλη 700. Δεν μπορούν να προστεθούν νέες πληροφορίες (πόλεις, συσκευές) εάν δεν υπάρξει πρώτα ο πρώτος πελάτης που θα τον αφορούν (επειδή το πρωτεύον κλειδί του πίνακα είναι ο κωδικός πελάτη). Διαγραφή κάποιων λογικών εγγραφών συνεπάγεται απώλεια σημαντικών πληροφοριών που δεν έχουν άμεση σχέση με το πρωτεύον κλειδί. Μπορεί να γίνουν αλλαγές σε μια λογική εγγραφή χωρίς να αλλάξουν και όλες οι άλλες λογικές εγγραφές που επηρεάζονται από την αλλαγή αυτή. Εάν π.χ. αλλαχθεί η απόσταση της Κορίνθου σε 100 στον πελάτη 4, θα εμφανίζεται αλλού η Κόρινθος με απόσταση 80 και αλλού 100 χιλιόμετρα. 153

Όλα αυτά τα προβλήματα θα λύνονταν αν ο αρχικός πίνακας αναλυόταν σε τέσσερις επί μέρους πίνακες, ένας με τις συσκευές κάθε πελάτη και τρεις πίνακες αναφοράς, ένα για τον πελάτη, ένα για τις πόλεις και ένα για τις συσκευές. Η δημιουργία αυτών των πινάκων είναι αποτέλεσμα εφαρμογής των κανόνων της κανονικοποίησης. 6.3.2.2. Οι βασικές αρχές της κανονικοποίησης Η κανονικοποίηση εφαρμόζεται σε κάθε πίνακα χωριστά. Ο πίνακας αυτός πρέπει να εμφανίζεται σαν ατομική οντότητα (να μην αναλύεται περαιτέρω σε άλλες αναλυτικές οντότητες) στο διάγραμμα συσχετισμού οντοτήτων. Για τον πίνακα αυτό πρέπει να έχουν καταγραφεί όλα τα πεδία καθώς και το πρωτεύον κλειδί (το πεδίο που κατ εξοχήν χαρακτηρίζει κάθε λογική εγγραφή του πίνακα). Το αποτέλεσμα της κανονικοποίησης είτε επιβεβαιώνει ότι πράγματι ο αρχικός πίνακας είναι ατομική οντότητα, ή αναλύει τον αρχικό πίνακα σε ατομικές οντότητες (άλλους πίνακες) οι οποίες δεν μπορούν να αναλυθούν περαιτέρω. Επομένως οι φάσεις του μοντέλου συσχετισμού οντοτήτων και της κανονικοποίησης αλληλοσυμπληρώνονται και αυτοελέγχονται ώστε το αποτέλεσμα να μπορεί να τροφοδοτήσει τη φάση του σχεδιασμού της σχεσιακής βάσεως δεδομένων (φυσικός σχεδιασμός). Η κανονικοποίηση των δεδομένων μπορεί να χαρακτηριστεί σαν κατηγοριοποίηση ομάδων πεδίων λαμβάνοντας υπ όψη τα ιδιαίτερα χαρακτηριστικά κάθε ομάδας. 154

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων Η κανονικοποίηση των δεδομένων εφαρμόζεται σε ένα πίνακα κάθε φορά και γίνεται με βήματα τα οποία ακολουθούν συγκεκριμένους κανόνες. Τα βήματα είναι τουλάχιστον τρία : Η διαδικασία της κανονικοποίησης είναι ιεραρχική και κάθε επίπεδο διέπεται από αυστηρότερους κανόνες από το προηγούμενο. Δομές δεδομένων που δεν ικανοποιούν τους κανόνες της 1 ης κανονικοποιημένης μορφής λέγονται μη κανονικοποιημένες. 6.3.2.3. Η διαδικασία της κανονικοποίησης Η κανονικοποίηση είναι και κατηγοριοποίηση και διαδικασία. Το αποτέλεσμα της διαδικασίας είναι η δημιουργία πινάκων σε 3 η κανονικοποιημένη μορφή. Τα βήματα της διαδικασίας είναι τα ακόλουθα: 1. Έλεγχος αν οι πίνακες είναι σε 1 η κανονικοποιημένη μορφή 2. Εάν όχι οι πίνακες πρέπει να αναλυθούν σε επί μέρους πίνακες με βάση τους κανόνες της κανονικοποίησης μέχρις ότου έρθουν σε 1 η κανονικοποιημένη μορφή. 3. Έλεγχος αν οι κανονικοποιημένοι πίνακες 1 ης μορφής είναι σε 2 η κανονικοποιημένη μορφή. 4. Εάν όχι πρέπει να αναλυθούν μέχρις ότου έρθουν σε 2 η κανονικοποιημένη μορφή. 5. Έλεγχος αν οι κανονικοποιημένοι πίνακες 2 ης μορφής είναι σε 3 η κανονικοποιημένη μορφή. 6. Εάν όχι πρέπει να αναλυθούν μέχρις ότου έρθουν σε 3 η κανονικοποιημένη μορφή. 155

6.3.2.3.1. Πρώτη κανονικοποιημένη μορφή Οι κανόνες που πρέπει να ισχύουν ώστε ένας πίνακας να είναι σε 1 η κανονικοποιημένη μορφή είναι : Κάθε πίνακας πρέπει να έχει ένα ή περισσότερα υποψήφια κλειδιά. Τα πεδία του πίνακα δεν πρέπει να περιέχουν ομαδοποιήσεις. Δηλαδή απαγορεύονται : - Πολυδιάστατα πεδία (arrays), ήτοι απαγορεύονται τα πεδία της μορφής a(n,m, ). Έτσι αντί του πεδίου Α(12) που χρησιμεύει για να αποθηκεύει τις μηνιαίες τιμές έστω πωλήσεων στα πεδία Α(1), Α(2), Α(3), χρησιμοποιούνται ξεχωριστά πεδία όπως Α1, Α2, Α3, - Πεδία που μπορούν να αναλυθούν σε άλλα πεδία. Δηλαδή απαγορεύονται σύνθετα πεδία. - Επαναλαμβανόμενα πρωτεύοντα κλειδιά. Πρέπει να υπάρχει ένα τουλάχιστον πρωτεύον μοναδικό κλειδί ανά λογική εγγραφή κ.α. Επομένως κάθε πεδίο πρέπει να είναι απλής μορφής, ήτοι πεδίο χαρακτήρων, αριθμητικό, ημερομηνία, κ.λ.π. και κάθε υποψήφιο πρωτεύον κλειδί πρέπει να είναι μοναδικό. Επομένως το κέρδος της εφαρμογής των κανόνων της πρώτης κανονικοποιημένης μορφής είναι η απάλειψη των επαναλήψεων, είτε αυτές αφορούν επαναλήψεις πεδίων (όπως πίνακες τιμών), είτε επαναλήψεις κλειδιών, για κάθε πίνακα που εξετάζεται. Το πρόβλημα της ύπαρξης επαναλήψεων είναι ότι η διαδικασία αναζήτησης δεν σταματά στην αναζήτηση μιας λογικής εγγραφής με βάση το πρωτεύον και μοναδικό κλειδί. Πρέπει να συνεχισθεί η αναζήτηση μέχρις ότου βρεθεί η συγκεκριμένη επανάληψη που αναζητείται, με βάση κάποιο κριτήριο διαφορετικό από το κλειδί. Έτσι έστω ότι αναζητούμε τον φοιτητή με αριθμό μητρώου Ο99225. Εάν ο φοιτητής αυτός έχει πολλαπλές λογικές εγγραφές, έστω πέντε, τότε πέραν του κλειδιού χρειάζεται και άλλη πληροφορία η οποία θα δίνει τη δυνατότητα επιλογής της συγκεκριμένης λογικής εγγραφής. Εάν οι επαναλήψεις προήλθαν από την λανθασμένη προσθήκη του κωδικού μαθήματος στον πίνακα φοιτητών (με αποτέλεσμα ο φοιτητής αφού έχει περάσει πέντε μαθήματα να εμφανίζεται πέντε φορές στον πίνακα φοιτητών), τότε αυτό το πρόσθετο κριτήριο επιλογής θα είναι ο κωδικός μαθήματος. Εάν επιτραπεί η ύπαρξη επαναλαμβανόμενων κλειδιών σε ένα πίνακα, αλλαγή ενός κλειδιού (π.χ. αλλαγή αριθμού μητρώου) σημαίνει ψά- 156

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων ξιμο όλου του πίνακα ώστε η αλλαγή να γίνει σε όλες τις λογικές εγγραφές που επαναλαμβάνονται. Για τους λόγους αυτούς οι σχεσιακές βάσεις δεδομένων απαιτούν σε κάθε πίνακα δεδομένων μοναδικά πρωτεύοντα κλειδιά. Και η 1 η μορφή κανονικοποίησης διασφαλίζει αυτή τη μοναδικότητα των κλειδιών. Ο αρχικός πίνακας του παραδείγματος είναι στη μορφή : Παρατηρούμε ότι το πρωτεύον κλειδί του πίνακα (κωδικός πελάτη) δεν είναι μοναδικό. Ειδικά για τον πρώτο πελάτη που διαθέτει τρία διαφορετικά είδη συσκευών έχουμε τρεις λογικές εγγραφές. Το ζητούμενο είναι ο εντοπισμός του πεδίου το οποίο είναι υπεύθυνο για την δημιουργία των επαναλήψεων. Στην περίπτωση αυτή το πεδίο είναι η συσκευή. Ο συνδυασμός επομένως του κωδικού πελάτη με την συσκευή (δημιουργία σύνθετου κλειδιού αποτελούμενου από δύο πεδία) έχει σαν αποτέλεσμα τη δημιουργία μοναδικών κλειδιών. Αντίστοιχα στο παράδειγμα των φοιτητών με τα μαθήματα, το πεδίο που είναι υπεύθυνο για τη δημιουργία των επαναλήψεων στον πίνακα των φοιτητών είναι ο κωδικός μαθήματος. Επομένως ο πίνακας σε 1 η κανονικοποιημένη μορφή γίνεται : και το μοναδικό πρωτεύον κλειδί είναι το σύνθετο κλειδί που προκύπτει από το συνδυασμό των πεδίων κωδικός πελάτη συν συσκευή (τα δύο πρώτα πεδία). 157

6.3.2.3.2. Δεύτερη κανονικοποιημένη μορφή Οι κανόνες που πρέπει να ισχύουν ώστε κάθε πίνακας να είναι σε 2 η κανονικοποιημένη μορφή είναι : Κάθε πίνακας πρέπει να βρίσκεται σε 1 η κανονικοποιημένη μορφή Κάθε κλειδί πρέπει να καθορίζει πλήρως κάθε πεδίο που δεν συμμετέχει στο κλειδί. Επομένως κάθε πεδίο που δεν είναι στο κλειδί, πρέπει να εξαρτάται από το σύνολο του κλειδιού (ειδικά όταν το κλειδί αποτελείται από πολλά πεδία) και όχι από κάποιο από τα πεδία που συνθέτουν το κλειδί. Επομένως οι κανόνες της 2 ης μορφής κανονικοποίησης εφαρμόζονται σε πίνακες με σύνθετα κλειδιά και ελέγχονται όλα τα πεδία που δεν είναι κλειδιά ως προς κάθε πεδίο που συνθέτει κάθε σύνθετο κλειδί. Τα προβλήματα που αντιμετωπίζονται με την εφαρμογή των κανόνων της 2 ης μορφής κανονικοποίησης είναι : 1. Η πιθανότητα να έχουμε διαφορετικές τιμές σε διαφορετικές λογικές εγγραφές του ιδίου πίνακα για πεδία που έπρεπε να είναι ίδια. Στο παράδειγμα μας ο κατασκευαστής δεν εξαρτάται από όλο το κλειδί αλλά μόνο από τη συσκευή. Μπορούμε επομένως να έχουμε δυο λογικές εγγραφές που στην μια να εμφανίζεται ότι η συσκευή HP-PC κατασκευάζεται από την HP ενώ στην επόμενη να φαίνεται ότι η συσκευή HP-PC κατασκευάζεται από την COMPAQ. 2. Η αδυναμία να καταχωρήσουμε νέες τιμές πεδίων λόγω του ότι καμία λογική εγγραφή δεν τις χρησιμοποιεί. Δεν μπορούμε να προσθέσουμε για παράδειγμα μια νέα πόλη (Θήβα) ή μια νέα συσκευή (DESKJET) όταν δεν υπάρχουν λογικές εγγραφές (πελάτες) για τη συγκεκριμένη πόλη ή συσκευή. 3. Η πιθανότητα να ενημερώσουμε κάποια πεδία σε μια λογική εγγραφή δίχως να αλλάξουμε τα ίδια πεδία σε όλες τις λογικές εγγραφές του πίνακα. Εάν λοιπόν διορθώσουμε την πόλη σε μια λογική εγγραφή ενός πελάτη (π.χ. αν αλλάξουμε την πόλη στην πρώτη λογική εγγραφή από ΛΑΜΙΑ σε ΠΑΤΡΑ για τον πελάτη με κωδικό 1), εάν δεν κάνουμε την ίδια αλλαγή και σε όλες τις υπόλοιπες λογικές εγγραφές του πίνακα με τον ίδιο κωδικό πελάτη, θα έχουμε σφάλματα στα περιεχόμενα του πίνακα. 158

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων Από τα υπόλοιπα πεδία του πίνακα διαπιστώνονται ομαδοποιήσεις πεδίων (υποψήφιοι πίνακες) εφ όσον τα πεδία δεν εξαρτώνται από το σύνολο του σύνθετου κλειδιού του πίνακα αλλά από κάποιο από τα επί μέρους πεδία. Εξετάζοντας τον πίνακα διαπιστώνουμε ότι τα πεδία πόλη, απόσταση και υπεύθυνος εξαρτώνται από τον κωδικό πελάτη και όχι από το σύνολο του σύνθετου κλειδιού. Επομένως δημιουργούμε ένα νέο πίνακα Πελάτες με πρωτεύον μοναδικό κλειδί τον κωδικό πελάτη και πεδία την πόλη, την απόσταση και τον υπεύθυνο. Παρόμοια διαπιστώνεται ότι ο κατασκευαστής εξαρτάται από τη συσκευή και όχι από το σύνολο του σύνθετου κλειδιού. Επομένως δημιουργούμε ένα νέο πίνακα Συσκευές με πρωτεύον μοναδικό κλειδί τη συσκευή και πεδίο τον κατασκευαστή. Ο πίνακας Συσκευές Πελατών στο τέλος της 2 ης μορφής κανονικοποίησης θα διαμορφωθεί ως εξής : 159

6.3.2.3.3. Τρίτη κανονικοποιημένη μορφή Οι κανόνες που πρέπει να ισχύουν ώστε κάθε πίνακας να είναι σε 3 η κανονικοποιημένη μορφή είναι : Κάθε πίνακας πρέπει να είναι σε 2 η κανονικοποιημένη μορφή (επομένως και σε πρώτη). Το πρωτεύον κλειδί πρέπει να καθορίζει όλα τα άλλα πεδία ή ειδικότερα τα πεδία που δεν είναι κλειδιά πρέπει να καθορίζονται από το κλειδί και όχι από άλλα πεδία εκτός του κλειδιού. Επομένως οι κανόνες της 3 ης μορφής κανονικοποίησης εφαρμόζονται σε πίνακες με περισσότερα του ενός πεδία και ελέγχονται όλα τα πεδία που δεν είναι κλειδιά μεταξύ τους. Τα προβλήματα που αντιμετωπίζονται με την εφαρμογή των κανόνων της 2 ης μορφής κανονικοποίησης είναι : 1. Η πιθανότητα να χαθούν τιμές πεδίων που κανονικά έπρεπε να παραμένουν όταν διαγράφονται λογικές εγγραφές. Π.χ. στον πίνακα Πελάτες αν διαγραφεί ο πελάτης με κωδικό 1 θα χαθεί και η πόλη ΛΑΜΙΑ. 2. Καταχώρηση διαφορετικών τιμών σε πεδία διαφορετικών λογικών εγγραφών που κανονικά θα έπρεπε να είναι οι ίδιες. Π.χ. στον ίδιο πίνακα στους κωδικούς πελατών 4 και 5 η απόσταση για την πόλη ΚΟΡΙΝΘΟ μπορεί να έχει διαφορετικές τιμές. 3. Διόρθωση τιμών πεδίων σε μια λογική εγγραφή του πίνακα με αποτέλεσμα το ίδιο πεδίο σε άλλες λογικές εγγραφές να έχει άλλη τιμή ενώ δεν θα έπρεπε. Π.χ. αν αλλάξει η απόσταση στη λογική εγγραφή του πελάτη 4, πρέπει να αλλάξει και στη λογική εγγραφή του πελάτη 5 ώστε να υπάρχει συμφωνία. Εξετάζοντας τον πίνακα Πελάτες παρατηρούμε ότι το πεδίο απόσταση δεν εξαρτάται από το κλειδί του πίνακα, αλλά από το πεδίο πόλη. Επομένως ο πίνακας Πελάτες σπάει σε δύο πίνακες τον πίνακα Πόλεις με κλειδί την πόλη και πεδίο την απόσταση και στον πίνακα Πελάτες. Οι υπόλοιποι πίνακες είναι κανονικοποιημένοι. 160

Σχεδιασμός πληροφοριακών συστημάτων και σχεσιακών βάσεων δεδομένων Επομένως η διαδικασία της κανονικοποίησης οδήγησε στην ανάλυση του αρχικού πίνακα στους πίνακες : Πόλεις (κλειδί πόλη) Πελάτες (κλειδί κωδικός πελάτη) Συσκευές (κλειδί συσκευή) Συσκευές Πελατών (κλειδί κωδικός πελάτη & συσκευή) 161

6.3.2.4. Το διάγραμμα συσχετισμού κανονικοποιημένων οντοτήτων Έχοντας ολοκληρώσει και τη διαδικασία της κανονικοποίησης, μπορούμε να σχεδιάσουμε το διάγραμμα συσχετισμού οντοτήτων περιλαμβάνοντας σε κάθε οντότητα και το πρωτεύον μοναδικό κλειδί, ώστε να δείξουμε τον τρόπο συσχετισμού μεταξύ των οντοτήτων. Το διάγραμμα αυτό δείχνει στο επάνω μέρος κάθε οντότητας το όνομα και στο κάτω το πρωτεύον μοναδικό κλειδί της οντότητας. Όπως εξηγήσαμε και στην παράγραφο 6.3.1.2. για να μπορέσει να υπάρχει συσχετισμός ένα προς πολλά μεταξύ δύο οντοτήτων, θα πρέπει το κλειδί της οντότητας προς ένα να υπάρχει σαν πεδίο στην οντότητα προς πολλά. Έτσι το πεδίο πόλη είναι πρωτεύον μοναδικό κλειδί για την οντότητα Πόλεις και πεδίο της οντότητας Πελάτες. Αντίστοιχα τα πεδία κωδ. πελάτη και συσκευή είναι πρωτεύοντα μοναδικά κλειδιά για τις οντότητες Πελάτες και Συσκευές και πεδία της οντότητας Συσκευές πελατών. Όλοι δε οι πίνακες έχουν ένα πρωτεύον μοναδικό κλειδί το οποίο προσδιορίζει απόλυτα και μοναδικά κάθε λογική εγγραφή του αντίστοιχου πίνακα. 162