Αντικειμενοστραφή μοντέλο βάσης δεδομένων. Αντικειμενοστρεφές μοντέλο

04/06/2004 Sikha Bagui

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

Η ανάπτυξη αντικειμενοστρεφών συστημάτων βάσεων δεδομένων (οι λεγόμενες τεχνολογίες βάσεων δεδομένων πέμπτης γενιάς) ξεκίνησε στα μέσα της δεκαετίας του 1980 λόγω της ανάγκης να ικανοποιηθούν οι απαιτήσεις εφαρμογών διαφορετικών από αυτές των εφαρμογών επεξεργασίας δεδομένων που είναι χαρακτηριστικές των σχεσιακών συστημάτων βάσεων δεδομένων (το τεχνολογία βάσεων δεδομένων τέταρτης γενιάς).γενιές). Προσπάθειες χρήσης τεχνολογιών σχεσιακής βάσης δεδομένων σε πολύπλοκες εφαρμογές όπως η σχεδίαση με τη βοήθεια υπολογιστή (CAD). Κατασκευή με τη βοήθεια υπολογιστή (CAM)· τεχνολογία προγραμματισμού? Τα συστήματα που βασίζονται στη γνώση και τα συστήματα πολυμέσων έχουν εκθέσει τους περιορισμούς των συστημάτων σχεσιακές βάσεις δεδομένων (RDB). Με την εμφάνιση μιας νέας γενιάς εφαρμογών βάσεων δεδομένων, έχουν προκύψει ανάγκες με τον καλύτερο δυνατό τρόποικανοποιείται με την αίτηση αντικειμενοστρεφείς βάσεις δεδομένων (OODB).

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

Επί του παρόντος, υπάρχουν περισσότερα από 25 συστήματα OBD στην αγορά. Ανάμεσά τους το σύστημα GemStone από τη Servio, το ONTOS από την Ontos, το ObjectStore από το Object Design και πολλά άλλα. Επιπλέον, τα συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων που αναπτύχθηκαν από την Oracle, τη Microsoft, την Borland και την Informix περιλάμβαναν αντικειμενοστραφή εργαλεία. Πολλά από αυτά τα προϊόντα εμφανίστηκαν στο δεύτερο μισό της δεκαετίας του '80 και σήμερα, μετά από σχεδόν μιάμιση δεκαετία ανάπτυξης, δεν έχουν ακόμη ωριμάσει. Αυτός είναι ένας από τους λόγους που μέχρι σήμερα η παγκόσμια αγορά πραγματικών εφαρμογών δεν βιάζεται να δεχτεί συστήματα OBD. Μεταξύ των σύγχρονων OODB, δεν υπάρχουν σχεδόν καθόλου ολοκληρωμένα συστήματα συγκρίσιμα με τα σύγχρονα σχεσιακά συστήματα βάσεων δεδομένων. Ας συζητήσουμε τα κύρια επιτεύγματα και τα προβλήματα που σχετίζονται με την τρέχουσα κατάσταση του OBD.

Μοντέλο OOBD

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

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

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

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

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

Πλεονεκτήματα του μοντέλου OOBD

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

Καθορισμός προσαρμοσμένων αφαιρέσεων

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

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

Ένα παράδειγμα πακέτου OODB που έχει όλες τις αναφερόμενες δυνατότητες είναι το ENCORE. Το μοντέλο δεδομένων στο ENCORE βασίζεται κυρίως στην αφαίρεση δεδομένων. Το ENCORE επιτρέπει την υποτυποποίηση (κληρονομικότητα), την ενθυλάκωση, τις πολύπλοκες δομές, την αναγνώριση αντικειμένων και τη δέσμευση lazy method. Επιπλέον, το ENCORE παρέχει τη δυνατότητα σύνδεσης αντικειμένων χρησιμοποιώντας ιδιότητες. Στο σύστημα ENCORE, μια ιδιότητα p συσχετίζει ένα αντικείμενο x με ένα σύνολο αντικειμένων S, χωρίς καμία ένδειξη για το πώς υπολογίζεται η σχέση. Μπορεί να υπολογιστεί καθορίζοντας απευθείας το αναγνωριστικό συνόλου S (ή τα αναγνωριστικά των μελών του) ή αντιστοιχίζοντας τις τιμές άλλων ιδιοτήτων, όπως σε μια ένωση.

Ελαφρύς σχεδιασμός ορισμένων συνδέσεων

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

Δεν χρειάζονται κλειδιά που καθορίζονται από το χρήστη

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

Παρουσία κατηγορημάτων σύγκρισης

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

  1. Ισότητα αντικειμένων με βάση την ταυτότητά τους. Δύο αντικείμενα, το S1 και το S2 είναι ίσα αν είναι το ίδιο αντικείμενο (δηλαδή έχουν το ίδιο αναγνωριστικό αντικειμένου).
  2. Ισότητα αντικειμένων με βάση αξίες. Αυτό μπορεί να προσδιοριστεί σε δύο βήματα - (α) δύο πρωτόγονα αντικείμενα είναι ίσα εάν έχουν την ίδια τιμή. (β) δύο μη πρωτόγονα αντικείμενα είναι ίσα αν έχουν τον ίδιο αριθμό ιδιοτήτων και για κάθε ιδιότητα pi του αντικειμένου S1 υπάρχει μια ιδιότητα pj του αντικειμένου S2 ίση σε τιμή με αυτήν.
  3. Ισότητα ιδιοκτησίας με βάση την αξία.
  4. Ισότητα των ιδιοκτησιών με βάση την ταυτότητά τους.
Λιγότερη ανάγκη για συνδέσεις

Η δυνατότητα πλοήγησης μέσω των δομών αντικειμένων και των παραστάσεων μονοπατιών που προκύπτουν από την άποψη των χαρακτηριστικών αντικειμένων μας δίνει έναν νέο τρόπο να δούμε το πρόβλημα των συνδέσεων στο OODB. Μια σχεσιακή ένωση είναι ένας μηχανισμός που ταιριάζει δύο σχέσεις με βάση τις τιμές των αντίστοιχων ζευγών χαρακτηριστικών σε αυτές τις σχέσεις. Εφόσον στο OODB δύο κλάσεις μπορούν να έχουν αντίστοιχα ζεύγη ιδιοτήτων, μπορεί να υπάρχει ακόμα η ανάγκη για μια σχεσιακή ένωση (ή ρητή ένωση) σε αυτό το μοντέλο. Για παράδειγμα, ας υποθέσουμε ότι έχουμε τάξεις Student και School, και καθεμία από αυτές τις τάξεις έχει χαρακτηριστικά Όνομα και Ηλικία. Αν και τομείς Ιδιότητες ονόματοςκαι η τάξη Age of the School μπορεί να μην είναι ίδια με τους τομείς των χαρακτηριστικών Name και Age της τάξης Student, μπορεί να θέλουμε να συσχετίσουμε αυτές τις κατηγορίες με βάση τις τιμές αυτών των χαρακτηριστικών (π. βρείτε όλους τους μαθητές των οποίων η ηλικία είναι μικρότερη από την ηλικία του σχολείου που φοιτά ο μαθητής).

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

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

