[데이터베이스] 3. 데이터베이스 시스템

이건회·2022년 4월 28일
0

데이터베이스

목록 보기
3/23

  • 데이터베이스 시스템은 데이터베이스에 데이터를 저장하고 관리하여 조직에 필요한 정보를 생성해주는 시스템이다. 컴퓨터 데이터베이스와 DBS, 그리고 사용자와 DBS를 연결하는 데이터 언어까지 포함하는 개념이다.

  • 스키마는 db에 저장되는 데이터 구조와 제약조건을 정의한 것이다. 예를 들어 고객이라는 테이블에 고객 개체에 관련해서 저장한 속성(번호,이름,나이,주소)를 명시하고 그 속성의 타입까지 명시한다. 인스턴스는 이 제약조건인 스키마에 따라 데이터베이스에 실제 저장된 값이다. 인스턴스는 변경이 가능하다.

  • 위 두 db 테이블에서 정의된 스키마(eNo,name...)와 인스턴스(1,Smith...)를 확인할 수 있다.

  • db 구조는 3단계로 나뉘어진다
  • 외부 단계는 개별 사용자 관점, 개념 단계는 조직 전체의 관점, 내부 단계는 물리적 저장 장치의 관점에서 데이터베이스를 보는 것이다.
  • 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아진다.

  • 예를 들어 집주인 관점에서 아파트를 바라보는 것은 외부 단계다. 특정 호(201호)에만 관심이 있는 것이다.
  • 관리인 관점에서는 아파트의 모든 호수에 관심이 있으므로 개념 단계다.
  • 또 건설업체 관점에서는 아파트의 물리적 구조에 관심이 있으므로 내부 단계이다.

  • 내부 단계에서 저장 장치 관점에서 제약 규정을 정의하고, 개념 단계는 조직관점에서 어떻게 데이터를 개념화할지를 정의하고, 외부 단계에서는 이에서 더 추상화시켜 각각의 응용 프로그램이나 사용자에 따라서 구조를 정의한다.

  • 외부 단계는 3단계중 가장 개념화 되어있는 단계다. 사용자 관점에서 이해 및 표현한다.
  • 데이터베이스 하나에 외부 스키마가 여러개 존재할 수 있다.
  • 외부 스키마는 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것이다.
  • 각 사용자마다 생각하는 데이터베이스의 모습이므로 사용자마다 다르며, 서브 스키마라고도 한다.

  • 개념 단계는 db를 조직 전체 관점에서 바라보며, db 하나에 하나의 개념 스키마가 존재한다.
  • 데이터에 대한 보안 정책이나 접근 권한에 대한 정의도 포함한다.

  • 내부 단계는 저장 장치의 관점에서 db를 이해하고 표현하는 단계다. 역시 db 하나에 하나의 내부 스키마가 존재한다.
  • 여러 물리적 저장 구조를 정의한다.

  • 외부 단계는 여러개의 외부 스키마, 개념 단계와 내부단계를 하나의 스키마를 가진다.

  • 외부 스키마와 개념 스키나의 대응 관계는 외부/개념 사상이며 응용 인터페이스라고도 한다.
  • 개념 스키마와 내부 스키마의 대응 관계는 개념/내부 사상이며 저장 인터페이스라고도 한다.
  • 이렇게 대응 관계를 정의하는 목적은 데이터 독립성의 실현이다.

  • 데이터 독립성은 하위 스키마를 변경해도 상위 스키마가 영향을 받지 않는 특성이다.
  • 논리적 데이터 독립성은 개념 스키마가 변경되어도 외부 스키마가 영향을 받지 않는 것이다.
  • 물리적 데이터 독립성은 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않는 것이다.

  • 데이터 사전은 시스템 카탈로그라고도 한다.
  • 데이터베이스에 저장되는 데이터에 관한 정보, 즉 메타 데이터를 유지하는 시스템 데이터베이스다.
  • 스키마, 사상정보, 다양한 제약조건 등을 저장한 사전이다.
  • 이는 사용자가 아닌 DBS가 스스로 생성하고 유지한다.
  • 사용자는 접근이 가능하지만 저장 내용을 검색만 가능하다.

  • 데이터 디렉토리는 데이터 사전의 데이터에 실제로 접근하는데 필요한 위치 정보를 저장하는 시스템 데이터베이스며, 일반 사용자의 접근은 허용되지 않는다.
  • 사용자 데이터베이스는 사용자가 실제로 이용하는 데이터가 저장되어 있다.

  • 데이터베이스 사용자는 데이터베이스 관리자, 최종 사용자, 응용 프로그래머 셋으로 구분된다.
  • 데이터베이스 관리사는 DBS를 운영 및 관리, 최종 사용자는 db에 접근해 데이터를 조작, 응용 프로그래머는 데이터 언어를 삽입해 응용 프로그램을 작성한다.

  • 데이터베이스 관리자(DBA)는 위와 같이 DBS 운영에 필요한 업무를 한다. 주로 데이터 정의어와 데이터 제어어를 사용한다.

  • 최종사용자는 데이터베이스에 접근하여 데이터를 조작하므로, 주로 데이터 조작어를 사용한다.
  • 응용 프로그래머는 데이터 언어를 삽입해 응용 프로그램을 작성하며, 데이터 조작어를 사용한다.

  • 데이터언어는 사용자와 db간의 통신 수단이며, 사용 목적에 따라 데이터 정의어(스키마 정의나 수정 또는 삭제), 데이터 조작어(데이터의 삽입,삭제,수정,검색 처리), 데이터 제어어(내부적으로 필요한 규칙이나 기법 정의)로 구분한다.

  • 데이터 정의어는 스키마를 정의, 수정, 삭제한다.
  • 데이터 조작어는 데이터를 삽입,삭제,수정,검색 처리를 한다.
  • 절차적 데이터 조작어는 어떤 절차를 통해서 데이터 검색 처리가 이루어지는지를 설명하고, 비절차적 데이터 조작어는 사용자가 결과적으로 어떤 데이터를 원하는지만 설명한다.

  • 데이터 제어어는 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용한다.
  • 무결성, 보안, 회복, 동시 공유를 지원한다.

  • 데이터베이스 관리 시스템은 데이터베이스 관리와 사용자의 데이터 처리 요구를 수행하기 위한 것이다.
  • 질의 처리기는 사용자의 데이터 처리 요구를 해석하여 처리한다
  • 저장 데이터 관리자는 디스크에 저장된 사용자db와 데이터 사전을 관리하고 실제로 접근하는 역할을 담당한다.

  • 데이터베이스 관리 시스템의 구성을 위 그림을 통해 총체적으로 확인할 수 있다.
profile
하마드

0개의 댓글