본문 바로가기
학교 전공/데이터베이스

데이터베이스 개론 - 2장 데이터베이스 관리 시스템의 등장 배경

by 응가1414 2023. 9. 16.

2장 데이터베이스 관리 시스템의 등장 배경

2장 데이터베이스 관리 시스템의 등장 배경.pdf
1.72MB

2-1 데이터 베이스 관리 시스템의 등장 배경

2-2. 데이터베이스 관리 시스템의 정의

2-3. 데이터베이스 관리 시스템의 장-단점

2-4. 데이터베이스 관리 시스템의 발전 과정

2-1 데이터 베이스 관리 시스템의 등장 배경

  • 파일 시스템(file system)
    • 데이터를 파일로 관리할 수 있도록 파일을 생성, 삭제, 수정, 검색하는 기능을 제공
    • 응용 프로그램별 로 필요한 데이터를 별도의 파일로 관리함
    • 응용프로그래머가 파일의 논리적인 구조뿐 아니라 물리적인 구조까지 정확히 파악
      • 데이터에 직접 접근하여 처리하는 응용 프로그램을 개발 할 수 있다.

파일 시스템의 문제점

  1. 데이터의 중복성 -> 같은 내용의 데이터가 여러 파일에 중복 저장일관성, 데이터 무결성(data integrity)을 유지하기 어렵다.
  2.  
  3. 같은 고객의 연락처가 파일마다 달라 데이터 간 불일치 발생 -> 결과적 데이터 일관성 유지 불가
  4. 데이터 중복성 (data redundancy) 문제가 발생
  5. 데이터 중속성 -> 응용 프로그램이 데이터 파일에 종속적 파일의 데이터를 구성하는 방법이나 물리적인 저장 구조에 맞게 작성파일 구조가 자주 변경되는 경우 심각하게 부각
  6. 고객명의 데이터가 추가가 되어 오른쪽 같이 변경되면, 관련 모든 프로그램에서 파일에 접근하는 방법을 변경해야한다.
  7. 이러한 특징을 데이터 중속성 (data dependency) 라고한다.
  8. 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 한다.
  1. 공유, 보안 회복 기능 부족 -> 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족보안 문제 -> 읽기, 수정, 실행 권한을 부여하는 방식으로 데이터 접근을 통제한다. 파일안의 레코드나 필드 같은 더 작은 단위에 대한 접근 통제와 더 구체적인 권한 부여가 가능해야한다.
  2. 회복문제 -> 파일 시스템에서 응용 프로그램이 파일을 사용하는 도중 장애가 발생하면 데이터를 일관된 상태로 회복하기 어렵다.
  3. 공유 문제 -> 동시 공유 기능을 제공하지 않는다. 하지만 이렇게 하면 결국 데이터가 중복 되기 때문에 더 큰 문제가 발생할 수 있다.
  4. 응용 프로그램을 개발하기 쉽지 않다.데이터 읽기, 데이터 삽입하기, 기존 데이터 삭제하기 등의 기본적인 데이터 관리 기능을 모두 포함해야한다.
  5. 사용자 요구에 맞는 응용 프로그램을 개발하는 데 어려움이 많다.

2-2. 데이터베이스 관리 시스템의 정의

데이터 베이스 관리 시스템

  • DBMS (DataBase Management System)
  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함

모든 문제의 근복 원인은 데이터 중복성과 데이터 중속성으로 요약가능하다

동시 공유, 보안, 회복 등의 복잡한 기능을 제공해주는 새로운 무엇이 여전히 필요하다.

데이터베이스 관리 시스템 (DBMS: DataBase Management System)은 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어

데이터 베이스 관리 시스템은 응용 프로그램을 대신하여 데이터 베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색 하고 모든, 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

고객 관리 응용 프로그램과 주문 관리 응용 프로그램이 동시에 데이터베이스를 사용할 때 발생할 수 있는 모든 분쟁을 데이터베이스 관리 시스템이 중재해준다.

데이터 베이스를 생성하고 접근하며 관리하는 일은 데이터베이스 관리 시스템이 모두 담당한다.

데이터베이스와 관련한 작업은 데이터베이스관리 시스템이 수행한 후 그 결과만 응용 프로그램을 통해 사용자에서 전달해주는 것

사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성(data independency) 이 확보된다.

- 정의 기능 ( DDL )

