Εμμανουήλ Γιαννακουδάκης

 

 

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

 

B΄ Έκδοση

 

 

 

Εκδότης: Μπένου Ε.

 

Μορφή: Μαλακό εξώφυλλο

 

Αριθμός σελίδων: 608

 

Κωδικός ISBN: 9789608512276

 

Διαστάσεις: 24 × 17 εκ.

 

Κωδ. Εύδοξος: 2764

 

Έτος έκδοσης: 2009

 

 

 

 

 ► παρουσίαση

Ο σχεδιασμός ακόμη και της πλέον απλής βάσης δεδομένων που περιλαμβάνει περιορισμένο αριθμό αρχείων απαιτεί γνώση συγκεκριμένων κανόνων και τεχνικών, έτσι ώστε να εξασφαλίζεται τόσο η συνέπεια όσο και η ακεραιότητα των καταχωριζόμενων στα αρχεία πληροφοριών. Όσον αφορά τη διαχείριση του περιβάλλοντος της βάσης καθώς και της επίδοσης του λογισμικού, εάν ο σχεδιαστής δεν υιοθετήσει συγκεκριμένους κανόνες ρύθμισης της σχεδίασης, πολύ σύντομα η βάση αποδεικνύεται ανέτοιμη να αντιμετωπίσει τις ολοένα αυξανόμενες ανάγκες των χρηστών.

Το βιβλίο αυτό παρουσιάζει μια ολοκληρωμένη μεθοδολογία σχεδιασμού σύγχρονων βάσεων δεδομένων, αλγοριθμοποιώντας -όπου είναι δυνατόν- τα επιμέρους στάδια, ενώ, παράλληλα, προσφέρει όλη τη γνώση που απαιτείται για τη σωστή και αποτελεσματική διαχείριση του συνολικού περιβάλλοντος της βάσης δεδομένων και στα τρία επίπεδα: λογικό, εσωτερικό και εξωτερικό σχήμα.

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

Η ακρίβεια των εννοιών που υπεισέρχονται στο σχεδιασμό, καθώς και η σχετική ορολογία, αποτελούν καθοριστικό παράγοντα στην κατανόηση της μεθοδολογίας του σχεδιασμού. Το βιβλίο δίνει ιδιαίτερη βαρύτητα στο θέμα αυτό, ενώ, παράλληλα, κάθε ορισμός συνοδεύεται από πολλαπλά και ποικίλα παραδείγματα. Δοθέντος ότι η αγγλική ορολογία πολλές φορές αδικεί τις υποκείμενες έννοιες, καθότι αφήνει περιθώρια παρείσακτων όρων, καταβλήθηκε κάθε προσπάθεια για την υιοθέτηση κατανοητή ς ελληνικής ορολογίας σε όλα τα επιμέρους στάδια του σχεδιασμού. Τυπικά παραδείγματα είναι οι έννοιες: πλειάδα (tuple), τελεστές θήτα (theta operators), αναπωλειακή σύνδεση (loss join), ενημερωσιμότητα όψεων (updatability of views), κανονική σύνθεση (canonical synthesis), αποσύνθεση : iecomposition), πολυγενετισμός (polygeneticism), εντροπία (entropy), πολυγλωσσική διεπαφή (multilingual interface), δεικτοδότηση (indexing), κ.τ.λ.

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

Επισημαίνω ότι ένα μεγάλο ποσοστό της ύλης του παρόντος βιβλίου βασίζεται σε προσωπική έρευνα και σε δημοσιεύσεις σε διεθνή επιστημονικά περιοδικά. Η προαναφερόμενη ορολογία δεν είναι τυχαία. Κάθε όρος αντιπροσωπεύει ένα κεφάλαιο του βιβλίου, ενώ ο αναγνώστης θα παρατηρήσει την ελληνικότητα των ριζών σε πολλούς από τους όρους του βιβλίου αυτού.

Κεφάλαιο 1: Σκοπός του κεφαλαίου αυτού είναι να παρουσιάσει τις βασικές αρχές που διέπουν το σχεδίασμά βάσεων δεδομένων, καθώς και να περιγράφει τα εννοιολογικά αντικείμενα που υπεισέρχονται σε όλα τα στάδια του σχεδιασμού. Τα εννοιολογικά αντικείμενα αποτελούν τους ακρογωνιαίους λίθους σύνθεσης κατάλληλων δομών τόσο στο εννοιολογικά όσο και στο λογικό επίπεδο.

Βασική έννοια εδώ αποτελεί η λεγάμενη πλειάδα, δηλαδή μια σειρά τιμών που συμβάλλουν στην περιγραφή ενός συγκεκριμένου αντικειμένου του πραγματικού κόσμου όπως είναι, για παράδειγμα, ο αριθμός ταυτότητας και τα σχετικά με έναν πολίτη στοιχεία. Με την ευκαιρία, αναφέρω ότι πλειάδες ή πληιάδες ήταν οι επτά κόρες του Άτλαντος, τις οποίες ο Δίας μετέφερε στον ουρανό. Ωστόσο, μόνο οι έξι είναι ορατές, με αποτέλεσμα να δημιουργηθεί ο μύθος περί χαμένης πλειάδας. Πολλοί ποιητές αναφέρονται στις Πλειάδες ονομάζοντάς τις ως Πελειάδες και παριστάνοντάς τις ως περιστερές, ενώ ο Ησίοδος (Εργα και Ημέραι, στίχ. 383, 384), αναφέρει: «Πληιάδων Ατλαγενέων επιτελλομενάων άρχεσθ’ αμήτου, αρότοιο δέ δυσομενάων»: Όταν ανατέλλουν ον Πλειάδες («συστροφή» αστέρων) ανερχόμενες εκ του Ωκεανού ως να τις γεννά ο Άτλας, τότε αρχίζει το θέρισμα και, όταν αυτές δύουν βυθιζόμενες εκ νέου στον Ωκεανό, αρχίζει το όργωμα.

Απώτερος σκοπός κάθε μεθοδολογίας σχεδιασμού βάσης δεδομένων είναι να παραχθεί μια δομή-πυρήνας, πάνω στην οποία θα στηριχτεί η ανάπτυξη του σχετικού λογισμικού εφαρμογών σε αποδεκτά όρια χρόνου, κόστους και προσπάθειας. Βασική προϋπόθεση αποτελεί η καταχώριση πλειάδων που διέπονται από συνέπεια και ακεραιότητα. Επίσης, η δομή και το λογισμικό πρέπει να ανταποκρίνονται στις απαιτήσεις του υπό μηχανοργάνωση οργανισμού. Τέτοιες απαιτήσεις είναι η προσαρμοστικότητα της δομής και των προγραμμάτων σε μελλοντικές ανάγκες, η ακεραιότητα, η ασφάλεια, η ευελιξία και η αποτελεσματική προσπέλαση των δεδομένων σε αποδεκτούς χρόνους απόκρισης.