Κέρδος απόδοσης

Τα σύγχρονα OODB δεν είναι πλήρως ανεπτυγμένα συστήματα βάσεων δεδομένων σε σύγκριση με τα σύγχρονα RDB· τα OODB έχουν πολλά χαρακτηριστικά που τους παρέχουν πλεονεκτήματα απόδοσης.

  1. Σε ένα OODB, η τιμή ενός χαρακτηριστικού ενός αντικειμένου X του οποίου ο τομέας είναι ένα άλλο αντικείμενο Y είναι το αναγνωριστικό του αντικειμένου Y. Επομένως, εάν μια εφαρμογή έχει ήδη ανακτήσει το αντικείμενο X και τώρα θέλει να ανακτήσει το αντικείμενο Y, τότε το DBMS μπορεί να ανακτήσει το αντικείμενο Y βρίσκοντας το αναγνωριστικό του. Εάν αυτό το αναγνωριστικό είναι η φυσική διεύθυνση ενός αντικειμένου, τότε το αντικείμενο μπορεί να ανακτηθεί απευθείας. εάν το αναγνωριστικό είναι μια λογική διεύθυνση, τότε το αντικείμενο βρίσκοντας το αντίστοιχο στοιχείο πίνακα κατακερματισμού (υποθέτοντας ότι το σύστημα διατηρεί έναν πίνακα κατακερματισμού που αντιστοιχίζει το αναγνωριστικό αντικειμένου σε μια φυσική διεύθυνση). Σε ένα RDB αυτό μπορεί να μην είναι τόσο εύκολο, καθώς το RDB δεν υποστηρίζει αναγνωριστικά αντικειμένων.
  2. Το δεύτερο χαρακτηριστικό του OODB που παρέχει πλεονεκτήματα απόδοσης είναι ότι στα περισσότερα OODB, όταν ένα αντικείμενο φορτώνεται στη μνήμη, τα αναγνωριστικά αντικειμένων που είναι αποθηκευμένα σε αυτό το αντικείμενο μετατρέπονται σε δείκτες μνήμης. Δεδομένου ότι τα RDB δεν αποθηκεύουν αναγνωριστικά αντικειμένων, δεν μπορούν να αποθηκεύσουν δείκτες μνήμης σε άλλες πλειάδες. Η αδυναμία πλοήγησης μέσα από αντικείμενα που περιέχονται στη μνήμη είναι μια θεμελιώδης ιδιότητα των RDB και η προκύπτουσα μείωση στην απόδοση δεν μπορεί να αντισταθμιστεί με απλή αύξηση της ποσότητας της μνήμης buffer. Έτσι, όταν εκτελούνται εφαρμογές που περιλαμβάνουν επαναλαμβανόμενη πλοήγηση σχετικών αντικειμένων που έχουν φορτωθεί στη μνήμη, τα OODB μπορούν να ξεπεράσουν σημαντικά τα RDB σε απόδοση.
  3. Επιπλέον, ακόμη και αν τα OODB δεν έχουν ευρετηριαστεί, μπορεί να είναι βολικό να εκτελούνται αυθαίρετα ερωτήματα που ταιριάζουν με τη δομή του αντικειμένου με διαδοχική σάρωση, π.χ. χρησιμοποιήστε μονοπάτια αναφοράς μεταξύ αντικειμένων. Όταν ένα αίτημα διατυπώνεται σε κατεύθυνση που δεν υποστηρίζεται από συνδέσμους, αυτό το αίτημα θα υποβληθεί σε επεξεργασία με διαδοχική ανίχνευση. Ωστόσο, τα ερωτήματα που διατυπώνονται με βάση τις σχέσεις αντικειμένων που δεν μοντελοποιούνται απευθείας από αναφορές αποδίδουν αναποτελεσματικά.
Υποστήριξη για εκδόσεις και μακροχρόνιες συναλλαγές

Το RDB δεν υποστηρίζει εκδόσεις ή μακροχρόνιες συναλλαγές. Αυτή η υποστήριξη είναι διαθέσιμη σε ορισμένα OODB, αν και με περιορισμένες δυνατότητες.

Άλγεβρα αντικειμένων

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

Μειονεκτήματα του μοντέλου OOBD

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

Οι αντικειμενοστρεφείς βάσεις δεδομένων στερούνται τις βασικές διευκολύνσεις στις οποίες είναι συνηθισμένοι οι χρήστες συστημάτων βάσεων δεδομένων και επομένως αναμένουν να βλέπουν. Μεταξύ άλλων, μπορούμε να σημειώσουμε: την έλλειψη διαλειτουργικότητας μεταξύ του RDB και του OODB. ελάχιστη βελτιστοποίηση ερωτημάτων. έλλειψη τυπικής άλγεβρας ερωτήματος. έλλειψη μέσων για την υποστήριξη των αιτημάτων· έλλειψη υποστήριξης απόψεων· προβλήματα ασφάλειας· έλλειψη υποστήριξης για δυναμικές αλλαγές στους ορισμούς κλάσεων. περιορισμένη υποστήριξη για περιορισμούς ακεραιότητας· περιορισμένες ευκαιρίεςρυθμίσεις απόδοσης? ανεπαρκής υποστήριξη για πολύπλοκα αντικείμενα. περιορισμένη ενοποίηση με τα υπάρχοντα αντικειμενοστραφή συστήματα προγραμματισμού· περιορισμένο κέρδος απόδοσης.

Έλλειψη διαλειτουργικότητας μεταξύ RDB και OODB

Προκειμένου το OODB να έχει σημαντικό αντίκτυπο στην αγορά της βάσης δεδομένων, πρέπει να πληρούνται ορισμένες προϋποθέσεις.

  1. Μετατρέψτε το OODB σε πλήρως ανεπτυγμένα συστήματα βάσεων δεδομένων που είναι επαρκώς συμβατά με το RDB. Απαιτείται κάποια διαδρομή μετανάστευσης για να εξασφαλιστεί η συνύπαρξη υφιστάμενων και νέων προϊόντων, καθώς και ομαλή μετάβασηαπό το πρώτο στο δεύτερο.
  2. Προσφέρετε εργαλεία ανάπτυξης εφαρμογών και μέσα πρόσβασης σε αντικειμενοστρεφείς βάσεις δεδομένων.
  3. Ενοποιήστε τις αρχιτεκτονικές RDB και OODB.
  4. Ενοποίηση μοντέλων Δεδομένα RDBκαι OOBD.
