카테고리 없음

DB의 논리적 구조와 물리적 구조

268418 2021. 10. 3. 12:23

1. DB의 논리적 구조와 물리적 구조를 논하시오.

논리적 구조 : 사용자의 관점에서 본 구조로 데이터의 논리적 배치.
논리적 구조에서 취급하는 데이터 레코드들을 논리적 레코드(logical record)라고 한다. 일반 응용 프로그램은 이 데이터베이스의 논리적 구조의 일부만 접근해서 사용하는 것이 보통이다.
물리적 구조 : 저장관점에서 본 데이터의 물리적 배치로 저장장치에 저장된 데이터의 실제 구조.
물리적 구조에서 취급하는 데이터 레코드들을 저장 레코드(stored record)라 한다.

2. DB의 중복성에 대해 논하시오

시스템내에 같은 데이터가 서로 다른 프로그램에 중복되는 것.
파일 시스템에서는 자연히 내용이 같으면서도 구조가 다른 데이터가 많이 있게 된다. 이와 같이 한 시스템 내에 내용이 같은 데이터가 중복되게 저장 관리되는 것을 데이터 중복성(data redundancy)이라 한다. 


3. DB가 유지해야 하는 i)일관성과 ii)무결성에 대해 논하시오

일관성 : 물리적으로 다른 장소에 존재하면 데이터 내용간의 불일치가 발생.
여러개의 데이터가 모두 하나의 사실을 나타낸다면 논리적으로 그 내용이 모두 똑같아야 하는데 실제로 데이터의 중복이 있게 되면 그 동일성을 유지하기가 어렵다. 이것은 결과적으로 데이터간 에 불일치가 일어나 내부적으로 일관성이 없게 된다. 따라서 데이테베이스는 모순성을 포함하게 된다.
무결성 : 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실세계의 실제 값이 일치하는 정확성을 의미
데이터가 중복 저장되면 자연히 제어가 분산되게 되어 데이터의 무결성, 즉 데이터의 정확성을 유지하기가 어렵다.


4. 3가지 전통적 Data 모델을 들고 설명하시오.

이 모델들은 일차적으로 사용자가 생각하는 저장 데이터베이스의 논리적 구조, 즉 현실 세계가 데이터베이스에 표현될 수 있는 논리적 구조를 기술하는 것이다. 그렇기 때문에 이 논리적 구조는 실제로 컴퓨터내에서 구현되는 물리적 구조와 일치할 필요도 없고 또 일치하지도 않는다.

계층형 데이터간의 관계가 계층적 구조로 구성 각 레코드는 링크로서 연결부모와 자식관계로 표현 데이터베이스의 논리적 구조를 표현한 데이터 구조도가 트리(tree)형태인 것이다. 
이 구조도의 특징은 전체적인 구조가 트리 형태이기 때문에 루트 레코드 타입을 가지고 있고, 또 두 레코드 타입간에는 하나의 관계만 허용되므로 이름을 붙이지 않고 단순히 간선으로만 표현해도 유일하게 식별될 수 있다. 또한 이 구조도는 사이클(cycle)이 허용되지 않으며 레코드 타입들간에는 상하위 레벨 관계가 성립한다. 네트워크 데이터 모델과 마찬가지로 이 계층 데이터 모델도 데이터베이스에서 허용되는 레코드 타입과 관계만 명세한다. 또한 어느 한 상위 레벨의 레코드 타입과 직접 연결된 하위 레코드 타입 사이에는 일 대 다(1:n) 관계만 허용된다. 이 일 대 다 관계를 맺고 있는 두 레코드 타입들을 각각 부모 레코드 타입, 자식 레코드 타입이라고 하고 이들간의 관계를 특별히 부모 자식 관계라 부른다. 물론 계층 데이터 모델에서 각 레코드 타입은 하나의 부모 레코드 타입만 가질 수 있다. 그러나 부모 레코드 타입으로서는 여러 개의 자식 레코드 타입과 연결하여 각각 별개의 부모-자식 관계를 만들 수 있다.

네트워크형 데이터는 레코드 집합으로 표현 데이터간의 관계는 링크로서 표현 링크는 오너와 멤버 개념 사용 그래프 형태 데이터베이스의 논리적 구조를 표현한 데이터 구조도가 네트워크 그래프 형태인 것.
네트워크 데이터 모델에서는 일 대 다 (1:n) 관계에 연관된 두 개의 레코드 타입들을 각각 오너(owner), 멤버(member)라고 하고 이들의 관계를 오너-멤버(owner-member) 관계라고 한다. 물론 하나의 레코드 타입은 멤버로서 여러개의 상이한 오너-멤버 관계에 참여할 수 있고 또 오너 레코드 타입으로서 여러개의 상이한 오너 멤버 관계를 가질 수도 있다.

