ΚΕΦΑΛΑΙΟ 7 ΔΙΑΧΕΙΡΙΣΗ: ΒΑΣΕΙΣ ΧΩΡΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΔΙΑΧΕΙΡΙΣΗ: ΒΑΣΕΙΣ ΧΩΡΙΚΩΝ ΔΕΔΟΜΕΝΩΝ
ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ Byte: 00001100 = 12 ΛΕΞΕΙΣ (Word): 2, 4, 8 ή περισσότερα bytes ΟΜΑΔΕΣ (blocks): συνήθως έχουν μέγεθος 512 bytes ΠΕΔΙΑ (fields): Μια λογική μονάδα που εκφράζει την ιδιότητα μιας οντότητας ΕΓΓΡΑΦΕΣ (records): Αναφέρονται σε συγκεκριμένες οντότητες ΑΡΧΕΙΑ (files): Χαρακτηριστικό είδος πληροφοριών ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ (databases): Σύνολο αρχείων ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ (Data Base Management Systems)
ΑΠΟΘΗΚΕΥΣΗ ΣΤΟΙΧΕΙΩΝ ΣΤΟΝ Η/Υ ΑΠΟΘΗΚΕΥΣΗ ΣΤΟΙΧΕΙΩΝ ΣΤΟΝ Η/Υ Βάση Δεδομένων Πεδία Αρχείο Ι Αρχείο ΙΙ · Αρχείο L Εγγραφές
ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ Απλοί Κατάλογοι (Simple Lists) Η απλούστερη μορφή αρχείου είναι μια σειριακή καταγραφή όλων των στοιχείων που το αποτελούν. Καθώς νέα αντικείμενα προσθέτονται στη βάση δεδομένων, απλώς τοποθετούνται στο τέλος του αρχείου, το οποίο καταλαμβάνει συνεχώς περισσότερο χώρο. Η μορφή αυτή επιτρέπει την εύκολη καταχώρηση των στοιχείων, αλλά η πρόσβαση και η ανάκλησή τους κρίνεται αναποτελεσματική. Χρόνος (n+1)/2
ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ Αρχεία Σειριακής Διάταξης(Ordered Sequential Files) Η δημιουργία αρχείων που έχουν μια σειριακή διάταξη, δηλαδή η καταγραφή των στοιχείων γίνεται με μια συγκεκριμένη τάξη (π.χ. με αλφαβητική σειρά), σίγουρα αποτελεί έναν αποτελεσματικότερο τρόπο καταχώρησης. Βέβαια, η προσθήκη κάποιου καινούριου στοιχείου σημαίνει ότι θα πρέπει να δημιουργηθεί πρόσθετος χώρος για την παρεμβολή του, αλλά το βασικό πλεονέκτημα είναι ότι η προσπέλαση είναι ταχύτερη, αφού χρησιμοποιείται η δυαδική διαδικασία αναζήτησης. Χρόνος log2(n+1)
ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ ΠΡΟΣΒΑΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΔΕΔΟΜΕΝΩΝ Αρχεία με Μορφή Ευρετηρίου (Indexed Files) Στη μορφή αυτή των αρχείων δημιουργούνται δυο αρχεία. Το πρώτο, ονομαζόμενο και άμεσο αρχείο (direct file), λειτουργεί σαν ευρετήριο, ενώ το δεύτερο, οριζόμενο ως ανεστραμμένο αρχείο (inverted file), περιέχει τα στοιχεία στα οποία παραπέμπει το άμεσο αρχείο. Στο άμεσο αρχείο, η κάθε εγγραφή περιλαμβάνει επαρκή πληροφόρηση, έτσι ώστε η αναζήτηση να παρακάμπτει τις άσχετες εγγραφές. Χρόνος (n1+1)/2+(n2+1)/2
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οι βάσεις δεδομένων περιλαμβάνουν πολλά αρχεία με στοιχεία που αναφέρονται σε σχετιζόμενα χαρακτηριστικά των ίδιων οντοτήτων ή στοιχείων για οντότητες οι οποίες, εξαιτίας της χωρικής τους εγγύτητας ή της χωρικής τους σύνδεσης, απαιτείται να ενωθούν ή να ομαδοποιηθούν. Το λογισμικό που έχει σχεδιαστεί για την αποθήκευση και διαχείριση μεγάλου όγκου αρχείων και φυσικά δεδομένων είναι το Σύστημα Διαχείρισης Βάσεων Δεδομένων (Σ.Δ.Β.Δ.).
ΙΕΡΑΡΧΙΚΗ ΔΟΜΗ Στη δομή αυτή κάθε επίπεδο της ιεραρχίας θεωρείται ότι μπορεί να προσπελαστεί με τη χρήση ενός κλειδιού (ένα σύνολο από διαχωριστικά κριτήρια) που περιγράφει πλήρως τη δομή των δεδομένων. Επιπλέον, ισχύει η υπόθεση ότι υπάρχει σημαντική συσχέτιση μεταξύ των διαχωριστικών κριτηρίων και των χαρακτηριστικών των αντικειμένων που ανήκουν σε κάθε επίπεδο. Τα βασικά πλεονεκτήματα του μοντέλου είναι: Η απλότητα και η ευκολία πρόσβασης με τη βοήθεια κλειδιών που προσδιορίζουν την ιεραρχία. Η ευκολία ως προς την κατανόηση, την ενημέρωση και την επέκτασή τους. Η χρησιμότητά του στην οργάνωση δεδομένων σε εκτεταμένα αποθηκευτικά συστήματα.
ΙΕΡΑΡΧΙΚΗ ΔΟΜΗ
ΔΙΚΤΥΑΚΗ ΔΟΜΗ Είναι μια συμπαγής, ευέλικτη και σχετικά αποτελεσματική δομή με την οποία αποφεύγονται τα προβλήματα: Συνδεσμολογίας Περιττών εγγραφών Είναι χρήσιμη όταν οι σχέσεις ή οι σύνδεσμοι μπορούν να προσδιοριστούν εκ των προτέρων. Το βασικό μειονέκτημά τους είναι το σχετικά αυξημένο μέγεθός τους.
ΔΙΚΤΥΑΚΗ ΔΟΜΗ ΧΑΡΤΗΣ α β γ δ ε ζ η θ 3 4 5 6 7 Χάρτης Πολύγωνα Γραμμές ΠΟΛΥΓΩΝΟ Π 1 2 3 4 5 6 7 Χάρτης Πολύγωνα Γραμμές Σημεία Π ε 5
ΣΧΕΣΙΑΚΗ ΔΟΜΗ Η σχεσιακή δομή βασίζεται στο θεωρητικό υπόβαθρο της σχεσιακής άλγεβρας, γεγονός που επιτρέπει η δόμηση των στοιχείων να γίνεται με τρόπο γενικό και ταυτόχρονα με έννοιες που δεν συνδέονται άμεσα με κάποια γλώσσα προγραμματισμού. Η βασική μορφή αποθήκευσης δεδομένων σε μια σχεσιακή δομή είναι ένας πίνακας εγγραφών, ο οποίος αναφέρεται ως "σχέση" (relation) ή απλά "πίνακας" (table). Όλες οι εγγραφές του πίνακα έχουν ενιαία μορφή (format), περιέχουν ένα συγκεκριμένο αριθμό πεδίων, οι τιμές των οποίων φυσικά διαφέρουν μεταξύ τους.
ΣΧΕΣΙΑΚΗ ΔΟΜΗ
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΠΙΝΑΚΑ ΕΓΓΡΑΦΩΝ Η είσοδος παρουσιάζει ένα στοιχείο και δεν υπάρχουν επαναλαμβανόμενες ομάδες στοιχείων. Σε κάθε στήλη όλα τα πεδία είναι του ίδιου είδους. Κάθε στήλη παίρνει δικό της όνομα. Όλες οι σειρές είναι διακριτές και δεν επιτρέπονται διπλές σειρές. Τόσο οι στήλες όσο και οι σειρές μπορούν να αντιμετωπιστούν με οιανδήποτε σειρά, οιανδήποτε στιγμή, χωρίς να επηρεαστεί ούτε το πληροφοριακό περιεχόμενο ούτε η φύση των λειτουργιών (σχέσεων).
ΔΗΜΙΟΥΡΓΙΑ ΚΛΕΙΔΙΩΝ
ΣΥΣΧΕΤΙΣΜΟΣ ΠΙΝΑΚΩΝ
ΣΥΣΧΕΤΙΣΜΟΣ ΠΙΝΑΚΩΝ
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΣΧΕΣΙΑΚΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ η δομή τους είναι πολύ ευέλικτη, μπορούν να ανταποκριθούν σε όλες τις ερωτήσεις που μπορούν να μορφοποιηθούν χρησιμοποιώντας κανόνες της άλγεβρας Boolen, μαθηματικές εντολές κλπ, επιτρέπουν την αναζήτηση, συνδυασμό και σύγκριση διαφορετικών ειδών δεδομένων, η πρόσθεση και η αφαίρεση νέων στοιχείων είναι ιδιαίτερα εύκολη, αφού αυτό ουσιαστικά σημαίνει πρόσθεση ή αφαίρεση ενός πίνακα, μέσω κοινών πεδίων επιτυγχάνεται η διατύπωση ερωτήσεων αναφερόμενες σε διαφορετικούς σχεσιακούς πίνακες.
ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ Η πρόσβαση σε μια Βάση Δεδομένων με σχεσιακή δομή με στόχο την επιλεκτική ανάκληση τμήματος της βάσης, υλοποιείται από έναν αριθμό σχεσιακών τελεστών (relational operators), οι οποίοι αποτελούν εντολές που υλοποιούνται στο περιβάλλον της γλώσσας Structured Query Language (SQL). Η γλώσσα SQL βασίζεται στην υπόθεση ότι τα δεδομένα είναι οργανωμένα σε πίνακες και η ανάκληση δεδομένων υλοποιείται με χρήση της σχεσιακής άλγεβρας.
ΑΠΟΘΗΚΕΥΣΗ ΓΕΩΜΕΤΡΙΚΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΣΕ ΣΧΕΣΙΑΚΟΥΣ ΠΙΝΑΚΕΣ
ΑΠΟΘΗΚΕΥΣΗ ΓΕΩΜΕΤΡΙΚΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΣΕ ΣΧΕΣΙΑΚΟΥΣ ΠΙΝΑΚΕΣ
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΔΟΜΗ Στην αντικειμενοστραφή δομή, τα δεδομένα ορίζονται από μία σειρά μοναδικών αντικειμένων τα οποία οργανώνονται σε ομάδες παρόμοιων φαινομένων (γνωστές σαν κλάσεις αντικειμένων) σύμφωνα με οποιαδήποτε φυσική διάταξη. Οι σχέσεις μεταξύ διαφορετικών αντικειμένων και διαφορετικών τάξεων ορίζονται με καθορισμένους συνδέσμους. Τα χαρακτηριστικά ενός αντικειμένου μπορούν να περιγραφούν μέσα στη βάση δεδομένων μέσω των ιδιοτήτων του (που απεικονίζουν την κατάσταση του) και μέσω ενός συνόλου διαδικασιών που περιγράφουν τη συμπεριφορά του (και ονομάζονται ενέργειες ή μέθοδοι). Όλα τα στοιχεία εμπεριέχονται στο αντικείμενο που αποτελεί την θεμελιώδη μονάδα της αντικειμενοστραφούς λογικής και το οποίο προσδιορίζεται από ένα μοναδικό δείκτη αναγνώρισης μέσα στη βάση δεδομένων.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΔΟΜΗ
ΠΛΕΟΝΕΚΤΗΜΑΤΑ-ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΔΟΜΗΣ Συνδυάζουν την ταχύτητα των ιεραρχικών και δικτυακών προσεγγίσεων ταυτόχρονα με την ευελιξία των σχεσιακών. Παρέχουν μια ιδιαίτερα αποτελεσματική δομή για την οργάνωση ιεραρχιών και αλληλοσχετιζόμενων στοιχείων. ΜΕΙΟΝΕΚΤΗΜΑ Η δημιουργία της βάσης δεδομένων είναι επίπονη και χρονοβόρα διαδικασία, καθώς πρέπει να ορισθούν τα αντικείμενα αναλυτικότερα και να τεκμηριωθούν οι διάφοροι σύνδεσμοι.
ΣΥΓΚΡΙΣΗ ΔΟΜΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Τα ιεραρχικά συστήματα επιτρέπουν σε μεγάλες βάσεις δεδομένων να διαιρούνται εύκολα σε εύχρηστα υποσύνολα, αλλά είναι ιδιαίτερα δύσκαμπτα όσον αφορά στη δημιουργία νέων διαδρομών αναζήτησης και πολύ συχνά περιλαμβάνουν περιττά δεδομένα. Τα δικτυακά συστήματα δεν περιέχουν περιττά στοιχεία, ενώ παρέχουν γρήγορη και καθοδηγούμενη αναζήτηση σε περιπτώσεις ύπαρξης άκαμπτων συνδέσμων μεταξύ των σχετιζόμενων οντοτήτων. Τα αντικειμενοστραφή συστήματα επιτρέπουν την ένταξη στο σύστημα συσχετίσεων και αλληλεξαρτήσεων, καθώς και λειτουργικότητας και τυποποίησης, που, όμως, έχουν σαν αποτέλεσμα τη χρήση περισσότερο πολύπλοκων προγραμματιστικών εργαλείων και τεχνικών καθώς και αυξημένων απαιτήσεων σε υπολογιστική δύναμη. Τα σχεσιακά συστήματα είναι ανοικτά, ευέλικτα και εύχρηστα, αλλά πολύ συχνά ταλανίζονται από μεγάλους όγκους δεδομένων, περιττά και πλεονάζοντα στοιχεία και αυξημένους χρόνους αναζήτησης.
ΣΥΓΚΡΙΣΗ ΔΟΜΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ H ιεραρχική προσέγγιση είναι χρήσιμη για την επιμέρους διαίρεση χωρικών δεδομένων σε διαχειρίσιμα θέματα ή διαχειρίσιμες περιοχές, με τρόπο ώστε να γίνεται εφικτή η γεωγραφική ανάλυση και χαρτογράφηση συνεχών και συναφών φαινομένων. Η δικτυακή προσέγγιση είναι ιδεώδης για την τοπολογική απόδοση διανυσματικών γραμμών και πολυγώνων. Η σχεσιακή προσέγγιση είναι κατάλληλη για την ανάκληση οντοτήτων με βάση τα χαρακτηριστικά τους ή για τη δημιουργία νέων χαρακτηριστικών και των τιμών τους από υπάρχοντα δεδομένα. H αντικειμενοστραφής σχεδίαση είναι χρήσιμη όταν οι οντότητες μοιράζονται κοινά χαρακτηριστικά ή αλληλεπιδρούν με συγκεκριμένους και εξειδικευμένους τρόπους.
ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Για να υλοποιηθεί μια βάση δεδομένων απαιτείται η χρησιμοποίηση ενός Συστήματος Διαχείρισης Βάσεων Δεδομένων (Σ.Δ.Β.Δ.), που είναι ένα σύνολο διαδικασιών με τη μορφή λογισμικού το οποίο χρησιμοποιείται για την οργάνωση και διαχείριση της βάσης δεδομένων. Τα Σ.Δ.Β.Δ. μπορούν να δημιουργηθούν χρησιμοποιώντας μια μόνο ή ένα συνδυασμό από τις ιεραρχικές, δικτυακές, σχεσιακές και αντικειμενοστραφείς δομές που παρουσιάστηκαν παραπάνω. Σκοπός ενός Σ.Δ.Β.Δ. είναι να καταστήσει τα δεδομένα ενός Γ.Σ.Π. γρήγορα, προσπελάσιμα σε σημαντικό αριθμό χρηστών, διασφαλίζοντας παράλληλα την ακεραιότητα τους, να προστατεύει τα δεδομένα από διαγραφή και φθορά, και να διευκολύνει την πρόσθεση, αφαίρεση και ενημέρωση των στοιχείων όταν απαιτείται.
ΔΥΝΑΤΟΤΗΤΕΣ Σ.Δ.Β.Δ. Να επιτρέπει την αποθήκευση, την ανάκληση καθώς και την επιλογή των δεδομένων με βάση ένα ή περισσότερα χαρακτηριστικά ή και σχέσεις. Να διαχωρίζει την αποθήκευση και ανάκληση των δεδομένων από την χρήση τους σε προγράμματα εφαρμογών, εξασφαλίζοντας την ανεξαρτησία μεταξύ των διαδικασιών αυτών. Να παρέχει δίαυλο επικοινωνίας (interface) μεταξύ της βάσης δεδομένων και των προγραμμάτων εφαρμογών που βασίζονται στη λογική περιγραφή των δεδομένων. Να ανεξαρτητοποιεί τις λειτουργίες πρόσβασης των δεδομένων στην διαδικασία των εφαρμογών από την ίδια τη δομή αποθήκευσής τους, έτσι ώστε πιθανές αλλαγές στα μέσα και τους τρόπους αποθήκευσης τους να μην τις επηρεάζει.
ΔΥΝΑΤΟΤΗΤΕΣ Σ.Δ.Β.Δ. Να επιτρέπει την πρόσβαση των δεδομένων ταυτόχρονα σε περισσότερους από έναν χρήστες. Να τυποποιεί την διαδικασία πρόσβασης στα δεδομένα, ομογενοποιώντας την. Να προστατεύει τη βάση δεδομένων από παράνομες και άστοχες επεμβάσεις και τροποποιήσεις. Να παρέχει αυστηρούς κανόνες σχετικά με τη συνοχή και τη συνέπεια των δεδομένων οι οποίοι εφαρμόζονται αυτόματα. Αυτοί οι κανόνες είναι ένας έξοχος τρόπος εξάλειψης των λαθών, των παραλήψεων και των ανακολουθιών από τη βάση δεδομένων.
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ Σ.Δ.Β.Δ. Συνοχή (Consistency) Ακεραιότητα (Integrity) Έλεγχος Μορφών (Version Control) Ασφάλεια (Security) Διαδικασίες Επιστροφής και Ανάκτησης (Roll Back, Recovery) Ανεξαρτησία (Independence) Κατανεμημένη Βάση (Distributed Base) Ταυτόχρονη Χρήση (Concurrency)
ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Προσδιορισμός Καθορισμός Εξωτερικό Περιγραφή πληροφορίας στόχων, στοιχείων, Βάσης Δεδομένων Μοντέλο σύμφωνα με τις ανάγκες δραστηριοτήτων κλπ των χρηστών Προσδιορισμός οντο τήτων, Εννοιολογικός Εννοιολογικό Ανάγκες αποθήκευσης χαρακτηριστικών και Σχεδιασμός Μοντέλο πληροφοριών οριζόμενες σχέσεων από τις εφαρμογές Προσδιορισμός Λογικός Εσωτερικό Πληροφορίες οριζόμενες λογικής οργάνωσης Σχεδιασμός Μοντέλο με έννοιες λογικής της Β.Δ Βάσης Δεδομένων (π.χ . σχέσεις, δίκτυα , δείκτες, εγγραφές) Προσδιορισμός ένταξης Φυσικός Φυσικό Πληροφορίες οριζόμενες με στοιχείων στη Βάση Σχεδιασμός Μοντέλο όρους αποθήκευσης στον Η/Υ Δεδομένων (π.χ. bytes , ομάδες, αρχεία)
ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Καθορισμός της Βάσης Δεδομένων: Στην πρώτη αυτή φάση προσδιορίζεται ο σκοπός του όλου εγχειρήματος, οι δραστηριότητες που θα εξυπηρετήσουν το σύστημα, τα στοιχεία που θα ενταχθούν στα βάση, οι απαραίτητες πηγές δεδομένων που θα χρησιμοποιηθούν και το περιβάλλον στο οποίο θα λειτουργήσει η δραστηριότητα. Γενικότερα., περιλαμβάνει όλες εκείνες τις δραστηριότητες που παρουσιάστηκαν αναλυτικά στο κεφάλαιο 4. Εννοιολογικός Σχεδιασμός: Ο εννοιολογικός σχεδιασμός στοχεύει στον καθορισμό της θεωρητικής δομής της βάσης δεδομένων, όπως αυτή γίνεται αντιληπτή από τους χρήστες και προσδιορίζει το πλαίσιο λειτουργίας της. Λογικός σχεδιασμός: Ο εννοιολογικός σχεδιασμός οδηγεί σε έναν σαφή προσδιορισμό των οντοτήτων, των χαρακτηριστικών τους και των σχέσεων μεταξύ τους, οι οποίες απαιτούνται για να καλύψουν τις απαιτήσεις ένταξης και αναζήτησης από τη βάση δεδομένων. Φυσικός Σχεδιασμός: Στη φάση αυτή υλοποιείται η προσαρμογή του λογικού συστήματος που προέκυψε από τη φάση του λογικού σχεδιασμού, στο συγκεκριμένο περιβάλλον εφαρμογής. Πιο συγκεκριμένα, η φάση αυτή συνίσταται στον προσδιορισμό των κανόνων ένταξης των στοιχείων στη βάση δεδομένων.