본문 바로가기
👨‍💻Computer Science/데이터베이스

[Database] 01 - 6 ANSI/SPARC 아키텍처와 데이터 독립성

by 코푸는 개발자 2021. 9. 9.
728x90

ANSI(표준화 기구)/SPARC 아키텍처

- 현재의 대부분의 상용 DBMS 구현에서 사용되는 일반적인 아키텍처는 1978년에 제안된 ANSI/SPARC 아키텍처

- ANSI/SPARC 아키텍처의 3단계는 물리적, 개념적, 외부 단계로 이루어짐

  • 외부 단계(external level): 각 사용자의 뷰
  • 개념 단계(conceptual level): 사용자 공동체의 뷰
  • 내부 단계(internal level): 물리적 또는 저장 뷰

ANSI/SPARC 3단계 아키텍처

*아래에서 위로 갈수록 추상화 정도가 높아짐 

 

외부 단계

  • 데이터베이스의 각 사용자가 갖는 뷰
  • 여러 부류의 사용자를 위해 동일한 개념 단계로부터 다수의 서로 다른 뷰가 제공될 수 있음
  • 일반적으로, 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가짐

 

관계 데이터 모델에서 3단게 아키텍처의 예

개념 단계

  • 조직체의 정보 모델로서, 물리적인 구현은 고려하지 않으면서 조직체 전체에 관한 스키마를 포함
  • 데이터베이스에 어떤 데이터가 저장되어 있으며, 데이터 간에는 어떤 관계가 존재하고, 어떤 무결성 제약조건들이 명시되어 있는가를 기술함
  • 데이터베이스에 대한 사용자 공동체의 뷰를 나타냄
  • 데이터베이스마다 오직 한 개의 개념 스키마가 존재

내부 단계

  • 실제의 물리적인 데이터 구조에 관한 스키마
  • 데이터베이스에 어떤 데이터가 어떻게 저장되어 있는가를 기술함
  • 인덱스, 해싱 등과 같은 접근 경로, 데이터 압축 등을 기술함
  • 데이터베이스의 개념 스키마에는 영향을 미치지 않으면서 성능을 향상시키기 위해 내부 스키마를 변경하는 것이 바람직
  • 내부 단계 아래는 물리적 단계
  • 물리적 단계는 DBMS의 지시에 따라 운영 체제가 관리함

전체 지하철 노선도에 대해 사당동에 사는 학생이 청량리에 있는 학교에 통학하기 위해서 사당역, 동대문역, 청량리역에만 관심을 갖는다.

전체 지하철 노선도에 대해 양재동에 사는 직장인이 광화문에 있는 사무실에 출퇴근하기 위해서 양재역, 종로3가역, 광화문역에만 관심을 갖는다.

 

전철 노선도

스키마 간의 사상

- DBMS는 세 가지 유형의 스키마 간의 사상을 책임짐

- 외부/개념 사상(external/conceptual mapping)

  • 외부 단계의 뷰를 사용해서 입력된 사용자의 질의를 개념 단계의 스키마를 사용한 질의로 변환

- 개념/내부 사상(conceptual/internal mapping)

  • 이를 다시 내부 단계의 스키마로 변환하여 디스크의 데이터베이스를 접근

데이터 독립성

- 상위 단계의 스키마 정의에 영향을 주지 않으면서 어떤 단계의 스키마 정의를 변경할 수 있음을 의미

  • 논리적인 데이터 독립성(logical data independence)
  • 물리적인 데이터 독립성(physical data independence)

논리적 데이터 독립성과 물리적 데이터 독립성

 

- 논리적 데이터 독립성

  • 개념 스키마의 변화로부터 외부 스키마가 영향을 받지 않음을 의미
  • 기존의 외부 스키마에 영향을 미치지 않고, 응용 프로그램을 다시 작성할 필요 없이 개념 스키마에 대한 변화가 가능해야 함

- 물리적 데이터 독립성

  • 내부 스키마의 변화가 개념적 스키마에 영향을 미치지 않으며, 따라서 외부 스키마(또는 응용 프로그램)에도 영향을 미치지 않음을 의미
  • 내부 스키마의 변화의 예: 화일의 저장 구조를 바꾸거나 인덱스를 생성 및 삭제

 

728x90

댓글