Μια σωστή μεθοδολογία πρέπει να είναι αρκετά γενική και ευέλικτη, έτσι ώστε να μπορεί να χρησιμοποιηθεί ανεξάρτητα (α) από το μοντέλο δεδομένων (π.χ. ιεραρχικό, δικτυωτό, σχεσιακό) στο οποίο βασίζεται το λογικό σχήμα, και (β) από το συγκεκριμένο DBMS (DataBase Management System) που τελικά υιοθετείται για την υλοποίηση της ολοκληρωμένης βάσης δεδομένων. Επιπλέον, διαφορετικοί αναλυτές που χρησιμοποιούν μια συγκεκριμένη μεθοδολογία και τα ίδια εννοιολογικά στοιχεία επιβάλλεται να καταλήγουν σε παρόμοιες δομές.

Κεφάλαιο 2: Το κεφάλαιο αυτό εξετάζει την κανονικοποίηση ως μια αναλυτική πρακτική τεχνική που χρησιμοποιείται κατά τη λογική σχεδίαση, με σκοπό να ελεγχθεί η βιωσιμότητα του συνόλου των σχέσεων, οι οποίες τελικά θα μετατραπούν σε λογικούς τύπους εγγραφών.

Σε γενικές γραμμές, μια βάση είναι κανονικοποιημένη - και, κατά συνέπεια, αποδεκτή - εφόσον δεν περιέχει επαναλαμβανόμενα πεδία και πλεονασμό στα καταχωρισμένα στοιχεία, δεν εμφανίζει ανωμαλίες κατά την εισαγωγή, τροποποίηση και διαγραφή πλειάδων και, επιπλέον, εφόσον ο αριθμός των πινάκων αυτής είναι ο ελάχιστος δυνατός. Όταν λέμε ότι μια βάση αποτελείται από τον ελάχιστο δυνατό αριθμό πινάκων, εννοούμε ότι δεν υπάρχουν πίνακες που μπορούν να δημιουργηθούν μέσω της πράξης της σύνδεσης από άλλους που έχουν λιγότερα γνωρίσματα.

Οι ευκολίες που προσφέρει ένα DBMS για προοδευτική εκλέπτυνση (προγραμματισμό από το γενικό στο ειδικό) και προοδευτική ολοκλήρωση (σχεδίασμά) των εφαρμογών, τυγχάνουν μεγάλης εκτίμησης από τους χρήστες και αυτό το γεγονός δεν μπορούν να το παραβλάψουν οι σχεδιαστές και οι τεχνολόγοι των σχεσιακών και άλλων γλωσσών. Υπάρχει, δηλαδή, ανάγκη για γρήγορη προτυποποίηση και σταδιακή ανάπτυξη εφαρμογών, δοθέντος ότι, σε πολλές περιπτώσεις, τόσο οι πληροφορίες που χρειάζεται ένας σχεδιαστής μιας βάσης δεδομένων όσο και οι τελεστές που απαιτούνται για την εξυπηρέτηση των εφαρμογών είναι άγνωστες ab initio.

Στο κεφάλαιο αυτό περιγράφονται όλοι οι τελεστές της σχεσιακής άλγεβρας, που είναι: ένωση, τομή, διαφορά, επιλογή, προβολή, σύνδεση, γινόμενο και διαίρεση. Οι τελεστές αυτοί εφαρμόζονται ανεξάρτητα ο ένας από τον άλλο, ενώ, παράλληλα, μπορούν να συνδυαστούν μεταξύ τους, με σκοπό να εκτελέσουν ένα πολυσύνθετο έργο. Κατά την ανάλυση και παρουσίαση των τελεστών αυτών χρησιμοποιούνται πραγματικοί πίνακες και στο τέλος του κεφαλαίου παρουσιάζεται ένα παράδειγμα ολοκληρωμένου σχήματος σε γλώσσα SQL.

Κεφάλαιο 3: Στο κεφάλαιο αυτό παρουσιάζεται το θεωρητικό υπόβαθρο της μεθοδολογίας της κανονικοποίησης, η οποία αναλύεται διεξοδικά, καθώς επίσης και όλα τα επαγωγικά αξιώματα που αφορούν τόσο τις συναρτησιακές εξαρτήσεις όσο και τις εξαρτήσεις πολλαπλών τιμών. Πέραν των 5 γνωστών πλέον κανονικών μορφών, παρουσιάζονται η μηδενική κανονική μορφή (0NF), καθώς και η μορφή που εξετάζει τις εξαρτήσεις που προκύπτουν από τον ορισμό των πεδίων-κλειδιών (DKNF).

Έχοντας σχηματίσει ένα σύνολο συναρτησιακών εξαρτήσεων κατόπιν προσεκτικής ανάλυσης των γνωρισμάτων ενός οργανισμού, μπορούμε να το επαληθεύσουμε και να παραγάγουμε από αυτό πρόσθετες εξαρτήσεις. Στην πράξη, αυτό σημαίνει ότι ο εντοπισμός επιπλέον εξαρτήσεων θα παρέχει περισσότερους εναλλακτικούς συνδυασμούς ανάκτησης πλειάδων και υποπλειάδων. Ορισμένες εξαρτήσεις θεωρούνται αυτονόητες, ενώ άλλες προκύπτουν κατόπιν λεπτομερούς ανάλυσης και ενδοσυσχέτισης των γνωρισμάτων, ιδιαίτερα όσον αφορά τη συμμετοχή αυτών σε συγκεκριμένα σύνολα και υποσύνολα.

Ο αναλυτής που εκτελεί την κανονικοποίηση των ομάδων των γνωρισμάτων πρέπει να είναι ιδιαίτερα προσεκτικός κατά τη μετάβαση από την 1NF στην 5NF, έτσι ώστε - όπου είναι αναγκαίο - μια σχέση χαμηλής μορφής να μπορεί να αναπαρασταθεί από μία ή από περισσότερες σχέσεις υψηλότερης μορφής. Λέγοντας «αναπαράσταση» εννοούμε τη σύνθεση μιας σχέσης από άλλες μέσω του τελεστή της σύνδεσης των υποκείμενων πινάκων.

Κεφάλαιο 4: Το κεφάλαιο αυτό εξετάζει την έννοια της όψης, η οποία αποτελεί μια διεπαφή που προσεγγίζει περισσότερο την εικόνα που έχει ο χρήστης για τη βάση δεδομένων και στοχεύει στην κάλυψη διαφορετικών μορφών σύνθεσης ιδεατών σχέσεων. Θεωρούμε ότι η όψη αποτελεί μέσο εξατομίκευσης των προσφερόμενων από τη βάση πλειάδων προς τον τελικό χρήστη, έτσι ώστε να παρέχεται κάποια μορφή ανεξαρτησίας από την αυστηρή δομή των πινάκων βάσης που επιβάλλει και τελικά διαμορφώνει η τεχνική της κανονικοποίησης.

