이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다!
DBMS란
DBMS(DataBase Management System)은 기존 파일 시스템의 데이터 종속성(Data Dependency)과 데이터 중복성(Data Redundancy) 문제를 해결하기 위해 제안됐다.
DBMS는 다양한 사용자가 필요로 하는 데이터베이스를 정의, 생성, 조작, 공유할 수 있도록 기능을 제공하는 소프트웨어 시스템을 말한다. 이런 환경 하에 응용 프로그램들이 데이터베이스를 이용하기 위해서는 DBMS를 통해야 하며, 데이터베이스의 구성, 접근방법, 그리고 관리유지에 대한 모든 책임을 DBMS가 지고 있다.
DBMS의 기본적인 아이디어는 아래 그림처럼 묘사된다.
DBMS의 필수 기능
정의(definition) 기능 : 데이터베이스 구조를 정의할 수 있는 기능으로서 데이터 정의 언어(DDL : Data Definition Language)를 사용한다. DDL을 사용해 데이터베이스와 테이블을 만들고 정의한다.
조작(manipulation) 기능 : 데이터베이스를 접근하고 조작할 수 있는 기능으로서 데이터 조작 언어(DML : Data Manipulation Language)를 사용한다. DML을 사용해 데이터의 검색, 삽입, 삭제 등 데이터베이스 연산 작업을 수행하도록 지원한다.
제어(control) 기능 : 데이터베이스의 정확성과 안전성을 유지할 수 있는 기능으로서 데이터 제어 언어(DCL : Data Control Language)를 사용한다. DCL을 사용해 데이터의 갱신을 정확하게 수행하거나, 허가된 사용자만 데이터에 접근할 수 있도록 보안을 유지, 여러 사용자가 동시에 데이터베이스에 접근할 때 항상 처리 결과가 정확하게 유지되도록 병행 제어를 할 수 있도록 한다.
DBMS의 장단점
장점
- 데이터 중복의 최소화 : 제어된 중복만 허용
- 데이터를 공유할 수 있다.
- 데이터의 일관성 유지 : 중복을 줄여 변경 시 불일치 최소화
- 데이터의 무결성 유지 : 정확성을 유지할 수 있다.
- 데이터의 보안 보장
- 표준화 용이 : 중앙 통제에 의한 표준화를 통해 효율적인 자료 관리 가능
- 데이터의 독립성 제공 : 구현상의 세부 사항을 사용자에게 숨겨, 사용자는 일반적인 구조에만 집중하고 편리성과 효율성을 극대화할 수 있다.
단점
- 운영비의 증대 : 고가의 제품 (예시, Oracle), 유지 보수 비용
- 자료 처리 방법이 복잡하다.
- 백업과 회복 기법이 어렵다.
- 시스템의 취약성 : 중앙 집중 관리로 인해 '일부 장애 -> 전체 시스템 마비'와 같은 상황이 발생 가능
[참고자료]
'컴퓨터 공학 Computer Engineering > 데이터베이스 Database' 카테고리의 다른 글
관계형 해석 (튜플 관계형 해석 vs 도메인 관계형 해석) (0) | 2021.11.09 |
---|---|
[MySQL] 테이블 열(컬럼) 추가, 삭제 (예시 포함) (0) | 2021.09.16 |
데이터베이스의 개념적 구성 (개체, 속성, 관계) (0) | 2021.09.09 |
데이터베이스 정의, 특징 (0) | 2021.09.09 |
[MySQL] INSERT, SELECT, UPDATE, DELETE 정리 (0) | 2021.06.30 |