ODBC (Otwarta Łączność Bazy Danych)
W 1992 roku powstała firma Microsoft Corporation jako integralna część Windows Open Services Architecture (WOSA) dotyczącej baz danych, która ustaliła zestaw specyfikacji i zapewniła zestaw standardowych API (Application Programming Interfaces) do dostępu do baz danych. Te API wykorzystują SQL do realizacji większości swoich zadań. Samo ODBC obsługuje także język SQL, a użytkownicy mogą bezpośrednio wysyłać instrukcje SQL do ODBC. --- najwcześniejszy, ale nie zawsze wszechmocny. ODBC (Open DataBase Connectivity) to interfejs programowania aplikacji (API) promowany przez Microsoft i obecnie szeroko akceptowany w branży do dostępu do baz danych, oparty na specyfikacjach interfejsu wywołań X/Open i ISO/IEC (CLI) oraz wykorzystujący Structured Query Language (SQL) jako język dostępu do baz danych. Ogólna struktura ODBC składa się z czterech komponentów:
A. Aplikacja: Wykonaj przetwarzanie i wywołaj funkcje API ODBC, aby przesłać instrukcje SQL i pobrać wyniki. B. Driver Manager: Ładuj/odinstalowuj sterowniki zgodnie z potrzebami aplikacji, obsługuj wywołania funkcji ODBC lub przesyłaj je do sterownika. C. Sterownik: Obsługuje wywołania funkcji ODBC, przesyła żądania SQL do określonego źródła danych i zwraca wyniki do aplikacji. W razie potrzeby sterownik modyfikuje żądanie programu, aby dopasować je do składni wspieranej przez odpowiedni DBMS. D. Źródło danych: w tym dane do dostępu dla użytkownika oraz powiązany system operacyjny, DBMS, oraz platforma sieciowa używana do dostępu do DBMS.
DAO (Obiekt dostępu do danych)
W 1993 roku Microsoft wprowadził silnik bazodanowy Microsoft Jet (pierwotnie używany w Microsoft Access, a obecnie wspiera inne bazy danych) i pozwala deweloperom łączyć się bezpośrednio z tabelami Access, tak jak z innymi bazami za pośrednictwem ODBC. DAO najlepiej sprawdzają się w aplikacjach jednosystemowych lub do małych, lokalnie rozproszonych zastosowań. Dostęp do bazy danych Jet został zoptymalizowany wewnętrznie i jest łatwy w obsłudze. Dlatego jeśli baza danych jest bazą Access i jest używana lokalnie, zaleca się stosowanie tej metody dostępu --- specyficzności aplikacji
RDO (Zdalne Obiekty Danych)
W 1995 roku RDO był obiektowym interfejsem dostępu do danych do ODBC, połączonym z łatwym w użyciu stylem DAO, aby zapewnić interfejs prezentujący wszystkie podstawowe funkcje i elastyczność ODBC. Chociaż RDO ma ograniczony dostęp do baz danych Jet lub ISAM, może uzyskać dostęp do baz relacyjnych tylko przez istniejące sterowniki ODBC. Jednak RDO okazał się najlepszym interfejsem dla wielu deweloperów SQL Server, Oracle i innych dużych relacyjnych baz danych. RDO udostępnia coraz bardziej złożone obiekty, właściwości i metody dostępu do procedur przechowywanych i złożonych zestawów wyników. --- bez wątpienia opiera się na ODBC
OLE DB (Object Linking and Embedding, Database)
W 1997 roku Microsoft wprowadził strategiczny interfejs programistyczny na poziomie systemowym do zarządzania danymi w całej organizacji. OLE DB to otwarta specyfikacja oparta na funkcjonalności ODBC. ODBC został opracowany specjalnie do dostępu do relacyjnych baz danych, natomiast OLE DB służy do dostępu do relacyjnych i nierelacyjnych źródeł informacji, takich jak bazy danych ISAM/VSAM i hierarchicznych, przechowywanie e-maili i systemów plików, tekst, wykresów i danych geograficznych oraz niestandardowe obiekty biznesowe. OLE DB definiuje zestaw interfejsów COM, które enkapsulują różne usługi systemu zarządzania bazami danych i umożliwiają tworzenie komponentów programowych do ich implementacji. Komponenty OLE DB obejmują dostawców danych (zawierających i reprezentujących dane), konsumentów danych (korzystających z danych) oraz komponentów usług (przetwarzających i dostarczających dane, takich jak procesory zapytań i silniki kursorów). Interfejs OLE DB ułatwia płynną integrację komponentów, umożliwiając dostawcom komponentów OLE DB szybkie dostarczanie na rynek wysokiej jakości komponentów. Dodatkowo OLE DB zawiera "most" łączący ODBC, zapewniając spójne wsparcie dla różnych używanych sterowników relacyjnych baz danych ODBC. --- twierdzi, że zastępuje ODBC, ale jest też kompatybilny z ODBC
ADO (ActiveX Data Object)
W 1996 roku ADO było następcą DAO/RDO. ADO 2.0 jest funkcjonalnie bardziej podobne do RDO i generalnie ma podobną relację mapowania między tymi dwoma modelami. ADO "rozszerza" model obiektowy używany przez DAO i RDO, co oznacza, że zawiera mniej obiektów, więcej właściwości, metod (i parametrów) oraz zdarzeń. Jako najnowszy tryb dostępu do baz danych, ADO jest również proste i łatwe w obsłudze, dlatego Microsoft jasno zaznaczył, że w przyszłości skupi się na ADO i nie będzie aktualizować DAO/RDO, dlatego ADO stało się głównym nurtem obecnego rozwoju baz danych. ADO obejmuje trzy typy przechowywania danych: DSN (Data Source Name), ODBC (Open Data Connection) oraz OLE DB. Poniższe procedury szczegółowo wyjaśnią konkretną implementację tych trzech metod. --- można uznać za zbieżność interfejsów programistycznych na poziomie systemu, takich jak ODBC i OLEDB, oraz modernizację interfejsów programistycznych na poziomie aplikacji, takich jak DAO i RDO.
ADO.NET
to model programowania oparty na standardach, który może być używany do tworzenia rozproszonych aplikacji do udostępniania danych. W ADO.NET DataSety odgrywają ważną rolę, służąc jako kopie w pamięci części danych z bazy danych. W przeciwieństwie do RecordSetów w ADO, DataSety mogą zawierać dowolną tabelę danych, z których każda może być używana do reprezentowania danych z tabeli lub widoku bazy danych. DataSet znajduje się w pamięci i nie jest powiązany z oryginalną bazą danych, czyli nie musi pozostawać połączony z oryginalną bazą danych. Technologią podstawową wykonującą tę funkcję jest XML, czyli format przechowywania i transferu używany przez DataSets. W czasie działania dane w DataSetie muszą być wymieniane między komponentami, takimi jak obiekt logiki biznesowej lub formularz asp.net web. Dane są przesyłane z jednego komponentu do drugiego w formie pliku XML, który przywraca plik do formy DataSet. Podejście DataSet jest dokładnie takie samo jak relacyjny model danych, ponieważ protokoły każdego źródła danych są różne i musimy uzyskać dostęp do źródła danych przez właściwy protokół. Niektóre starsze źródła danych korzystają z protokołu ODBC, a późniejsze z protokołu OleDb, i obecnie wciąż pojawia się wiele nowych źródeł danych, ADO.NET zapewniają wspólny sposób dostępu do źródeł danych, a dla różnych źródeł korzystają z różnych bibliotek. Biblioteki te nazywane są dostawcami danych i zwykle pochodzą od rodzaju źródła danych oraz protokołu
Różnice i powiązania między bazami danych ODBC, DAO, ADO i OLEDB
ODBC jest technologią dostępu podstawową, więc API ODBC może być aplikacją klienta, która konfiguruje i kontroluje bazę danych od podstaw oraz realizuje funkcje, których zaawansowana technologia baz danych nie potrafi zrealizować; Jednak wadą jest to, że ODBC może być używany wyłącznie w bazach danych relacyjnych, co utrudnia dostęp do baz danych obiektowych i innych baz danych nierelacyjnych przy użyciu ODBC. DAO zapewniają mechanizm tworzenia i manipulacji bazami danych za pomocą kodu proceduralnego. Największą zaletą jest łatwość obsługi baz danych MICROSOFT JET i jest to jeden z najlepszych interfejsów technicznych do obsługi baz danych JET. I nie służy tylko do dostępu do tej bazy, wręcz przeciwnie, możliwe jest uzyskanie dostępu do szerokiego zakresu formatów danych, od plików tekstowych po duże bazy danych w tle, dzięki technologii DAO. ADO to interfejs dostępu oparty na OLE DB, czyli technologii obiektowej OLE DB, która dziedziczy zalety OLE DB. Jest to interfejs wysokiego poziomu do dostępu do baz danych.
Relacje między ADO a OLEDB
OLEDB to podstawowy interfejs interfejsu dostępu do danych. Jest wykorzystywany przez sterowniki firm trzecich, sprzedawców do tworzenia aplikacji generujących źródła danych do technologii ADO, lub przez deweloperów C++ do tworzenia niestandardowych komponentów bazy danych. OLE DB to ważny interfejs programistyczny na poziomie systemowym do dostępu do danych, stanowiący podstawową technologię ADO oraz źródło danych dla ADO.NET. ADO to interfejs dostępu oparty na OLE DB, czyli technologii obiektowej OLE DB, która dziedziczy zalety OLE DB. Jest to interfejs wysokiego poziomu do dostępu do baz danych.
Można powiedzieć, że ADO zapewnia zaawansowane funkcje API aplikacji dla OLEDB.
|