Επίσης, η συμβολή των όψεων στην ασφάλεια και στην ακεραιότητα μιας βάσης δεδομένων, αλλά και στην απλούστευση των προγραμμάτων εφαρμογών, είναι αναμφισβήτητη. Αυτό επιτυγχάνεται από το γεγονός ότι η σχέση παρέχει πρόσβαση μόνο σε εκείνο το υποσύνολο των γνωρισμάτων αλλά και των πλειάδων που απαιτούνται κάθε φορά.

Όσον αφορά την πρακτική της επεξεργασίας όψεων, η δομή της SQL παρέχει τα μέσα για τη δυναμική δήλωση μιας όψης (π.χ. μέσω της εντολής CREATE VIEW) και, βεβαίως, για την άμεση διάθεση αυτής για επερωτήσεις από εξουσιοδοτημένους χρήστες. Οι επερωτήσεις που τίθενται πάνω στην όψη μεταφράζονται σε αντίστοιχες επερωτήσεις πάνω στους υποκείμενους πίνακες της βάσης, χωρίς να δημιουργείται κανένα ιδιαίτερο πρόβλημα.

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

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

Κεφάλαιο 5: Το κεφάλαιο αυτό παρουσιάζει μια πολύ ισχυρή μεθοδολογία σχεδιασμού βάσης, τη λεγάμενη κανονική σύνθεση, η οποία βασίζεται στην ανάλυση και στη συγχώνευση των συσχετίσεων μεταξύ ομάδων γνωρισμάτων - κυρίως όψεων - ενός οργανισμού. Στόχος είναι η σύνθεση ενός κανονικού σχήματος, το οποίο αναπαριστά τη συμφυή δομή των γνωρισμάτων και, ως εκ τούτου, είναι ανεξάρτητο τόσο από τις εφαρμογές που εξυπηρετούνται από αυτά όσο και από λογισμικό και υλισμικό που χρησιμοποιείται.

Ως κανονική δομή ορίζεται μια δομή-πυρήνας που περιλαμβάνει όλα τα στοιχεία, κλειδιά και συσχετίσεις μεταξύ αυτών, ομάδες σχετιζόμενων στοιχείων, καθώς και όλους τους περιορισμούς ενός οργανισμού, έτσι ώστε να προσφέρεται όλη η απαιτούμενη υποδομή για την καταχώριση πληροφοριών αλλά και για την τεκμηρίωση αυτών, ανεξάρτητα από εφαρμογές. Με άλλα λόγια, η κανονική δομή αποτελεί μια ελαχιστοποιημένη, ευσταθή και εννοιολογικά βέλτιστη δομή.

Άρα, εξ ορισμού, για να μπορεί η βάση να παραμένει ευσταθής και να αντιμετωπίζει με ευελιξία τις μεταβαλλόμενες ανάγκες ενός οργανισμού, πρέπει να έχει κανονική δομή. Αποδεικνύεται, επίσης, ότι η κανονική δομή εξασφαλίζει την ελάχιστη ενόχληση από ενδεχόμενες τροποποιήσεις και επεκτάσεις του υπάρχοντος περιβάλλοντος εφαρμογών και του αντίστοιχου υπό χρήση λογισμικού.

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

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

Με στόχο την εφαρμογή ενός τέτοιου μοντέλου, υιοθετούμε συγκεκριμένα κριτήρια, τα οποία προέκυψαν κατόπιν πολυετούς έρευνας και εμπειρίας στο θέμα που πραγματεύεται το παρόν κεφάλαιο. Τα κριτήρια αυτά είναι: (α) λογική συνύπαρξη, (β) συναρτησιακή εξάρτηση, και (γ) προσπέλαση-συμπροσπέλαση. Γίνεται, επομένως, μια προσπάθεια να επεκτείνουμε και να εμπλουτίσουμε τη μεθοδολογία σχεδιασμού βάσεων δεδομένων, αναλύοντας τα γνωρίσματα σε υψηλότερο εννοιολογικό επίπεδο από εκείνο που παρέχεται από τις πέντε γνωστές κανονικές μορφές.

Οι μέθοδοι αποσύνθεσης, άλλως ομαδοποίησης γνωρισμάτων που αρμόζουν στην περίπτωσή μας, ανήκουν στην κατηγορία της ανάλυσης συστάδων και περιλαμβάνουν τεχνικές που έχουν χρησιμοποιηθεί στο σχεδίασμά φυσικών εγγραφών, αλλά και σε πολλές εφαρμογές κοινωνικών και φυσικών επιστημών. Μια λεπτομερής μελέτη των τεχνικών αυτών, κυρίως της Ιεραρχικής, Βελτιστοποίησης- Διαχωρισμού και της Πυκνότητας, συνοδευόμενη από πειραματισμό μέσω της υλοποίησης των αντίστοιχων αλγόριθμων, έδειξε ότι οι πλέον κατάλληλες μέθοδοι για την αποσύνθεση της καθολικής σχέσης είναι αυτές κάτω από την κατηγορία Βελτιστοποίηση-Διαχωρισμός.

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

Από την ανάλυση του προβλήματος γίνεται αισθητή η απουσία ενός «χρυσού αριθμού», ενός μέτρου αξιολόγησης, προκειμένου να κατασκευάσουμε ένα λογικό σχήμα και ένα αντίστοιχο φυσικό, με τον ίδιο τρόπο που οι πρόγονοί μας υιοθετούσαν το λεγόμενο χρυσό αριθμό Φ=1,618 που συνδύαζαν με έναν άλλο αριθμό, τον Π=3,1415, για να κατασκευαστούν όλα τα θαύματα της αρχαιότητας.

Όπως αναφέρει ο αξιόλογος ερευνητής Ιπποκράτης Δάκογλου (Ο μυστικός κώδικας του Πυθαγόρα, Τόμος I, σ. 119) «οι αριθμοί αυτοί αποτελούν το θεϊκό κλειδί, που θα μας βοηθήσει ν’ ανοίξουμε όλες τις πόρτες των αινιγματικών κατασκευών της προϊστορίας και να βρούμε τους εμπνευστές τους». Όλα τα αρχαία κτίσματα, από τις πυραμίδες ίσαμε τις ρωμάνικες εκκλησίες, κατασκευάστηκαν με βάση τη σχέση που υπάρχει ανάμεσα στο χρυσό αριθμό και τον τετραγωνισμένο κύκλο. Από το Π οι Έλληνες έπαιρναν το λεγόμενο ιερό μέτρο, άλλως τον πήχυ 0,5236=Π/6 και τη σπιθαμή 0,2618=Π/12. Η σχέση μεταξύ Φ και Π είναι: π=12/10χΦ2 £ 3,1416. Ελπίζω ότι θα εμφανιστεί υποψήφιος Διδάκτορας ικανός να αναλάβει έρευνα πάνω σε αυτό το τόσο ζωτικής σημασίας θέμα για το σχεδίασμά βάσεων δεδομένων, που είναι η αναζήτηση της χρυσής τομής ομαδοποίησης γνωρισμάτων.