Ανεπαρκή μέσα για τη βελτιστοποίηση των ερωτημάτων

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

  1. Η δυνατότητα των χρηστών να ορίζουν νέους τύπους και κλάσεις χρησιμοποιώντας κληρονομικότητα καθιστά τη βελτιστοποίηση ερωτημάτων ευκολότερη και πιο δύσκολη. Ένα παράδειγμα όπου αυτή η δυνατότητα βοηθά στη βελτιστοποίηση είναι ένα ερώτημα που περιλαμβάνει τη διασταύρωση των συνόλων Υπαλλήλων και Προϊσταμένων. Εάν το Employee είναι μια υπερκατηγορία Επόπτη, τότε ο βελτιστοποιητής μπορεί να υποθέσει ότι οι Επόπτες είναι το δικό του υποσύνολο Υπαλλήλων και να απλοποιήσει τη διαδικασία τομής του συνόλου. Ένα παράδειγμα όπου οι πρόσθετοι τύποι δεδομένων περιορίζουν τις επιλογές βελτιστοποίησης είναι η ένωση των συνόλων Students και Employees. Η υπερκλάση και για τις δύο τάξεις είναι η κλάση Person. Αν θέλαμε να βρούμε όλους τους επόπτες σπουδαστών και εργαζομένων, θα κάναμε πρώτα το join και θα χρησιμοποιούσαμε το supervisor() .
  2. Τα ερωτήματα μπορούν να βασίζονται σε λειτουργίες σε συλλογές, αλλά οι τύποι βελτιστοποίησης που επηρεάζουν σύνολα (ή πολλαπλά σύνολα, ή λίστες κ.λπ.) πρέπει να συνδυαστούν με βελτιστοποίηση για τους τύπους αντικειμένων που περιέχονται σε αυτά τα σύνολα. Ένας αντικειμενοστραφής βελτιστοποιητής ερωτημάτων πρέπει να μπορεί να εφαρμόζει ρουτίνες βελτιστοποίησης που είναι συγκεκριμένες για συγκεκριμένους τύπους, καθώς και ρουτίνες βελτιστοποίησης που λαμβάνουν υπόψη τις σχέσεις μεταξύ αντικειμένων διαφορετικών τύπων.
  3. Η πολυπλοκότητα της επεξεργασίας ερωτημάτων στο OODB επιδεινώνεται από την παρουσία πολύπλοκων αντικειμένων, μεθόδων και ενθυλάκωσης. Τα σύνθετα αντικείμενα δημιουργούν εκφράσεις διαδρομής, οι οποίες κάνουν την επεξεργασία ερωτημάτων πιο περίπλοκη. Η δημιουργία ευρετηρίων σε παραστάσεις διαδρομής, ειδικά όταν οι εκφράσεις περιέχουν αυθαίρετες μεθόδους, περιπλέκει την επεξεργασία ερωτημάτων. Το πρόβλημα γίνεται ακόμη πιο περίπλοκο εάν οι μέθοδοι έχουν παρενέργειες. Ένα άλλο πρόβλημα με τις εκφράσεις διαδρομής είναι ότι επιβάλλουν μια σειρά με την οποία καλούνται οι μέθοδοι έκφρασης διαδρομής και αυτή η σειρά μπορεί να είναι αρκετά αναποτελεσματική. Για παράδειγμα, η έκφραση διαδρομής Orders.part.name αξιολογείται καλύτερα από τα δεξιά προς τα αριστερά εάν υπάρχουν πολλές παραγγελίες και λίγα μέρη, αλλά εάν υπάρχουν πολλά μέρη και λίγες παραγγελίες, η έκφραση αξιολογείται καλύτερα από τα αριστερά προς τα δεξιά. Επιπλέον, μερικές φορές οι εκφράσεις διαδρομής επεξεργάζονται πιο αποτελεσματικά χρησιμοποιώντας το Join. Σκεφτείτε, για παράδειγμα, ένα ερώτημα με έκφραση διαδρομής s.comp.name, όπου το s ανήκει στο σύνολο Students. Ίσως είναι πιο αποτελεσματικό (αν ο αριθμός των εταιρειών, comp, είναι μικρός) να υπολογίσετε πρώτα το Όνομα για κάθε Εταιρεία και να αποθηκεύσετε το αποτέλεσμα σε μια πλειάδα. Στη συνέχεια, η αξιολόγηση της έκφρασης από όνομα μαθητή σε όνομα εταιρείας θα συνεπαγόταν τη σύνδεση του συνόλου Students σε ένα σύνολο πλειάδων αντιστοιχίζοντας την ιδιότητα comp της τάξης μαθητή με την τιμή του χαρακτηριστικού Company κάποιας πλειάδας.
  4. Οι γλώσσες ερωτημάτων OODB υποστηρίζουν τη χρήση ένθετων δομών, οι οποίες και πάλι μπορούν να περιπλέξουν σημαντικά τη διαδικασία βελτιστοποίησης, καθώς τη μετατρέπουν από τοπικό πρόβλημασε ένα παγκόσμιο πρόβλημα, καθώς απαιτείται καθολική γνώση ολόκληρης της έκφρασης του ερωτήματος.
  5. Όταν τα αντικείμενα έχουν δυνατότητα ταυτοποίησης, τίθεται το ερώτημα τι σημαίνει η ισότητα δύο αντικειμένων. Αυτό το ζήτημα μεταφέρεται σε γλώσσες όπου οι τελεστές σύγκρισης ισότητας χρησιμοποιούνται σε κατηγορήματα και όπου πρέπει να ληφθούν αποφάσεις σχετικά με τη δημιουργία νέων αντικειμένων κατά την εκτέλεση ενός ερωτήματος. Ένας αντικειμενοστραφής βελτιστοποιητής μοντέλων πρέπει να είναι σε θέση να αντιμετωπίσει προβλήματα που σχετίζονται με τη δημιουργία νέων αντικειμένων και με εναλλακτικούς ορισμούς της ισότητας.

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

Έλλειψη τυπικής άλγεβρας ερωτημάτων

Ένα άλλο σοβαρό μειονέκτημα του OODB είναι η έλλειψη προτύπων άλγεβρας ερωτημάτων. Αυτή η περίσταση καθιστά επίσης δύσκολη τη βελτιστοποίηση των ερωτημάτων. Για το OODB έχουν προταθεί αρκετές διαφορετικές επίσημες γλώσσες ερωτημάτων που βασίζονται σε άλγεβρες και λογισμούς. Αυτές οι άλγεβρες και οι λογισμοί διαφέρουν από πολλές απόψεις, τόσο ως προς την εκφραστικότητα όσο και ως προς την υποστήριξή τους για τη βελτιστοποίηση των κανόνων επανεγγραφής. Σχεδόν όλες αυτές οι άλγεβρες βασίζονται σε μεταβλητές, δηλ. χρησιμοποιήστε μεταβλητές για την αποθήκευση ενδιάμεσων αποτελεσμάτων. Το KOLA, ένα από τα πακέτα OBD, είναι ένα καθαρά λειτουργικό προϊόν. δεν χρησιμοποιεί μεταβλητές. Ο συγγραφέας ισχυρίζεται ότι ακριβώς λόγω της απουσίας μεταβλητών η άλγεβρα KOLA επιτρέπει την κατασκευή πιο ισχυρών συστημάτων κανόνων.

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

