Professional Documents
Culture Documents
Miért szükséges?
- Az adatbázis-kezelő rendszerek (DBMS) szabadon implementálják az SQL-szabványok által előírt
adattípusok egyes válfajait (pl. az int típus egyes rendszerekben kétbájtos, máshol négybájtos; a
lebegőpontos számok ábrázolására több szabvány létezik).
- Az SQL-nyelv elemeinek implementálása is eltérő lehet az egyes DBMS-ekben.
- A programozási nyelvek nem minden DBMS elérését támogatják natívan (olyan, a nyelvbe
beépített függvényekkel, amelyek közvetlenül az adatbázisnak küldik az adatbázis által
értelmezhető parancsot).
1.2. Az ODBC-struktúra
A programkódból érkező parancsok a Driver Manager-hez érkeznek, majd a megfelelő driver-
en keresztül az adatforráshoz.
Az ODBC-struktúra [2]
2. JDBC
A JDBC egy alkalmazás-programozási
interfész (API) Java nyelven készülő
programokhoz. A működéshez szükséges
osztályokat a java.sql csomag tartalmazza, ezt
importálni kell az olyan programok esetén,
amelyek a JDBC-t használni kívánják.
Az ODBC-hez hasonlóan a Java-
programból a JDBC API-nak adunk
utasításokat. A Driver Manager kezeli az
egyes típusú adatbázisokhoz való
kapcsolódást biztosító meghajtókat (driver-
eket).
A tényleges kapcsolat létrehozása előtt a
megfelelő driver-t regisztrálni kell, a kérésünk
csak ezután kerül a megfelelő adatbázishoz.
A JDBC megfelelő driver-én keresztül az ODBC-adatforrások is elérhetőek. [4]
3. OLE DB
„Az ODBC-alapú adatkezelés megoldja a
relációs adatok egységes elérésének és ALKALMAZÁS
kezelésének a kérdését.” [5] Az informatikában
azonban nagyon sok olyan adatot használunk,
amelyek nem relációs sémában tárolódnak
(lehetnek például hierarchikus adatok – mint a OLE DB adatszolgáltató
fájlrendszerek –, dokumentumok vagy
levelezési rendszerek). Ezek az adatok nem
érhetők el ODBC-alapon. ODBC adatszolgáltató
A nem csupán relációs adatokkal dolgozó
alkalmazások felé tehát újabb réteget kell
biztosítani. A Microsoft 1997-ben vezette be az
OLE DB (Object Link Embedding) techno- pl. pl. MS nem
lógiát. Az OLE DB ún. provider-eken keresztül MySQL Oracle SQL relációs
kommunikál az adatforrásokkal. Mivel az OLE
DB az ODBC-hez is biztosít provider-t
(MSDASQL néven), ezért a technológia
magába foglalja a relációs adatforrások elérését is, ugyanakkor lehetőséget ad a más sémájú adatok
elérését is.
Az OLE DB-alapú adatelérés egy COM interfészre támaszkodik a legkülönbözőbb, nem
feltétlenül relációs adatok elérésére. Ezért, az ODBC-alapú adateléréssel szemben, amely
platformfüggetlen, az OLE DB-alapú adatelérés csak COM-támogatást élvező platformokon
használható. [5]
4. ADO.NET
Az ADO.NET a Microsoft által kifejlesztett ADO (ActiveX Data Objects) magas szintű felület
.NET-es továbbfejlesztése. Az OLE DB-n túl biztosítja az ActiveX-adatobjektumok elérést is.
Az ADO.NET tehát a .NET keretrendszer olyan része, amely elsősorban a relációs és más
sémájú adatforrásokhoz való hozzáférést támogatja. Az ADO.NET több módot is kínál az adatok
kezelésére a natív kapcsolaton keresztüli direkt adateléréstől az összetett adatmodelleken alapuló
(akár aszinkron) adatkezelésig.
- Natív kapcsolat: direkt SQL utasítások végrehajtása a fizikai adatbázison.
- Logikai relációs modell: a fizikai adatbázis szerveződésének felépítése és adattárolás a
memóriában.
- Egyszerű objektumrelációs modell (LINQ to SQL): az adatbázis-információk leképezése
objektumorientált szerkezetre a sémának megfelelően.
- Entitás alapú objektumrelációs modell (ADO.NET Entity Framework): az adatbázis-információk
speciális, paraméterezhető leképezése objektumorientált szerkezetre. [6]
Kétféle adatelérési réteget nyújt számunkra. Az egyik a folyamatos kapcsolat melletti (managed
provider), a másik pedig a kapcsolat nélküli réteg (dataset). A kapcsolat nélküli réteg használata
esetén a lekért adatokból egy másolatot készítünk (a másolatot adatkészletnek vagy dataset-nek
nevezzük), majd a későbbiekben ezzel dolgozunk tovább, így egy szétkapcsolt adatarchitektúrát
kapunk. A szétkapcsolt adatarchitektúra előnye, hogy kevesebb az adatforgalom a kliens és a szerver
között. A hátránya, hogy nem mindig a legfrissebb adatokat látjuk. Folyamatos kapcsolat esetén a
provider osztályok biztosítják az adatforrás és a kliens közötti adatáramlást.
A legfontosabb provider-ek:
a) OLEDB.NET (SQL Server 6.5 és korábbi; Access; Sybase; …)
b) ODBC.NET (olyan adatforrásokhoz, amelyhez nincs újabb provider)
c) SQLServer (SQL Server 7.0-tól)
d) Oracle (Oracle 8i-től) [7]
Források:
1. Sulinet Tudásbázis: Kliens-szerver hierarchia. Az ODBC lényege. Elektronikus forrás:
http://tudasbazis.sulinet.hu/hu/szakkepzes/informatika/adatbazis-kezeles/kliens-szerver-
hierarchia/az-odbc-lenyege (2015.11.07-i megtekintés)
2. Barabás Péter: Adatbázis rendszerek II. Előadásjegyzet. Elektronikus forrás: http://www.iit.uni-
miskolc.hu/iitweb/export/sites/default/users/barabas/Targyak/db2/ea4.pdf (2015.11.07-i
megtekintés)
3. Microsoft Support: ODBC-adatforrások felügyelete. Elektronikus forrás:
https://support.office.com/hu-hu/article/ODBC-adatforr%C3%A1sok-fel%C3%BCgyelete-
b19f856b-5b9b-48c9-8b93-07484bfab5a7# (2015.11.07-i megtekintés)
4. Cser Lajos: Számítógépes adatbázis-kezelés. Előadásjegyzet. Elektronikus forrás:
http://www.stud.u-szeged.hu/Cser.Lajos/files/db2013-n/02-dbms-ny.pdf (2015.11.07-i
megtekintés)
5. Hatvany Csaba: Bevezetés az adatkezelésbe. Elektronikus forrás:
http://prog.hu/cikkek/908/bevezetes-az-adatkezelesbe (2015.11.07-i megtekintés)
6. Giachetta Roberto: Eseményvezérelt alkalmazások fejlesztése II. Előadásjegyzet.
http://people.inf.elte.hu/asjuaai/Targyak%20-%20ProgInfo%20B/Esemenyvezerelt%20
alkalmazasok%20fejlesztese%202/ea/11%20-%20ADO.NET-Adatkezel%C3%A9s
%20a%20.NET%20keretrendszerben/elte_eva2_ea11_dia.pdf (2015.11.07-i megtekintés)
7. Barabás Péter: Adatbázis rendszerek II. Előadásjegyzet. Elektronikus forrás: http://www.iit.uni-
miskolc.hu/iitweb/export/sites/default/users/barabas/Targyak/db2/ea6.pdf (2015.11.07-i
megtekintés)