Κεφάλαιο 7: Πολλές φορές ο σχεδιαστής αντιμετωπίζει το πρόβλημα επιλογής μεταξύ εναλλακτικών λύσεων, όπως είναι για παράδειγμα η επιλογή του πλέον βέλτιστου σχήματος, χωρίς ωστόσο να έχει στη διάθεσή του ένα αντικειμενικό μέτρο σύγκρισης, παρά μόνο την εμπειρία του. Το κεφάλαιο αυτό επιχειρεί να δώσει λύση στο θέμα αυτό, προτείνοντας ένα αξιόπιστο μέτρο ανάλυσης των γνωρισμάτων σε λογικό επίπεδο, σύμφωνα με τη μαθηματική θεωρία της εντροπίας και του πλεονασμού.

Βεβαίως, η έννοια του πλεονασμού είναι άμεσα εφαρμόσιμη και στο επίπεδο των πεδίων του εσωτερικού σχήματος αφού, στην πλειοψηφία των περιπτώσεων, κάθε γνώρισμα μεταφράζεται σε ένα αντίστοιχο φυσικό πεδίο. Όμως, η έννοια του πλεονασμού εδώ δεν αναφέρεται στο επίπεδο των πλειάδων μιας βάσης, δηλαδή στις τιμές που καταχωρίζονται στις στήλες. (Όσον αφορά το επίπεδο αυτό, υπάρχουν εδραιωμένες τεχνικές αντιμετώπισης του πλεονασμού όπως, για παράδειγμα, συμπίεση κειμένων (compression), κωδικοποίηση, κρυπτογράφηση, κ.τ.λ.).

Από τη στιγμή που ο διαχειριστής μιας βάσης έχει στη διάθεσή του ένα μέτρο εκτίμησης του πλεονασμού, η επιλογή ενός πίνακα ή μιας όψης από ένα δεδομένο σύνολο μπορεί πλέον να γίνεται και με ποσοτικοποιημένα κριτήρια, πέρα, δηλαδή, από τα λειτουργικά κριτήρια που απαιτεί αλλά και επιβάλλει κάθε εφαρμογή. Επιπλέον, ένα μέτρο εκτίμησης του πλεονασμού σαφώς επιτρέπει τον προσδιορισμό ενός ορίου, πέραν του οποίου ο πλεονασμός θεωρείται επείσακτος. Με άλλα λόγια, κατά τη δημιουργία νέων πινάκων και όψεων, ο πλεονασμός που εμφανίζεται πέραν ενός ορίου θεωρείται παρείσακτος και απαράδεκτος.

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

Κεφάλαιο 8: Η έννοια του κωδικού τόσο στα σχεσιακά όσο και στα αντικειμενοστρεφή μοντέλα δεδομένων σχεδόν ταυτίζεται με ένα πλήρως ελεγχόμενο πεδίο τιμών, οι οποίες στοχεύουν στην αναγνώριση αντικειμένων του πραγματικού κόσμου ή ενός υποσυνόλου αυτών. Στόχος του κεφαλαίου αυτού είναι η θεωρητική εδραίωση της έννοιας της κωδικοποίησης πλειάδων και της αναγνωρισιμότητας αυτών, έτσι ώστε να επιτευχθεί μια ολοκληρωμένη τυποποίηση και ποσοτικοποίηση της συναρτησιακής εξάρτησης και της εξάρτησης πολλαπλών τιμών. Μέσω μιας τέτοιας τυποποίησης σε επίπεδο θεωρίας συνόλων, γίνεται εφικτή η εφαρμογή κανόνων καθιέρωσης και αποκαθιέρωσης στηλών, καθώς και η επιλογή μεταξύ εναλλακτικών τεχνικών κατακερματισμού.

Η έννοια της κωδικοποίησης έχει άμεση σχέση με την έννοια της αναγνώρισης, δεδομένου ότι τα κωδικοποιημένα γνωρίσματα προσφέρουν βέλτιστη προσέγγιση στην ομαδοποίηση και στην ανάκτηση των επιθυμητών πλειάδων από τη βάση δεδομένων. Το ίδιο ισχύει και στον κατακερματισμό, όπου ο κύριος στόχος είναι η παραγωγή διευθύνσεων με τη μορφή ακέραιων αριθμών, οι οποίοι αντιστοιχούν στις θέσεις που αποθηκεύονται οι πλειάδες.

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

Κεφάλαιο 9: Μία από τις πλέον ανησυχητικές ελλείψεις της πλειοψηφίας των σημερινών βάσεων δεδομένων είναι η αδυναμία τους να υποστηρίξουν εννοιολογικές αναζητήσεις. Λέγοντας εννοιολογικές αναζητήσεις εννοούμε τη δυνατότητα έκδοσης και ικανοποίησης κριτηρίων αναζήτησης που περιγράφουν τις έννοιες των υπό αναζήτηση πληροφοριών, άσχετα από τις τιμές που έχουν καταχωριστεί στις επιμέρους πλειάδες. Η υπόθεση που κάνουμε εδώ είναι ότι οι έννοιες και οι αντίστοιχοι όροι υπάρχουν καταχωρισμένοι σε μια ιεραρχική δομή, από την οποία παρέχεται η δυνατότητα εντοπισμού των πλειάδων/εγγραφών που σχετίζονται με κάθε όρο.

Στο κεφάλαιο αυτό παρουσιάζουμε τα στοιχεία και τις ιδιότητες που συνθέτουν ένα αυτοματοποιημένο σύστημα πολύγλωσσου θησαυρού. Αναλύουμε, επίσης, τη σπουδαιότητα του θησαυρού για τον εκσυγχρονισμό και την αναβάθμιση των υπηρεσιών που παρέχει ένα σύγχρονο πληροφοριακό σύστημα, το οποίο βεβαίως στηρίζεται σε λογισμικό διαχείρισης βάσεων δεδομένων.

Θεωρούμε τον πολύγλωσσο θησαυρό αναπόσπαστο μέρος του λογισμικού της βάσης δεδομένων, δηλαδή υποσύστημα του DBMS που προσφέρεται για αξιοποίηση από όλες τις εφαρμογές. Επίσης, η δομή του θησαυρού προσφέρεται για πλήρωση και για εμπλουτισμό τόσο από κάθε εφαρμογή χωριστά (εξατομικευμένα) όσο και από το σύνολο του πληροφοριακού συστήματος.

Κεφάλαιο 10: Σκοπός του κεφαλαίου αυτού είναι να παρουσιάσει τις βασικότερες από τις παραμέτρους της φυσικής σχεδίασης, ιδιαίτερα εκείνες που επηρεάζουν άμεσα το χρόνο απόκρισης του συστήματος. Δοθέντος ότι σε όλες τις βασικές πράξεις (αναζήτηση, εισαγωγή, τροποποίηση και διαγραφή) που εκτελούνται σε μια βάση, συνήθως, υπεισέρχεται η διεργασία του εντοπισμού συγκεκριμένης ομάδας πλειάδων με σαφώς προσδιορισμένα κοινά χαρακτηριστικά, εστιάζουμε την προσοχή μας στους ακόλουθους πέντε τύπους κριτηρίων αναζήτησης: (α) ολοκληρωμένο, (β) ημιτελές, (γ) διαστήματος, (δ) τύπου Boolean, και (ε) εννοιολογικό.