Έλλειψη υποστήριξης ερωτημάτων

Τα περισσότερα OODB στερούνται υποστήριξης ερωτημάτων. Στα λίγα συστήματα που έχουν επαρκείς διαθέσιμες εγκαταστάσεις, η γλώσσα ερωτημάτων δεν είναι συμβατή με το ANSI SQL. Μεταξύ αυτών των εργαλείων υποστήριξης ερωτημάτων, δεν υπάρχουν ένθετα υποερωτήματα, ερωτήματα με σύνολα (ένωση, τομή, διαφορά), συναρτήσεις συγκεντρωτικών στοιχείων και GROUP BY, που ενώνουν πολλές κλάσεις - χαρακτηριστικά που υποστηρίζονται πλήρως στο RDB.

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

Έλλειψη υποστήριξης απόψεων

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

Προβλήματα ασφάλειας

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

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

Έλλειψη υποστήριξης για δυναμικές αλλαγές στους ορισμούς κλάσεων

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

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

Περιορισμένη υποστήριξη για περιορισμούς ακεραιότητας

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

Περιορισμένες επιλογές ρύθμισης απόδοσης

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

Ανεπαρκής υποστήριξη για πολύπλοκα αντικείμενα

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

Περιορισμένη ενοποίηση με αντικειμενοστραφή συστήματα προγραμματισμού

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

Περιορισμένο κέρδος απόδοσης

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

Οι δυνατότητες που δεν υποστηρίζονται ακόμη στο OODB περιλαμβάνουν επίσης κανόνες ετικέτας, στοιχεία ελέγχου μεταδεδομένων και περιορισμούς ακεραιότητας, όπως UNIQUE και NULL.

***

Εξαιτίας αυτών των αδυναμιών, τα OODB απέτυχαν να ανταποκριθούν στις προσδοκίες τους: να παρέχουν όλες τις σημαντικές δυνατότητες που επιθυμούν οι εφαρμογές-στόχοι. Ισχύει για την πλειοψηφία σύγχρονα συστήματαΟ όρος "OOBD" χρησιμοποιείται λανθασμένα. Σχεδόν όλα τα σύγχρονα OODB δεν είναι τόσο συστήματα βάσεων δεδομένων όσο σταθερά συστήματα αποθήκευσης δεδομένων για κάποια αντικειμενοστραφή γλώσσα προγραμματισμού. Έτσι, παρόλο που το αντικειμενοστραφή μοντέλο δεδομένων είναι από πολλές απόψεις πλουσιότερο από το σχεσιακό μοντέλο, το αντικειμενοστρεφές μοντέλο δεν έχει ακόμη φτάσει πλήρως την ωριμότητά του. Σήμερα, υπάρχουν σαφώς περισσότερα μειονεκτήματα στα συστήματα OOBD παρά πλεονεκτήματα.

