본문 바로가기

개발/Database

DATABASE / DBMS(Database Management System)

728x90
반응형

1. DATABASE

 

여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합.

 

복수 업무에 공통으로 나타나는 데이터를 중심으로 모아서 이들을 상호 유기적으로 결합한 것.

(일정한 규칙에 따라 연결하여 이용할 수 있도록 구성되어 있음)

 

 

2. DBMS(Database Management System)

 

데이터베이스를 관리하는 시스템.

 

DBMS 로 데이터베이스를 다루는 프로그래밍 인터페이스 >

 

1) 전용(Proprietary) 프로그래밍 인터페이스

 

- 각 DBMS 회사마다 제공하는 프로그래밍 인터페이스.

- 속도나 효율면에서 우수하지만 DBMS 에 종속적이기 때문에, 하나의 프로그램으로 다양한 종류의 DBMS 에 접근이 어려움.

 

 

2) 공용(Universal) 프로그래밍 인터페이스

 

- 다양한 DBMS 를 하나의 일관된 인터페이스로 다를수 있음.

- 하나의 프로그램으로 다양한 DBMS 에 접근할 수 있으며, 기반 DBMS 를 바꾸더라도 최소한의 코드 수정만으로 동일한 동작을 보장받을 수 있음.

 

 

< Microsoft 에서 제공하는 데이터베이스 프로그래밍 인터페이스 >

 

1) DAO(Data Access Objects)

 

- Microsoft Jet 데이터베이스 엔진을 이용하여 데이터베이스에 접근하기 위한 인터페이스.

- 로컬에 존재하는 MDB 를 데이터 원본으로 삼으며 네트워크 접속을 지원하지 않음.

- MFC 의 CDaoDatabase 를 이용.

- Microsoft 에서는 DAO 보다는 ADO 를 사용할 것을 권장.

 

ex)

...

CDaoDatabase db;

CString strPW;
strPW.Format(_T("%s%s"), strPassword != NULL ? ";PWD=" : "", strPassword != NULL ? strPassword : "");

db.Open(strPath, FALSE, FALSE, strPW);

if (!db.IsOpen())

return FALSE;

...

 

 

2) ODBC(Open Database Connectivity)

 

- 하나의 인터페이스로 다양한 종류의 DBMS 를 접근할 수 있도록 만든 성공적인 공개 인터페이스.

- 많은 DBMS 가 ODBC 드라이버를 지원하며, Microsoft 가 배포하는 MDAC(Microsoft Data Access Component) 를 통해 지속적인 지원을 받고 있음.

- 네트워크 접속으로 인해 여러명이 접근할 수 있으나 속도면에서는 DAO 보다 떨어짐.

- DAO 와 마찬가지로 현재 Microsoft 는 ODBC 보다는 OLE DB 를 사용하도록 권장.

 

ex)

...

CDatabase db;

CString strConn;

strConn.Format("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;", strPath);

// strConn.Format("DSN=TESTDB;UID=RACCON;PWD=password");

if (!db.OpenEX(strConn) == FALSE)

return FALSE;

...

 

 

3) RDO(Remote Data Objects)

 

- COM(Component Object Model) 기술을 이용해서 ODBC 를 포장한 인터페이스.

- Microsoft 에서 더이상 지원하지 않으며 ADO 를 사용하도록 권장.

 

 

4) OLE DB(Object Linking and Embedding for Database)

 

- ODBC 의 성공을 바탕으로 만든 COM 기술을 이용한 새로운 데이터베이스 프로그래밍 공개 인터페이스.

- Microsoft 가 배포하는 MDAC 를 통해 강력한 지원을 받고 있음.

- OLE DB 공급자(OLE DB Provider, 디바이스 드라이버와 유사한 개념)을 통해 다양한 종류의 DBMS 에 접근할 수 있음.

- OLE DB 공급자를 사용하여 기존의 ODBC 도 지원.

- 일반적으로 시스템 프로그래밍 인터페이스로 분류.

 

 

5) ADO(ActiveX Data Objects)

 

- OLE DB 가 제공하는 기능을 좀 더 쉽게 사용할 수 있도록 COM 기술을 바탕으로 만든 프로그래밍 인터페이스.

- OLE DB 에 기반하기 때문에 다양한 종류의 데이터베이스를 다룰 수 있으며 성능이 좋음.

- 언어 독립적이어서 베이직, C/C++, JAVA 등 다양한 언어로 프로그래밍 가능.

- 일반적으로 응용프로그래밍 인터페이스로 분류.

 

 

728x90

'개발 > Database' 카테고리의 다른 글

[MS-SQL] 날짜(DATE), 시간(TIME) 함수  (0) 2017.07.05
[SQL] ALTER TABLE  (0) 2017.03.07