Είναι φανερό ότι κάθε τύπος αναζήτησης απαιτεί μια διαφορετική, εξατομικευμένη θα λέγαμε, φυσική δομή, με σκοπό να εντοπίσει τις πλειάδες εκείνες που πληρούν το κριτήριο. Ωστόσο, υπάρχουν ορισμένες δομές που έχουν αποδείξει ότι είναι σε θέση να ικανοποιήσουν σε αρκετά υψηλό βαθμό όλους τους προαναφερόμενους τύπους αναζητήσεων. Σε κάθε περίπτωση, ο σχεδιαστής οφείλει να αξιολογήσει τόσο τους απαιτούμενους τύπους αναζητήσεων όσο και τη συχνότητα έκδοσης αυτών, με σκοπό να επιλέξει — εφόσον του παρέχεται η δυνατότητα - το συνδυασμό εκείνο που εξυπηρετεί τους χρήστες και τις εφαρμογές με τον καλύτερο τρόπο.

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

Το βιβλίο αυτό αποτελεί συνέχεια του βιβλίου μου «Συστήματα βάσεων δεδομένων SQL», το οποίο παρουσιάζει και αναλύει όλες τις κατηγορίες εντολών ενός DBMS, ιδιαίτερα εκείνες της καθιερωμένης πλέον γλώσσας SQL. Το παρόν βιβλίο πιστεύω ότι θα είναι χρήσιμο σε όλους τους φοιτητές Πληροφορικής, στους διευθυντές τμημάτων μηχανογράφησης, αλλά προπάντων σε όσους έχουν σχεδιάσει βάσεις και επιδιώκουν την επαλήθευση του τελικού σχεδιασμού, σε όσους σχεδιάζουν αυτή τη στιγμή βάσεις και έχουν “πελαγώσει”, και τέλος σε όσους προτίθενται να σχεδιάσουν βάσεις και δεν έχουν το χρόνο να μελετήσουν τις εκατοντάδες των επιστημονικών εργασιών προκειμένου να αρχίσουν να αναλύουν τα γνωρίσματα ενός οργανισμού.

Ευχαριστώ τη Ζωή Σαράντη-Βαρναλίδη και την Ελένη Ξιάρχου για τις υποδείξεις που έκαναν πάνω στα κείμενα.

Εμμανουήλ I. Γιαννακουδάκης

eyan@aueb.gr

 

 ► περιεχόμενα

 

ΠΡΟΛΟΓΟΣ iv

 

ΚΕΦΑΛΑΙΟ 1 25

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΑΙΑΣΜΟΥ

1.1 ΕΙΣΑΓΩΓΗ  25

1.2 ΕΠΙΠΕΔΑ ΣΧΕΔΙΑΣΜΟΥ  29

1.2.1 ΕΝΝΟΙΟΛΟΓΙΚΗ ΑΡΧΗ  30

1.2.2. ΑΡΧΗ ΤΗΣ ΑΥΤΑΡΚΕΙΑΣ  30

1.2.3 ΑΡΧΗ ΤΗΣ ΛΟΓΙΚΗΣ ΑΝΕΞΑΡΤΗΣΙΑΣ  30

1.2.4 ΑΡΧΗ ΤΗΣ ΦΥΣΙΚΗΣ ΑΝΕΞΑΡΤΗΣΙΑΣ  31

1.3 ΑΝΑΛΥΣΗ ΤΩΝ ΑΠΑΙΤΗΣΕΩΝ  31

1.4 ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ  36

1.5 ΕΝΝΟΙΟΛΟΓΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ  40

1.5.1 ΟΝΤΟΤΗΤΕΣ  41

1.5.2 ΓΝΩΡΙΣΜΑΤΑ  44

1.5.3 ΙΔΙΟΤΗΤΕΣ ΓΝΩΡΙΣΜΑΤΩΝ  45

1.5.4 ΣΥΣΧΕΤΙΣΕΙΣ  46

1.5.5 ΙΕΡΑΡΧΙΕΣ  49

1.6 ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ  51

1.7 ΦΥΣΙΚΗ ΣΧΕΔΙΑΣΗ  57

1.8 ΣΥΝΔΕΣΗ ΓΝΩΡΙΣΜΑΤΩΝ ΚΑΙ ΕΓΓΡΑΦΩΝ  59

1.8.1 ΠΑΡΑΔΕΙΓΜΑ ΣΥΝΘΕΤΗΣ ΔΟΜΗΣ  63

1.9 ΓΕΝΙΚΑ ΘΕΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ  73

1.9.1 ΑΚΕΡΑΙΟΤΗΤΑ  74

1.9.2 ΣΥΝΕΠΕΙΑ  74

1.9.3 ΑΠΟΚΑΤΑΣΤΑΣΗ  75

1.9.4 ΑΣΦΑΛΕΙΑ  76

1.9.5 ΑΠΟΔΟΤΙΚΟΤΗΤ A  77

 

ΚΕΦΑΛΑΙΟ 2  79

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ: ΠΡΑΚΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

2.1 ΕΙΣΑΓΩΓΗ  79

2.2 ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ  81

2.2.1 ΕΝΩΣΗ  87

2.2.2 ΤΟΜΗ  88

2.2.3 ΔΙΑΦΟΡΑ  89

2.2.4 ΕΠΙΛΟΓΗ  91

2.2.5 ΠΡΟΒΟΛΗ  92

2.2.6 ΣΥΝΔΕΣΗ  94

2.2.7 ΔΙΑΙΡΕΣΗ  99

2.2.8 ΓΙΝΟΜΕΝΟ  101

2.3 ΣΥΣΧΕΤΙΣΕΙΣ ΚΑΙ ΑΝΩΜΑΛΙΕΣ  102

2.3.1 ΑΝΑΛΥΣΗ ΣΥΣΧΕΤΙΣΕΩΝ  104

2.3.2 ΑΝΩΜΑΛΙΕΣ ΑΠΟ ΕΙΣΑΓΩΓΗ  108

2.3.3 ΑΝΩΜΑΛΙΕΣ ΑΠΟ ΤΡΟΠΟΠΟΙΗΣΗ  109

2.3.4 ΑΝΩΜΑΛΙΕΣ ΑΠΟ ΔΙΑΓΡΑΦΗ   109

2.4 ΚΡΙΤΗΡΙΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ  110

2.4.1 ΕΠΑΝΑΛΑΜΒΑΝΟΜΕΝΑ ΓΝΩΡΙΣΜΑΤΑ  114

2.4.2 ΣΥΝΑΡΤΗΣΙΑΚΗ ΕΞΑΡΤΗΣΗ  117

2.4.3 ΜΕΤΑΒΑΤΙΚΗ ΕΞΑΡΤΗΣΗ  122

2.4.4 ΕΞΑΡΤΗΣΗ ΠΟΛΛΑΠΛΩΝ ΤΙΜΩΝ  125

