RavenSong's CS log

데이터베이스의 개념적 구조 본문

데이터베이스

데이터베이스의 개념적 구조

RavenS0ng 2024. 4. 6. 14:17

1975년 ANSI(American National Standards Institute) 에선 데이터베이스를 개념적으로 이해하기 위해 데이터베이스 구조에 관한 안을 만들었는데 이를 3단계 데이터베이스 구조 라고 부른다

 

3단계 데이터베이스 구조

들어가기전, 데이터베이스에선 구조를 '스키마' 라고 표현한다

 

 

외부 단계

  • 일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터베이스 중 하나의 논리적 부분을 의미
  • 여러개의 외부 스키마가 있을 수 있다
  • 대학 데이터베이스를 예로 들면 학생처의 학생정보, 교무처의 수강 정보 등은 전체 데이터베이스의 일부분으로 각 부서의 사용자들에게만 필요한 부분이며 각각의 스키마라고 할 수 있다

 

개념 단계

  • 전체 데이터베이스의 정의
  • 통합 조직별로 하나만 존재하며 DBA가 관리한다
  • 하나의 데이터베이스에는 하나의 개념 스키마가 있고, 저장 장치에 독립적으로 기술된다
  • 데이터와 관계, 제약사항, 무결성에 대한 내용이 포함된다
  • 대학 데이터베이스를 예로 들면 학생 정보, 수강 정보 등을 모두 모은 대학 전체 데이터베이스를 뜻한다

 

내부 단계

  • 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법을 표현한 것이다
  • 내부 스키마는 하나만 존재하며 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함된다
  • 대학 데이터베이스를 예로 들면 대학 전체 데이터베이스가 실제 하드디스크에 저장되는 물리적인 구조를 뜻한다

 

 

매핑(Mapping)

DBMS는 매핑을 통해 각 단계 간 대응 관계를 정의한다 매핑은 개념 스키마의 어느 부분이 외부 스키마가 되는지 또는 개념 스키마가 어떤 물리적인 표현을 통해 내부 스키마가 되는지에 따라 두 종류로 나뉜다

 

1. 외부/개념 매핑

  • 사용자의 외부 스키마와 개념 스키마 간의 매핑으로 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킨다

 

2. 개념/내부 매핑

  • 개념 스키마의 데이터가 내부 스키마의 물리적 장치 중 어디에 어떤 방법으로 저장되는지 대응시킨다

 

 

데이터 독립성

3단계 데이터베이스 구조의 특징은 데이터 독립성(Data Independence) 이다. 이는 한 단계 내의 변경에 대해 다른 단계와 상호 간섭이 없도록 하는것이며, 데이터 독립성에는 두 가지가 있다

 

1. 논리적 데이터 독립성

  • 외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원한다
  • 개념 스키마의 테이블을 생성하거나 변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 외부 스키마에 영향이 없다

 

2. 물리적 데이터 독립성

  • 개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경 되어도 개념 스키마에 영향을 미치지 않도록 지원한다
  • 예를들어 성능 개선을 위해 물리적 저장 장치를 재구성해도 개념 스키마나 응용 프로그램 같은 외부 스키마에 영향이 없다. 물리적 독립성은 논리적 독립성보다 구현하기 쉽다