• Nenhum resultado encontrado

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ DBMSS

N/A
N/A
Protected

Academic year: 2023

Share "ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ DBMSS"

Copied!
186
0
0

Texto

(1)

ΤΕΙ ΚΑΒΑΛΑΣ

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΘΕΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ DBMSS

ΣΠΟΥΔΑΣΤΡΙΕΣ: ΜΟΥΣΤΑΚΙΔΟΥ ΑΝΝΑ, 854 ΜΟΥΣΤΑΚΙΔΟΥ ΕΙΡΗΝΗ 1249

ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ:

ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΣΤΕΡΙΟΣ

ΚΑΒΑΛΑ

ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ

(2)

ΠΕΡΙΕΧΟΜΕΝΑ

ΕΙΣΑΓΩΓΗ

... σελ. 5

ΚΕΦΑΛΑΙΟ 1.

1. Τι είναι τα αντικειμενοστραφή συστήματα;...σελ. 6 1.1 Προχωρημένες εφαρμογές βάσεων δεδομένων... σελ. 7

1.1.1 Computer-aided design (CAD)... σελ. 7 1.1.2 Computer-aided manufacturing (CAM)... σελ.8 1.1.3 Computer-aided Software engineering (CASE)... σελ.9 1.1.4 Σύστημα διαχείρισης δικτύων... σελ.9 1.1.5 Συστήματα πληροφοριών γραφείου (OIS) και συστήματα πολυμέσων

... σελ.10 1.1.6 Ψηφιακές εκδόσεις... σελ.12 1.1.7 Γεωγραφικά συστήματα πληροφοριών (GSI)... σελ.12 1.1.8 Διαλογικές και δυναμικές W eb τοποθεσίες... σελ.13 1.2 Αδυναμίες των RDBMS... σελ.14 1.2.1Φτωχή αναπαράσταση πραγματικών οντοτήτων... σελ.14 1.2.2 Σημασιολογική υπερφόρτωση... σελ.15 1.2.3 Φτωχή υποστήριξη για ακεραιότητα και περιορισμοί επιχείρησης...σελ.15 1.2.4 Ομοιογενής δομή δεδομένων... σελ.16 1.2.5 Περιορισμένες ενέργειες... σελ.17 1.2.6 Δυσκολία στο χειρισμό επαναληπτικών ερωτημάτων... σελ.18 1.2.7 Παρεμπόδισης λόγω μη ταύτισης... σελ.20 1.2.8 Άλλα προβλήματα των RDBMSs... σελ.21 1.3 Αντικειμενοστραφείς έννοιες... σελ.22 1.3.1 Αφαίρεση, Ενθυλάκωση και απόκρυψη πληροφοριών... σελ.22 1.3.2 Αντικείμενα και χαρακτηριστικά... σελ.23 1.3.3 Ταυτότητα αντικειμένων... σελ.25 1.3.4 Μέθοδοι και μηνύματα... σελ.28 1.3.5 Κλάσεις... σελ.29 1.3.6 Υπο-κλάσεις, Υπερ-κλάσεις και Κληρονομικότητα... σελ.31 1.3.7 Παράκαμψη και υπερφόρτωση... σελ.34

(3)

1.4 Αποθήκευση αντικειμένων σε μια σχεσιακή βάση δεδομένων...σελ.39 1.4.1 Αντιστοίχιση κλάσεων με σχέσεις... σελ.40 1.4.2 Προσπέλαση αντικειμένων στις σχεσιακές βάσεις δεδομένων... σελ.42 1.5 Συστήματα βάσεων δεδομένων επόμενης γενιάς... σελ.44 1.6 Αντικειμενοστραφής σχεδιασμός βάσεων δεδομένων... σελ.47

1.6.1 Σύγκριση αντικειμενοστραφούς μοντελοποίησης δεδομένων και βασικής μοντελοποίηση δεδομένων... σελ.47 1.6.2 Σχέσεις και Αναφορική ακεραιότητα... σελ.49 1.6.3 Σχεδιασμός συμπεριφοράς... σελ.53 1.7 Αντικειμενοστραφής ανάλυση και σχεδιασμός με τη UML... σελ.56 1.7.1 Διαγράμματα UML... σελ.57 1.7.2 Χρήση της UML στη μεθοδολογία για το σχεδιασμό βάσεων

δεδομένων... σελ.66

ΚΕΦΑΛΑΙΟ 2

