관계 데이터 모델링 실습
논리적 모델링은 E-R 다이어그램를 릴레이션 스키마로 변환하고 세부사항을 결정하고 문서화한다.
5가지 규칙
규칙 1: 모든 개체는 릴레이션으로 변환한다. (복합 속성도 다 변환한다.)
규칙 2: 다대다 관계는 릴레이션으로 변환한다.
규칙 3: 일대다 관계는 외래키로 표현한다.
규칙 4: 일대일 관계는 외래키로 표현한다.
규칙 5: 다중값 속성은 릴레이션으로 변환한다.
규칙2
다대다 관계는 관계에 참여하는 개체를 릴레이션으로 변환한 후, 각 기본키를 외래키로 하고 그것들을 포함하여 기본키를 구성할 수 있다.
관계의 속성들도 관계 릴레이션의 속성으로 포함한다.
규칙3
일대다 관계는 1인 개체의 기본키를 n인 개체의 외래키로 한다.
관계의 속성들은 n 측 개체의 릴레이션에 포함시킨다.
약한개체가 참여하면 해당 외래키를 포함하여 기본키를 설정한다.
규칙4
4-1: 일대일 관계에서 둘 다 선택적 참여를 한다면, 서로의 기본키를 외래키로 하고 관계의 속성도 둘 다 가진다.
그러나 이러할 경우 데이터의 중복이 일어난다.
4-2: 특정 개체만 필수적으로 참여한다면, 해당 개체의 릴레이션만 상대 릴레이션의 기본키를 외래키로 가지고 관계의 속성도 필수적으로 참여하는 릴레이션만 가진다.
4-3: 모든 개체가 필수적으로 참여할 경우, 하나의 릴레이션으로 만든다.
해당 릴레이션의 기본키는 모든 개체의 기본키로 구성한다.
규칙5
다중값을 원자값으로 나눠 릴레이션을 구성하여도 중복되는 데이터가 많다.
따라서 다중값 속성과 해당 개체의 기본키로 새로운 릴레이션을 만든다.
개체의 기본키를 외래키로 받고 새로운 릴레이션의 기본키는 외래키와 다중값의 속성으로 구성된다.
모든 관계는 독립적인 릴레이션으로 변환될 수 있다. 만약 일대일 관계와 일대다 관계도 속성의 수가 많다면 외래키로 표현하는 것보다 독립적인 릴레이션을 만들어 주는 것이 좋다.
순환 관계의 경우에도 위의 사례를 동일하게 적용하면 된다.