데이터베이스는 개념적으로 개체와 관계되는 두 개의 구성요소로 되어 있으나 실제로 우리가 취급하는 데이터베이스는 이들의 어커런스, 즉 해당 값으로 구성되어 있다. 이러한 값들은 처리를 위해 어떤 구조로 물리적 저장장치 위에 저장되어야 하는데, 이 저장 구조를 사용자 입장에서 보느냐 또는 시스템 입장에서 보느냐에 따라 논리적 구조와 물리적 구조로 구별하고 있다.
경주사랑평생교육원-데이터베이스구조 학습
데이터베이스에서 논리적 구조(logical organization)는 데이터를 응용하는 프로그래머나 사용자 입장에서 본 구조로서 데이터의 논리적 배치를 의미한다. 이 논리적 구조에서 취급하는 데이터 레코드를 논리적 레코드(logical record)라고 한다.
반면 데이터베이스의 물리적 구조(physical organization)는 자기 디스크나 자기 테이프 같은 물리적 저장 장치 위에 저장되어 있는 데이터의 실제 구조를 의미한다. 즉, 저장 데이터의 물리적 배치를 표현한 것이다. 이 물리적 구조에서 취급하는 데이터 레코드를 저장 레코드(stored record)라고 한다.
하나의 데이터베이스를 표현하는 논리적 구조와 물리적 구조는 서로 대응 관계를 가짐으로서 동등성을 유지하게 된다. 이것은 데이터베이스를 사용하는 사용자와 데이터베이스를 관리하는 시스템간의 통신 수단이 된다.
--데이터베이스의 환경
데이터비이스의 논리적 정의, 즉 데이터의 구조와 제약조건에 대한 명세를 기술한 것을 스키마(schema)라고 한다. 이 스키마는 데이터의 구조를 표현하는 데이터 개체(data object), 개체의 특성을 설명하는 속성(attribute), 이들간에 존재하는 관계(relationship)에 대한 정의와 이들이 지켜야 할 제약조건(constraints)을 포함한다.
데이터베이스는 보는 관점에 따라 그 데이터베이스 스키마는 모두 다르게 될 수 밖에 없다. 데이터를 이용하는 각 개인의 뷰(view), 이 개인의 모든 뷰가 종합된 기관전체의 뷰, 그리고 물리적 저장장치의 입장에서 보는 저장장치의 뷰 등 세 단계로 나누어 데이터베이스를 기술하고 이들 간의 관계를 정의 한다. 이 세 단계의 스키마를 외부 스키마, 개념 스키마, 내부 스키마라 하는데, 이것을 3단계 데이터베이스 구조(3-level database structure)라고 한다.
데이터베이스 단계간의 사상
① 내부 스키마(internal Schema)
추상화의 최 하위 단계로 데이터가 물리적으로 어떻게 저장되는가를 기술한다.
즉 저장 장치의 입장에서 전체 데이터베이스가 저장되는 방법을 나타 낸 것이다. 이 단계에서 복잡한 하위 단계의 데이터 구조들을 자세히 기술한다.물리적 단계의 저장 구조는 물론 저장장치의 구조와도 관련이 있다.
② 개념 스키마(Conceptuol Schema)
이것은 모든 응용 시스템이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 총체적인 데이터베이스의 논리적인 구조를 기술한 것이다. 때문에 개념 스키마는 하나만 존재하게 되고, 각 사용자나 응용 프로그램은 이 개념 스키마의 일부를 사용하는 것이 된다. 즉, 개념 스키마로부터 모든 외부 스키마가 생성되고 지원되는 것이다. 따라서 개념스키마는 모든 데이터를 관리하는데 필수적인 정보를 나타내야 한다. 단순히 스키마(schema)라고도 한다.
③ 외부 스키마(External Schema)
추상화 최상위 단계로서 사용자가 보는 데이터베이스의 일부 논리적 구조를 기술한 것이다.
대부분의 데이터베이스 시스템 사용자는 데이터베이스에 자장된 모든 데이터가 필요한 것이 아니라 일부 데이터만 필요한 것이 일반적이다. 따라서 사용자가 손 쉽게 이용할 수 있도록 추상화의 뷰(view) 단계를 정의한다. 또한 같은 데이터베이스에 대해서도 사용자마다 각각 다른 뷰를 정의할 수 있도록 허용한다. 이것은 실제 전체 데이터베이스의 논리적인 한 부분이 되기 때문에 서브 스키마(sub schema)라고도 한다.
'경주사랑컴퓨터학원 > 데이터베이스' 카테고리의 다른 글
데이터베이스 언어(정의어, 조작어, 제어어)-경주시데이터베이스교실 (0) | 2023.02.14 |
---|---|
데이터베이스의 구성요소-경주사랑데이터베이스 (0) | 2023.01.09 |
데이터베이스 정의-경주SQL기초학습학원 (0) | 2023.01.06 |