Visual Basic – Poređenje ADO-a sa DAO-om i RDO-om

Kada kreirate aplikacije koje rade sa bazama podataka (BP), verovatno se susrećete sa neizbežnim pitanjem: koji interfejs za pristup podacima koristiti? ADO, DAO ili RDO? Jako je bitno da razumete i razaznate razliku između ova tri interfejsa kako biste doneli što bolju odluku – koji od njih koristiti za vašu aplikaciju. Ali, kako uporediti ove slične, pa ipak različite interfejse? Prvo proučite ADO objektni model, zatim uporedite njegov model, hijerarhiju i slojeve sa interfejsima DAO i RDO. Uočite sve mogućnosti i koristi ADO-a i uporedite ih sa DAO-om i RDO-om. Saznanjem o vrednostima i mogućnostima svakog interfejsa moći ćete da donesete pravilniji sud o tome koji je model idealan za vašu aplikaciju.

Prvo ćemo pogledati DAO (Data Access Objects) za Microsoft Jet baze podataka, ili drugačije poznat kao DAO/Jet. DAO/Jet je interfejs za pristup Jet engine-a bazama podataka, kako „čistim“ Jet bazama, tako i ISAM bazama podataka, kao što su Access, Btrieve, dBASE, FoxPro ili Paradox. DAO/Jet je idealna solucija kada treba da pristupite bazama na lokalnoj mašini. Ali kada treba da pristupite udaljenim podacima, iako je DAO/Jet sposoban da pristupa ODBC izvorima podataka, njegove performanse nisu na željenom nivou. Daljinski pristup je dodatno ograničen, u poređenju sa direktnim API interfejsom i Remote Data Objects-om. Počevši od verzije 3.5 DAO-a, obezbeđen je interfejs ka RDO-u, preko ODBCDirect-a i to bez neophodnih „ovlašćenja“. Na slici možete videti objektni model DAO ODBCDirect. Sigurnosne mogućnosti koje nisu implementirane u DAO/Jet engine, nisu inkorporirane ni u ODBCDirect. Struktura DAO objektnog modela za ODBCDirect je manje kompleksna u odnosu na Microsoft Jet engine.

Do pre nekoliko godina RDO (Remote Data Objects) bio je najbolji interfejs od svih COM-orijentisanih načina pristupa koji se koriste u Visual Basic-u. RDO je posebno dizajniran za korišćenje sa udaljenim ODBC izvorima podataka. Međutim, RDO ne podržava izvesne mogućnosti DAO/Jet-a, kao na primer jezik za definisanje podataka DDL (Data Definition Language), tako da nije podesan za enterprise nivo upotrebe. A zna se da je ova funkcionalnost namenjena, kao primarno rešenje, za rad i pristup bilo kojoj relacionoj bazi podataka preko ODBC drajvera (Oracle i SQL Server).

Sada kada smo dali kratki pregled DAO-a i RDO-a, preći ćemo na ADO (ActiveX Data Objects). Od samog početka, ADO je razvijan da bude interfejs za pristup bazama podataka koji je posebno dizajniran za korišćenje sa Active Server stranicama (ASP-om), kao kompletna solucija za sve potrebe pristupa podacima. ADO objektni model je najmanje kompleksan od modela svih navedenih interfejsa. ADO je takođe i COM interfejs, kao OLE izvorima podataka, Microsoft-ovom najnovijem sveobuhvatnom heterogenom interfejsu ka podacima.

Kod pristupa izvorima podataka preko DAO-a, pre mogućnosti samog kreiranja recordset-a, potrebno je uspostaviti i održavati konekciju. Ovo ne znači samo više linija programskog koda već takođe i više objektnih referenci kojim je potrebno upravljati, što je dodatno opterećenje za vaše Visual Basic aplikacije. Kod ADO-a, glavni interfejs ka bazi podataka je objekat recordset, a za pristup tabelama potrebna je minimalna količina koda. Ovo znači da sa ADO interfejsom imamo samo nekoliko linija za pristup i mnogo manje opterećenje kod generisanja recordset-a.

ADO je uznapredovao i dokazao se u praksi, te je zamena za sve druge interfejse za pristup podacima. Jedini interfejs koji možda može da mu parira jeste DAO, zbog svoje odlične podrške za Jet baze podataka.

Pratite Krstaricu na www.krstarica.com