Stack Building

[02] 데이터베이스 관리 시스템 본문

DB

[02] 데이터베이스 관리 시스템

S00ahKim 2019. 7. 19. 22:13

1. 데이터베이스 관리 시스템의 발전 배경

 

초기의 데이터 처리 시스템은 프로그램이 자신이 쓸 데이터를 관리하는 방식이었다. 이 방식에는 '데이터 종속성'과 '데이터 중복성'이라는 문제가 있다.

 

1-1. 데이터 종속성 dependancy

 

응용 프로그램과 데이터 간의 상호 의존 관계. 응용 프로그램이 접근하려는 데이터의 구성 방법, 접근 방법에 맞게 작성되어야 하기 때문에 데이터의 구성 방법, 접근 방법이 변경되면 응용 프로그램도 변경시켜야 한다. 만일 응용 프로그램의 수가 많을 경우 데이터의 구성 방법 및 접근 방법을 변경하면 일의 규모가 커진다.

 

1-2. 데이터 중복성 redundancy

 

같은 데이터를 사용하는데도 응용 프로그램이 서로 다른 구조를 가지고 있어 내용은 같되 표현 방법이 다른 데이터 모음이 존재할 수 있다. 한 시스템 내에 내용이 같은 데이터가 중복되어 저장 및 관리되는 것을 데이터 중복성이라고 한다. 데이터가 중복되면 다음과 같은 부분에서 문제점이 발생한다.

 

(1) 일관성consistency

내용이 같은 데이터가 여러 개 있다면 그 내용은 모두 똑같아야 하지만, 실제로 중복이 있게 된다면 동일성을 유지하기 어렵게 된다. 이처럼 데이터 일관성을 잃은 데이터베이스는 모순성을 갖게 된다.

 

(2) 보안성security

한 시스템 내 같은 내용의 데이터에 대해서는 같은 수준의 데이터 보안이 유지되어야 한다. 그러나 여러 개의 저장소에 대해 같은 수준을 유지하는 것은 어려운 일이다.

 

(3) 경제성economics

중복 저장하게 되면 추가로 필요한 저장 공간에 대한 비용이 더 들게 되며, 갱신 작업에도 모든 데이터에 대한 탐색과 갱신 비용이 들기 때문에 경제성이 떨어진다.

 

(4) 무결성integrity

데이터가 중복 저장되면 제어가 분산되어 데이터의 정확성을 유지하기 어렵다. 일관성과 의미가 비슷한데, 일관성이 데이터베이스 내부의 일치도를 말한다면 무결성은 데이터와 그것이 표현하는 현실 세계의 실제 값 간의 일치도를 말한다.

 

 

2. 데이터베이스 관리 시스템의 정의

 

데이터베이스 관리 시스템(DBMS)은 파일 시스템에서 발생하는 종속성 및 중복성 문제를 해결하기 위해 고안되었다. 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게끔 관리하는 소프트웨어 시스템이다. DBMS는 데이터베이스의 구성, 접근, 관리, 유지의 모든 책임을 가지고 있다. 따라서 응용 프로그램은 세세한 것에 관여할 필요 없이 원하는 데이터와 처리를 명세하여 요청하면 된다.

 

 

3. 데이터베이스 관리 시스템의 필수 기능

 

3-1. 정의 기능 (data definition)

 

하나의 데이터베이스로 다양한 요구를 처리할 수 있도록 가장 적절한 구조를 정의할 수 있는 기능이다. 응용 프로그램들은 데이터 정의를 기초로 원하는 데이터를 DBMS에 표현한다. 데이터 정의는 (1) 논리적 구조와 특성이 DBMS가 지원하는 데이터 모델에 맞게 기술되어야 하고, (2) 데이터베이스를 물리적 저장 장치에 저장하기 위한 데이터의 물리적 구조 명세를 포함하여야 하며, (3) 데이터의 논리적 구조와 물리적 구조 사이에 상호 변환이 가능하도록 두 구조 사이의 사상mapping을 명세하여야 한다. 여기서 사상이란 하나의 물리적 구조로 여러 응용 프로그램이 요구하는 데이터 구조를 지원하는 방법이다.

 

3-2. 조작 기능 (data manipulation)

 

DBMS는 사용자의 요구에 따라 체계적으로 데이터베이스에 접근하여 조작할 수 있어야 한다. 즉, 데이터의 검색, 갱신, 삽입, 삭제와 같은 연산을 지원하는 데이터 언어로 표현될 수 있다. 데이터 언어는 쉽고 명확하며 효율적이다.

 

3-3. 제어 기능 (data control)

 

DBMS는 항상 정확성과 안전성을 유지할 수 있는 제어 기능을 가지고 있어야 한다. 이는 데이터 공용의 기본 가정이자 관리의 제약 조건이다. 데이터의 연산 작업이 정확히 이루어져 무결성이 파괴되지 않아야 하고, 정당한 사용자만이 접근하도록 권한을 검사할 수 있다. 또 동시에 접속해도 처리 결과가 정확할 수 있도록 병행 제어 기능을 가지고 있어야 한다.

 

 

4. 데이터베이스 관리 시스템의 장단점

 

4-1. 장점

(1) 데이터 중복의 최소화 (controlled redundancy)

(2) 데이터의 공용

(3) 데이터 일관성 유지

(4) 데이터 무결성 유지

(5) 데이터의 보안 보장

(6) 표준화

(7) 전체 데이터 요구 조정

 

4-2. 단점

(1) 운영비 증대

(2) 특정 응용 프로그램의 복잡화

(3) 복잡한 백업과 회복

(4) 시스템 취약성

 

 

5. 데이터 독립성

 

데이터 독립성이란 데이터의 논리적 구조나 물리적 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는 것을 말한다. DBMS의 목적은 바로 이 독립성을 제공하는 것이다. 데이터 독립성은 크게 논리적 데이터 독립성과 물리적 데이터 독립성으로 나누어 생각할 수 있다.

 

(1) 논리적 데이터 독립성: DBMS가 데이터베이스의 논리적 구조를 변경하더라도 기존 응용 프로그램들에 아무런 영향을 주지 않는 것. DBMS에게 요구되는 다양한 형태의 논리적 구조로 사상시킬 수 있음을 의미한다.

 

(2) 물리적 데이터 독립성: DBMS가 데이터베이스의 물리적 구조를 변경하더라도 기존 응용 프로그램들에 아무런 영향을 주지 않는 것. 또한 물리적 구조의 변경이 데이터베이스의 논리적 구조에도 영향을 주어선 안 된다. 마찬가지로 하나의 논리적 구조를 지원 가능한 다양한 물리적 구조로 사상할 수 있는 능력이 있어야 한다.

 

 

6. 데이터베이스 관리 시스템의 역사

 

E.F.Codd의 관계 데이터 모델(relational data model)이라는 새로운 데이터 표현법의 등장으로 데이터베이스 이론의 기초가 닦이고 많은 DBMS가 등장하였다. 이후 IBM이 세계 표준 데이터베이스 언어로 SQL을 개발하였다. 데이터베이스 응용이 복잡해짐에 따라 객체 데이터베이스, 객체관계데이터베이스 등도 출현하였다.

 

 

7. 참고

데이터베이스론 (이석호 저)

'DB' 카테고리의 다른 글

[05] 관계대수와 관계해석  (0) 2019.08.13
[04] 관계 데이터베이스  (0) 2019.08.06
[03] 데이터베이스 시스템의 구성  (0) 2019.08.02
[01] 정보 환경  (0) 2019.07.16
OLAP과 OLTP  (0) 2019.03.16
Comments