2. Αντικειμενοστραφή DBMSs-Έννοιες... σελ.67 2.1 Εισαγωγή στα αντικειμενοστραφή μοντέλα δεδομένων και στα OODBMSs..σελ.67 2.1.1 Ορισμός αντικειμενοστραφών DBMSs... σελ.67 2.1.2 Λειτουργικά μοντέλα δεδομένων... σελ.69 2.1.3 Επίμονες γλώσσες προγραμματισμού... σελ.75 2.1.4 Η διακήρυξη του αντικειμενοστραφούς συστήματος βάσεων

δεδομένων... σελ.77 2.1.5 Εναλλακτικές στρατηγικές για την ανάπτυξη ενός OOODBMS...σελ.81 2.2 Προοπτικές του OODBMS... σελ.82 2.2.1 Τεχνικές ανάμειξης δεικτών... σελ.86 2.2.2 Προσπέλαση αντικειμένου... σελ.91 2.3 Επιμονή... σελ.94

2.3.1 Πλαίσια επιμονής... σελ.94 2.3.2 Ορθογώνια επιμονή... σελ.97 2.4 Ζητήματα στα OODBMSs... σελ.100 2.4.1 Συναλλαγές... σελ.100 2.4.2 Εκδόσεις... σελ.101 2.4.3 Εξέλιξη διαγραμματικών παραστάσεων... σελ.103 2.4.4 Αρχιτεκτονική... σελ.107

(4)

2.4.5 Δοκιμασία επιδόσεων... σελ.110 2.5 Πλεονεκτήματα και μειονεκτήματα των OODBMSs...σελ.115 2.5.1 Πλεονεκτή ματα...σελ.115 2.5.2 Μειονεκτήματα...σελ.119 ΚΕΦΑΛΑΙΟ 3

3. Αντικειμενοστραφή DBMSs- Πρότυπα και συστήματα...σελ.122 3.1 Ομάδα διαχείρισης αντικειμένων... σελ.122 3.1.1 Θεωρητικό υπόβαθρο... σελ.122 3.1.2 Η κοινή αρχιτεκτονική μεσάζοντος αίτησης αντικειμένων...σελ.125 3.1.3 Άλλες προδιαγραφές του OMG...σελ.130 3.1.4 Αρχιτεκτονική που καθοδηγείται από μοντέλα... σελ.134 3.2 Πρότυπο δεδομένων αντικειμένων ODMG 3.0, 1999...σελ.136 3.2.1 Ομάδα διαχείρισης δεδομένων αντικειμένων...σελ.136 3.2.2 Το μοντέλο αντικειμένων... σελ.138 3.2.3 Η γλώσσα ορισμού αντικειμένων... σελ.151 3.2.4 Η γλώσσα ερωτημάτων αντικειμένων... σελ.152 3.2.5 Άλλα μέρη του προτύπου ODMG... σελ.163 3.2.6 Αντιστοίχιση του βασικού σχεδιασμού με ένα λογικό σχεδιασμό.. ,.σελ.167 3.3 ObjectStore... σελ.169 3.3.1 Αρχιτεκτονική...σελ.169 3.3.2 Κατασκευή εφαρμογής ObjectStore... σελ.173 3.3.3 Ορισμός δεδομένων στο ObjectStore... σελ.177 3.3.4 Χειρισμός δεδομένων στο ObjectStore... σελ.181 ΒΙΒΛΙΟΓΡΑΦΙΑ... σελ.186

(5)

ΕΙΣΑΓΩΓΗ

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

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

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

Τέλος, στο τρίτο κεφάλαιο θα αναφερθούμε στα πρότυπα και συστήματα των αντικειμενοστραφή DBMSs όπως την ομάδα διαχείρισης αντικειμένων, το πρότυπο δεδομένων αντικειμένων ODMG 3.0 1999 και την αρχιτεκτονική και τις λειτουργίες του ObjectStore.

(6)

ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ ΣΤΑ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ DBMSs

1. Τι είναι τα αντικειμενοστραφή συστήματα;

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

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

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

(7)

1.1 Προχωρημένες εφαρμογές βάσεων δεδομένων.

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

1. Προγράμματα σχεδίασης με βοήθεια υπολογιστή (Computer-aided design, CAD),

2. Προγράμματα κατασκευής με βοήθεια υπολογιστή (Computer-aided manufacturing, CAM),

3. Προγράμματα δημιουργίας λογισμικού με βοήθεια υπολογιστή (Computer- aided Software engineering, CASE),

4. Συστήματα διαχείρισης δικτύων,

5. Συστήματα πληροφοριών γραφείου (OIS) και συστήματα πολυμέσων, 6. Ψηφιακές εκδόσεις,

