티스토리 뷰
통합, 저장괸 유용한 데이터의 집합이다.
이러한 데이터베이스를 관리하는 소프트웨어 시스템을 DBMS(Database Management System) 라 부르는데 오라클, MS-SQL, DB2 등 다양한 종류의 DBMS가 사용되고 있다. 일반적으로 데이터베이스를 다룰때 DBMS는 중간에 매개 역활을 한다.
DBMS 로 데이터베이스를 다루는 프로그래밍 인터페이스
1. 전용(Proprietary) 프로그래밍 인터페이스
각 DBMS 회사마다 제공하는 프로그래밍 인터페이스다. 속도나 효율면에서 우수하지만 DBMS에 종속적이기 때문에, 하나의 프로그램으로 다양한 종류의 DBMS에 접근하기 어렵다.
2. 공용(Universal) 프로그래밍 인터페이스
다양한 DBMS를 하나의 일관된 인터페이스로 다룰 수 있도록 한다. 하나의 프로그램으로 다양한 DBMS에 접근할 수 있으며, 기반 DBMS를 바꾸더라도 최소한의 코드 수정만으로 동일한 동작을 보장 받을 수 있다.
인터넷과 같이 다양한 종류의 데이터가 분산된 환경에서는 공용 프로그래밍 인터페이스가 여러 모로 유리하다. 마이크로소프는 UDA(Universal Data Access) 기술을 지속적으로 발전시키면서 이와 같은 공용 데이터베이스 프로그래밍 인터페이스의 성능을 향상 시키고 있다.
마이크로소프트가 제공하는 데이터베이스 프로그래밍 인터페이스 종류
- DAO (Data Access Objects)
마이크로소트트 제트(Jet) 데이터베이스 엔진을 이용하여 데이터베이스에 접근하기 위한 인터페이스다. MFC는 CDaoDatabase 클래스 등을 이용해서 프로그래밍을 할 수 있다. 현재 마이크로소프트는 DAO보다 ADO를 사용할 것을 권장한다.
- ODBC (Open Dtabase Connectivity)
하나의 인터페이스로 다양한 종류의 DBMS를 접근할 수 있도록 만든 성공적인 공개 인터페이스다. 현재 수 많은 DBMS가 ODBC드라이버를 지원하며, 마이크로소프트가 배포하는 MDAC (Microsoft Data Access Component)을 통해 지속적인 지원을 받고 있다. MFC에서는 CDatabase클래스 등을 이용해서 프로그래밍할 수 있다. DAO와 마찬가지로 현재 마이크로소프트는 ODBC보다는 OLE DB를 사용하도록 원장한다.
- RDO (Remote Data Objects)
COM(Component Object Model) 기술을 이용해서 ODBC를 포장한 것이다. 현재 마이크로소프트에서 더 이상 지원하지 않으며 대신 ADO를 사용하도록 권장한다.
- OLE DB (Object Linking and Embedding for Database)
ODBC의 성공을 바탕으로 만든 새로운 공개 인터페이스다. COM 기술을 이용한 새로운 데이터베이스 프로그래밍 방법으로, 마이크로소프트가 배포하는 MDAC을 통해 강력한 지원을 받고 있다. OLE DB 공급자 (OLE DB Provider, 디바이스 드라이버와 유사한 개념)을 통해 다양한 종류의 DBMS에 접근할 수 있으며, ODBC 용 OLE DB 공급자를 사용하여 기존의 ODBC도 지원한다.
- ADO (ActiveX Data Objects)
OLE DB가 제공하는 기능을 좀더 쉽게 사용할 수 있도록 만든 프로그래밍 인터페이스로 COM 기술을 바탕으로 하고있다. OLE DB에 기반하기 때문에 다양한 종류의 데이터베이스를 다룰 수 있고, 고성능을 낸다. 또한 언어 독립적이어서 베이직, C/C++, 자바 등 다양한 언어로 프로그래밍할 수 있다.
일반적으로 OLE DB는 시스템 프로그래밍 인터페이스, ADO는 응용프로그래밍 인터페이스로 분류한다.