Info > Data Mining > 3-4. RDB > 계층형 데이터 모델


▷▶ 계층형 데이터 모델

 

전통적인 세 데이터중 가장 먼저 개발된 것으로 데이터의 구조 자체가 계층화 되어 있는 경우에 자연스럽게 데이터를 표현할 수 있다

 

2.1 구조

·레코드 : 개체나 관개체에 관한 정보를 제공하는 항목값의 집합체
·부모-자식 관계 : 두 레코드 집합간에 존재하는 1:다의 관계성 집합. 1에 해당하는 레코드 집합이 부모 레코드 집합, 다에 해당하는 레코드 집합이 자식 레코드 집합이다.
·계층 스키마 : 여러개의 레코드 집합과 그들간의 부모-자식 관계성 집합으로 이루어짐. 나무구조라 불리는 특수한 형태의 데이터 구조
·계층 데이터베이스 스키마 : 여러개의 계층 스키마가 모여 이루어짐
·나무구조 : 가지, 마디, 뿌리, 잎

<그림 2.1> 나무구조의 예






<그림 2.2> 계층 스키마의 예

부서

부서번호

부서명

위치

|

직원

직원번호

직원이름

주소

생년월일

호봉

| |

주문

주문번호

제품번호

고객번호

주문량

부양가족

이름

생년월일

성별

관계

·계층 스키마의 레코드 집합과 부모-자식 관계성 집합이 갖는 특성

① 계층 스키마의 뿌리에 해당되는 레코드 집합은 어떤 부모 레코드 집합도 갖지 않는다.
② 뿌리를 제외한 모든 레코드 집합은 정확히 한 부모 레코드 집합만 갖는다.
③ 임의의 한 레코드 집합은 임의의 자식 레코드 집합을 가질 수 있다
④ 계층 스키마의 잎에 해당하는 레코드 집합은 어떤 자식 레코드 집합도 갖지 않는다.
⑤ 만약 한 레코드 집합이 둘 이상의 자식 레코드 집합을 갖는다면 자식 레코드 집합을 순서화 해야 한다.

<그림 2.3> 데이터베이스 나무로 표시한 계층형 데이터베이스 구조

부서



직원



주문

 

2.2 제약

2.2.1 본질적 제약

① 모든 부모-자식 관계성 집합은 1:다의 대응비를 갖는다.

·다:다의 관계성 집합의 경우 : 자식 레코드를 중복하여 저장하든지 관계성 집합을 중복하여 정의 내리든지 가상 레코드를 이용하여 중복을 회피한다.
예) 부품과 납품업자 사이의 공급하다라는 관계성 집합

<그림 2.4> 계층 스키마와 데이터베이스 나무

부품

P1

P2

P3

|

┌──┼──┐

┌──┼──┐

┌─┴─┐

납품업자

S1

S2

S3

S3

S4

S5

S4

S5

 

<그림 2.5> 관계성 집합의 중복

부품

P1

P2

P3

|

┌────┼────┐

┌────┼────┐

┌─┴─┐

납품업자

S1

S2

S3

S3

S4

S5

S4

S5

납품업자

S1

S2

S3

S4

S5

|

|

|

┌─┴─┐

┌─┴─┐

┌─┴─┐

부품

P1

P1

P1

P2

P2

P3

P2

P3

  

<그림 2.6> 가상 레코드를 이용한 중복의 회피

P1

P2

P3

┌────┼────┐

┌────┼────┐

┌─┴─┐

가상
레코드1

가상
레코드2

가상
레코드3

가상
레코드4

가상
레코드5

가상
레코드6

가상
레코드7

가상
레코드8

|

|

└────┐|

|

└────┐┌────┘

S1

S2

 

S3

S4

S5

 

② 모든 레코드 집합은 하나의 부모 레코드 집합만을 갖는다.


Info > Data Mining > 3-4. RDB > 계층형 데이터 모델