[1과목] 6. 모델링 - 데이터 모델링에서 데이터 독립성의 이해

yeomss·2022년 3월 4일
0

SQLD

목록 보기
6/14
post-thumbnail

데이터 독립성의 필요성


상호간 영향에서 벗어서 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화 시키는 것

  • 컴포넌트 기반의 모듈 구성도 각각이 고유한 기능을 가지면서 다른 기능을 가지고 있는
    컴포넌트와 인터페이스를 가지게 하는 모습으로 정의할 수 있다.
  • 어떤 단위에 대해 독립적인 의미를 부여하고, 그것을 효과적으로 구현하게 되면 자신이 가지는 고유한 특징을 명확하게 할 뿐만 아니라 다른 기능의 변경으로부터 쉽게 변경되지 않고 자신의 고유한 기능을 가지고 기능을 제공하는 장점을 가지게 된다.
  • 데이터 독립성을 이해하기 위해서는 ANSI 표준 모델을 살펴보면 된다.
    • 특히 3단계인 구조, 독립성, 사상(Mapping) 3가지를 이해

출연 배경

  • 데이터 독립성 ↔ 데이터 종속성
  • 여기서 종속의 주체는 응용(Application) 을 지칭한다.
  • 응용은 사용자 요구사항을 처리하는 사용자 접점의 인터페이스 오브젝트 이다.
    • 사용자가 접근하는 방법 (트랜잭션) 에 따라
    • 파일의 정렬 순서, 인덱스의 정렬순서, 파일 구성 등을 제공하기 쉽게 별도로 구성한다.
    • 즉, 사용자 접근 방법에 따라 데이터를 구성하는 방법이 영향을 받게 된다.

목적

  • 지속적으로 증가하는 유지보수 비용을 절감
  • 사용자 요구 사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위함.

이러한 목적으로 데이터 독립성 개념이 출현.

효과

  • 각 뷰의 독립성을 유지하고 계층별 뷰에 영향을 주지 않고 변경이 가능
  • 단계별 스키마에 따라 데이터 정의어(DDL)와 데이터 조작어(DML) 차이를 제공

데이터 독립성 3단계 구조


  • ANSI/SPARC의 3단계 구성의 데이터 독립성 모델은 외부/개념적/내부적 단계로 구성
  • 서로 간섭되지 않는 모델을 제시
  1. 외부 단계 (Eternal Schema)
    • 사용자와 가장 가까운 단계
    • 사용자 개개인이 보는 자료에 대한 관점과 관련이 있다.
    • 사용자가 처리하고자 하는 데이터 유형과 관점, 방법에 따라 다른 스키마 구조를 가지고 있다.
  2. 개념 단계 (Conceptual Schema)
    • 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태
    • 우리가 쉽게 이해하는 데이터 모델은 사용자가 처리하는 통합된 뷰를 설계하는 도구하고 이해해도 무방.
  3. 내부 단계 (Internal Schema)
    • 데이터가 물리적으로 저장된 방법에 대한 스키마 구조를 말한다.

데이터 독립성 요소


외부 스키마

  • 외부 단계
  • View 단계 여러 개의 사용자 관점으로 구성
  • 즉, 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB 스키마
  • DB의 개개 사용자나 응용 프로그래머가 접근하는 DB 정의
  • 사용자 관점 / 접근하는 특성에 따른 스키마 구성

개념 스키마

  • 개념 단계
  • 하나의 개념적 스키마로 구성
  • 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것
  • 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것
  • DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
  • 통합 관점

내부 스키마

  • 내부 단계
  • 내부 스키마로 구성
  • DB가 물리적으로 저장된 형식
  • 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
  • 물리적 저장 구조

데이터 베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가진다.

또한, 고유한 기능을 가진다.

데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.

두 영역의 데이터 독립성


3단계로 개념이 분리되면서 각각의 영역에 대한 독립성을 지정하는 용어가

논리적 독립성물리적인 독립성이다.

논리적 독립성

  • 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것
  • 논리적 구조가 변경되어도 응용 프로그램에 영향이 없다.
  • 개별 화면이나 프로세스에 의해 변화된다기 보다 전체 업무적인 요건을 고려하여 종합적으로 영향을 받음
  • 특징
    • 사용자 특성에 맞는 변경 가능
    • 통합 구조 변경 가능

물리적 독립성

  • 내부스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원하는 것
  • 저장장치의 구조변경은 응용 프로그램과 개념 스키마에 영향 없음
  • 특징
    • 물리적 구조 영향 없이 개념 구조 변경 가능
    • 개념 구조 영향 없이 물리적인 구조 변경 가능

사상 (Mapping)


상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.

  • 데이터 독립성을 보장하기 위해서는 매핑을 하는 스크립트 (DDL) 를 DBA가 필요할 때마다 변경해줘야한다.
  • 즉, 변경사항이 발생했을 때 DBA가 적절하게 작업을 해주기 때문에 독립성이 보장이 된다.
  1. 외부적/개념적 사상
    • 논리적 사상
    • 외부적 뷰개념적 뷰의 상호 관련성을 정의
    • 사용자 인터페이스 뷰를 만들기 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결된다.
      • 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음
      • 개념적 뷰의 필드 타입은 변화가 없음.
  2. 개념적/내부적 사상
    • 물리적 사상
    • 개념적 뷰저장된 데이터베이스의 상호 관련성을 정의
    • 통합된 개념적 스키마와 물리적인 테이블 스페이스와 연결된다.
      • 만약 저장된 데이터 베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함
      • 그래야 개념적 스키마가 그대로 남아있게 됨

0개의 댓글