본문 바로가기

Oracle

2장 병렬식 직렬식 관리

병렬식이란 말 그대로 두 엔터티 사이에 존재하는 관계들을 별도의 릴레이션쉽으로 간주함으로써 여러개의 관계선분이 나란히 병렬고 그려지는 형태이다.

특징 및 장/단점

- 테이블이 될 때 여러개의 컬럼으로 나열된다.
- 하나의 로우우세 관리하므로 새로운 테이블을 추가할 필요가 없다.
- 인덱스 수가 증가되고 SQL 이 복잡해진다.
- 새로운 관계의 추가, 관계형태의 변경 등에 매우 취약한 형태이다.   
   *업무의 변화가 테이블이나 컬럼에 영향을 주지 않고, 데이터의 변화로 나타난다면 유연성은 크게 향상된다.
- 관계 내용별로 상세 정보를 관리할 수 없다. ( 자식 엔터티를 거느릴 수 없다. )


직렬식이란 두 엔터티 사이에 존재하는 몇 개의 관계를 모아 상위 개념으로 통합함으로써 하나의 릴레이션쉽으로 관리하는 방법이다. 이 방법은 여러 가지의 관계를 하나로 통합했기 때문에 관계의 명칭 또한 당연히 상향으로 조정되어야 한다. 

- 관계들을 관리하는 새로운 엔터티가 추가되어야 한다. (M:M 관계를 해소시켜 릴레이션 엔터티를 생성을 이름)
- 관계들이 로우(레코드)의 형태로 나타난다.
- 인덱스 수가 감소하고 SQL 이 단순해진다.
- 새로운 관계의 추가, 관계형태의 변경 등에 매우 유연한 형태이다.
- 관계내용별로 상세 정보를 관리할 수 있다. (자식 엔터티를 거느릴 수 있다. ) 

수행속도에 가장 큰 영향을 주는 SQL 도 훨씬 고급으로 적용할 수 있기 때문에 만약 여러분이 관계형 데이터베이스에 자신을 가지고 있다면 될 수 있는 한 직렬식으로 하는 것이 바람직하다고 할 수 있다. 


> 데이터 모델에서 표시한 릴레이션쉽은 데이터를 읽으러 가는 통로가 아니라
    부모의 식별자를 의미하는 논리적인 속성이라고 정의하였다.