ODBC (Συνδεσιμότητα ανοιχτής βάσης δεδομένων)
Το 1992, η Microsoft Corporation ιδρύθηκε ως αναπόσπαστο μέρος της Αρχιτεκτονικής Ανοικτών Υπηρεσιών των Windows (WOSA) σχετικά με τις βάσεις δεδομένων, η οποία καθιέρωσε ένα σύνολο προδιαγραφών και παρείχε ένα σύνολο τυπικών API (Application Programming Interfaces) για πρόσβαση στη βάση δεδομένων. Αυτά τα API αξιοποιούν την SQL για να ολοκληρώσουν τις περισσότερες από τις εργασίες τους. Το ίδιο το ODBC παρέχει επίσης υποστήριξη για τη γλώσσα SQL και οι χρήστες μπορούν να στείλουν απευθείας δηλώσεις SQL στο ODBC. --- το πρώτο, αλλά όχι πάντα παντοδύναμο. Το ODBC (Open DataBase Connectivity) είναι μια διεπαφή προγραμματισμού εφαρμογών (API) που υποστηρίζεται από τη Microsoft και επί του παρόντος είναι ευρέως αποδεκτή στον κλάδο για πρόσβαση σε βάσεις δεδομένων, η οποία βασίζεται στις προδιαγραφές X/Open και ISO/IEC call-level interface (CLI) και χρησιμοποιεί τη Structured Query Language (SQL) ως γλώσσα πρόσβασης στη βάση δεδομένων. Η συνολική δομή του ODBC έχει τέσσερα στοιχεία:
Α. Εφαρμογή: Εκτελέστε επεξεργασία και καλέστε συναρτήσεις ODBC API για να υποβάλετε δηλώσεις SQL και να ανακτήσετε αποτελέσματα. B. Driver Manager: Φορτώστε/απεγκαταστήστε προγράμματα οδήγησης σύμφωνα με τις ανάγκες της εφαρμογής, χειριστείτε κλήσεις συναρτήσεων ODBC ή μεταφέρετέ τα στο πρόγραμμα οδήγησης. Γ. Πρόγραμμα οδήγησης: Χειρίζεται κλήσεις συναρτήσεων ODBC, υποβάλλει αιτήσεις SQL σε μια καθορισμένη προέλευση δεδομένων και επιστρέφει τα αποτελέσματα στην εφαρμογή. Εάν είναι απαραίτητο, το πρόγραμμα οδήγησης τροποποιεί το αίτημα προγράμματος για να ευθυγραμμίσει το αίτημα με τη σύνταξη που υποστηρίζεται από το σχετικό DBMS. Δ. Πηγή δεδομένων: συμπεριλαμβανομένων των δεδομένων στα οποία πρέπει να έχει πρόσβαση ο χρήστης και του σχετικού λειτουργικού συστήματος, του DBMS, και της πλατφόρμας δικτύου που χρησιμοποιείται για την πρόσβαση στο DBMS.
DAO (Αντικείμενο πρόσβασης δεδομένων)
Το 1993, η Microsoft εισήγαγε τη μηχανή βάσεων δεδομένων Microsoft Jet (αρχικά χρησιμοποιήθηκε για τη Microsoft Access και τώρα υποστηρίζει άλλες βάσεις δεδομένων) και επιτρέπει στους προγραμματιστές να συνδέονται απευθείας με πίνακες της Access όπως κάνουν με άλλες βάσεις δεδομένων μέσω ODBC. Τα DAO είναι τα πλέον κατάλληλα για εφαρμογές ενός συστήματος ή για μικρή, τοπικά κατανεμημένη χρήση. Η πρόσβαση στη βάση δεδομένων Jet έχει βελτιστοποιηθεί εσωτερικά και είναι εύκολη στη χρήση. Επομένως, εάν η βάση δεδομένων είναι βάση δεδομένων της Access και χρησιμοποιείται τοπικά, συνιστάται η χρήση αυτής της μεθόδου πρόσβασης --- την ιδιαιτερότητα της εφαρμογής
RDO (Απομακρυσμένα αντικείμενα δεδομένων)
Το 1995, το RDO ήταν μια αντικειμενοστραφής διεπαφή πρόσβασης δεδομένων στο ODBC που συνδυάστηκε με ένα εύχρηστο στυλ DAO για να παρέχει μια διεπαφή που παρουσίαζε όλα τα υποκείμενα χαρακτηριστικά και την ευελιξία του ODBC. Αν και το RDO είναι περιορισμένο όσον αφορά την καλή πρόσβαση σε βάσεις δεδομένων Jet ή ISAM και μπορεί να έχει πρόσβαση σε σχεσιακές βάσεις δεδομένων μόνο μέσω υπαρχόντων προγραμμάτων οδήγησης ODBC. Ωστόσο, το RDO έχει αποδειχθεί ότι είναι η καλύτερη διεπαφή για πολλούς SQL Server, Oracle και άλλους μεγάλους προγραμματιστές σχεσιακών βάσεων δεδομένων. Το RDO παρέχει όλο και πιο σύνθετα αντικείμενα, ιδιότητες και μεθόδους για πρόσβαση σε αποθηκευμένες διαδικασίες και πολύπλοκα σύνολα αποτελεσμάτων. --- βασίζεται αναμφίβολα στο ODBC
OLE DB (Σύνδεση και ενσωμάτωση αντικειμένων, Βάση δεδομένων)
Το 1997, η Microsoft κυκλοφόρησε μια στρατηγική διεπαφή προγραμματισμού σε επίπεδο συστήματος για τη διαχείριση δεδομένων σε ολόκληρο τον οργανισμό. Το OLE DB είναι μια ανοιχτή προδιαγραφή που βασίζεται στη λειτουργικότητα ODBC. Το ODBC έχει αναπτυχθεί ειδικά για πρόσβαση σε σχεσιακές βάσεις δεδομένων, ενώ το OLE DB χρησιμοποιείται για πρόσβαση σε σχεσιακές και μη σχεσιακές πηγές πληροφοριών, όπως κεντρικός υπολογιστής ISAM/VSAM και ιεραρχικές βάσεις δεδομένων, αποθήκευση email και συστήματος αρχείων, κείμενο, γράφημα και γεωγραφικά δεδομένα και προσαρμοσμένα επιχειρηματικά αντικείμενα. Το OLE DB ορίζει ένα σύνολο διεπαφών COM που ενσωματώνουν διάφορες υπηρεσίες συστημάτων διαχείρισης βάσεων δεδομένων και επιτρέπουν τη δημιουργία στοιχείων λογισμικού για την υλοποίηση αυτών των υπηρεσιών. Τα στοιχεία OLE DB περιλαμβάνουν υπηρεσίες παροχής δεδομένων (που περιέχουν και αντιπροσωπεύουν δεδομένα), καταναλωτές δεδομένων (χρήση δεδομένων) και στοιχεία υπηρεσιών (επεξεργασία και παράδοση δεδομένων, όπως επεξεργαστές ερωτημάτων και μηχανές δρομέα). Η διεπαφή OLE DB διευκολύνει την ομαλή ενσωμάτωση των εξαρτημάτων, επιτρέποντας στους προμηθευτές εξαρτημάτων OLE DB να παραδίδουν γρήγορα εξαρτήματα OLE DB υψηλής ποιότητας στην αγορά. Επιπλέον, το OLE DB περιλαμβάνει μια "γέφυρα" για τη σύνδεση ODBC, παρέχοντας συνεπή υποστήριξη για τα διάφορα προγράμματα οδήγησης σχεσιακής βάσης δεδομένων ODBC που χρησιμοποιούνται. --- ισχυρίζεται ότι αντικαθιστά το ODBC, αλλά είναι επίσης συμβατό με το ODBC
ADO (Αντικείμενο δεδομένων ActiveX)
Το 1996, η ADO ήταν ο διάδοχος του DAO/RDO. Το ADO 2.0 είναι πιο λειτουργικό παρόμοιο με το RDO και, γενικά, έχει παρόμοια σχέση χαρτογράφησης μεταξύ των δύο μοντέλων. Το ADO «επεκτείνει» το μοντέλο αντικειμένου που χρησιμοποιείται από DAO και RDO, που σημαίνει ότι περιέχει λιγότερα αντικείμενα, περισσότερες ιδιότητες, μεθόδους (και παραμέτρους) και συμβάντα. Ως η πιο πρόσφατη λειτουργία πρόσβασης στη βάση δεδομένων, το ADO είναι επίσης απλό και εύκολο στη χρήση, επομένως η Microsoft έχει καταστήσει σαφές ότι θα επικεντρωθεί στο ADO στο μέλλον και δεν θα αναβαθμίσει το DAO/RDO, επομένως το ADO έχει γίνει το κύριο ρεύμα της τρέχουσας ανάπτυξης βάσεων δεδομένων. Το ADO περιλαμβάνει τρεις τύπους αποθήκευσης δεδομένων: DSN (Όνομα πηγής δεδομένων), ODBC (Σύνδεση ανοιχτών δεδομένων) και OLE DB. Οι ακόλουθες ρουτίνες θα εξηγήσουν λεπτομερώς τη συγκεκριμένη εφαρμογή αυτών των τριών μεθόδων. --- μπορεί να ειπωθεί ότι είναι η σύγκλιση των διεπαφών προγραμματισμού σε επίπεδο συστήματος, όπως το ODBC και το OLEDB, και η αναβάθμιση των διεπαφών προγραμματισμού σε επίπεδο εφαρμογής, όπως το DAO και το RDO.
ADO.NET
είναι ένα μοντέλο προγραμματισμού βασισμένο σε πρότυπα που μπορεί να χρησιμοποιηθεί για τη δημιουργία κατανεμημένων εφαρμογών για κοινή χρήση δεδομένων. Στην ADO.NET, τα σύνολα δεδομένων διαδραματίζουν σημαντικό ρόλο, χρησιμεύοντας ως αντίγραφα στη μνήμη ορισμένων από τα δεδομένα στη βάση δεδομένων. Σε αντίθεση με τα σύνολα εγγραφών στο ADO, τα σύνολα δεδομένων μπορούν να περιλαμβάνουν οποιονδήποτε πίνακα δεδομένων, καθένας από τους οποίους μπορεί να χρησιμοποιηθεί για την αναπαράσταση δεδομένων από έναν πίνακα ή μια προβολή βάσης δεδομένων. Το σύνολο δεδομένων βρίσκεται στη μνήμη και δεν είναι συνδεδεμένο με την αρχική βάση δεδομένων, δηλαδή δεν χρειάζεται να παραμείνει συνδεδεμένο με την αρχική βάση δεδομένων. Η υποκείμενη τεχνολογία που κάνει τη δουλειά είναι η XML, η οποία είναι η μορφή αποθήκευσης και μεταφοράς που χρησιμοποιείται από τα DataSets. Κατά τη διάρκεια του χρόνου εκτέλεσης, τα δεδομένα σε ένα σύνολο δεδομένων πρέπει να ανταλλάσσονται μεταξύ στοιχείων, όπως ένα αντικείμενο επιχειρηματικής λογικής ή asp.net φόρμα web. Τα δεδομένα μεταφέρονται από το ένα στοιχείο στο άλλο με τη μορφή αρχείου XML, το οποίο επαναφέρει το αρχείο σε μορφή συνόλου δεδομένων. Η προσέγγιση DataSet είναι ακριβώς η ίδια με το μοντέλο σχεσιακών δεδομένων, επειδή τα πρωτόκολλα κάθε προέλευσης δεδομένων είναι διαφορετικά και πρέπει να έχουμε πρόσβαση στην προέλευση δεδομένων μέσω του σωστού πρωτοκόλλου. Ορισμένες παλαιότερες προελεύσεις δεδομένων χρησιμοποιούν το πρωτόκολλο ODBC και ορισμένες μεταγενέστερες προελεύσεις δεδομένων χρησιμοποιούν το πρωτόκολλο OleDb και τώρα, εξακολουθούν να εμφανίζονται πολλές νέες προελεύσεις δεδομένων, οι ADO.NET παρέχουν έναν κοινό τρόπο πρόσβασης σε προελεύσεις δεδομένων και για διαφορετικές προελεύσεις δεδομένων, χρησιμοποιεί διαφορετικές βιβλιοθήκες. Αυτές οι βιβλιοθήκες ονομάζονται Υπηρεσίες παροχής δεδομένων και συνήθως ονομάζονται από τον τύπο της πηγής δεδομένων και το πρωτόκολλο
Διαφορές και συνδέσεις μεταξύ βάσεων δεδομένων ODBC, DAO, ADO και OLEDB
Το ODBC είναι μια υποκείμενη τεχνολογία πρόσβασης, επομένως το ODBC API μπορεί να είναι μια εφαρμογή πελάτη που μπορεί να ρυθμίσει και να ελέγξει τη βάση δεδομένων από κάτω προς τα πάνω και να ολοκληρώσει ορισμένες λειτουργίες που η προηγμένη τεχνολογία βάσεων δεδομένων δεν μπορεί να ολοκληρώσει. Ωστόσο, το μειονέκτημα είναι ότι το ODBC μπορεί να χρησιμοποιηθεί μόνο για σχεσιακές βάσεις δεδομένων, καθιστώντας δύσκολη την πρόσβαση σε βάσεις δεδομένων αντικειμένων και άλλες μη σχεσιακές βάσεις δεδομένων χρησιμοποιώντας ODBC. Τα DAO παρέχουν έναν μηχανισμό για τη δημιουργία και το χειρισμό βάσεων δεδομένων μέσω διαδικαστικού κώδικα. Το μεγαλύτερο χαρακτηριστικό είναι ότι είναι εύκολο να λειτουργήσει με βάσεις δεδομένων MICROSOFT JET και είναι μια από τις καλύτερες τεχνικές διεπαφές για τη λειτουργία βάσεων δεδομένων JET. Και δεν χρησιμοποιείται μόνο για πρόσβαση σε αυτήν τη βάση δεδομένων, στην πραγματικότητα, είναι δυνατή η πρόσβαση σε ένα ευρύ φάσμα μορφών δεδομένων, από αρχεία κειμένου έως μεγάλες βάσεις δεδομένων φόντου, μέσω της τεχνολογίας DAO. Το ADO είναι μια διεπαφή πρόσβασης που βασίζεται στο OLE DB, το οποίο είναι μια αντικειμενοστραφής τεχνολογία OLE DB που κληρονομεί τα πλεονεκτήματα του OLE DB. Είναι μια διεπαφή υψηλού επιπέδου για πρόσβαση στη βάση δεδομένων.
Η σχέση μεταξύ ADO και OLEDB
Το OLEDB είναι μια υποκείμενη διεπαφή διεπαφής πρόσβασης δεδομένων. Χρησιμοποιείται από προγράμματα οδήγησης τρίτων, εμπόρους για την ανάπτυξη εφαρμογών που εξάγουν πηγές δεδομένων στην τεχνολογία ADO ή προγραμματιστές για τη C++ για την ανάπτυξη προσαρμοσμένων στοιχείων βάσης δεδομένων. Το OLE DB είναι μια σημαντική διεπαφή προγραμματισμού σε επίπεδο συστήματος για την πρόσβαση σε δεδομένα και είναι η θεμελιώδης τεχνολογία του ADO και η πηγή δεδομένων για ADO.NET. Το ADO είναι μια διεπαφή πρόσβασης που βασίζεται στο OLE DB, το οποίο είναι μια αντικειμενοστραφής τεχνολογία OLE DB που κληρονομεί τα πλεονεκτήματα του OLE DB. Είναι μια διεπαφή υψηλού επιπέδου για πρόσβαση στη βάση δεδομένων.
Μπορούμε να πούμε ότι το ADO παρέχει λειτουργίες API εφαρμογών υψηλού επιπέδου για OLEDB.
|