DBMS

IT위키
인쇄용 판은 더 이상 지원되지 않으며 렌더링 오류가 있을 수 있습니다. 브라우저 북마크를 업데이트해 주시고 기본 브라우저 인쇄 기능을 대신 사용해 주십시오.
Database Management System
파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장. 모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템

등장 배경

기존의 파일처리 방식의 문제점
  • 종속성의 문제점: 저장되는 방법이나 접근방법을 변경할 때 모두 바꿔줘야 한다.
  • 중복성의 문제점: 일관성, 보안성, 경제성, 무결성 부족

역할

  • 사용자의 요구에 따라 정보를 생성하고 스키마와 데이터를 관리
  • 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램이 DB를 공용할 수 있도록 관리
  • DB의 구성, 접근방법, 유지관리에 대한 모든 책임

기능

  • 정의 기능(Definition Facility): 데이터의 형태, 구조 등 데이터베이스의 저장에 관한 여러 가지 사항을 정의하는 기능
  • 조작 기능 (Manipulation Facility): 사용자가 이용할 수 있도록 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능
  • 제어 기능 (Control Facility): 데이터의 정확성과 안전성 유지를 위한 기능으로, 데이터 무결성 유지, 보안, 병행 제어 등을 제공

장·단점

데이터베이스 외 기존 파일·문서 시스템 대비 장단점
장점 단점
  • 데이터 중복 예방
  • 자료를 공동으로 이용
  • 일관성, 무결성, 보안성, 최신성 유지
  • 데이터 표준화 및 통합 관리
  • 실시간 처리
  • 논리적 물리적 독립성 보장
  • 전문가 수급에 따른 전산화 비용 증가
  • 디스크에 집중적인 접근으로 과부하 발생
  • 파일의 백업과 회복의 어려움
  • 시스템 복잡도 증가

관리

시스템 카탈로그

  • 시스템 그 자체를 관리하기 위한 정보를 가지고 있는 시스템 데이터베이스
  • DBMS가 스스로 생성하고 유지한다.
  • 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 하며, 카탈로그를 자료 사전(Data Dictionary)라고도 한다.
    • 실무적으로 시스템 카탈로그는 '시스템 DB', '시스템 테이블' 등으로 불린다.
  • 일반 테이블과 마찬가지로 일반 사용자가 SQL문을 통해 제어 가능하다.
    • 대부분의 테이블은 SELECT만 가능하며, 일부 테이블에 한해 INSERT, UPDATE, DELETE가 가능하다.

관리 언어

상세한 내용은 SQL 문서 보기
  • 정의어 (DDL : Data Definition Language)
    • 데이터베이스 구조를 정의 및 수정하기 위해 사용되는 언어
  • 조작어 (DML : Data Manipulation Language)
    • 데이터베이스 내의 자료를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어
  • 제어어 (DCL : Data Control Language)
    • 데이터베이스의 데이터 무결성 유지, 보안, 병행, 제어, 보호와 관리를 위한 언어

설계 시 고려사항

  • 무결성 유지: 연산 후에도 데이터가 정해진 제약조건을 항상 만족해야 함
  • 일관성 유지: 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
  • 회복성 유지: 장애 발생시 장애 발생 직전의 상태로 복구할 수 있어야 함
  • 보안성 유지: 데이터 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
  • 효율성 유지: 응답시간 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
  • 확장성 유지: DB 운영에 영향을 주지 않고 지속적으로 데이터를 추가 할 수 있어야 함

관련 개념