[Database] DBMS (Database Management System)

이상협·2022년 9월 14일

기존 파일 시스템(file system)의 문제점

  • 데이터 종속성(data dependency)과 데이터 중복성(data redundancy)

데이터 종속성(Data Dependency)

  • 응용 프로그램은 데이터의 구성이나 접근방법에 맞게 작성되어야 함
  • 데이터의 구성이나 접근방법을 변경할 때는 해당되는 응용 프로그램도 같이 변경되어야 함

데이터 중복성(Data Redundancy)

  • 같은 내용의 데이터 일지라도 각 응용 프로그램마다 별도의 파일로 만들어 중복되는 경우가 많이 생김
    • 이와 같이 중복되게 저장 관리되는 것을 데이터 중복성이라 함

데이터 중복성이 나쁜 이유

일관성(consistency)

  • 일관성이 없다. = 데이터 간의 불일치를 의미

보안성(security)

  • 같은 데이터에 대해 같은 수준의 보안 유지가 어렵다.

경제성(economics)

  • 추가적인 저장 공간, 비싼 갱신 비용(인건비)

무결성(integrity)

  • 데이터의 정확성을 유지하기 어렵다.
    • 정확성 - 전화번호 예시) 010-4134-34QF -> integrity error

DBMS란

  • 파일 시스템에서 야기되는 데이터 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템
  • 응용 프로그램들이 데이터베이스를 이용하기 위해서는 DBMS를 통해서만 가능
  • 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임을 DBMS가 지고 있음

DBMS의 필수 기능

정의(definition) 기능

  • DDL(Data Definition Language) 사용
  • 데이터베이스 구조를 정의할 수 있는 기능

조작(manipulation) 기능

  • DML(Data Manipulation Language) 사용
  • 데이터베이스를 접근하고 조작할 수 있는 기능

제어(control) 기능

  • DCL(Data Control Language) 사용
  • 정확성과 안전성을 유지할 수 있는 기능
  • 갱신을 정확하게 수행, 보안(허용된 데이터 연산만 진행), 병행 제어(concurrency control)

DBMS의 장단점

장점

  • 데이터 중복의 최소화
    • 제어된 중복만 허용
  • 데이터의 공용
  • 데이터의 일관성 유지
    • 중복을 줄임으로써 변경 시 불일치 최소화
  • 데이터의 무결성 유지
    • 정확성, 입력 시 에러 체크(전화번호 등)
  • 데이터의 보안 보장
  • 표준화 용이
    • 중앙 통제에 의한 표준화
  • 데이터의 독립성 제공
    • 구현상의 세부 사항을 사용자에게 숨김

단점

  • 운영비의 증대
    • 고가의 제품
  • 자료 처리 방법이 복잡
    • 상이한 데이터 타입, 고급 프로그래머 필요
  • 백업과 회복 기법이 어렵다
    • 장애 발생시 곤란
  • 시스템의 취약성
    • 일부장애 -> 전체 시스템 마비

데이터 독립성

  • 데이터의 논리적인 구조나 물리적인 구조가 변경되더라도 응용 프로그램에는 영향을 주지 않는 것

논리적 데이터 독립성(logical data independency)

  • 논리적 구조를 변경시키더라도 기존 응용 프로그램들에는 영향을 주지 않는 것

물리적 데이터 독립성(physical data independency)

  • 저장 장치나 새로운 접근 기법의 개발로 성능 개선을 위해 물리적 구조를 변경하더라도 이를 이용하는 응용 프로그램들에는 영향을 주지 않는 능력,
    • 논리적 구조에도 영향을 주어서는 안됨
  • 저장 장치의 효율적 개발이 가능

하나의 논리적 구조로부터 여러 가지 다양한 물리적 구조를 지원할 수 있는 사상(mapping) 능력이 있어야 가능


DBMS의 발전 과정

제 1세대 DBMS(first-generation DBMS)

  • IDS(Integrated Data Store)
    • 최초의 범용 DBMS
    • 네트워크 데이터 모델 (network data model)의 기초
  • IMS(Information Management System) DBMS
    • 계층 데이터 모델(hierarchical data model)의 기초

제 2세대 DBMS(second-generation DBMS)

  • 관계형 데이터 모델(relational data model), SQL
  • 상용 RDBMS: Oracle, SQL-Server, MySQL, DB2, Informix, Sybase

제 3세대 DBMS(third-generation DBMS)

  • 객체지향 DBMS(OODBMS: Object-Oriented DBMS)
  • 객체 관계형 DBMS(O-RDBMS: Object-Relational DBMS)

참고

  • 데이터베이스 시스템 개론과 MySQL 실습, 이용주 지음, 도서출판 홍릉, 2022

0개의 댓글