데이터베이스 3) DBMS

zh025700·2022년 12월 22일

데이터베이스

목록 보기
3/15

데이터베이스

3. DBMS(Database management system)

기존 파일 시스템의 문제점

과거에는 시스템 마다 각자의 파일 시스템을 사용했다.
이는 아래와 같은 문제를 야기했다.

  • 데이터 종속성(data dependency)
    • 데이터가 다른 프로그램에서는 사용될 수 없다.
      • 응용프로그램은 데이터에 맞게 작성되어야한다.
    • 데이터의 구성, 접근방법이 변경될 때 해당되는 응용프로그램도 변경되어야한다.
  • 데이터 중복성(data redundancy)
    • 같은 내용의 데이터도 프로그램마다 저장되어 중복이 된다.

데이터 중복성이 나쁜 이유

중복성은 아래의 문제를 일으킨다.

  • 일관성(consistency)
    • 데이터간의 내용 불일치
      • 데이터가 갱신될때마다 모든 파일시스템을 갱신..? 어렵다.
        • 그래서 일어남
  • 보안성(security)
    • 같은 데이터에 대한 같은 수준의 보안 유지가 어렵다.
  • 경제성(economics)
    • 데이터가 중복 저장되니, 그 만큼의 저장공간이 필요하다.
    • 일관성을 유지하기 위해 관련된 모든 데이터를 수정해야하니 인력이 추가로 든다.
  • 무결성(integrity)
    • 데이터의 정확성을 유지하기 어렵다
      • 데이터의 타입 관련 이슈
        • 타입이 다르다면,..? 정확하지 않아..

DBMS란

파일시스템은 중복성, 종속성의 문제가 있다.
그래서 이를 해결하기위해 제안된 시스템이 DBMS이다.

  • 다양한 프로그램이 필요로 하는 데이터베이스를 정의,생성,조작,공유할 수 있는 기능을 제공하는 소프트웨어 시스템
  • 응용 프로그램은 DBMS를 통해 데이터베이스를 이용 가능하다.
  • 데이터베이스의 구성, 접근방법, 관리유지에 대한 모든 책임을 DBMS가 진다.

DBMS가 DB를 관리한다!

DBMS의 필수 기능

정의, 조작, 제어 기능이 있다.

  • 정의(definition)
    • DB 구조를 정의할 수 있다.
    • 데이터 정의 언어(DDL)을 사용한다
      • DB와 테이블들을 만들고 정의한다.
  • 조작(manipulation)
    • DB에 접근, 조작할 수 있다.
    • 데이터 조작 언어(DML)을 사용한다.
      • 데이터 검색, 삽입, 삭제 등 연산 작업을 수행하도록 지원
  • 제어(control)
    • 정확성, 안정성을 유지할 수 있다.
    • 데이터 제어 언어(DCL)을 사용한다.
      • 갱신을 정확하게
      • 허가된 사용자만 데이터에 접근 가능하게 보안
      • 병행 제어를 제공(concurrency control)

DBMS의 장단점

장점

  • 중복의 최소화
    • 통제된 중복만 허용
    • 불필요한 중복은 제거
  • 데이터의 공유
    • 데이터를 효율적으로 공동 활용할 수 있다.
  • 일관성 유지
    • 중복을 줄임으로써, 데이터의 변경이 일어날때, 데이터의 불일치를 최소화할 수 있다.
  • 무결성 유지
    • 데이터의 유효성을 체크할 수 있다.
      • 타입이 다르면 에러를 발생하는 기능을 통해
  • 보안 보장
    • 다양한 보안 기능을 제공해 보안을 보장
  • 표준화 용이
    • 중앙 통제에 의한 표준화
  • 독립성 제공
    • 구현의 세부사항을 사용자에게 숨긴다.
      • 편리, 효울성을 극대화한다.

단점

  • 운영비 증대
    • DBMS는 고가의 제품이다.
  • 자료 처리 방법의 복잡성
    • 데이터는 다른 데이터 타입들이 존재 가능하고, 이를 이해하기 위해선 고급 프로그래머가 필요하다.
  • 백업, 회복기법의 난이도 상승
    • 장애가 발생될 때 이를 처리하기 위한 백업, 회복 기법이 복잡하다.
  • 시스템 취약성
    • 중앙관리에 의한 데이터 관리의 효율성은 있지만, 장애가 발생하면 시스템이 마비될 수 있다.

데이터 독립성

데이터베이스의 데이터 독립성이란, 데이터의 논리적인 구조나, 물리적인 구조가 변경되어도 응용 프로그램에는 영향을 주지 않는 것을 뜻한다.

  • 논리적 데이터 독립성(logical data independency)
    • 논리적 구조를 변경하더라도 기존 프로그램에는 영향을 주지 않음
  • 물리적 데이터 독립성(physical data independency)
    • 저장장치나 새로운 기법의 개발로 인해 물리적 구조를 변경해도, 응용프로그램에는 영향을 주지 않음
      • 논리적 구조에도 영향을 끼치면 안됨!
    • 이를 지원한다면 저장 장치의 효율적 개발이 가능하다.

하나의 논리적 구조로부터 여러가지 다양한 물리적 구조를 지원할 수 있는 사상(맵핑)능력이 필요하다는 것을 의미한다.

DBMS 발전 과정

  1. 1세대 DBMS
    • 네트워크 데이터 모델, 계층 데이터 모델
  2. 2세대
    • 관계형 데이터 모델
  3. 3세대
    • 객체지향 DBMS
profile
정리

0개의 댓글