7. Γεωγραφικά πληροφοριών (GIS),

8. Διαλογικές και δυναμικές Web τοποθετήσεις κ.α.

1.1.1 Computer-aided design (CAD)

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

Σχέδια τέτοιου τύπου έχουν μερικά κοινά χαρακτηριστικά:

• Τα δεδομένα σχεδίασης χαρακτηρίζονται από πολλά είδη, όπου κάθε ένα έχει μικρό αριθμό στιγμιότυπων. Οι συμβατικές βάσεις δεδομένων είναι ουσιαστικά το αντίθετο. Για παράδειγμα, η βάση δεδομένων Dream Home αποτελείται μόνο από περίπου μια δεκάδα σχέσεις, αν και σχέσεις όπως PropertyForRent, Client και Viewing μπορεί να περιέχουν χιλιάδες tuples.

(8)

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

• Το σχέδιο δεν είναι στατικό αλλά εξελίσσεται στο χρόνο. Όταν συμβαίνει αλλαγή σε ένα σχέδιο, αυτή πρέπει να μεταδοθεί σε όλες τις αναπαραστάσεις του σχεδίου.

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

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

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

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

1.1.2 Computer-aided manufacturing (CAM)

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

(9)

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

αλλαγές.

1.1.3 Computer-Aided Software engineering (CASE)

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

1.1.4 Σύστημα διαχείρισης δικτύων

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

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

Κόμβος Ο Γραμμή Ο Κόμβος Ο ΓραμμήΟ Κόμβος Ο Γραμμή Ο Κόμβος όπου κάθε κόμβος αναπαριστά μια θύρα σε μια συσκευή δικτύου και κάθε Γραμμή αναπαριστά ένα κομμάτι του εύρους ζώνης που κρατείται για αυτήν την σύνδεση. Ένας

(10)

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

1.1.5 Συστήματα πληροφοριών γραφείου (OIS) και συστήματα πολυμέσων Μια βάση δεδομένων OSI αποθηκεύει δεδομένα που σχετίζονται με τον έλεγχο πληροφοριών υπολογιστή σε μια επιχείρηση, συμπεριλαμβανομένης ηλεκτρονικής αλληλογραφίας, εγγραφών, τιμολογίων και άλλων στοιχείων. Για να παρέχουμε καλύτερη υποστήριξη. Για αυτόν τον τομέα, πρέπει να χειριζόμαστε μεγαλύτερο εύρος τύπων δεδομένων εκτός από ονόματα, διευθύνσεις, ημερομηνίες και χρήματα. Τα σύγχρονα συστήματα χειρίζονται πλέον κείμενο ελεύθερης μορφής, φωτογραφίες, διαγράμματα και ήχο και εικόνα. Για παράδειγμα, ένα έγγραφο πολυμέσων μπορεί να χειριστή κείμενο, φωτογραφίες, λογιστικά φύλλα και σχόλια με φωνή. Τα έγγραφα μπορεί να διακατέχονται από μία συγκεκριμένη δομή, που ίσως περιγράφεται με τη βοήθεια μιας γλώσσας σημείωσης όπως SGML[τυποποιημένη γενικευμένη γλώσσα σημείωσης], HTML[γλώσσα σημείωσης υπερκειμένου], ή XML [εκτεταμένη γλώσσα σημείωσης].

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

Εκτός από λέξεις, το χειρόγραφο κείμενο μπορεί να περιλαμβάνει σχέδια, διαγράμματα, και άλλα.

(11)

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

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

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

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

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

(12)

1.1.6. Ψηφιακές εκδόσεις.

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

1.1.7. Γεωγραφικά συστήματα πληροφοριών (GIS)

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

Για παράδειγμα, το EOS (Συστήματα Παρατήρησης Γης) είναι μια συλλογή δορυφόρων που εκτοξεύτηκαν από toNASA την δεκαετία του 1990 για να συλλέξουν πληροφορίες που θα υποστηρίζουν επιστήμονες που ασχολούνται με μακροπρόθεσμες τάσεις αναφορικά με την ατμόσφαιρα, τους ωκεανούς, και την επιφάνεια της γης.

Αναμένεται ότι αυτοί οι δορυφόροι θα επιστρέφουν περισσότερο από το ένα τρίτο ενός petabyte πληροφοριών κάθε χρόνο. Αυτά τα δεδομένα θα ενοποιούνται με άλλες πηγές δεδομένων και θα αποθηκεύονται στο EOSDIS (EOS σύστημα δεδομένων και πληροφοριών). Το EOSDIS θα εφοδιάζει με πληροφορίες τις ανάγκες επιστημόνων και μη.

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