2.4.5 ΥΛΟΠΟΙΗΣΗ ΣΥΣΧΕΤΙΣΕΩΝ  127

2.5 ΠΑΡΑΔΕΙΓΜΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ  129

2.5.1 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΟΝΤΟΤΗΤΑΣ ΒΙΒΛΙΟ  130

2.5.2 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΟΝΤΟΤΗΤΑΣ ΑΝΑΓΝΩΣΤΗΣ  131

2.5.3 ΑΝΑΛΥΣΗ ΣΥΣΧΕΤΙΣΕΩΝ ΜΕΤΑΞΥ ΟΝΤΟΤΗΤΩΝ   132

2.6 ΠΑΡΑΔΕΙΓΜΑ ΛΟΓΙΚΟΥ ΣΧΗΜΑΤΟΣ  133

2.6.1 ΕΝΤΟΛΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΛΟΓΙΚΟΥ ΣΧΗΜΑΤΟΣ  134

2.6.2 ΕΠΕΞΗΓΗΣΗ ΕΝΤΟΛΩΝ ΛΟΓΙΚΟΥ ΣΧΗΜΑΤΟΣ  137

 

ΚΕΦΑΛΑΙΟ 3 141

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ: ΘΕΩΡΗΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

3.1 ΕΠΑΓΩΓΙΚΑ ΑΞΙΩΜΑΤΑ ΣΥΝΑΡΤΗΣΕΩΝ  141

3.2 ΕΠΑΓΩΓΙΚΑ ΑΞΙΩΜΑΤΑ ΠΟΑΛΑΠΛΩΝ ΤΙΜΩΝ  153

3.3 ΚΑΝΟΝΙΚΕΣ ΜΟΡΦΕΣ  158

3.3.1 ΠΡΩΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (1NF)  161

3.3.2 ΔΕΥΤΕΡΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (2NF)  163

3.3.3 ΤΡΙΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (3NF)  168

3.3.4 ΤΕΤΑΡΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (4NF)  179

3.3.5 ΠΕΜΠΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (5NF)   187

3.3.6 ΠΕΔΙΟ-ΚΛΕΙΔΙ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (DKNF)  192

3.4 ΣΥΝΔΕΣΕΙΣ ΚΑΙ ΕΞΑΡΤΗΣΕΙΣ  197

3.4.1 ΕΝΑΛΛΑΚΤΙΚΕΣ ΑΝΑΠΩΛΕΙΑΚΕΣ ΣΥΝΔΕΣΕΙΣ  203

3.4.2 ΔΙΑΤΗΡΗΣΗ ΕΞΑΡΤΗΣΕΩΝ  208

3.4.3 ΣΥΝΘΕΣΗ ΣΧΕΣΕΩΝ ΑΠΟ ΕΞΑΡΤΗΣΕΙΣ  214

3.5 ΠΡΟΧΩΡΗΜΕΝΕΣ ΕΞΑΡΤΗΣΕΙΣ  232

3.5.1 ΑΜΟΙΒΑΙΑ ΕΞΑΡΤΗΣΗ  233

3.5.2 ΙΕΡΑΡΧΙΚΗ ΕΞΑΡΤΗΣΗ   235

3.5.3 ΜΙΚΤΗ ΕΞΑΡΤΗΣΗ  235

3.5.4 ΣΥΝΕΞΑΡΤΗΣΗ  236

3.5.5 ΕΠΑΝΕΞΕΤΑΣΗ ΤΩΝ ΚΑΝΟΝΙΚΩΝ ΜΟΡΦΩΝ  237

3.6 ΟΛΟΚΛΗΡΩΜΕΝΗ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ  241

3.6.1 ΑΛΓΟΡΙΘΜΟΣ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ  243

3.6.2 ΠΑΡΕΚΚΛΙΣΗ ΑΠΟ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ  246

3.6.3 ΕΛΛΕΙΨΕΙΣ  247

3.7 ΤΟ ΜΕΛΛΟΝ  249

 

ΚΕΦΑΛΑΙΟ 4  251

ΣΧΕΑΙΑΣΜΟΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΟΨΕΩΝ

4.1 ΕΙΣΑΓΩΓΗ  251

4.1.1 ΑΡΧΗ ΤΗΣ ΕΠΑΝΑΔΗΜΙΟΥΡΓΙΑΣ  253

4.1.2 ΑΡΧΗ ΤΗΣ ΑΝΤΙΣΤΟΙΧΙΑΣ ΤΩΝ ΠΡΑΞΕΩΝ  253

4.2 ΤΥΠΟΙ ΣΥΝΔΕΣΕΩΝ  253

4.3 ΕΝΗΜΕΡΩΣΕΙΣ ΣΕ ΣΥΝΔΕΣΕΙΣ PK-FK  258

4.3.1 ΕΙΣΑΓΩΓΗ ΠΛΕΙΑΔΩΝ ΣΕ ΣΥΝΔΕΣΕΙΣ PK-FK  259

4.3.2 ΔΙΑΓΡΑΦΗ ΠΛΕΙΑΔΩΝ ΑΠΟ ΣΥΝΔΕΣΕΙΣ PK-FK  262

4.3.3 ΤΡΟΠΟΠΟΙΗΣΗ ΠΛΕΙΑΔΩΝ ΣΕ ΣΥΝΔΕΣΕΙΣ PK-FK  263

4.4 ΕΝΗΜΕΡΩΣΕΙΣ ΣΕ ΣΥΝΔΕΣΕΙΣ ΡΚ-ΡΚ  267

4.4.1 ΕΙΣΑΓΩΓΗ ΠΛΕΙΑΔΩΝ ΣΕ ΣΥΝΔΕΣΕΙΣ ΡΚ-ΡΚ  267

4.4.2 ΔΙΑΓΡΑΦΗ ΠΛΕΙΑΔΩΝ ΑΠΟ ΣΥΝΔΕΣΕΙΣ ΡΚ-ΡΚ  271

4.4.3 ΤΡΟΠΟΠΟΙΗΣΗ ΠΛΕΙΑΔΩΝ ΣΕ ΣΥΝΔΕΣΕΙΣ ΡΚ-ΡΚ. 272

4.5 ΘΗΤΑ ΣΥΝΔΕΣΕΙΣ  274

4.5.1 ΣΥΜΒΟΛΙΣΜΟΣ  275

4.6 ΤΑΞΙΝΟΜΗΣΗ ΘΗΤΑ ΣΥΝΔΕΣΕΩΝ  277

4.7 ΜΕΤΑΦΡΑΣΕΙΣ ΘΗΤΑ ΣΥΝΔΕΣΕΩΝ  278

4.7.1 ΚΡΙΤΗΡΙΑ ΣΧΕΔΙΑΣΜΟΥ ΜΕΤΑΦΡΑΣΤΩΝ  278

4.7.2 ΕΙΣΑΓΩΓΗ ΠΛΕΙΑΔΩΝ ΣΕ ΘΗΤΑ ΣΥΝΔΕΣΕΙΣ  284