관계형 : 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.  2차원 적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB 구조를 말하는데, 파일 구조처럼 구성한 테이블들을 하나의 DB로 묶어서 테이블 내에 있는 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용한다. 기본키(Primary Key)와 이를 참조하는 외래키Foreign Key)로 데이터 간의 관계를 표현한다. 1:1, 1:N, N:M 관계를 자유롭게 표현할 수 있다. 관계 데이터 모델은 일반 사용자로 하여금 데이터베이스가 릴레이션(relation), 즉 테이블의 집합으로 되어 있다고 생각하게 한다. 특히 이 관계 데이터 모델은 데이터베이스를 구성하는 개체와 관계가 모두 일률적으로 테이블로 표현된다는 특성을 가지고 있다.
 관계 데이터 구조 릴레이션 : 정보 저장의 기본 형태가 2차원 구조의 테이블. attribute(속성) : 테이블의 각 열(개체의 특성)을 의미. (열의 요소) 도메인 : 어트리뷰트(속성)가 취할 수 있는 값들의 집합. 튜플 : 테이블이 한 행을 구성하는 하나 이상의 속성들의 집합. 릴레이션의 특성 릴레이션의 튜플들은 유일하며 순서가 없다. 릴레이션에서 어트리뷰트들간의 순서는 의미가 없다. 어트리뷰트는 원자값으로서 분해가 불가능하다.

5. Data가 속하는 3가지의 세계를 설명하시오
현실 세계 : 인간이 오관을 통해 감지할 수 있는 개체(entity)로 되어 있다. 개념 세계 : 현실 세계에 존재하는 실체의 의미로부터 얻은 개념(concept)으로 표현한다. 개념 세계에서는 인간의 이해를 위해 현실 세계에 대한 인식을 추상적 개념(abstract concept)으로 표현하는데 이 과정을 개념적 모델링이라고 하고, 이 개념적 모델링으로부터 얻은 결과를 개념적 구조라 한다. 개념적 구조를 구성하는 추상적 개념은 현실 세계의 개체들을 추상화 시킨 개체 타입(entity type)이다. 이 개체 타입은 이 타입에 속하는 개체들의 공통적인 특성들을 나타내는 속성(attribute) 이름들로 구성된다. 따라서 개체 타입의 입장에서 보면 각 개체는 그가 속한 개체 타입의 인스턴스(instance)가 된다.
컴퓨터 세계 : 개념 세계를 컴퓨터가 처리할 수 있는 데이터(data)로 표현한다.
개념 세계의 개념적 구조는 컴퓨터(DBMS)가 직접 이해할 수 없기 때문에 다시 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변화시켜야 한다. 그러기 위해서 먼저 개념적 구조로부터 레코드 타입에 기초를 둔 논리적 개념을 이용하여 djEJs 논리적 구조, 즉 데이터 모델로 표현하는 것이 필요한데 이 변환 과정을 데이터 모델링이라 한다.

그림1 데이터 스키마


6. 스키마란 무엇인지 설명하시오
데이터 구조를 표현하는 데이터 개체. 개체를 통해야 할 작업을 연결하는 관계. 관계에 대한 정의나 제약조건을 모두 포함 하는 것 데이터 표현의 모든 것, DB 자체를 의미 함. 데이터베이스시스템이 기초로 하고 있는 가장 기본적인 요소는 데이터베이스인데 이 데이터베이스의 논리적 정의, 다시 말해서 데이터 구조와 제약 조건에 대한 명세를 기술한 것을 스키마(schema)라 한다. 따라서 스키마에는 데이터 구조를 표현하는 데이터객체(data object), 즉 개체(entity), 개체의 특성을 표현하는 속성(attribute), 이들간에 존재하는 관계(relationship)에 대한 정의와 이들이 유지해야 될 제약 조건(constraints)이 포함되는 것이다.

그런데 데이터의 공용을 전제로 하는 데이터베이스 환경속에서 개개 사용자가 사용하는 데이터는 보통 그 기관 전체 데이터베이스의 일부이고 이것은 곧 실제 저장 장치에 저장되어 있는 물리적 데이터베이스의 일부분이 되는 것이다. 따라서 어떤 입장에서 데이터베이스를 보느냐에 따라 그 데이터베이스 스키마는 모두 다르게 될 수밖에 없다. 그렇기 때문에 데이터베이스 관리 측면에서는 데이터를 이용하는 각 개인의 뷰(view), 이 개인의 모든 뷰가 종합된 기관 전체의 뷰, 그리고 물리적 저장 장치의 입장에서 보는 저장 장치의 뷰 등 세 단계를 보통 외부단계, 개념단계, 내부단계라 한다. 이렇게 하나의 데이터베이스를 세 단계로 나누어 기술하는 것을 3단계 데이터베이스 구조라 하고 각 단계에서의 스키마를 외부스키마, 개념스키마, 내부스키마라 한다.