(13)

1.1.8. Διαλογικές και δυναμικές WEB τοποθετήσεις.

Σκεφτείτε μια Web τοποθεσία που διαθέτει έναν online κατάλογο για την πώληση ενδυμάτων. Η Web τοποθεσία διατηρεί ένα σύνολο προτιμήσεων για πελάτες που έχουν ήδη επισκεφτεί την τοποθεσία και επιτρέπει σε αυτούς να:

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

► Αναζητούν στοιχεία που ταυτίζονται με ένα σύνολο κριτηρίων που ορίζει ο χρήστης

► Βλέπουν μια τρισδιάστατη απόδοση ενός ρούχου, βάσει ενός προσαρμοσμένου προσδιορισμού (για παράδειγμα, χρώμα, μέγεθος, ύφασμα) ,

► Τροποποιούν την απόδοση για να την κίνηση, το φωτισμό, τη σκιά, και άλλα,

► Επιλέγουν αξεσουάρ που θα ταιριάζουν με το ρούχο, από στοιχεία που παρουσιάζονται σε μια παράπλευρη γραμμή επιλογής,

► Επιλέγουν ηχογραφημένα σχόλια που θα δίνουν επιπλέον λεπτομέρειες για το ρούχο,

► Προβάλλουν το τρέχον σύνολο του λογαριασμού, με τις ανάλογες εκπτώσεις,

► Ολοκληρώνουν την αγορά μέσω ασφαλούς online συναλλαγής.

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

(14)

Προχωρημένες εφαρμογές βάσεων δεδομένων επίσης είναι:

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

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

V3 Άλλες εφαρμογές με σύνθετα και διασυνδεδεμένα αντικείμενα και διαδικαστικά δεδομένα.

1.2. Αδυναμίες των RDBMS

Οι αδυναμίες των RDBMS είναι οι παρακάτω:

1. Φτωχή αναπαράσταση πραγματικών οντοτήτων.

2. Σημασιολογική υπερφόρτωση.

3. Φτωχή υποστήριξη για ακεραιότητα και περιορισμοί επιχείρησης.

4. Ομοιογενής δομή δεδομένων.

5. Περιορισμένες ενέργειες.

6. Δυσκολία στο χειρισμό επαναληπτικών ερωτημάτων.

7. Παρεμπόδισης λόγω μη ταύτισης.

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

1.2.1. Φτωχή αναπαράσταση πραγματικών οντοτήτων.

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

(15)

1.2.2. Σημασιολογική υπερφόρτωση.

Το σχεσιακό μοντέλο έχει μόνο μια δομή για την αναπαράσταση δεδομένων και σχέσεων μεταξύ δεδομένων τη σχέση. Για παράδειγμα, για να αναπαραστήσουμε μια σχέση πολλά προς πολλά (*:*) μεταξύ δύο οντοτήτων Α και Β, δημιουργούμε τρεις σχέσεις, δύο για να αναπαραστήσουμε τις οντότητες Α και Β, και μια για να αναπαραστήσουμε τη σχέση. Δεν υπάρχει μηχανισμός που μπορεί να κάνει διάκριση μεταξύ οντοτήτων και σχέσεων, ή για να διακρίνει τα διαφορετικά είδη σχέσεων που υπάρχουν μεταξύ οντοτήτων. Για παράδειγμα, μια σχέση 1:* μπορεί να είναι Has, Owns, Manages, και ουτω καθ’ εξής. Αν θα μπορούσαν να γίνουν τέτοιες διακρίσεις, θα ήταν πιθανή η ενσωμάτωση της σημασιολογίας στις πράξεις. Λέγεται ότι το σχεσιακό μοντέλο είναι σημασιολογικά υπερφορτωμένο. Έχουν γίνει πολλές προσπάθειες να ξεπεραστεί αυτό το πρόβλημα χρησιμοποιώντας σημασιολογικά μοντέλα δεδομένων, δηλαδή, μοντέλα που αναπαριστούν περισσότερα πράγματα από το νόημα των δεδομένων. Το σχεσιακό μοντέλο όμως δεν στερείται σημασιολογικών στοιχείων. Για παράδειγμα, έχει τομείς και κλειδιά, και λειτουργικές εξαρτήσεις πολλών τιμών και ενώσεων.

1.2.3. Φτωχή υποστήριξη για ακεραιότητα και περιορισμοί επιχείρησης.

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

