데이터베이스를 직접 응용 프로그램들이 조작하는 것이 아니라 데이터베이스를 조작하는 별도의 소프트웨어를 데이터베이스 관리 시스템(DBMS : DataBase Management System)이라고 합니다. 데이터베이스를 관리하며 응용 프로그램들이 서로의 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어입니다.
또한 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생산해주고, 데이터베이스를 관리해주는 소프트웨어로는 다음과 같은 3가지의 필수 기능이 있습니다.
[정의(Definition) 기능] : 데이터의 형과 구조, 데이터가 DB에 저장될 때의 제약 조건 등을 명시하는 기능입니다.
[조작(Manipulation) 기능] : 데이터 검색, 갱신, 삽입 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단 등을 정하는 기능입니다.
[제어(Control) 기능] : 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어하고 승인된 사용자만 데이터에 접근할 수 있도록 보안을 유지하고 권한을 검사합니다.
파일 처리방식에서는 처리 업무마다 데이터를 독립적으로 구성함으로써 데이터가 중복 저장되는 데이터의 중복성과 응용프로그램과 데이터 간의 상호 의존 관계 즉, 데이터 종속성에 대한 문제가 발생합니다.
1-1) 중복성으로 인한 문제점
일관성 : 중복된 데이터 간의 내용이 일치하지 않는 상황이 발생하여 일관성이 없어집니다.
무결성 : 제어의 분산으로 데이터의 정확성을 유지하기 어렵습니다.
경제성 : 저장공간의 낭비 및 동일 데이터에 대한 반복 작업의 cost가 증가합니다.
보안성 : 중복되어 있는 데이터에 동등한 보안 수준을 유지하기 어렵습니다.
1-2) 종속성으로 인한 문제점
응용프로그램과 데이터 파일이 상호 의존적인 관계에서 데이터 파일이 보조기억장치에 저장되는 방법이나 접근 방법을 변경할 때 응용 프로그램도 같이 변경되어야 하는 문제점이 있습니다.
2.) DBMS 장단점
2-1) 장점
데이터의 중복을 피할 수 있어 저장공간이 절약.
보안을 일관성 있게 유지.
실시간 처리가 가능.
데이터의 일관성 및 무경설을 유지.
저장된 자료를 공동으로 사용.
데이터의 논리적, 물리적 독립성이 보장.
보안을 유지.
항상 최신의 데이터를 유지.
2-2) 단점
데이터베이스가 전문가가 부족.
파일의 예비(Backup)와 회복(Recovery)이 어려움.
파일 시스템에 비해 자료 처리 방법이 복잡함.
대용량 디스크의 집중적인 Access로 과부하 발생.
전산화 비용 증가.
3.) 논리적 독립성과 물리적 독립성
논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변형시키더라도 응용 프로그램은 변경되지 않습니다.
물리적 독립성 : 응용 프로그램과 보조기억장치 같은 무리적 장치를 독립시킴으로써, 데이터베이스 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만 변경합니다.