nonani

DBMS 본문

CS공부/Database

DBMS

nonani 2023. 3. 10. 18:10
 

3학년 1학기 데이터베이스 과목을 수강하며 강의 내용을 정리한 게시글입니다.


DBMS

  • DBMS란 : DataBase Management System의 약자롤 데이터베이스를 관리해주는 소프트웨어
  • DBMS의 발전 배경

 


DBMS의 발전 배경

이전의 파일 시스템

이전의 파일 시스템에서는 응용 프로그램과 파일과의 관계가 1:1 관계였음 따라서 여러 응용프로그램 사이에서 중복으로 사용하느 데이터가 있을 경우, 데이터의 추가, 삭제, 변경이 일괄적으로 이루어져야 했음. 따라서 데이터의 정확성과 일관성이 떨어지는 등의 아래와 같은 문제 발생

  • 데이터의 종속성(Data Dependency)
    1. 응용 프로그램과 데이터 가의 상호 의존관계
    2. 데이터의 구성 방법이나 접근 방법의 변경 시 관련 응용 프로그램도 동시에 변경해야하는 작업 발생
    3. 응용 프로그램 및 데이터 관리가 곤란
  • 데이터의 중복성(Data Redundancy)
    1. 한 시스템 내에 같은 내용의 데이터가 여러 파일에 중복 저장되어 관리
    2. 문제점
      • 일관성(consistency) : 데이터의 올바른 유무와 상관없이 데이터들의 값이 서로 일치하는상태
      • 보안성(security)
      • 경제성(economics)
      • 무결성(Integrity) : 데이터 값이 정확하고 완전한 상태

파일 관리 시스템

응용 프로그램들과 파일들과의 관계를 1:1 관계가 아닌 공동으로 접근 가능한 경로의 파일 하나에 여러 응용프로그램들이 관계를 가지는 파일 관리 시스템

이 또한, 데이터의 일관성 부분에 있어서 여러 시스템적, 보안적 이슈가 발생할 수 있음. ex) 2명이상이 동시에 같은 좌석을 예매하는 경우

DBMS

따라서  응용 프로그램들과 데이터 사이의 중재자로서 모든 응용 프로그램(사용자)들이 데이터베이스를 공용할 수 있게 과리해 주는 범용 소프트웨어 시스템이 등장하였음.

  1. 제 1세대 DBMS
    • IDS(Intergrated Data Store
      • 최초의 범용 DBM
      • 네트워크 데이터 모델의 기초
  • IMS(Information Management System)
    • 1960년대 후반 IBM이 개발
    • 게층 데이터 모델(hierarchical data model)의 기초

네트워크 데이터 모델의 기초
계층형 데이터 모델의 예 : 트리 형태로 저장된 것을 확인 할 수 있음

2. 제 2세대 DBMS: RDBMS

  • 관계형 데이터 모델
    • IBM의 Edgar F. Codd 가 제안: 튜링 어워드 수상
    • 테이블 형태의 데이터구조
    • 관계형 Database 이론의 기초
    • 1980년대부터 현재까지 가장 보편화됨
  • SQL
    • 세계 표준 데이터베이스 언어

3. 제 3세대 DBMS

  • 사용자의 데이터베이스 응용에 대한 복잡성(complexity) 증대
    • engineering, images, videos, spatial, time series, data mining
  • 사용자 요구에 대처하기 위해 새로운 data model을 기반으로 시스템 개발
    • 객체 지향 DBMS
  • 90년대 중반 이후 관심이 증가하였으나, 현재 점유율 측면에서 관계형 데이터베이스에 비해 크게 뒤떨어짐

 


 

DBMS의 필수 기능

  1. 정의 기능
    • 하나의 저장 구조(storage structure)로 여러 사용자의 요구를 지원할 수 있도록 데이터를 조직(organize)하는 기능
    • 정의 기능의 요건
      1. 데이터의 논리적 구조(logical structure)를 명세
      2. 데이터의 물리적 구조(physical structure)를 명세
      3. 물리적/논리적 사상(mapping) 명세

  1. 조작(manipulation) 기능
    • 사용자와 데이터베이스 가의 interface를 위한 수단
    • 체계적 데이터베이스 접근 및 조작 : 검색(retrieve), 갱신(update), 삽입(insert), 삭제(delete)
    • 데이터 언어(SQL)로 표현
      1. 사용하기가 쉽고 자연스로운 도구
      2. 원하는 연산의 명세 가능
      3. 효율적인 처리
  2. 제어(control) 기능
    • 데이터의 정확성(correctness)과 보안성(security)을 유지하는 기능
    • 제어 기능의 요건
      1. 무결성(intergrity) 유지
      2. 보안(security), 권한(authority) 검사
      3. 병행수행 제어(concurrency control) : ex) 동시에 여러 사용자가 데이터를 수정, 추가, 삭제를 하는 경우 그 마다의 처리
      4. 복구(recovery)

 

DBMS의 장단점

  • 장점
    • 데이터 중복(redundancy)의 최소화
    • 데이터의 공용(sharing)
    • 일관성(consistency) 및 무결성(integrity) 유지
    • 보안 보장
    • 표준화 용이
    • 기관 전체 데이터 요구의 조정
  • 단점
    • 운영비의 overhead
    • 복잡한 절차의 data backup과 recovery

 

 

 


 

마무리

현재 보편화된 관계형 데이터베이스의 등장 과정에 대해서 정리해보았습니다.

'CS공부 > Database' 카테고리의 다른 글

관계형 데이터베이스  (1) 2023.03.10