(16)

1.2.4. Ομοιογενής δομή δεδομένων.

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

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

Μεταξύ των κλασικών παραδειγμάτων σύνθετων δεδομένων και διασυνδεδεμένων σχέσεων, βρίσκεται ένα πέλαγος στοιχείων όπου επιθυμούμε να αναπαραστήσουμε κάποιο αντικείμενο, όπως ένα αεροσκάφος, το οποίο αποτελείται από ανταλλακτικά και συνιστάμενα μέρη, τα οποία με την σειρά τους αποτελούνται από ανταλλακτικά και συνιστάμενα μέρη, και ούτω καθ’ εξής. Αυτή η αδυναμία οδήγησε στην έρευνα σύνθετων αντικειμένων ή συστημάτων βάσεων δεδομένων όχι στην πρώτη κανονική μορφή (Ν ' )- αυτή η έρευνα αντανακλάται σε εργασίες όπως των jaeschke και Schek (1982) και ΒαποΐΙΚοπ και ΚΚοΒΚαΓιαπ (1989). Στην δεύτερη εργασία, τα αντικείμενα ορίζονται περιοδικά ως εξής:

tS Κάθε ατομική τιμή (όπως ακέραιος, δεκαδικός, συμβολοσειρά) είναι ένα αντικείμενο.

& Αν τα ai, a2, ...., an είναι ξεχωριστά ονόματα χαρακτηριστικών και τα οι, o2, ...., on είναι αντικείμενα, τότε το [a1:o1, a2:o2, ...., an:on] είναι ένα αντικείμενο tuple.

& Αν το o1, o2, ...., on είναι αντικείμενα, τότε το S={ o1, o2, ...., on } είναι ένα αντικείμενο συνόλου.

Σε αυτό το μοντέλο τα παρακάτω θα ήταν έγκαιρα αντικείμενα:

Ατομικά αντικείμενα Β003, John, Glasgow

Σύνολο {SG37, SG14, SG5}

Tuple [branchNo: B003, street: 163 MainSt, city: Glasgow]

(17)

Σύνολο tuples {[branchNo: B003, street: 163 MainSt, city: Glasgow], [branchNo: B005, street: 22 Deer Rd, city: London]}

Ένθετη σχέση {[branchNo: B003, street: 163 MainSt, city: Glasgow], staff:

{SG37, SG14,SG5}]

[branchNo: B005, street: 22 Deer Rd, city: London, staff:

{SL21, SL41}]}

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

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

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

1.2.5 Περιορισμένες ενέργειες

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

(18)

1.2.6 Δυσκολία στο χειρισμό επαναληπτικών ερωτημάτων

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

sta ffN o m anagerstaffNo sta ffN o m anagerstaffNo

S005 S 0 0 4 S005 S 0 0 4

S004 S 0 0 3 S004 S 0 0 3

S003 S 0 0 2 S003 S 0 0 2

S002 S 0 0 1 S002 S 0 0 1

S 0 0 1 N U L L S001 N U L L

S005 S 0 0 3

S005 S 0 0 2

S005 S 0 0 1

S004 S 0 0 2

S004 S 0 0 1

S 0 0 3 S 0 0 1

Εικόνα 1: (Α ΠΙΝΑΚΑΣ) Απλοποιημένη σχέση Staff

(B ΠΙΝΑΚΑΣ) Μεταβατικό κλείσιμο της σχέσης Staff.

SELECT managerstaffNo FROM staff

WHERE staffNo=’S005’

UNION

SELECT managerstaffNo FROM staff

WHERE staffNo=