Βιβλιογραφία

  1. S. Abiteboul, A. Bonner, «Αντικείμενα και απόψεις». ACM SIGMOD Int. Συνδ. On Management of Data, 1991.
  2. M. Atkinson, et al., «Μανιφέστο συστήματος βάσης δεδομένων αντικειμενοστρεφούς». Δημιουργία αντικειμενοστρεφούς συστήματος βάσεων δεδομένων: Η ιστορία του O2. Morgan Kaufman, 1992.
  3. F. Bancilhon, «Αντικειμενοστρεφή συστήματα βάσεων δεδομένων». 7th ACM SIGART/SIGMOD Conf., 1988.
  4. J. Banerjee, et al., «Ζητήματα μοντέλων δεδομένων για αντικειμενοστρεφείς εφαρμογές». ACM Trans. On Office Information Systems, Ιαν 1987.
  5. J. Banerjee, W. Kim, K.C. Kim, «Ερωτήματα σε αντικειμενοστρεφείς βάσεις δεδομένων». IEEE Data Engineering Conf., Φεβ. 1988.
  6. D. Beech, «Θέμα για την εξέλιξη και τη σχέση με τα αντικείμενα βάσεις δεδομένων». Proc. Extended Data Base Technology, Μάρ. 1988.
  7. E. Bertino, M. Negri, G. Pelagatti, L. Sbattella, “Object-Oriented Query Languages: Notion and Issues.” IEEE Transactions on Knowledge and Data Engineering, Μάρ. 1992.
  8. A.W. Brown, Αντικειμενοστρεφείς Βάσεις Δεδομένων, Εφαρμογές στη Μηχανική Λογισμικού. Νέα Υόρκη: McGraw-Hill, 1991.
  9. R.G.G. Cattell, Object Data Management, Object-Oriented και Extended Relational Database Systems. Addison-Wesley, 1991.
  10. M. Cherniack, "Form(ers) over Function(s): KOLA Query Algebra." Τεχνική Έκθεση, Πανεπιστήμιο Brown, Δεκ. 1995.
  11. S. Cluet, et al., "Reloop, Algebra based query language for a object-oriented database system." 1ο Int. Συνδ. Σχετικά με τις απαγωγικές και τις αντικειμενοστρεφείς βάσεις δεδομένων, Δεκ. 1989.
  12. ΑΝ. Cruz, DOODLE: Οπτική γλώσσα για αντικειμενοστρεφείς βάσεις δεδομένων. ACM SIGMOD Int. Συνδ. On Management of Data, 1992.
  13. U. Dayal, "Ερωτήματα και προβολές σε αντικειμενοστραφή μοντέλο δεδομένων." 2ο Int. Δουλειά. On Database Programming Languages, Ιούνιος 1989.
  14. Κ.Α. Dittrich, K.R. Dittrich, «Πού τα αντικειμενοστρεφή DBMS πρέπει να κάνουν καλύτερα: Μια κριτική που βασίζεται σε πρώιμες εμπειρίες». Modern Database Systems: Object Model, Interoperability and Beyond, ACM Press, Addison Wesley, 1995.
  15. U. Erlingsson, "Object-Qriented Query Optimization", αδημοσίευτο χειρόγραφο.
  16. L. Fegaras, D. Maier, «Towards a Effective Calculus for Object Query Languages». ACM SIGMOD Int. Συνδ. σχετικά με τη διαχείριση δεδομένων, Σαν Χοσέ, Καλιφόρνια, Μάιος 1995.
  17. L. Fegaras, D. Maier, T. Sheard, «Specifying Rule-based Query Optimizers in a Reflective Framework». 3ο Int. Συνδ. σχετικά με τις απαγωγικές και τις αντικειμενοστρεφείς βάσεις δεδομένων, Phoenix, Arizona, Δεκ. 1993.
  18. S. Heiler, S. Zdonik, “Object Views: Extending the vision”. 6th Int. Συνδ. On Data Engineering, 1990.
  19. J.G. Hughes, Αντικειμενοστρεφείς Βάσεις Δεδομένων. Νέα Υόρκη: Prentice-Hall, 1991.
  20. S. Khoshafian, «Insight Into Object-Oriented Databases». Τεχνολογία Πληροφορικής και Λογισμικού, Απρ. 1990.
  21. S. Khoshafian, Object-Oriented Databases, Νέα Υόρκη: John Wiley & Sons, 1993.
  22. S. Khoshafian, G. Copeland, «Ταυτότητα αντικειμένου». 1ο Int. Συνδ. Σχετικά με τα Αντικειμενοστρεφή Συστήματα Προγραμματισμού, τις Γλώσσες και τις Εφαρμογές, Οκτ. 1986.
  23. W. Kim, «Ίδρυμα για αντικειμενοστρεφείς βάσεις δεδομένων». MCC Tech. Rep., N. ACA-ST-248-88, Aug. 1988.
  24. W. Kim, Εισαγωγή στις αντικειμενοστρεφείς βάσεις δεδομένων. MIT Press, 1991.
  25. W. Kim, «Αντικειμενοστραφή συστήματα βάσεων δεδομένων: Υποσχέσεις, πραγματικότητα και μέλλον». Modern Database Systems: Object Model, Interoperability and Beyond, ACM Press, Addison Wesley, 1995.
  26. T.W. Leung, et al., «Aqua Data Model and Algebra». Τεχνική Έκθεση CS-93-09, Brown University, Mar. 1993.
  27. G. Mitchell, S.B. Zdonik, U. Dayal, "Αντικειμενοστρεφής βελτιστοποίηση ερωτημάτων - Ποιο είναι το πρόβλημα;" Τεχνική Έκθεση CS-91-41, Πανεπιστήμιο Brown, Ιούνιος 1991.
  28. Ε.Α. Rudensteiner, «Multiview: Μεθοδολογία για την υποστήριξη πολλαπλών προβολών σε αντικειμενοστρεφείς βάσεις δεδομένων». 18th Int. Συνδ. On Very Large Databases, 1992.
  29. M. Scholl, H. Schek, «Μοντέλο σχεσιακού αντικειμένου». 3ο Int. Συνδ. On Database Theory, LNCS, τομ. 470, Springer Verlag, 1990.
  30. Π.Γ. Selinger, et al, «Επιλογή διαδρομής πρόσβασης σε σύστημα διαχείρισης σχεσιακής βάσης δεδομένων». ACM SIGMOD Int. Συνδ. On Management of Data, 1979.
  31. M. Stefik, D.G. Bobrow, «Αντικειμενοστραφής προγραμματισμός: Θέματα και παραλλαγές». The AI ​​Mag., Ιαν. 1986.
  32. M. Stonebraker, et al., «Μανιφέστο συστήματος βάσης δεδομένων τρίτης γενιάς». Επιτροπή για προηγμένη λειτουργία DBMS, Πανεπιστήμιο της Καλιφόρνια, Μπέρκλεϋ, 1990.
  33. Δ.Δ. Straube, Μ.Τ. Ozsu, «Ερωτήματα και επεξεργασία ερωτημάτων σε αντικειμενοστραφή συστήματα βάσεων δεδομένων». ACM Transactions on Information Systems, Οκτ. 1990.
  34. Δ.Δ. Straube, Μ.Τ. Ozsu, «Δημιουργία σχεδίου εκτέλεσης για αντικειμενοστρεφές μοντέλο δεδομένων». 2ο Int. Συνδ. σχετικά με τις απαγωγικές και αντικειμενοστρεφείς βάσεις δεδομένων, Μόναχο, Γερμανία, Δεκ. 1991.
  35. S.Y.W. Su, M. Guo, H. Lam, "Association Algebra: Mathematical Foundation for Object-Oriented Databases." IEEE Transactions on Knowledge and Data Engineering, Οκτ. 1993.
  36. S.B. Zdonik, D. Maier, eds., Readings in Object-Oriented Database Systems, Morgan Kauffman, 1989.
  37. S.B. Zdonik, P. Wegner, «Γλώσσα και Μεθοδολογία για Αντικειμενοστρεφή Περιβάλλοντα Βάσεων Δεδομένων». Hawaii Int. Συνδ. στις Επιστήμες Συστημάτων, Ιαν. 1986.

Sikha Bagui([email προστατευμένο]) είναι λέκτορας στο Τμήμα Επιστήμης Υπολογιστών στο Πανεπιστήμιο της Δυτικής Φλόριντα. Συν-συγγραφέας τριών βιβλίων για βάσεις δεδομένων: Learning SQL: A Step-by-Step Guide Using Oracle, Learning SQL: A Step-by-Step Guide Using Access (Addison Wesley) και Design Database Using Entity Relationship Diagrams (CRC Press) .

Μετάφραση από το «Achievements and Weaknesses of Object-Oriented Databases» από τον Sikha Bagui στο Journal of Object Technology (JOT), vol. 2, αρ. 4, Ιούλιος-Αύγουστος 2003, σελίδες 29-41. Μεταφράστηκε στα ρωσικά για το Otkrytye Systemy με ειδική άδεια του αρχικού εκδότη. Copyright JOT, 2003. Αρχικό άρθρο στο http://www.jot.fm/issues/issue_2003_07/column2.

Από τον επιμελητή μετάφρασης

OOBD - ωριμότητα ή πτώση;

Σεργκέι Κουζνέτσοφ

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

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

Το άρθρο βασίζεται σε μια ανάλυση 36 δημοσιεύσεων αφιερωμένων σε αντικειμενοστρεφείς βάσεις δεδομένων και δημοσιεύθηκαν την περίοδο 1986-1995. Επομένως, το συχνά χρησιμοποιούμενο χαρακτηριστικό του «μοντέρνου» OODB δεν είναι απολύτως δίκαιο. Τα αποσπάσματα, που μερικές φορές δίνονται σε ενεστώτα, μερικές φορές φαίνονται αρκετά ύποπτα.

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

