DBMS

From CS Wiki
Revision as of 23:15, 28 April 2019 by 정처기정리 (talk | contribs)
Database Management System
파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장. 모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템

등장 배경

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

역할

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

기능

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

장·단점

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

DBMS 관리 언어

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

DBMS 설계 시 고려사항

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

관련 개념