본문 바로가기

데이터베이스기초

[데이타베이스기초] 데이타베이스 관리 시스템

DBMS의 발전 배경

1. 파일 중심 데이터 처리 시스템

  • 초기 데이타 처리 시스템은 파일 중심 데이터 처리 시스템이었다. (1:1 대응)
  • 응용 프로그램이 개별적으로 자기 자신의 데이터를 파일로 관리 유지하는 처리 시스템

파일 중심 데이터 처리 시스템의 특성

  • OS가 지원
  • 응용 프로그램은 응용 프로그래머가 생각하는 논리적 파일 구조를 직접 물리적 파일 구조로 구현해야 한다.
  • 응용 프로그래머는 물리적 데이터 구조에 대해 잘 알고 있어야 함
  • 모든 응용 프로그램은 자기 자신의 데이터 파일을 가지고 있어야 함
  • 응용 간의 데이타 공용이 불가능
  • -> 하나의 파일은 하나의 응용만을 위해 존재함(1:1 관계)

 

=> 데이터 공용을 할 수 없어서 데이터 종속성, 데이터 중복성을 야기함

 

2. 데이터 중복성

  • 한 시스템 내에서 내용이 같은 데이터가 여러 파일에 중복되게 저장되어 관리되는 것

데이터 중복성의 문제점

  • 일관성: 여러 개의 데이터가 데이터 중복으로 인해서 동일성 유지하지 못하고, 데이터 간의 불일치 일어나서 일관성 X
  • 보안성: 한 시스템 내에 존재하는 같은 내용의 데이터이지만 데이타 중복을 인해서 같은 수준의 보안이 유지되지 X
  • 경제성: 데이터 중복 저장되면 저장 공간에 대한 비용 많이 듦
  • 무결성: 데이터 중복 저장되면 제어가 분산되어서 데이터 무결성(데이타 정확성) 유지하기 힘듦

3. 데이터 종속성

  • 응용 프로그램과 데이터 간의 상호 의존 관계
  • 데이터의 구성 방법이나 접근 방법을 변경할 때 자연히 이것을 기초로 한 응용프로그램도 같이 변경시켜야 함
  • 응용 프로그램 관리가 곤란

 

 

=> 파일 관리 시스템(공동 접근 루틴)도 데이터의 중복성을 야기함! => 최종적으로 DBMS가 발전되었습니다.

 

DBMS의 정의 

  • 데이터베이스를 편리하고 효율적으로 관리하기 위해 필요한 기능을 집대성한 소프트웨어 패키지
  • 응용 프로그램데이터의 중재자로서 모든 응용 프로그램(사용자)들이 데이터베이스 공용할 수 있게끔 관리해 주는 범용 소프트웨어 시스템
  • 데이타베이스는 여러 사용자나 응용 프로그램들이 공유해서 사용할 수 있는 데이터의 집합
  • 응용 프로그램은 사용자가 시스템에 표현한 여러 가지 형태의 요구

데이타의 집합인 데이타베이스와 사용자 사이의 중재자로써 중간다리에 존재하면서 DDL, DML, DCL 등 데이타 언어 제공합니다. -> 데이타 정의, 제어, 조작 기능 수행합니다.
DBMS가 포함된 전체적인 틀을 가진 데이타베이스 시스템

DBMS의 필수 기능

1. 정의 기능(구조 설계, CREATE)

  • 하나의 저장 구조로 여러 사용자의 요구를 지원할 수 있도록 데이타를 조직하는 기능
  • 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 생성, 수정, 삭제하는 기능을 제공합니다.
  • -> 필수 요건데이터베이스의 논리적 구조와 특성이 DBMS가 지원하는 데이터 모델에 맞게 기술데이터의 물리적 구조의 명세 포함물리적/논리적 구조 상호 변환 가능하도록 사상 명세

2. 조작 기능(데이터를 데이타 언어로 검색, 삽입, 수정, 삭제할 수 있도록)

  • 사용자와 데이터베이스 사이의 인터페이스를 위한 수단 제공함-> 사용자가 데이타에 접근해서 검, 삽, 수, 삭 함!!
  • 체계적인 데이타베이스 접근 및 조작을 하는 것입니다.
  • 검색, 갱신, 삽입, 삭제 등의 데이타베이스 연산을 지원하는 도구
  • SELECT, INSERT, UPDATE, DELETE 등의 SQL 문을 사용하여 데이터를 조작할 수 있습니다.
  • 데이터 언어(SQL)로 표현 = 사용자가 사용하기 쉽고 자연스러움명확하고 완전해야 함효율적이어야 함
  • -> 6장에서 데이타 조작어 배웠잖아!! 그거야 그거

3. 제어 기능

  • 데이타의 정확성과 보안성을 유지하는 기능
  • -> 필수 요건: 병행 수행 제어, 보안, 권한 검사, 데이타 무결성 유지, 복구

 

DBMS의 장단점

1. DBMS의 장점

  • 데이터 중복의 최소화(DBMS는 데이터를 중앙에서 관리)
  • 데이터 공용
  • 데이터 일관성 유지
  • 데이터 무결성 유지
  • 데이터 보안 보장
  • 표준화 용이
  • 기관 전체 데이터 요구의 조정(다양한 방식으로 기여, 가장 유익한 구조로 데이타 조직 -> 효율적인 정보 처리 가능)

 

2. DBMS의 단점

  • 운영비의 증대(소프트웨어와 하드웨어의 조합으로 구성되므로 초기 구축 비용이 높음)
  • 특정 응용 프로그램의 복잡화(상이한 DB중에 내 것을 찾아서 접근하기 위해서)
  • 복잡한 백업과 회복
  • 시스템의 취약성(DBMS는 중앙에서 데이터를 관리하므로, DBMS에 장애가 발생하면 전체 시스템이 영향을 받을 수 있음)

 

DBMS의 궁극적 목적? 데이터 독립성

  • 데이타의 논리적 구조나 물리적 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는 것입니다.
  • 데이타베이스(데이타 집합)-DBMS(중재자)-응용프로그램(사용자)
  • 원래는 종속돼있어서 데이타 변경하면 응프도 같이 변경해줬어야 했지만 DBMS가 중간다리 역할을 해줘서 데이타 독립성 보장됩니다~~~

1. 물리적 데이터 독립성

  • 파일 구조를 변경하더라도 응용프로그램에 영향을 주지 않는 것
  • 기존 응용 프로그램과 논리적 데이타 구조에 아무런 영향을 주지 않고 데이터베이스 관리 시스템이 데이터베이스의 물리적 구조를 변경할 수 있는 것
  • 데이타베이스의 물리적 구조를 변경했습니다 -> 응용 프로그램에 아무런 영향이 가지 않습니다. 물리적인 데이타가 독립적입니다!!!

 

2. 논리적 데이터 독립성

  • 응용프로그램이 변경되더라도 파일구조를 변경할 필요가 없는 것
  • 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램들에 아무런 영향을 주지 않는 것
  • 데이타베이스의 논리적 구조를 변경했습니다 -> 응용 프로그램에 아무런 영향이 가지 않습니다. 논리적인 데이타가 독립적입니다!!!

3. 데이터 독립성 구현 기법? 사상

DBMS의 발전 과정

  • 제1세대 DBMS? 네트워크 데이타 모델
  • 2세대 DBMS? 관계 데이터 모델, SQL(세계 표준 데이타베이스 언어)
  • 3세대 DBMS? 객체지향 데이터베이스
  • -> 현재: 객체-관계 데이타베이스(2세대+3세대)