Θα ήθελα να σημειώσω ένα ακόμη περίεργο χαρακτηριστικό του άρθρου του Bagui. Μέχρι το 2001, υπήρχε μια διεθνής κοινοπραξία, η Object Data Management Group, η οποία δημοσίευσε τρεις εκδόσεις προτάσεων για την τυποποίηση του αντικειμενοστρεφούς μοντέλου δεδομένων. η τελευταία έκδοση, ODMG 3.0, δημοσιεύτηκε το 2000. Αυτό είναι το μόνο έγγραφο που προσφέρει σχετικά συνεπή ορολογία και, σε κάποιο βαθμό, ένα αντικειμενοστραφή μοντέλο δεδομένων. Είναι κρίμα που ο Bagui δεν χρησιμοποιεί αυτό το υλικό.

Σημειώστε ότι το περιοδικό DBMS δημοσίευσε ένα άρθρο αφιερωμένο στην πρώτη έκδοση του προτύπου, ODMG-93. Σύντομη κριτικήΤο πρότυπο ODMG 3.0 βρίσκεται στο . Μπορούμε επίσης να προτείνουμε τη μετάφραση του Manifesto of Object-Oriented Database Systems και μια πολύ ωραία επισκόπηση της τεχνολογίας OODB.

Βιβλιογραφία

  1. Το πρότυπο δεδομένων αντικειμένου: ODMG 3.0. R.G.G. Cattel, D.K. Barry, επιμ., Morgan Kauffmann, 2000.
  2. ΛΑ. Καλινιτσένκο, . // DBMS, Νο. 1, 1996.
  3. S.D. Κουζνέτσοφ. «Τρία Μανιφέστα Βάσεων Δεδομένων: Αναδρομική και Προοπτικές». Έκθεση στο συνέδριο «Βάσεις δεδομένων και τεχνολογίες πληροφοριών του XXI αιώνα», Μόσχα, Σεπτέμβριος 2003, http://www.citforum.ru/database/articles/manifests.
  4. Μ. Atkinson et al., // DBMS, Νο. 4, 1995.
  5. Ark Andreev, Dmitry Berezkin, Roman Samarev, . // Ανοιχτά συστήματα, № 3, 2001.


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

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

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

Πρώτον, ακολουθώντας την πρακτική πολλών OODB, προτείνεται η διάκριση δύο επιπέδων μοντελοποίησης αντικειμένων: κατώτερο (δομικό) και ανώτερο (συμπεριφορικό). Σε δομικό επίπεδο, υποστηρίζονται σύνθετα αντικείμενα, η αναγνώρισή τους και οι τύποι των σχέσεων «isa». Μια βάση δεδομένων είναι μια συλλογή στοιχείων δεδομένων που σχετίζονται με τη σχέση "είναι μέλος μιας κλάσης" ή "είναι ένα χαρακτηριστικό". Έτσι, η βάση δεδομένων μπορεί να θεωρηθεί ως κατευθυνόμενο γράφημα. Ένα σημαντικό σημείο είναι να διατηρήσουμε την έννοια της αξίας μαζί με την έννοια του αντικειμένου (αργότερα θα δούμε πόσα βασίζεται σε αυτό σε ένα από τα επιτυχημένα αντικειμενοστραφή DBMS O2).



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

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

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

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

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

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

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

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

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

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

Το μοντέλο O2 υποστηρίζει πολλαπλή κληρονομικότητα κλάσεων με βάση τη σχέση υπερτύπου/υποτύπου. Μια υποκλάση επιτρέπει την προσθήκη ή/και την παράκαμψη χαρακτηριστικών και μεθόδων. Πιθανές ασάφειες στην πολλαπλή κληρονομικότητα (στην ονομασία χαρακτηριστικών και μεθόδων) επιλύονται είτε με μετονομασία είτε με ρητή ένδειξη της πηγής κληρονομικότητας. Ένα αντικείμενο υποκλάσης είναι ένα αντικείμενο κάθε υπερκλάσης από το οποίο προέρχεται η υποκλάση.

Υποστηρίζεται μια προκαθορισμένη κλάση "Object", η οποία είναι η ρίζα του πλέγματος κλάσης. οποιαδήποτε άλλη κλάση είναι σιωπηρός διάδοχος της κλάσης "Object" και κληρονομεί προκαθορισμένες μεθόδους ("is_same", "is_value_equal" κ.λπ.).

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

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

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

Τυπικό OOMπεριγράφεται στις συστάσεις του προτύπου ODMG-93 (Object Database Management Group - αντικειμενοστραφής ομάδα διαχείρισης βάσεων δεδομένων). Δεν έχει καταστεί ακόμη δυνατή η πλήρης εφαρμογή των συστάσεων του ODMG-93. Για να επεξηγήσετε τις βασικές ιδέες, εξετάστε ένα κάπως απλοποιημένο μοντέλο μιας αντικειμενοστραφής βάσης δεδομένων.

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

Αξία περιουσίας τύπου stringείναι μια συμβολοσειρά χαρακτήρων. Η τιμή μιας ιδιότητας κατηγορίας τύπου είναι ένα αντικείμενο που είναι μια παρουσία της αντίστοιχης κλάσης. Κάθε αντικείμενο παρουσίας μιας κλάσης θεωρείται θυγατρικό του αντικειμένου στο οποίο ορίζεται ως ιδιότητα. Ένα αντικείμενο παρουσίας μιας κλάσης ανήκει στην κλάση της και έχει έναν γονέα. Οι γενικές σχέσεις στη βάση δεδομένων σχηματίζουν μια συνδεδεμένη ιεραρχία αντικειμένων.

Ένα παράδειγμα της λογικής δομής μιας βάσης δεδομένων OO βιβλιοθηκονομίας φαίνεται στο Σχ. 3.14. Εδώ, ένα αντικείμενο του τύπου ΒΙΒΛΙΟΘΗΚΗ είναι το γονικό αντικείμενο των στιγμιοτύπων των κλάσεων SUBSCRIBER, DIRECTORY και ISSUE. Διαφορετικά αντικείμενα τύπου BOOK που έχουν τον ίδιο γονέα πρέπει να διαφέρουν τουλάχιστον ως προς τον αριθμό πρόσβασης (μοναδικός για κάθε παρουσία του βιβλίου), αλλά έχουν τις ίδιες τιμές ιδιοτήτων isbn, udk, τίτλοςΚαι συγγραφέας.


Εικ.3.14.Λογική δομήβάσεις δεδομένων βιβλιοθηκονομίας

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

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

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

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