(SELECT managerstaffNo

(19)

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

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

Το μεταβατικό κλείσιμο μιας σχέσεις R με χαρακτηριστικά (Αι,Α2) που ορίζεται στον ίδιο τομέα είναι η σχέση R που αυξάνεται με όλα τα tuples που εξάγονται επιτυχώς από τη μεταβατικότητα, δηλαδή, αν τα (a,b) και (b,c) είναι tuples της R το tuple (a,c) επίσης προστίθενται στο αποτέλεσμα.

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

Το αποτέλεσμα αυτής της πράξης στην απλοποιημένη σχέση μιας Staff παρουσιάζεται στην Εικόνα 1.1(β).

(20)

1.2.7 Παρεμπόδιση λόγω μη ταύτισης

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

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

-I- Η SQL και οι γλώσσες τρίτης γενιάς χρησιμοποιούν διαφορετικά μοντέλα για να αναπαριστούν δεδομένα. Για παράδειγμα, η SQL παρέχει τους ενσωματωμένους τύπους δεδομένων Date και Interval, οι οποίοι δεν είναι διαθέσιμοι σε παραδοσιακές γλώσσες προγραμματισμού. Έτσι, είναι απαραίτητο για το πρόγραμμα εφαρμογής να κάνει μετατροπές μεταξύ αυτών των δυο αναπαραστάσεων, κάτι που δεν είναι αποδοτικό στις προσπάθειες του προγραμματισμού και στη χρήση πόρων εκτέλεσης. Έχει υπολογιστεί ότι περίπου το 30% του προγραμματισμού και του χώρου κώδικα αναλώνεται σε τέτοιες μετατροπές (Atkinson et al.,1983). Επιπλέον επειδή χρησιμοποιούν δυο διαφορετικούς τύπους συστημάτων, δεν είναι εφικτός ο ολοκληρωμένος, αυτόματος έλεγχος τύπων της εφαρμογής.

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

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

(21)

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

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

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

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

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

1.2.8 Άλλα προβλήματα με τα RDBMSs

(22)

1.3 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΈΝΝΟΙΕΣ

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

1.3.1 Αφαίρεση, Ενθυλάκωση και Απόκρυψη πληροφοριών

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

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

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

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

(23)

Υπάρχουν δυο προβολές ενθυλάκωσης:

"μ η προβολή της αντικειμενοστραφούς γλώσσας προγραμματισμού (OOPL) και

\ η προσαρμογή αυτής της προβολής στη βάση δεδομένων.

Σε μερικές OOPLs η ενθυλάκωση επιτυγχάνεται μέσω των αφηρημένων τύπων δεδομένων (ADTs). Σε αυτήν την προβολή ένα αντικείμενο έχει ένα τμήμα διεπαφής και ένα υλοποίησης. Η διεπαφή παρέχει μια προδιαγραφή των ενεργειών που μπορούν να εκτελεστούν στο αντικείμενο, και το τμήμα υλοποίησης αποτελεί τη δομή των δεδομένων για το ADT και τις λειτουργίες που υλοποιούν τη διεπαφή. Μονό το τμήμα διεπαφής είναι ορατό σε άλλα αντικείμενα ή χρήστες. Στην προβολή της βάσης δεδομένων, η κανονική ενθυλάκωση επιτυγχάνεται εξασφαλίζοντας ότι οι προγραμματιστές έχουν πρόσβαση μόνο στο τμήμα της διεπαφής. Με αυτόν τον τρόπο η ενθυλάκωση παρέχει μια μορφή λογικής ανεξαρτησίας δεδομένων: μπορούμε να αλλάξουμε την εσωτερική χυλοποίηση ενός ADT χωρίς να αλλάξουμε την υλοποίηση της εφαρμογής χρησιμοποιώντας αυτό το ADT (Atkinson et al.,1989).

1.3.2 Αντικείμενα και Χαρακτηριστικά

Πολλές από τις σημαντικές αντικειμενοστραφής έννοιες προέρχονται από τη γλώσσα προγραμματισμού Simula που αναπτύχθηκε στη Νορβηγία στα μέσα της δεκαετίας του 1960 για να υποστηρίξει την προσομοίωση πραγματικών διεργασιών (Dahl και Nygaard, 1966), αν και ο αντικειμενοστραφής προγραμματισμός δεν εμφανίστηκε ως νέο δόγμα προγραμματισμού μέχρι την ανάπτυξη της γλώσσας Smalltalk (Goldberg και Robson, 1983). Οι ρουτίνες στη Simula δεν βασίζονται σε διαδικασίες όπως σε συμβατικές γλώσσες προγραμματισμού, αλλά στα φυσικά αντικείμενα που μοντελοποιούνται στην προσομοίωση. Αυτή η προσέγγιση φαίνεται λογική καθώς τα αντικείμενα είναι το κλειδί στην προσομοίωση: κάθε αντικείμενο πρέπει να διατηρεί μερικές πληροφορίες για την τρέχουσα κατάστασή του, και επιπλέον έχει ενέργειες (συμπεριφορά) που πρέπει να μοντελοποιηθούν. Από τη Simula έχουμε τον ορισμό του αντικειμένου.

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

Referências

Documentos relacionados

Sociedade Brasileira de Química SBQ 32a Reunião Anual da Sociedade Brasileira de Química Influência das Multicamadas de Ftalocianina de Cobalto e Polialilamina em Filmes