Αντικειμενοστρεφείς βάσεις δεδομένων: Διαφορά μεταξύ των αναθεωρήσεων
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Χωρίς σύνοψη επεξεργασίας |
Χωρίς σύνοψη επεξεργασίας |
||
Γραμμή 1:
Οι
== Βάσεις δεδομένων και αντικειμενοστραφής προγραμματισμός ==
Γύρω στα 1986, η προσπάθεια συσχετισμού αντικειμένων και βάσεων δεδομένων, ήταν συναρπαστική. Από την πλευρά των βάσεων δεδομένων υπήρχε η τάση επέκτασης του σχεσιακού μοντέλου, που μόλις πριν από λίγο καιρό είχε καθιερωθεί. Από την πλευρά των γλωσσών προγραμματισμού υπήρχε η τάση πρόσθεσης χαρακτηριστικών όπως διάρκεια στα δεδομένα. Από τη συνάντηση των δύο τάσεων προέκυψε μια ποικιλία απόψεων: κάποιοι πίστευαν ότι ο συνδυασμός χαρακτηριστικών από τις [[Αντικειμενοστραφής προγραμματισμός|
διαφορετικές αυτές προσεγγίσεις κατέληξαν στη δημιουργία των
σύνθετων συστημάτων από ξεχωριστά συστατικά" [Kh93]. Τι είναι "Αντικείμενο" (Object); "Αντικείμενο είναι μια ξεχωριστή οντότητα, που προσπαθεί να μοντελοποιήσει και να προσεγγίσει όσον το δυνατό καλύτερα, το φυσικό κόσμο." [CK86]. Ένα αντικείμενο μπορεί να διενεργήσει ένα σύνολο δραστηριοτήτων. Το σύνολο, αυτό, των δραστηριοτήτων του, καθορίζει και τη συμπεριφορά του (object's behaviour). Ο ορισμός της συμπεριφοράς ενός αντικειμένου αποτελείται από τρία μέρη:
Γραμμή 120:
Σε ένα αντικειμενοστραφές σύστημα κάθε οντότητα καθορίζεται σαν ένα τμήμα δεδομένων και ένα τμήμα υλοποίησης, όπου υλοποιούνται οι διάφορες εφαρμογές που έχουν σχέση με την οντότητα.
Ένα καλό παράδειγμα, για τη διαφορά ανάμεσα στο σχεσιακό και το αντικειμενοστραφές μοντέλο, είναι η οντότητα "Εργοστάσιο_Αυτοκινήτων" και η υλοποίηση της εφαρμογής "''Αύξησε_Παραγωγή_Φορτηγών''". Σε μια σχεσιακή βάση, η εφαρμογή "''Αύξησε_Παραγωγή_Φορτηγών''" θα ήταν ένα εξωτερικό πρόγραμμα. Αντίθετα, σε μια
ενθυλάκωσης. Ο μόνος τρόπος για να αποταθούμε στα διάφορα αντικείμενα, και στις μεταβλητές στιγμιοτύπου τους, είναι μέσω των μηνυμάτων που δηλώθηκαν στο τμήμα διαπροσωπείας.
Γραμμή 140:
=== Περιορισμοί Ακεραιότητας ===
Οι περιορισμοί σκοπό έχουν να εξασφαλίσουν την ακεραιότητα των δεδομένων. Στις
* Περιορισμοί ακεραιότητας κλειδιού (Key constraints).
Γραμμή 154:
Η επιτυχία των σχεσιακών συστημάτων διαχείρισης βάσεων δεδομένων βασίστηκε αφενός στην απλότητα του σχεσιακού μοντέλου δεδομένων και στην ανεξαρτησία των δεδομένων από τις εφαρμογές, και αφετέρου στην τυποποίηση. Η αποδοχή του [[SQL|SQL standard]], το οποίο βασίστηκε στο μοντέλο δεδομένων και τη γλώσσα που πρότεινε η ΙΒΜ (η μεγαλύτερη εταιρεία που αναμίχθηκε από νωρίς στην ανάπτυξη τέτοιων συστημάτων), πρόσφερε μεταφερσιμότητα των δεδομένων και των εφαρμογών, γεγονός που έκανε το σχεσιακό μοντέλο δεδομένων και την SQL τόσο δημοφιλή.
Στην περίπτωση των
Με βάση τα παραπάνω, ήταν φανερή η ανάγκη για την ύπαρξη τουλάχιστον ενός κοινού παρονομαστή, που να επιτρέπει τη μεταφερσιμότητα εφαρμογών και δεδομένων. Το Object Database Management Group (ODMG) είναι μια επιτροπή που, στις αρχές της δεκαετίας του 1990, πρότεινε ένα κοινό interface (ODMG-93) στους διάφορους κατασκευαστές αντικειμενοστραφών συστημάτων βάσεων δεδομένων, με βάση το οποίο να συγγράφονται μεταφέρσιμες εφαρμογές από το ένα σύστημα στο άλλο. Η μεταφερσιμότητα (portability) των εφαρμογών συνίσταται στη μεταφερσιμότητα του σχήματος της βάσης, του binding της γλώσσας προγραμματισμού, της γλώσσας διαχείρισης δεδομένων και της γλώσσας ερωτήσεων.
Γραμμή 303:
== Αντικειμενοστραφείς επεκτάσεις των Σχεσιακών Συστημάτων (SQL/Object, SQL/Foundation) ==
Εδώ θα εξετάσουμε τον τρόπο με τον οποίο οι παρουσία των
συστημάτων. Διάφορα σχεσιακά ΣΔΒΔ ([[Oracle Database|Oracle]], Informix κλπ.) άρχισαν σιγά σιγά, στα μέσα
της δεκαετίας του '90 να παρέχουν αντικειμενοστραφείς επεκτάσεις στη μηχανή τους. Η πιο
βασική, όμως, έκφανση της επίδρασης που είχε η ύπαρξη των
ήταν η υιοθέτηση
* Εισαγωγή τύπων που ορίζονται από το χρήστη -UDTs
* Κατηγορήματα για την κατασκευή τους -Type Predicate
|