데이터의 종속성과 중복성의 문제를 해결하기 위해 데이터베이스를 공용할 수 있도록 관리하는 시스템 소프트웨어
정의 기능
다양한 형태의 데이터 요구를 지원할 수 있도록 가장 적절한 데이터베이스 구조를 정의할 수 있는 기능
ex) DDL: CREATE, ALTER, DROP
조작 기능
사용자와 데이터베이스 사이의 인터페이스를 위한 수단 제공
사용자의 요구에 따라 체계적으로 데이터베이스를 접근하고 조작 가능해야 함.
ex) DML: INSERT, UPDATE, DELETE
제어 기능
데이터의 정확성과 보안성을 유지하는 기능
ex) DDL: GRANT, REVOKE, ROLLBACK, COMMIT
DBMS가 추구하는 궁극적인 목적이다.
소프트웨어의 유지보수의 절반 정도는 정보 시스템에 있다.
데이터베이스의 변경으로부터 애플리케이션이 받는 영향을 최소화 한다.
베이스 테이블보다는 view를 사용하는 것이 좋다.
view에 대한 쿼리는 낮은 레벨의 스키마에 대한 쿼리로 바뀐다.
데이터베이스의 정의를 바꿀때 애플리케이션에 가는 영향을 최소화할 수 있게 해야한다.
논리적 데이터 독립성
데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램에 아무런 영향을 주지 않는 것을 말함.
뷰를 이용하여 달성함.
물리적 데이터 독립성
데이터베이스의 물리적 구조를 변경시키더라도 기존 응용 프로그램이나 데이터베이스의 논리적 구조에 아무런 영향을 주지 않는 것을 말함.
사용자에게 접근이 허용된 자료만을 제한적으로 보여주기위해 하나 이상의 기본테이블로부터 유도된 이름을 가진 가상 테이블.
저장 장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주됨.
계층 DBMS
트리 구조를 기반으로 하는 계층 데이터 모델을 사용
네트워크 DBMS
그래프를 기반으로 하는 네트워크 데이터 모델을 사용
레코드가 링크로 연결되어 있으므로 레코드 구조를 변경하기 어려움
관계 DBMS
객체 지향 DBMS
객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델
데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉬우며, 유지와 변경이 용이함.
객체 관계 DMBS
관계 DMBS에 객체지향 개념을 통합한 객체 관계 데이터 모델이 제안됨.
XML DBMS
XML을 지원하는 Extended RDBMS