4.7.3 ΔΙΑΓΡΑΦΗ ΠΛΕΙΑΔΩΝ ΑΠΟ ΘΗΤΑ ΣΥΝΔΕΣΕΙΣ  289

4.7.4 ΤΡΟΠΟΠΟΙΗΣΗ ΠΛΕΙΑΔΩΝ ΣΕ ΘΗΤΑ ΣΥΝΔΕΣΕΙΣ   291

4.8 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΟΠΤΙΚΕΣ  292

 

ΚΕΦΑΛΑΙΟ 5  297

ΚΑΝΟΝΙΚΗ ΣΥΝΘΕΣΗ

5.1 ΕΙΣΑΓΩΓΗ ΚΑΙ ΕΠΙΣΚΟΠΗΣΗ  297

5.1.1 ΠΡΟΕΤΟΙΜΑΣΙΑ ΤΩΝ ΟΨΕΩΝ  301

5.1.2 ΣΤΟΧΟΙ ΤΗΣ ΣΥΝΘΕΣΗΣ  302

5.2 ΤΥΠΟΙ ΣΥΣΧΕΤΙΣΕΩΝ ΚΑΙ ΣΤΟΙΧΕΙΩΝ  303

5.3 ΑΣΥΝΕΠΕΙΣ ΣΥΣΧΕΤΙΣΕΙΣ  311

5.4 ΠΑΡΑΤΥΠΕΣ ΣΥΣΧΕΤΙΣΕΙΣ  315

5.4.1 ΑΝΤΙΣΤΡΟΦΕΣ ΣΥΣΧΕΤΙΣΕΙΣ ΜΕΤΑΞΥ ΚΛΕΙΔΙΩΝ  315

5.4.2 ΠΑΡΑΞΕΝΕΣ ΣΥΣΧΕΤΙΣΕΙΣ  315

5.4.3 ΣΥΣΧΕΤΙΣΕΙΣ ΣΥΝΕΝΩΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ  316

5.5 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΤΩΝ ΟΨΕΩΝ  318

5.5.1 ΠΡΩΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (1NF)  319

5.5.2 ΔΕΥΤΕΡΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (2NF)  322

5.5.3 ΤΡΙΤΗ ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ (3NF)  324

5.6 ΣΥΓΧΩΝΕΥΣΗ ΤΩΝ ΟΨΕΩΝ  328

5.7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΛΕΙΔΙΩΝ  331

5.7.1 ΕΝΤΟΠΙΣΜΟΣ ΚΛΕΙΔΙΩΝ  331

5.7.2 ΣΥΝΕΝΩΜΕΝΑ ΚΛΕΙΔΙΑ  332

5.7.3 ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΣΥΝΕΝΩΜΕΝΑ ΚΛΕΙΔΙΑ  334

5.7.4 ΑΝΤΙΣΤΟΙΧΙΣΕΙΣ Μ:Μ ΜΕΤΑΞΥ ΚΛΕΙΔΙΩΝ  334

5.7.5 ΑΝΤΙΣΤΟΙΧΙΣΕΙΣ 1:1 ΜΕΤΑΞΥ ΚΛΕΙΔΙΩΝ  336

5.8 ΜΕΙΩΣΗ ΤΟΥ ΠΛΕΟΝΑΣΜΟΥ  341

5.8.1 ΠΛΕΟΝΑΖΟΥΣΕΣ ΣΥΣΧΕΤΙΣΕΙΣ ΤΥΠΟΥ "1"  342

5.8.2 ΠΛΕΟΝΑΖΟΥΣΕΣ ΣΥΣΧΕΤΙΣΕΙΣ ΤΥΠΟΥ "Μ"  343

5.8.3 ΑΝΑΚΥΚΛΩΣΕΙΣ  345

5.8.4 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΘΕΩΡΗΣΕΙΣ  347

5.9 ΤΟΜΗ ΚΑΙ ΑΠΟΜΟΝΩΜΕΝΑ ΣΤΟΙΧΕΙΑ  349

5.9.1 ΣΤΟΙΧΕΙΑ ΤΗΣ ΤΟΜΗΣ  349

5.9.2 ΑΠΟΜΟΝΩΜΕΝΑ ΣΤΟΙΧΕΙΑ  351

5.10 Η ΛΟΓΙΚΗ ΤΗΣ ΣΥΝΘΕΣΗΣ   352

5.10.1 Ο ΑΛΓΟΡΙΘΜΟΣ  352

5.10.2 ΒΟΗΘΗΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ  355

5.10.3 ΜΕΤΡΑ ΣΥΓΚΡΙΣΗΣ  356

 

ΚΕΦΑΛΑΙΟ 6  361

ΑΠΟΣΥΝΘΕΣΗ ΚΑΘΟΛΙΚΗΣ ΣΧΕΣΗΣ

6.1 ΕΙΣΑΓΩΓΗ  361

6.2 ΚΡΙΤΗΡΙΑ ΑΛΛΗΛΕΞΑΡΤΗΣΗΣ ΓΝΩΡΙΣΜΑΤΩΝ  363

6.2.1 ΛΟΓΙΚΗ ΣΥΝΥΠΑΡΞΗ  365

6.2.2 ΣΥΝΑΡΤΗΣΙΑΚΗ ΕΞΑΡΤΗΣΗ  365

6.2.3 ΠΡΟΣΠΕΛΑΣΗ - ΣΥΜΠΡΟΣΠΕΛΑΣΗ  366

6.3 ΚΑΤΗΓΟΡΙΕΣ ΑΠΟΣΥΝΘΕΣΗΣ  367

6.4 ΔΥΑΔΙΚΟΙ ΣΥΝΤΕΛΕΣΤΕΣ  370

6.4.1 ΜΕΤΡΑ ΟΜΟΙΟΤΗΤΑΣ  374

6.4.2 ΜΕΤΡΑ ΔΙΑΦΟΡΑΣ  377

6.4.3 ΣΧΟΛΙΑΣΜΟΣ ΤΩΝ ΜΕΤΡΩΝ  379

6.5 ΠΑΡΑΔΕΙΓΜΑ ΕΦΑΡΜΟΓΗΣ ΤΩΝ ΚΡΙΤΗΡΙΩΝ  380

6.6 ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - ΔΙΑΧΩΡΙΣΜΟΥ  383

6.6.1 ΜΕΣΗ ΣΤΑΘΕΡΟΤΗΤΑ ΓΝΩΡΙΣΜΑΤΟΣ  387

6.6.2 ΠΛΗΡΟΦΟΡΙΑΚΟ ΠΕΡΙΕΧΟΜΕΝΟ  388

6.6.3 ΙΧΝΟΣΤΡΕΦΕΙΑ  391

6.7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΟΠΤΙΚΕΣ  394

 

ΚΕΦΑΛΑΙΟ 7  399

ΕΝΤΡΟΠΙΑ ΚΑΙ ΠΛΕΟΝΑΣΜΟΣ ΣΧΗΜΑΤΩΝ

