데이터베이스

데이터베이스_chapter01_데이터베이스 시스템

강용민 2022. 8. 12. 12:38

데이터 베이스는 조직체의 응용 시스템이 공유해서 사용하는 운영 데이터(operational data)들이 구조적으로 통합된 모임이다.

데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정된다.

 

이러한 데이터베이스는 다음과 같은 특징을 갖고 있다.

  • 데이터베이스는 데이터의 대규모 저장소로서, 여러 부서에 속하는 여러 사용자에 의해 동시에 사용된다.
  • 모든 데이터가 중복을 최소화하면서 통합된다.
  • 데이터베이스는 한 조직체의 운영 데이터뿐만 아니라 그 데이터에 관한 설명(데이터베이스 스키마 또는 메타데이터)까지 포함한다.
  • 프로그램과 데이터 간의 독립성이 제공된다.
  • 효율적으로 접근이 가능하고 질의를 할 수 있다.

 

데이터베이스 시스템

데이터베이스 시스템은 데이터베이스, 사용자, 응용프로그램, DBMS, 하드웨어로 구성되어있다.

  • 스키마(Schema)
    • 전체적인 데이터베이스 구조를 뜻한다.
    • 자주 변경되지 않으며, 내포(intension)이라고도 부른다.
  • 인스턴스(데이터베이스 상태)
    • 특정 시점의 데이터베이스 내용을 뜻한다.
    • 계속 변하는 특성을 가지며, 외연(extension)이라고도 부른다.
  • 데이터베이스
    • 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임을 뜻한다.
    • 시스템 카탈로그와 저장된 데이터베이스로 구분할 수 있다.
    • 시스템 카탈로그(system catalog)
      • 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
      • 저장된 데이터베이스의 스키마 정보를 유지
  • DMBS
    • 데이터베이스를 관리하는 시스템이다.
    • DBMS의 기능
      • 데이터 정의 : 데이터의 구조를 정의하고, 데이터 구조에 대한 삭제 및 변경 기능을 수행
      • 데이터 조작 : 데이터를 조작하는 소프트웨어가 요청하는 데이터의 검색, 삽입, 수정, 삭제 작업을 지원
      • 데이터 추출 : 사용자가 조회하는 데이터 혹은 응용프로그램의 데이터를 추출
      • 데이터 제어 : 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어, 백업과 회복, 동시성 제어 등의 기능을 지원한다.
  • 하드웨어
    • 데이터베이스는 디스크와 같은 보조 기억 장치에 저장되며, DBMS에서 우너하는 정보를 찾기 위해서는 디스크의 블록들을 주기억장치로 읽어 들어야 하며, 계산이나 비교 연산들을 수행하기 위해 중앙 처리 장치가 사용된다.
    • DBMS 자체도 주기억 장치에 적재되어 실행되어야 한다.

 

데이터베이스 시스템은 다음과 같은 요구 사항이 있다.

  • 데이터 독립성
  • 효율적인 데이터 접근
  • 데이터에 대한 동시 접근
  • 백업과 회복
  • 중복을 줄이거나 제어하며 일관성 유지
  • 데이터 무결성
  • 데이터 보안
  • 쉬운 질의어
  • 다양한 사용자 인터페이스

 

DBMS의 발전과정

데이터 모델

데이터 모델이란 데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합인 구조이다.

사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상을 제공한다.

 

데이터 모델의 종류는 다음과 같은 모델이 있다.

  • 계층 데이터 모델(hierarchical data model) 
    • 트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS
    • 어떻게 데이터를 접근하는가를 미리 응용 프로그램에 정의해야하며,
      데이터베이스가 생성될 때 각각의 관계를 명시적으로 정의해야 하며,
      레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어렵다는 단점이 있다.
  • 네트워크 데이터 모델(network data model)
    • 레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를 기반으로 하는 네트워크 데이터 모델을 사용한다.
    • 네트워크 DBMS에서도 레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어렵다.
  • 객체 데이터 모델(object data model)
  • 관계 데이터 모델(relational data model)
  • 객체-관계 데이터 모델(object-relational data model)