티스토리 뷰
1. 데이터베이스 관리 시스템의 정의
데이터베이스 관리 시스템(DBMS: DataBase Management System): 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게끔 관리해 주는 소프트웨어 시스템. 파일 시스템에서 야기된 데이터 종속성과 중복성의 문제를 해결하기 위해 고안된 시스템이다.
2. 데이터베이스 관리 시스템의 필수 기능
① 정의(definition) 기능 - 하나의 물리적 구조의 데이터베이스로 여러 사용자들의 요구를 지원해 줄 수 있도록 데이터를 조작하는 기능. 이 데이터 정의에는 논리적 구조의 명세, 물리적 구조의 명세, 논리적 구조와 물리적 구조 사이에 상호 변환을 위한 사상(mapping)을 명세해야 한다.
② 조작(manipulation) 기능 - 사용자(또는 응용 프로그램)와 데이터베이스 사이의 인터페이스를 위한 수단을 제공하는 기능. 체계적으로 데이터베이스를 접근하고 조작(검색, 갱신, 삽입, 삭제)할 수 있어야 하며 데이터 언어를 통해 표현될 수 있다. 이 데이터 언어는 사용하기 쉽고 자연스러워야 하며, 원하는 데이터 연산이 완전하게 명세할 수 있어야 하고, 효율적이어야 한다.
③ 제어(control) 기능 - 데이터의 정확성과 안전성, 일관성을 유지할 수 있는 기능. 이 데이터 제어는 무결성이 파괴되지 않아야 하며, 건한을 검사하고 보안을 유지할 수 있어야 하고, 병행 제어(동시성)와 복구 기능을 가지고 있어야 한다.
3. 데이터베이스 관리 시스템의 장단점
장점
- 데이터 중복의 최소화
- 데이터의 공용 (동시사용)
- 데이터의 일관성 유지
- 데이터 무결성 유지
- 데이터의 보안 보장
- 표준화가 용이
- 전체 데이터 요구의 조정
단점
- 운영비의 증대 (오버헤드)
- 특정 응용 프로그램의 복잡화
- 복잡한 백업과 회복
- 시스템의 취약성
4. 데이터 독립성
데이터 독립성(data independency)는 데이터베이스 관리 시스템이 추구하는 궁극적 목적은 데이터 독립성을 제공하는 것이다.
① 논리적 데이터 독립성(logical data independency): 논리적 구조를 변경시키더라도 기존 응용 프로그램들에 영향을 최소화 하는 것. 응용 프로그램의 효율적 개발이 가능하다.
② 물리적 데이터 독립성(physical data independency): 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 주지 않고 데이터의 물리적 구조를 변경할 수 있는 것. 저장 장치의 효율적 개발이 가능하다.
이러한 두 가지 데이터 독립성을 지원하기 위한 데이터베이스 구조 간의 사상(mapping)이 존재한다. 논리적 구조 사상은 응용 프로그램과 논리적 구조 사이의 논리적 데이터 독립성을 지원하고, 물리적 구조 사상은 논리적 구조와 물리적 구조 사이의 물리적 데이터 독립성을 지원한다.
5. 데이터베이스 관리 시스템의 역사
1960년대 초반: General Electric의 Charles Bachman에 의해 설계된 Integrated Data Store(IDS)가 최초의 범용 데이터베이스 관리 시스템이다. 네트워크 데이터 모델의 기초가 되었다. Bachman은 또한 데이터 구조도를 제안했다.
1960년대 후반: IBM은 IMS(Information Management System) DBMS를 개발했다. 계층 데이터 모델의 기초가 되었다.
1970년대 초반: 대향 컴퓨터 제조 회사들이 DBMS를 제작 판매하였다. 이 때까지의 DBMS를 제1세대 DBMS라 한다. 또한 IBM의 E. F. Codd는 관계 데이터 모델 이론의 기초가 되었다.
1980년대: 관계 데이터 모델이 모든 DBMS의 주류가 되었다. 특히 IBM이 관계 DBMS의 일부로 개발한 SQL(Structed Query Language)은 세계 표준 데이터베이스 언어가 되었다. (또한 Oracle, Ingres, Sybase, Informix 등) 대부분의 DBMS는 하드웨어에 독립적으로 운영될 수 있게 개발되었다. 또한 PC 기반으로 하는 DBMS로 Access, FoxPro, dBase, Paradox, SQL Server 등이 출현하였다. 이 때의 DBMS를 제2세대 DBMS라 한다.
1980년대 후반-1990년대: 사용자의 데이터베이스 응용에 대한 복잡성이 계속 증대되고 사용자의 요구에 대처하기 위해 새로운 시스템의 개발이 필요했고, 객체 데이터베이스(ODBMS)와 객체-관계 데이터베이스(ORDBMS)가 출현하였다. 이 때의 DBMS를 제3세대 DBMS라 한다.
'cs > DB' 카테고리의 다른 글
[데이터베이스/Database] 데이터베이스 관리 시스템(DBMS) (0) | 2021.01.14 |
---|---|
[데이터베이스/Database] 3단계 데이터베이스 (0) | 2021.01.14 |
[데이터베이스/Database] 개체와 관계, 데이터베이스 구조 (0) | 2021.01.14 |
[데이터베이스/Database] 데이터베이스 관리 시스템 연습문제 (0) | 2021.01.14 |
[데이터베이스/Database] 파일 시스템의 개념과 특성, 단점 (0) | 2021.01.14 |