7.1 ΕΙΣΑΓΩΓΗ    399

7.2 ΜΕΤΡΟ ΠΛΕΟΝΑΣΜΟΥ  401

7.3 ΠΛΕΟΝΑΣΜΟΣ ΣΧΗΜΑΤΟΣ  403

7.4 ΕΝΤΡΟΠΙΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ  405

7.5 ΕΝΤΡΟΠΙΑ ΟΨΕΩΝ  412

7.6 ΕΜΠΕΙΡΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ  415

7.7 ΣΥΜΠΕΡΑΣΜΑΤΑ  417

 

ΚΕΦΑΛΑΙΟ 8  421

ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΓΝΩΡΙΣΗ

8.1 ΕΙΣΑΓΩΓΗ  421

8.2 ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΑΙ ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ  424

8.3 ΑΝΟΙΚΤΑ ΚΑΙ ΚΛΕΙΣΤΑ ΣΥΣΤΗΜΑΤΑ  427

8.4 ΑΝΑΓΝΩΡΙΣΙΜΟΤΗΤΑ  430

8.4.1 ΣΧΕΣΕΙΣ ΣΥΝΟΛΩΝ  432

8.4.2 ΠΑΡΑΔΕΙΓΜΑ ΚΑΤΑΝΟΜΗΣ  433

8.5 ΜΟΝΟΓΕΝΕΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ  435

8.6 ΜΗ ΜΟΝΟΓΕΝΕΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ  441

8.7 ΚΩΔΙΚΟΠΟΙΗΣΗ ΣΤΗΛΩΝ  444

8.8 ΚΑΘΙΕΡΩΣΗ ΣΤΗΛΩΝ  448

8.9 ΠΕΡΙΛΗΨΗ  451

 

ΚΕΦΑΛΑΙΟ 9 453

ΣΥΣΤΗΜΑ ΠΟΛΥΓΛΩΣΣΟΥ ΘΗΣΑΥΡΟΥ

9.1 ΕΙΣΑΓΩΓΗ  453

9.2 ΟΡΟΙ ΚΑΙ ΤΥΠΟΙ ΣΧΕΣΕΩΝ  455

9.2.1 ΣΧΕΣΕΙΣ ΙΣΟΔΥΝΑΜΙΑΣ  458

9.2.2 ΣΧΕΣΕΙΣ ΙΕΡΑΡΧΙΑΣ  462

9.2.3 ΣΥΝΔΕΤΙΚΕΣ ΣΧΕΣΕΙΣ    465

9.3 ΕΠΙΠΕΔΑ ΠΟΛΥΓΛΩΣΣΙΚΗΣ ΙΣΟΔΥΝΑΜΙΑΣ  469

9.4 ΔΙΑΧΕΙΡΙΣΗ ΘΗΣΑΥΡΟΥ  472

9.4.1 ΔΙΑΧΕΙΡΙΣΗ ΟΡΩΝ  475

9.4.2 ΔΙΑΧΕΙΡΙΣΗ ΣΧΕΣΕΩΝ  477

9.5 ΣΑΡΩΣΗ ΤΟΥ ΘΗΣΑΥΡΟΥ  479

9.5.1 ΣΑΡΩΣΗ ΤΟΥ ΔΕΝΤΡΟΥ  480

9.5.2 ΣΑΡΩΣΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ  482

9.5.3 ΠΑΡΑΓΩΓΗ ΑΝΑΦΟΡΩΝ  487

9.5.4 ΛΕΞΙΚΟΓΡΑΦΙΚΗ ΣΑΡΩΣΗ  489

9.6 ΘΗΣΑΥΡΟΣ ΚΑΙ ΕΛΕΥΘΕΡΟ ΚΕΙΜΕΝΟ  494

9.7 ΟΛΟΚΛΗΡΩΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ  496

 

ΚΕΦΑΛΑΙΟ 10  503

ΦΥΣΙΚΗ ΣΧΕΔΙΑΣΗ

10.1 ΕΙΣΑΓΩΓΗ  503

10.2 ΒΑΣΙΚΕΣ ΦΥΣΙΚΕΣ ΔΟΜΕΣ  505

10.3 ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΚΡΙΤΗΡΙΑ  513

10.4 ΔΕΙΚΤΟΔΟΤΗΣΗ  522

10.5 ΦΥΣΙΚΕΣ ΠΑΡΑΜΕΤΡΟΙ  528

10.5.1 ΣΕΙΡΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ  532

10.5.2 ΑΜΕΣΗ ΕΠΕΞΕΡΓΑΣΙΑ  535

10.5.3 ΔΕΙΚΤΟΔΟΤΗΜΕΝΗ ΕΠΕΞΕΡΓΑΣΙΑ  537

10.6 ΕΠΙΔΟΣΗ ΣΥΝΑΛΛΑΓΩΝ  541

ΠΑΡΑΡΤΗΜΑ A  549

ΑΝΑΦΟΡΕΣ ΚΑΝΟΝΙΚΗΣ ΣΥΝΘΕΣΗΣ

Α.1 ΕΙΣΑΓΩΓΗ  549

Α.2 ΣΥΜΒΟΛΙΣΜΟΣ  551

Α.3 ΝΟΣΟΚΟΜΕΙΑΚΕΣ ΟΝΤΟΤΗΤΕΣ  552

Α.4 ΑΝΑΦΟΡΕΣ  560

A.4.1 ΤΑ ΔΕΔΟΜΕΝΑ ΤΩΝ ΟΨΕΩΝ  560

Α.4.2 ΣΥΓΧΩΝΕΥΣΗ ΟΨΕΩΝ  563

Α.4.3 ΤΥΠΙΚΕΣ ΑΝΑΦΟΡΕΣ  564

 

ΠΑΡΑΡΤΗΜΑ Β  567

ΔΗΜΙΟΥΡΓΙΑ ΣΥΓΚΡΟΤΗΜΑΤΩΝ

Β.1 ΕΦΑΡΜΟΓΗ ΤΩΝ ΚΡΙΤΗΡΙΩΝ    567

Β.2 ΔΥΑΔΙΚΑ ΔΕΔΟΜΕΝΑ  569

ΠΑΡΑΡΤΗΜΑ Γ  575

ΕΝΤΡΟΠΙΑ ΚΑΙ ΠΛΕΟΝΑΣΜΟΣ ΣΧΗΜΑΤΩΝ

Γ.1 ΕΛΑΧΙΣΤΕΣ ΤΙΜΕΣ ΓΙΑ ΣΧΕΣΕΙΣ  575

Γ.2 ΕΛΑΧΙΣΤΕΣ ΤΙΜΕΣ ΓΙΑ ΟΨΕΙΣ  577

Γ.3 ΕΝΤΡΟΠΙΑ ΣΧΕΣΕΩΝ ΚΑΙ ΟΨΕΩΝ  578

 

ΒΙΒΛΙΟΓΡΑΦΙΑ  581

ΕΥΡΕΤΗΡΙΟ  591