Database

데이터베이스 관리 시스템 개요(2)

JunsuKim 2022. 3. 5.
728x90

ANSI/SPARC 구조

 

ANSI/SPARC 3단계 구조

DB구조를 3단계로 구분한 주된 목적은 DB에 대한 다양한 사용자의 관점과 DB가 실제로 표현되는 방식

즉, 물리적 관점을 분리시키는 것으로, 이런 구분을 통해 응용 프로그램과 데이터 간의 독립성을 제공할 수 있다.

-> 사용자는 DB의 내부 구조를 알지 못해도 DB를 사용할 수 있고, DB 관리자는 응용 프로그램에 영향을 주지 않고 DB 구조를 변경할 수 있다.

ANSI/SPARC 구조의 구성

(1) 외부 단계

개별 사용자의 관점으로, 각 사용자나 응용 프로그래머가 생각하는 개인적인 DB 구조를 의미한다.

-> 다양한 개별 사용자나 응용 프로그램이 필요로 하는 데이터 구조를 정의한 다양한 외부 스키마가 존재한다.

(2) 개념 단계

DB를 바라보는 사용자 공동체의 관점

즉, 한 조직 전체를 위한 DB의 논리적 구조를 의미한다.

-> 범 기관적인 입장에서 전체 DB를 정의한 단 하나의 개념 스키마만 존재한다.

(3) 내부 단계

DB에 관한 물리적 저장장치 관점, 즉 어떤 데이터가 어떻게 저장되는지를 표현하는 저장 구조를 의미한다.

실제로 저장된 내부 레코드의 형식이나 인덱스 유무, 저장 데이터 항목의 표현 방법 등을 포함한다.

-> DB의 물리적 구조를 정의한 단 하나의 내부 스키마가 존재한다.

내부 단계에서는 특정 물리적 저장 장치를 직접 다루지는 않으며, 물리 단계보다 한 단계 위에 있다.


3단계 DB 구조를 지원하기 위해서는 외부/개념 단계 간의 사상과 개념/내부 간의 사상이라는 두 종류의 사상이 존재해야 한다.

사상은 DBMS의 궁극적인 목적이라고 할 수 있는 데이터 독립성을 지원하는 방법이라 할 수 있다.

(4) 외부/개념 사상

특정 외부 스키마와 개념 스키마 간의 대응 관계를 정의한 것으로, 응용 인터페이스라 한다.

 

개념 스키마에 새로운 개체나 속성의 추가와 같은 변화가 발생해도 외부/개념 사상만 수정하면 외부 스키마에 아무런 영향을 미치지 않는다.

즉, 응용 프로그램은 전혀 변경할 필요가 없어, 응용 프로그램에 아무런 영향을 주지 않고도 개념 스키마를 변경할 수 있으므로 논리적인 데이터 독립성을 제공하게 된다.

(5) 개념/내부 사상

개념 스키마와 내부 스키마 사이의 대응 관계를 정의한 것으로, 저장 인터페이스라 한다.

 

각 개체의 속성들이 내부 필드와 어떻게 대응되는 지를 정의한 것으로, 내부 스키마가 변경되는 경우라도 이 개념/내부 사상만 수정해주면, 개념 스키마와 응용 프로그램에는 아무런 영향을 미치지 않게 되어 물리적 데이터 독립성을 제공한다.

ANSI/SPARC 구조와 스키마

(1) 외부 스키마

외부 스키마는 특정 사용자나 응용 프로그램이 접근하는 개별적인 DB를 정의한 것이다.

특정 사용자나 응용에서 필요로 하는 개체와 관계만을 포함하며, 각 사용자와 응용 프로그램에 한정된 논리적 데이터 구조로서, 여러 개 존재한다.

전체적인 관점에서 보면 DB의 외적인 한 단면만을 표현한 것이므로 외부 스키마 또는 서브 스키마라고 한다.

(2) 개념 스키마

개념 단계에는 범 기관적인 관점에서 DB를 정의한 단 하나의 개념 스키마가 존재하게 된다.

외부 스키마는 개념 스키마의 일부를 사용하는 것이므로 개념 스키마로부터 생성되고 지원된다.

 

개념 스키마는 한 조직이 필요로 하는 모든 정보를 생성하는 데 필요한 개체와 데이터 유형, 관계, 제약조건뿐만 아니라, DB에 대한 접근 권한과 무결성 규칙, 보안 정책에 관한 명세도 포함한다.

(3) 내부 스키마

내부 단계에는 저장장치 관점에서 DB가 저장되는 방법을 정의한 하나의 내부 스키마가 존재한다.

즉, 개념 스키마에 대한 저장구조를 정의한 것이다.

저장될 내부 레코드의 형식과 인덱스 유무, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등에 관한 명세를 포함해야 한다.

 

데이터 독립성

1) 논리적 데이터 독립성

응용 프로그램에 영향을 주지 않고 DB의 논리적 구조를 변경할 수 있는 것을 의미한다.

DB에 새로운 데이터 항목이나 레코드를 추가해도, 현재 정의된 사용자의 관점이나 응용 프로그램은 영향을 받지 않는다.

∴​ 하나의 논리적 데이터 구조를 기초로 여러 응용 프로그램이 요구하는 다양한 형태의 데이터 구조로 대응시켜서 지원하는 것이 가능하다.

2) 물리적 데이터 독립성

응용 프로그램과 DB의 논리적 구조에 영향을 주지 않고, 물리적 구조를 변경할 수 있게 하는 것을 의미한다.

DB의 물리적 구조가 변경되더라도 논리적 데이터 구조나 응용 프로그램에 전혀 영향을 주지 않는다.

728x90

'Database' 카테고리의 다른 글

데이터베이스 시스템 개요  (0) 2022.03.27
데이터베이스 관리 시스템 개요(1)  (0) 2022.03.05
데이터베이스(DB) 개요 (2)  (0) 2022.02.27
데이터베이스(DB) 개요 (1)  (0) 2022.02.27

댓글