Κληρονομία,αντίθετα επεκτείνει το εύρος του ακινήτου σε όλους τους απογόνους του αντικειμένου. Έτσι, σε όλα τα αντικείμενα του τύπου BOOK που είναι απόγονοι ενός αντικειμένου του τύπου DIRECTORY μπορούν να εκχωρηθούν οι ιδιότητες του γονικού αντικειμένου: isbn, udk, τίτλοςΚαι συγγραφέας.Εάν είναι απαραίτητο να επεκταθεί ο μηχανισμός κληρονομικότητας σε αντικείμενα που δεν είναι άμεσοι συγγενείς (για παράδειγμα, μεταξύ δύο παιδιών του ίδιου γονέα), τότε ορίζεται μια αφηρημένη ιδιότητα τύπου abs στον κοινό τους πρόγονο. Έτσι, ο ορισμός των αφηρημένων ιδιοτήτων εισιτήριοΚαι αριθμόςστο αντικείμενο ΒΙΒΛΙΟΘΗΚΗ κάνει αυτές τις ιδιότητες να κληρονομηθούν από όλα τα θυγατρικά αντικείμενα SUBSCRIBER, BOOK και ISSUE. Δεν είναι τυχαίο ότι το ακίνητο έχει αξία εισιτήριοΟι κατηγορίες SUBSCRIBER και ISSUING που εμφανίζονται στο σχήμα θα είναι οι ίδιες - 00015.

Πολυμορφισμόςστις αντικειμενοστρεφείς γλώσσες προγραμματισμού σημαίνει την ικανότητα του ίδιου κώδικα προγράμματοςεργασία με διαφορετικούς τύπους δεδομένων. Με άλλα λόγια, σημαίνει ότι επιτρέπεται για αντικείμενα διαφορετικών τύπων να έχουν μεθόδους (διαδικασίες ή συναρτήσεις) με τα ίδια ονόματα. Κατά την εκτέλεση ενός προγράμματος αντικειμένων, οι ίδιες μέθοδοι λειτουργούν σε διαφορετικά αντικείμενα ανάλογα με τον τύπο του ορίσματος. Σε σχέση με την αντικειμενοστραφή βάση δεδομένων μας, ο πολυμορφισμός σημαίνει ότι τα αντικείμενα της κλάσης BOOK που έχουν διαφορετικούς γονείς από την κλάση DIRECTORY μπορούν να έχουν διαφορετικό σύνολο ιδιοτήτων. Κατά συνέπεια, τα προγράμματα για εργασία με αντικείμενα της κλάσης BOOK μπορούν να περιέχουν πολυμορφικό κώδικα.

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

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

ΜειονέκτημαΤα OOM χαρακτηρίζονται από υψηλή εννοιολογική πολυπλοκότητα, ταλαιπωρία στην επεξεργασία δεδομένων και χαμηλή ταχύτητα εκτέλεσης ερωτημάτων.



Εικ.3.15.Τμήμα βάσης δεδομένων με αντικείμενο στόχο

Ας στραφούμε ξανά στην εργασία Παραγγελίες, που παρουσιάζεται με τη μορφή ενός μοντέλου σχεσιακών δεδομένων στο Σχ. 3.8 και θεωρήστε το ως μια αντικειμενοστραφή βάση δεδομένων. Υπάρχουν τρεις κατηγορίες στο παράδειγμα: Πελάτες», « Παραγγελίες" Και " Εμπορεύματα" Αντικείμενα της τάξης " Πελάτες» είναι συγκεκριμένοι πελάτες. ιδιότητες κλάσης - αριθμός πελάτη, όνομα πελάτη Πόλη, Κατάσταση, κ.λπ. Μέθοδοι τάξης - " Δημιουργήστε μια παραγγελία», « Πληρώνω το λογαριασμό" και ούτω καθεξής. Μια μέθοδος είναι κάποια λειτουργία που μπορεί να εφαρμοστεί σε ένα αντικείμενο. μια μέθοδος είναι αυτό που πρέπει να κάνει ένα αντικείμενο. Τάξη που αντιστοιχεί στον πίνακα " Λεπτομέρειες Παραγγελίας", δεν απαιτείται. Τα δεδομένα πίνακα μπορούν να είναι μέρος της τάξης " Παραγγελίες" Διαθεσιμότητα στην τάξη " Πελάτες» μέθοδος « Δημιουργήστε μια παραγγελία"οδηγεί σε αλληλεπίδραση με αντικείμενα κλάσης" Παραγγελίες" Και " Εμπορεύματα" Σε αυτήν την περίπτωση, ο χρήστης δεν χρειάζεται να γνωρίζει αυτή την αλληλεπίδραση αντικειμένων. Ο χρήστης έχει πρόσβαση μόνο στο αντικείμενο " Παραγγελίες"και χρησιμοποιεί τη μέθοδο" Δημιουργήστε μια παραγγελία" Το γεγονός του αντίκτυπου σε άλλες βάσεις δεδομένων μπορεί να είναι κρυφό από τον χρήστη. Εάν η μέθοδος " Δημιουργήστε μια παραγγελία", με τη σειρά του, καλεί τη μέθοδο " Ελέγξτε την πιστοληπτική ικανότητα του πελάτη", τότε αυτό το γεγονός μπορεί επίσης να κρυφτεί από τον χρήστη. ΣΕ σχεσιακές βάσεις δεδομένωνΤα δεδομένα για την εκτέλεση των ίδιων λειτουργιών απαιτούν διαδικασίες εγγραφής στη γλώσσα Visual Basicγια Εφαρμογή (VBA).

Στη δεκαετία του '90, υπήρχαν πειραματικά πρωτότυπα συστημάτων διαχείρισης βάσεων δεδομένων OO. Επί του παρόντος, τέτοια συστήματα είναι ευρέως διαδεδομένα. Συγκεκριμένα, αυτά περιλαμβάνουν τα ακόλουθα DBMS: POET (POET Software), Jasmine (Computer Associates), Versant (Versant Technologies), O2 (Ardent Software), ODB-Jupiter (Inteltek Plus Research and Production Center), καθώς και Iris , Orion και Postgres.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Ορισμός 1

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

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

Ορισμός 2

ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗΗ δομή μιας αντικειμενοστραφής βάσης δεδομένων είναι ένα δέντρο του οποίου οι κόμβοι αντιπροσωπεύουν αντικείμενα.

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

Στο Σχήμα 1, το αντικείμενο ΒΙΒΛΙΟΘΗΚΗ είναι το γονικό αντικείμενο των στιγμιότυπων αντικειμένων των κλάσεων DIRECTORY, SUBSCRIBER και ISSUE. Διαφορετικά αντικείμενα τύπου BOOK μπορεί να έχουν ίδιους ή διαφορετικούς γονείς. Τα αντικείμενα τύπου BOOK που έχουν τον ίδιο γονέα πρέπει να έχουν τουλάχιστον διαφορετικούς αριθμούς πρόσβασης (μοναδικοί για κάθε παρουσία βιβλίου) αλλά τις ίδιες τιμές ιδιοτήτων συγγραφέας, Ονομα, udkΚαι isbn.

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

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

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

Ορισμός 3

