DBMS란 무엇인가?

Updated:

1. 정의

Database는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합을 의미한다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신을 효율적으로 실행하게끔 한 것이다.

Database Management System, DBMS는 DB를 관리하며 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어로써 메모리와 프로세스들로 구성된다.

image



2. 기능

데이터 베이스가 가지는 기능은 다음과 같다.

기능
데이터 정의 여러 사용자의 데이터를 통합, 저장, 공유할 수 있게 데이터 모델에 따라 정의
데이터 조작: 사용자와 DB 간 의사소통, DB 접근 및 조작 기능 제공 (삽입, 삭제, 변경 및 검색)
데이터 제어 일관성, 무결성, 보안유지, 백업과 파손 회복, 인증, 보안, 병행제어



3. 종류

Hierachical DBMS (HDBMS)

계층형 데이터 베이스데이터의 관계를 트리 구조로 정의하고, 부모, 자식 형태를 갖는 구조이다. 즉, 데이터가 계층적이고 상하 종속적인 관계로 구성되며, 데이터 중복 문제가 있다.

이러한 특성의 데이터 베이스를 관리하는 HDBMS는 다음의 장단점을 가진다.

  • 장점 : 데이터의 엑세스 속도가 빠르고, 데이터의 사용향을 쉽게 예측할 수 있음
  • 단점 : 상하 종속적인 관계로 구성되어 있어 초기 설정 후 변화하는 프로세스를 수용하기 쉽지 않음

image


Network DBMS (NDBMS)

네트워크형 데이터베이스는 계층형 데이터의 데이터 중복 문제를 해결하고, 레코드 간 다양한 관계를 그물처럼 갖는 구조이다. 하지만 복잡한 구조 때문에 이후 구조 변경에서 어려움을 가진다. 다시 말해 데이터 구조를 네트워크 상의 노드(자료) 형태로 논리적으로 표현한 데이터 모델로써 각각의 노드를 서로 대등한 관계로 구성한 모델이다.

이러한 특성의 데이터 베이스를 관리하는 NDBMS는 다음의 장단점을 가진다.

  • 장점 : HDBMS 문제점인 상하 종속 및 데이터의 중복 문제를 해결함
  • 단점 : 구성과 설계가 복잡하고, 궁극적으로 데이터의 종속성을 해결하지 못함

image


Relational DBMS (RDBMS)

관계형 데이터 베이스행(column)과 열(raw, record)로 구성된 테이블(table) 간의 관계를 나타낼 때 사용한다. 즉, 수학적 논리 관계를 테이블의 형태로 구성하면서 컬럼 일부를 다른 테이블과 중복하여 각 테이블과의 상관관계를 정의한다. 이렇게 표현된 데이터는 RDBMS는 Structured Query Language, SQL을 사용하여 접근 및 관리한다.

RDBMS는 가장 대표적으로 쓰이는 DBMS이다. Oracle 사의 Oracle, Microsoft 사의 MS-SQL Server, Oracle 사의 MySQL, Maria DB 재단의 Maria DB, IBM 사의 DB2, Sybase 사의 Sybase 외의 여러 시스템이 이에 속한다. 이러한 특성의 데이터 베이스를 관리하는 RDBMS는 다음의 장단점을 가진다.

  • 장점 : 업무 변화에 대한 적응력이 높아 변화하는 업무에 쉽게 활용하여 유지보수가 편리고, 생산성도 향상됨
  • 단점 : 다른 DBMS 보다 더 많은 자원이 활용되어 시스템의 부하가 높음

image


Object - Oriented DBMS (OODBMS)

객체지향 데이터베이스데이터 베이스에 객체 지향 개념을 도입하여 만들어진 모델이다. 계층(Class)에 따라 데이터 구조를 표현하고 데이터와 그 조작 절차를 함께 다룬다.

이러한 특성의 데이터 베이스를 관리하는 OODBMS는 다음의 장단점을 가진다.

  • 장점 : 복잡한 정보 구조의 모델링 가능
  • 단점 : 안전성 및 성능의 검정 미미

image


Objected-Relational DBMS (ORDBMS)

객체 관계형 데이터 베이스기존의 관계형 데이터 베이스 (RDBMS) 로서의 안정된 성능에 기반하면서 동시에 객체 지향 모델의 특징을 추가한 모델이다.

OODBMS와 ORDBMS는 객체에 대해 관점의 차이를 보인다.

첫째, 데이터의 저장 및 접근 방법에 대한 관점의 차이이다. OODBMS는 모든 정보를 객체 형태로만 저장하고 모든 객체 정보가유일한 객체 식별자(OID: Object Identifier)를 사용할 것을 주장한다. 반면, ORDBMS는 정보가 테이블 형태 또는 객체 형태로 저장되도록 하고 주된 키(PK: Primary Key) 사용을 주장한다. 또한 PK가 없을 시에만 OID 사용을 주장한다.

둘째, 프로그래밍 언어와 데이터 베이스 언어에 대한 관점의 차이를 보인다. OOBBMS에서는 객체의 접근 및 다른 객체로의 이동시 객체 지향 프로그래밍 언어나 다른 참조 기법을 이용하기 때문에 객체 간의 포함 관계를 갖는 복합 객체를 효율적으로 저장할 수 없다. 반면, ORDBMS는 값에 기반한 데이터 접근 방식을 가지기 때문에 데이터 접근 시 참조 정보 기반의 모든 접근을 지원한다.

이러한 특성의 데이터 베이스를 관리하는 ORDBMS는 다음의 장단점을 가진다.

  • 장점 : RDBMS의 안정성과 OODBMS의 장점
  • 단점 : 표준화 지연으로 제품간 차이 존재 및 혼란 야기

image