데이터베이스 관리 시스템은 조직에 필요한 데이터를 저장하기 적합한 베이터베이스 구조를 정의

이미 정의 된 구조를 수정할 수 있다.

DDL : create table, alter table, drop table

- 조작 기능 ( DML )

데이터베이스 관리 시스템은 삽입, 삭제, 수정, 검색 하는 연산을 효율적으로 처리

DML : data insert, data update, data delete, data select

- 제어 기능 ( DCL )

데이터베이스 관리 시스템은 여러 사용자가 공유해도 항상 정확하고 안전하게 유지하는 기능을 제공한다.

장애가 발생해도 회복이 가능하도록 제어한다.

권한이 있는 사용자에게만 데이터 접근을 허용하여 데티어베이스에 동시에 접근하여 데이터를 처리할 수 있도록 제어

DCL : grant, revoke

2-3. 데이터베이스 관리 시스템의 장-단점

데이터베이스 관리 시스템의 장점 (DBMS의 장점)

  1. 데이터 중복을 통제할 수 있다 -> 데티어 일관성 유지 가능데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제 해결
  2. 효율성 때문에 중복을 허용하는 경우에도 중복을 최소화 하도록 통제하여, 데이터 읽관성도 유지
  3. 데이터 독립성이 확보된다.응용 프로그램 대신 데이터베이스에 접급하고 관리하는 모든 책임 담당
  4. 데이터베이스 구조가 변경되어도 응용 프로그램이 영향을 받지 않는다. 응용 프로그램과 데이터베이스 사이에 독립성이 확보된다.
  5. 데이터를 동시 공유할 수 있다 -> 동시공유 -> 중복성 제거동시 접근 제어 기술 보유
  6. 동시 접근 제어하는 어려운 기술을 보유하고 있어 가능, 동시 공유를 지원하기 때문에 불필요한 데이터 중복을 제한 할수 있다.
  7. 데이터베이스에 통합된 데이터를 여러 응용 프로그램이 공유하여 같은 데이터 동시 접근할 수 있도록 지원한다.
  8. 데이터 보안이 향상된다 -> 권한 없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청 차단중앙 집중식으로 데이터를 관리하므로 효율적인 접근 제어 가능사용자 별로 접근 가능한 데이터베이스 영역을 제한하거나 접근 수준을 차별화 할 수 있다.
  9. 모든 파일의 보안을 같은 수준으로 유지하기 어렵고 사용 권한을 파일 단위로 제한하기 때문에 더 구체적이고 다양한 접근 제어를 제공하지 않는다.
  10. 권한없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청 차단
  11. 데이터 무결성을 유지할 수 있다 -> 데이터삽입, 수정, 수행 될시 유효성 검사하여 데이터 무결성 (정확성)을 유지정확하지 않은 값이나 허용되지 않은 값이 저장되어 있으면 잘못된 처리 결과를 유도하여 올바른 의사 결정이 어려워진다.데이터 무결성을 유지할 수 있게 한다.
  12. 반면, 데이터베이스 관리 시스템은 데이터에 대한 관리를 집중적으로 수행하면서 데이터에 대한 연산이 수행될 때마다 유효성 검사하여
  13. 데이터 무결성은 저장된 데이터 값의 정확성(accuracy)을 의미한다.
  14. 표준화할 수 있다. (DBMS)로 표준화데이터에 접근하는 방법, 데이터 형식과 구조 등을 표준화 하기 쉽다.
  15. 데이터에 대한 모든 접근이 데이터베이스 관리 시스템을 통해 이루어지기 때문에
  16. 장애 발생 시 회복이 가능하다
  17. 데이터 "일관성과 무결성"을 유지하면서 장애 발생 이전 상태로 데이터를 복구하는 회복 기능 지원
  18. 응용프로그램 개발 비용이 줄어든다. -> 초기 비용은 증가관리 시스템이 담당하기 때문에 파일 시스템을 사용할 때 보다 응용 프로그램 개발 비용이 적게 든다.
  19. 파일 시스템을 사용할 때보다 데이터 관리 부담이 줄어 응용 프로그램 개발 비용 및 유지 보수 비용이 줄어듦