Στόχος ενθυλάκωση– περιορισμός του εύρους του ονόματος ιδιοκτησίας στα όρια του αντικειμένου στο οποίο ορίζεται.

Για παράδειγμα, εάν προστεθεί μια ιδιότητα στο αντικείμενο DIRECTORY που καθορίζει τον αριθμό τηλεφώνου του συγγραφέα και έχει το όνομα τηλέφωνο, τότε τα αντικείμενα DIRECTORY και SUBSCRIBER θα έχουν τις ίδιες ιδιότητες. Η έννοια μιας ιδιότητας καθορίζεται από το αντικείμενο στο οποίο είναι ενθυλακωμένη.

Ορισμός 4

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

Για παράδειγμα, σε όλα τα αντικείμενα BOOK που είναι απόγονοι του αντικειμένου DIRECTORY μπορούν να εκχωρηθούν οι ιδιότητες του γονικού αντικειμένου: συγγραφέας, Ονομα, udkΚαι isbn.

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

Οι ιδιότητες λοιπόν αριθμόςΚαι εισιτήριοστο αντικείμενο ΒΙΒΛΙΟΘΗΚΗ κληρονομούνται από όλα τα θυγατρικά αντικείμενα ISSUE, BOOK και SUBSCRIBER. Αυτός είναι ο λόγος για τον οποίο οι τιμές αυτής της ιδιότητας των κλάσεων SUBSCRIBER και ISSUING είναι οι ίδιες - 00015 (Εικόνα 1).

Ορισμός 5

Πολυμορφισμόςεπιτρέπει στον ίδιο κώδικα προγράμματος να λειτουργεί με διαφορετικούς τύπους δεδομένων.

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

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

Πλεονεκτήματα και μειονεκτήματα του αντικειμενοστρεφούς μοντέλου

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

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

Σήμερα, τέτοια συστήματα είναι αρκετά διαδεδομένα. Αυτά περιλαμβάνουν DBMS:

  • Postgres,
  • Ωρίων,
  • Ιρις,
  • ODBJupiter,
  • Versant,
  • Αντικειμενικότητα/ΔΒ
  • ObjectStore
  • Στατική,
  • Πολύτιμος λίθος
  • G-Base.

Αντικειμενοστρεφές μοντέλο

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

Το τυποποιημένο αντικειμενοστραφή μοντέλο περιγράφεται στις συστάσεις του προτύπου ODMG-93 (Object Database Management Group). Δεν έχει καταστεί ακόμη δυνατή η πλήρης εφαρμογή των συστάσεων του ODMG-93. Για να επεξηγήσετε τις βασικές ιδέες, εξετάστε ένα ελαφρώς απλοποιημένο μοντέλο μιας αντικειμενοστραφής βάσης δεδομένων.

Η δομή μιας αντικειμενοστραφής βάσης δεδομένων (για παράδειγμα, Versant Object Database, Object Store, κ.λπ.) αναπαρίσταται γραφικά ως δέντρο, οι κόμβοι του οποίου είναι αντικείμενα. Οι ιδιότητες των αντικειμένων περιγράφονται από κάποιο τυπικό τύπο (για παράδειγμα, συμβολοσειρά) ή έναν τύπο κατασκευασμένο από τον χρήστη (που ορίζεται ως κλάση).

Η τιμή μιας ιδιότητας τύπου string είναι μια συμβολοσειρά χαρακτήρων. Η τιμή μιας ιδιότητας κατηγορίας τύπου είναι ένα αντικείμενο που είναι μια παρουσία της αντίστοιχης κλάσης. Κάθε αντικείμενο - ένα στιγμιότυπο μιας κλάσης θεωρείται απόγονος του αντικειμένου στο οποίο ορίζεται ως ιδιότητα. Ένα αντικείμενο είναι μια παρουσία μιας κλάσης που ανήκει στην κλάση της και έχει έναν γονέα. Οι γενικές σχέσεις στη βάση δεδομένων σχηματίζουν μια συνεκτική ιεραρχία αντικειμένων.

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

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

Λειτουργίες παρόμοιες με τις εντολές SQL μπορούν να χρησιμοποιηθούν σε περιορισμένο βαθμό (για παράδειγμα, για τη δημιουργία βάσης δεδομένων).

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

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

Η ενθυλάκωση περιορίζει το εύρος ενός ονόματος ιδιοκτησίας στα όρια του αντικειμένου στο οποίο ορίζεται.

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

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

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

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

Τύποι δεδομένων

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

  • αριθμητικός. Παραδείγματα τιμών δεδομένων: 0,43; 328; 2E+5;
  • συμβολικός (αλφαριθμητικός). Παραδείγματα τιμών δεδομένων: "Παρασκευή", "string", "προγραμματιστής";
  • ημερομηνίες, που καθορίζονται χρησιμοποιώντας τον ειδικό τύπο ημερομηνίας ή ως δεδομένα κανονικών χαρακτήρων. Παραδείγματα τιμών δεδομένων: 12/1/97, 23/2/1999.

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

  • προσωρινή και ημερομηνία-χρονική, σχεδιασμένη να αποθηκεύει πληροφορίες σχετικά με την ώρα και (ή την ημερομηνία). Παραδείγματα τιμών δεδομένων: 01/31/85 (ημερομηνία), 9:10:03 (ώρα), 03/6/1960 12:00 (ημερομηνία και ώρα);
  • χαρακτήρες μεταβλητού μήκους που προορίζονται για αποθήκευση πληροφορίες κειμένουμεγάλο μήκος, για παράδειγμα ένα έγγραφο.
  • δυαδικό, σχεδιασμένο για την αποθήκευση γραφικών αντικειμένων, πληροφοριών ήχου και βίντεο, χωρικών, χρονολογικών και άλλων ειδικές πληροφορίες. Για παράδειγμα, στο MS Access αυτός ο τύπος είναι ο τύπος δεδομένων "Πεδίο". αντικείμενο OLE", που σας επιτρέπει να αποθηκεύετε δεδομένα γραφικών σε μορφή BMP (Bitmap) στη βάση δεδομένων και να τα εμφανίζετε αυτόματα όταν εργάζεστε με τη βάση δεδομένων.
  • υπερσυνδέσμους που έχουν σχεδιαστεί για την αποθήκευση συνδέσμων προς διάφορους πόρους(κόμβοι, αρχεία, έγγραφα κ.λπ.) που βρίσκονται εκτός της βάσης δεδομένων, για παράδειγμα στο Διαδίκτυο, σε εταιρικό intranet ή στον σκληρό δίσκο ενός υπολογιστή.

ΣΕ σύγχρονο DBMSΌλοι οι τύποι δεδομένων που παρατίθενται μπορούν να χρησιμοποιηθούν με διαφορετικά μοντέλα δεδομένων.