1 / 77

Αντικειμενοστραφή ΣΔΒΔ

Αδυναμία σχεσιακού μοντέλου Βασικές έννοιες αντικειμενοστραφών ΣΔΒΔ Πλεονεκτήματα και μειονεκτήματα. Αντικειμενοστραφή ΣΔΒΔ. Αδυναμία Σχεσιακού Μοντέλου.

leo-larson
Download Presentation

Αντικειμενοστραφή ΣΔΒΔ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Αδυναμία σχεσιακού μοντέλου • Βασικές έννοιες αντικειμενοστραφών ΣΔΒΔ • Πλεονεκτήματα και μειονεκτήματα Αντικειμενοστραφή ΣΔΒΔ

  2. Αδυναμία Σχεσιακού Μοντέλου Το σχεσιακό μοντέλο δεδομένων αποτελεί ακόμη και σήμερα το πιο διαδεδομένο μοντέλο που υποστηρίζει τις περισσότερες εφαρμογές διαχειριστικού τύπου (τραπεζικά συστήματα, συστήματα κράτησης θέσεων, κλπ). Ωστόσο, υπάρχουν σύγχρονες εφαρμογές που θέτουν μεγάλες απαιτήσεις με αποτέλεσμα η υποστήριξη των εφαρμογών αυτών από το σχεσιακό μοντέλο να είναι αρκετά δύσκολη. Παραδείγματα τέτοιων εφαρμογών είναι τα συστήματα CAD (computer-aided design), GIS (geographical information systems) και εφαρμογές πολυμέσων (multimedia applications).

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

  4. Αδυναμία Σχεσιακού Μοντέλου Έχει επιβεβαιωθεί πολλές φορές ότι τα σχεσιακά ΣΔΒΔ δεν επαρκούν για την ικανοποίηση των σύγχρονων απαιτήσεων. Το ερώτημα που προκύπτει εύλογα είναι γιατί τα σχεσιακά ΣΔΒΔ αδυνατούν να καλύψουν τις ανάγκες των σύγχρονων εφαρμογών; Στη συνέχεια περιγράφονται μερικά από τα προβλήματα που εμφανίζονται χρησιμοποιώντας ένα σχεσιακό ΣΔΒΔ:

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

  6. Αδυναμία Σχεσιακού Μοντέλου Ομοιογένεια Το σχεσιακό μοντέλο ορίζει ότι κάθε γραμμή ενός πίνακα πρέπει να αποτελείται από τις ίδιες στήλες, και κάθε στήλη του πίνακα πρέπει να δέχεται τιμές από το ίδιο πεδίο ορισμού. Οι δύο αυτές ιδιότητες καλούνται οριζόντια και κάθετη ομοιογένεια. Η δομή αυτή του πίνακα είναι αρκετά περιοριστική για αντικείμενα του πραγματικού κόσμου τα οποία έχουν πολύπλοκη δομή.

  7. Αδυναμία Σχεσιακού Μοντέλου Περιορισμένες λειτουργίες Ένα σχεσιακό ΣΔΒΔ έχει ένα περιορισμένο σύνολο λειτουργιών που μπορούν να εφαρμοσθούν στα δεδομένα, το οποίο καθορίζεται από τη γλώσσα SQL. Στις σύγχρονες εφαρμογές το σύνολο των λειτουργιών αυτών δεν επαρκεί και επομένως απαιτείται η δυνατότητα ορισμού νέων τύπων δεδομένων και νέων λειτουργιών. Για παράδειγμα, μία εφαρμογή GIS χρειάζεται υποστήριξη για γεωμετρικά αντικείμενα (γραμμές, πολύγωνα) και πράξεις μεταξύ των γεωμετρικών αντικειμένων (επικάλυψη δύο πολυγώνων). Τα παραδοσιακά σχεσιακά ΣΔΒΔ δεν επιτρέπουν τον ορισμό νέων τύπων δεδομένων και νέων λειτουργιών, με αποτέλεσμα η διαχείριση των αντικειμένων να εμπεριέχεται στη λογική της εφαρμογής και όχι στο ΣΔΒΔ.

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

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

  10. Τάσεις Τα προαναφερθέντα προβλήματα οδήγησαν τους ερευνητές στη μελέτη νέων μεθόδων μοντελοποίησης και διαχείρισης έτσι ώστε η αποτελεσματική και αποδοτική διαχείριση των σύγχρονων δεδομένων να είναι εφικτή. Προς αυτήν την κατεύθυνση παρατηρούνται δύο τάσεις που στηρίζονται σε διαφορετική φιλοσοφία: Μελέτη εφαρμογής του αντικειμενοστραφούς μοντέλου δεδομένου (object-oriented data model) και την υλοποίηση αντικειμενοστραφών βάσεων δεδομένων (object-oriented databases), Μελέτη επέκτασης των σχεσιακών βάσεων δεδομένων έτσι ώστε μία σχεσιακή βάση να είναι σε θέση να διαχειρίζεται πολύπλοκα αντικείμενα. Η τάση αυτή οδήγησε στη δημιουργία των αντικειμενο-σχεσιακών βάσεων δεδομένων (object-relational databases)

  11. Αντικειμενοστραφές Μοντέλο Το αντικειμενοστραφές μοντέλο δεδομένων έχει εφαρμοσθεί με επιτυχία στις αντικειμενοστραφείς γλώσσες προγραμματισμού όπως Smalltalk, C++ και Java Η υλοποίηση μίας εφαρμογής με μία αντικειμενοστραφή γλώσσα προγραμματισμού διαφέρει σημαντικά από την υλοποίηση της ίδιας εφαρμογής σε μία διαδικαστική γλώσσα. Επιπλέον, οι μέθοδοι ανάλυσης και σχεδίασης διαφέρουν από τις αντίστοιχες κλασικές μεθόδους. Στη συνέχεια παρουσιάζονται οι βασικές έννοιες του αντικειμενοστραφούς μοντέλου δεδομένων.

  12. Αντικειμενοστραφές Μοντέλο Ένα αντικείμενο (object) αποτελεί μία οντότητα του πραγματικού κόσμου (σε αντιστοιχία με το μοντέλο ΟΣ). Κάθε αντικείμενο αποτελείται από χαρακτηριστικά (attributes). Το σύνολο των τιμών των χαρακτηριστικών καλείται κατάσταση (state) του αντικειμένου. Ένα αντικείμενο καθορίζει και τις επιτρεπτές ενέργειες που μπορούν να εφαρμοσθούν στο αντικείμενο. Αυτό πραγματοποιείται με τη βοήθεια μεθόδων (methods) με δυνατότητα προσπέλασης στα χαρακτηριστικά του αντικειμένου. Το σύνολο των μεθόδων καλείται συμπεριφορά (behavior) του αντικειμένου.

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

  14. Αντικειμενοστραφές Μοντέλο Αντικείμενα με τα ίδια χαρακτηριστικά και μεθόδους σχηματίζουν μία κλάση αντικειμένων (object class). Το κάθε αντικείμενο αποτελεί ένα στιγμιότυπο της κλάσης όπου ανήκει. Η διάκριση των αντικειμένων μεταξύ τους πραγματοποιείται με τη χρήση της ταυτότητας αντικειμένου (object identifier) η οποία είναι μοναδική για κάθε αντικείμενο, και ποτέ δεν επαναχρησιμοποιείται.

  15. Αντικειμενοστραφές Μοντέλο

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

  17. Αντικειμενοστραφές Μοντέλο Θεωρείστε για παράδειγμα τις κλάσεις Υπάλληλος, Πωλητής και Προγραμματιστής μίας ΒΔ που χρησιμοποιείται για την εσωτερική οργάνωση της εταιρείας. Είναι προφανές ότι ένας πωλητής είναι επίσης και υπάλληλος, και το ίδιο ισχύει για έναν προγραμματιστή. Αναμένουμε ότι οι κλάσεις Υπάλληλος (employee) και Πωλητής (salesperson) θα έχουν αρκετά κοινά χαρακτηριστικά και μεθόδους, και το ίδιο θα ισχύει για τις κλάσεις Υπάλληλος και Προγραμματιστής

  18. Αντικειμενοστραφές Μοντέλο

  19. Αντικειμενοστραφές Μοντέλο Με τη χρήση της κληρονομικότητας μπορούμε να κατασκευάσουμε μία ιεραρχία εξειδίκευσης (specialization hierarchy) η οποία συνδέει τις κλάσεις ως προς την κληρονομικότητα. Για να δηλώσουμε ότι η κλάση B είναι ειδική περίπτωση της κλάσης A χρησιμοποιείται η λέξη ISA ( Β ISA A), όπως ακριβώς και στο μοντέλο ΟΣ.

  20. Αντικειμενοστραφές Μοντέλο

  21. Αντικειμενοστραφές Μοντέλο Ένας άλλος τύπος ιεραρχικής δομής που χρησιμοποιείται συχνά για την αναπαράσταση του πραγματικού κόσμου είναιη ιεραρχία συμπερίληψης (containment hierarchy), η οποία ορίζει ότι ένα αντικείμενο αποτελεί τμήμα ενός άλλου αντικειμένου. Η σχέση αυτή μεταξύ των αντικειμένων δηλώνεται με το IS-PART-OF σε αντίθεση με τη σχέση εξειδίκευσης που δηλώνεται με το ISA. Η ιεραρχία συμπερίληψης οδηγεί σε σύνθετα αντικείμενα (complex objects) με αποτέλεσμα κάποια από τα χαρακτηριστικά ενός αντικειμένου να είναι και αυτά αντικείμενα.

  22. Αντικειμενοστραφές Μοντέλο

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

  24. Αντικειμενοστραφές ΣΔΒΔ Οι βασικές δυνατότητες που πρέπει να έχει ένα αντικειμενοστραφές ΣΔΒΔ προσδιορίζονται σύμφωνα με δύο κριτήρια: α) το σύστημα πρέπει να είναι αντικειμενοστραφές και β) πρέπει να παρέχει όλες τις δυνατότητες ενός ΣΔΒΔ. Οι δυνατότητες αυτές (δεκατρείς στο σύνολό τους) αναλύονται στην αναφορά Atkinson 1989. Το σύνολο των δυνατοτήτων καλείται (object-oriented database system manifesto). Οι πρώτες οκτώ δυνατότητες αφορούν στην υποστήριξη του αντικειμενοστραφούς μοντέλου δεδομένων όπου αναφερθήκαμε προηγουμένως. Οι υπόλοιπες πέντε δυνατότητες αφορούν στη λειτουργικότητα του ΣΔΒΔ και έχουν ως εξής:

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

  26. Αντικειμενοστραφές ΣΔΒΔ Μία αντικειμενοστραφής γλώσσα προγραμματισμού δεν έχει δυνατότητα διατήρησης (persistence) των αντικειμένων. Αυτό σημαίνει ότι μετά τον τερματισμό της εφαρμογής τα αντικείμενα καταστρέφονται και δεν είναι διαθέσιμα σε άλλη εφαρμογή. Το γεγονός αυτό οδήγησε τους ερευνητές στη μελέτη διατηρήσιμων γλωσσών προγραμματισμού (persistent programming languages), οι οποίες έχουν τη δυνατότητα διατήρησης των αντικειμένων έτσι ώστε να είναι διαθέσιμα και μετά το τέλος της εφαρμογής. Αυτό επιτρέπει σε πολλές εφαρμογές να έχουν πρόσβαση στα ίδια αντικείμενα, επιτρέποντας την ανάπτυξη αντικειμενοστραφών ΣΔΒΔ.

  27. Γλώσσες Αντικειμένων Η γλώσσα ορισμού αντικειμένων (object definition language, ODL) είναι μία γλώσσα για τον ορισμό των προδιαγραφών τύπων αντικειμένων για συστήματα τα οποία υποστηρίζουν τις δυνατότητες που έχει προτείνει η ODMG. Ο βασικός στόχος της γλώσσας είναι η επίτευξη της μεταφερσιμότητας (portability) ως προς το σχήμα της βάσης δεδομένων έτσι ώστε να είναι δυνατή η προσπέλαση των δεδομένων μεταξύ διαφορετικών αντικειμενοστραφών ΣΔΒΔ.

  28. Γλώσσες Αντικειμένων

  29. Γλώσσες Αντικειμένων Η γλώσσα ερωτημάτων αντικειμένων (object query language, OQL) είναι μία δηλωτική γλώσσα χειρισμού δεδομένων, η οποία μοιάζει κατά πολύ σε σύνταξη με τη γλώσσα SQL των σχεσιακών ΣΔΒΔ. Η OQL μπορεί να χρησιμοποιηθεί σαν αυτόνομη γλώσσα ερωτημάτων ή να ενσωματωθεί σε κάποια άλλη γλώσσα προγραμματισμού (C++, Java). Βασικός στόχος της OQL είναι η απλή διατύπωση ερωτημάτων προς την αντικειμενοστραφή ΒΔ με τρόπο παρόμοιο με αυτόν της SQL.

  30. Γλώσσες Αντικειμένων Η OQL μπορεί να χρησιμοποιηθεί για συσχετιστική προσπέλαση (associative access) ή για πλοηγητική προσπέλαση (navigational access): Η συσχετιστική προσπέλαση επιστρέφει ένα σύνολο αντικειμένων της ΒΔ. Ο τρόπος εντοπισμού και επιστροφής των αντικειμένων ανήκει στην ευθύνη του αντικειμενοστραφούς ΣΔΒΔ. Κατά την πλοηγητική προσπέλαση πραγματοποιείται προσπέλαση σε ένα αντικείμενο κάθε φορά και χρησιμοποιούνται οι δεσμοί που υπάρχουν μεταξύ των αντικειμένων για μεταβούμε από ένα αντικείμενο σε άλλο.

  31. Γλώσσες Αντικειμένων Στο επόμενο παράδειγμα η ομοιότητα της OQL με την SQL είναι σαφής. Έστω ότι ζητούμε τα ονόματα και τις οδούς για όλα τα υποκαταστήματα που βρίσκονται στη Θεσσαλονίκη. Το αντίστοιχο ερώτημα έχει ως εξής: SELECT b.name, b.address FROM b IN branches WHERE b.address.city = "Θεσσαλονίκη"

  32. Γλώσσες Αντικειμένων Ας εξετάσουμε τέλος ένα παράδειγμα όπου συμμετέχουν περισσότερες από μία κλάσεις αντικειμένων. Έστω ότι αναζητούμε τα επίθετα των υπαλλήλων που εργάζονται σε όλα τα υποκαταστήματα της Αλεξανδρούπολης. Το αντίστοιχο ερώτημα έχει ως εξής: SELECT e.name.last-name FROM b IN branches, e IN branches.WorksAt WHERE b.address.city = "Αλεξανδρούπολη"

  33. Δεσμεύσεις ODMG C++ Οι δεσμεύσεις (bindings) ορίζουν τον τρόπο με τον οποίο οι δομές της γλώσσας ορισμού αντικειμένων αντιστοιχούν σε δομές μίας συγκεκριμένης γλώσσας προγραμματισμού. Οι δεσμεύσεις διευκολύνουν τον προγραμματιστή εφαρμογών διότι με τον τρόπο αυτό χρησιμοποιεί μία γλώσσα προγραμματισμού και όχι δύο διαφορετικές. Οι γλώσσες για τις οποίες παρέχονται δεσμεύσεις από την ODMG είναι οι Smalltalk, C++ και Java. Εδώ εστιάζουμε στις δεσμεύσεις για τη γλώσσα C++.

  34. Δεσμεύσεις ODMG C++ Παρέχεται μία βιβλιοθήκη κλάσεων C++, η οποία υλοποιεί τις δομές της ODMG ODL. Η βιβλιοθήκη αυτή χρησιμοποιείται από το πρόγραμμα εφαρμογής έτσι ώστε να προσπελασθούν τα αντικείμενα ανάλογα με τη λογική της εφαρμογής. Η χρήση της βιβλιοθήκης κλάσεων αποτρέπει τη σημαντική αλλαγή της δομής και του συντακτικού της γλώσσας C++ για την υποστήριξη της διατηρησιμότητας των αντικειμένων. Το πρόγραμμα εφαρμογής, το οποίο είναι γραμμένο σε C++, χρησιμοποιεί τη γλώσσα χειρισμού αντικειμένων (object manipulation language, OML) η οποία καθορίζει τον τρόπο προσπέλασης των αντικειμένων της ΒΔ.

  35. Δεσμεύσεις ODMG C++

  36. Δεσμεύσεις ODMG C++

  37. Δεσμεύσεις ODMG C++

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

  39. Πλεονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Επεκτασιμότητα Σε ένα αντικειμενοστραφές ΣΔΒΔ μπορούμε να ορίσουμε νέες κλάσεις αντικειμένων χρησιμοποιώνταςτις ήδη υπάρχουσες. Με τη χρήση της απλής και της πολλαπλής κληρονομικότητας και την εφαρμογή του πολυμορφισμούμπορούμε να παράγουμε νέες κλάσεις αντικειμένων που κληρονομούν χαρακτηριστικά και μεθόδους άλλων κλάσεων. Έτσι αποφεύγεται η επανάληψη του ορισμού χαρακτηριστικών και μεθόδων που έχουν ήδη ορισθεί σε άλλες κλάσεις.

  40. Πλεονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Εξέλιξη σχήματος ΒΔ Οι δυνατότητες του αντικειμενοστραφούς μοντέλου δεδομένων και οι ευκολίες που παρέχει το ΣΔΒΔ μπορούν να χρησιμοποιηθούν για την εξέλιξη του σχήματος της ΒΔ (schema evolution). Η εξέλιξη του σχήματος είναι αρκετά δύσκολη στα σχεσιακά συστήματα διότι επιφέρει πολλές αλλαγές στη λογική των εφαρμογών.

  41. Πλεονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Υποστήριξη συναλλαγών μεγάλης διάρκειας Ο τρόπος διαχείρισης κατά την εκτέλεση των ταυτόχρονων συναλλαγών από τα σχεσιακά συστήματα οδηγεί σε περιορισμένη απόδοση όταν οι συναλλαγές έχουν μεγάλη διάρκεια. Τα αντικειμενοστραφή συστήματα υλοποιούν διαφορετικούς μηχανισμούς με αποτέλεσμα οι συναλλαγές μεγάλης διάρκειας να εκτελούνται πιο αποδοτικά.

  42. Μειονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Έλλειψη καθορισμένου μοντέλου Παρά τα πλεονεκτήματα του αντικειμενοστραφούς μοντέλου δεν υπάρχει κάποιο συγκεκριμένο πρότυπο που να ακολουθείται από όλους τους κατασκευαστές συστημάτων. Το μοντέλο που έχει προτείνει η ODMG έχει καθιερωθεί ως de facto πρότυπο.

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

  44. Μειονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Η βελτιστοποίηση ερωτημάτων βλάπτει την ενθυλάκωση Η διαδικασία της βελτιστοποίησης ερωτημάτων απαιτεί τη γνώση διαφόρων πληροφοριών σχετικά με τη φύση των αντικειμένων. Για να γίνουν οι πληροφορίες αυτές διαθέσιμες στο βελτιστοποιητή ερωτημάτων πρέπει να είναι δυνατή η απ’ευθείας προσπέλαση στα αντικείμενα, κάτι που καταστρατηγεί την ενθυλάκωση.

  45. Μειονεκτήματα Αντικειμενοστραφών ΣΔΒΔ Έλλειψη υποστήριξης όψεων Πολλά από τα σύγχρονα αντικειμενοστραφή συστήματα δεν υποστηρίζουν μηχανισμό όψεων, παρά τα πολλά πλεονεκτήματα που προσφέρουν.

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

  47. Κίνητρο • Βασικές έννοιες αντικειμενο-σχεσιακών ΣΔΒΔ • Σύγκριση συστημάτων Αντικειμενο-Σχεσιακά ΣΔΒΔ

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

  49. Εμφωλιασμένες Σχέσεις Μία από τις απαιτήσεις του σχεσιακού μοντέλου είναι η ατομικότητα των τιμών σε μία στήλη. Ο κανόνας αυτός προσδιορίζει στην ουσία και την πρώτη κανονική μορφή (1NF). Για την υποστήριξη πολύπλοκων αντικειμένων θα πρέπει οι σχέσεις να επιτρέπουν σε ένα χαρακτηριστικό να δέχεται τιμές που δεν είναι κατ΄ανάγκη ατομικές. Αυτό οδηγεί σε εμφωλιασμένες σχέσεις (nested relations), όπου η τιμή ενός χαρακτηριστικού μίας σχέσης μπορεί να είναι μία άλλη σχέση. Στην περίπτωση αυτή η σχέση δεν ικανοποιεί την πρώτη κανονική μορφή (non-first normal form, N1NF). Το μοντέλο που προκύπτει από το σχεσιακό μοντέλο επιτρέποντας σχέσεις N1NF καλείται μοντέλο εμφωλιασμένων σχέσεων (nested-relational model) και αποτελεί μία πρώτη προσέγγιση επέκτασης του σχεσιακού μοντέλου για την υποστήριξη πολύπλοκων τύπων δεδομένων.

  50. Εμφωλιασμένες Σχέσεις

More Related