Computer Science/Database, SQL

[HUFS/데이터베이스] #2 데이터베이스 관리 시스템

성중 2021. 9. 8. 21:21

데이터베이스 관리 시스템(Database Management System)

 

DBMS 이전의 데이터들은 OS(운영체제)가 지원하는 파일 중심 데이터 처리 시스템을 따랐다

 

각 응용 프로그램이 파일의 논리적 구조를 정의하고 이를 물리적 구조(용량)로 구현한다

각각의 물리적 구조가 달라 응용 프로그램들이 데이터를 공유하지 못하는 문제 -> 종속성

각 응용프로그램이 동시에 데이터를 변경하지 못하는 문제 -> 중복성

 

라이브러리를 통해 데이터에 접근하는 방식 -> 여전히 종속성과 중복성 존재
종속성 & 중복성의 문제점
DBMS가 응용프로그램과 데이터 사이의 중재자 역할을 하며 데이터베이스를 공유한다

 

데이터베이스의 필수 기능

 정의 기능

  • 하나의 저장 구조로 여러 사용자의 요구를 지원하도록 데이터를 조직
  • 데이터의 논리적(정보)/물리적(용량) 구조를 명세
  • 물리적/논리적 사상(mapping)을 명세

 

조작 기능

  • 사용자와 DB 사이의 인터페이스를 위한 수단
  • 체계적 접근 및 조작 (검색/갱신/삽입/삭제)
  • 데이터 언어로 원하는 연산의 명세 및 효율적 처리

 

제어 기능

  • 데이터의 정확성과 보안성을 유지하는 기능
  • 무결성(항상 정확한 데이터)/보안/권한(authority) 검사/병행수행 제어/복구 등

 

 

DBMS의 장단점

 장점

  • 데이터 중복(redundancy)의 최소화
  • 데이터의 공용(sharing)
  • 일관성(consistency) 유지
  • 무결성(integrity) 유지
  • 보안(security) 보장
  • 표준화(standardization) 용이
  • 기관 전체 데이터 요구의 조정

 

단점

  • 운영비의 증대
  • 특정 응용 프로그램의 복잡화
  • 복잡한 백업과 회복(recovery)
  • 시스템의 취약성

 

사상된 논리적 구조를 다시 한 번 가상의 논리적 구조로 사상해줄 수 있다

데이터 독립성(data independency): 물리적 구조가 변경되어도 논리적 구조에 영향을 주지 않고 알갱이만 변경됨. 논리적 구조가 바뀌더라도 마찬가지로 사상(mapping)에만 기록하면 되기 때문에 응용 프로그램에는 변화 없음

 

데이터 독립성의 핵심 구현 기법은 사상(mapping)!

 

DBMS의 역사

 

1세대 DBMS / 절차적 방식
2세대 DBMS -> 관계형 데이터 베이스(RDBMS) / 비절차적 방식

* 비절차적 방식이란?

개발자가 처리 절차를 지정하지 않고 원하는 결과를 정의하여 요청하는 방식이다!

비절차적 방식의 SQL이 데이터베이스의 표준 언어가 되었다

 

3 세대 DBMS -> 객체지향 데이터베이스(OODBMS) 정형화된 데이터를 넘어 모든 데이터를 저장

현재 시장의 대부분은 RDBMS가 차지하고 있다!