데이터베이스 관리 시스템의 단점

  1. 비용이 많이 든다.
  2. 구매비용, 별도 구매 비용이 들고, 동시 사용이 허용되는 사용자 수에 따라 가격 증가
  3. 백업과 회복 방법이 복잡하다.데이터베이스 관리 시스템은 복잡하고 다양한 기능을 제공하기 위해 컴퓨터 자원을 사용한다.
  4. 장애 발생의 원인과 상태를 정확히 파악하기 어렵고 회복 방법도 복잡함
  5. 중앙 집중 관리로 인한 취약점이 존재한다.데이터베이스 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적임
  6. 대량의 데이터는 대개 데이터 베이스관리 시스템을 이용해 처리한다.
  7. 데이터베이스나 데이터베이스 관리 시스템에 장애가 발생하면 전체 시스템의 업무 처리가 중단된다.

2-4. 데이터베이스 관리 시스템의 발전 과정

1세대 : 네트워크 DBMS, 계층 DBMS

  • 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성네트워크 DBMS는 간선을 이용해 데이터 간의 관계를 표현, 데이터베이스의 구조가 복잡하고 변경하기어렵다.
  • 네트워크 DBMS는 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델을 사용
  • 계층 DBMS : 데이터베이스를 트리 형태로 구성계층 DBMS는 네트워크 DBMS보다 구조가 단순하다.
  • 데이터베이스를 트리 형태로 구성하는 계층 데이터 모델을 사용한다.

2세대 : 관계 DBMS

  • 관계 DBMS : 데이터베이스를 테이블 형태로 구성
  • 관계 DBMS는 데이터베이스를 테이블 형태로 구성하는 관계 데이터 모델을 사용

관계 데이터 모델은 데이터베이스를 단순하고 이해하기 쉬은 구조로 구성한다는 장점이 있다.

3세대 : 객체지향 DBMS, 객체관계 DBMS

DBMS는 객체지향 프로그래밍에서 도입한 객체라는 개념을 이용해 데이터베이스를 구성 하는 객체지향 데이터 모델을 사용

  • 객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
  • 객체관계 DBMS : 객체지향 DBMS + 관계 DBMS

관계 DBMS 제품들이 객체지향 기능을 지원하면서 객체관계 DBMS로 분류되기도 함

기존에 관계 DBMS로 분류된 제품들이 객체지향 기능을 지원하면서 객체관계 DBMS로 분류되길도 하는데 오라클이 대표적이다.

4세대 : NoSQL , NewSQL DBMS

관계 DBMS는 빠른 속도로 증가하는 대량의 비정형 데이터를 처리하는 데는 비효율적이다.

관계 DBMS는 그대로 유지한채 CPU나 메모리 같은 하드웨어 장치의 성능을 향상하는 것만으로는 무제 해결 할수 없었다.

이러한 시대적 흐름은 NoSQL DBMS의 등장을 이끌었다.

장점으로 제시하던 안정성, 일관성을 유지를 위한 복잡한 기능을 포기하고

데이터 구조를 미리 정해두지 않기 때문에 비정ㅎㅇ 데이터를 저장하고 처리하는 데 적합하다.

그리고 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용

  • NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남데이터 구조를 믿리 정해두지 않는 유연성을 가짐
  • 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
  • 안정성과 일관성 유지를 위한 복잡한 기능포기
  • NewSQL DBMS: 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성관계 DBMS + NoSQL 확장, 유연성 정형, 비정형 데이터를 안정적이고 빠르게 처리 가능
  • 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능

요약

1. 파일 시스템

  • 데이터를 파일로 관리하기 위해 파일의 생성, 삭제, 수정, 검색 기능을 제공하는 소프트웨어
  • 응용 프로그램마다 필요한 데이터를 별도 파일로 관리한다.
  • 데이터 중복성과 데이터 중속성 문제가 발생한다.

2. 데이터베이스 관리 시스템

  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어다
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장해두고 이를 관리한다.

3. 데이터베이스 관리 시스템의 주요 기능

  • 정의 기능 : 데이터베이스의 구조를 정의, 수정
  • 조작 기능 : 데티어를 삽입, 삭제, 수정, 검색하는 연산
  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지한다.

4. 데이터 베이스 관리 시스템의 장단점

5. 데이터베이스 관리 시스템의 발전과정

4세대로 분류

  • 1세대 : 네트워크 DBMS, 계층 DBMS
  • 2세대 : 관계 DBMS
  • 3세대 : 객체지향 DBMS, 객체관계 DBMS
  • 4세대 : NoSQL DBMS, NewSQL DBMS