ERD의 최종 목표는 데이터베이스에 표현하는 것이다.
하지만 ERD는 추상화된 개념이므로, 직접적으로 데이터베이스로 표현할 수 없다.
그렇기에 논리적 모델의 스키마로 변환하는 작업이 필요하다.
강성개체집합 변환
개체집합 → 테이블
속성 → 필드
개체집합의 각 개체 → 레코드
기본키 → 기본키
약성개체집합 변환
*복습 : 약성개체 자체는 존재할 수 없고, 강성 개체에 의존하여 연관을 통해 표현해야 함.
개체집합 → 테이블
속성 → 필드
개체집합의 각 개체 → 레코드
약성개체의 부분키, 강성개체의 기본키 → 기본키
관계집합 변환
관계집합 → 테이블
관련된 개체집합의 기본키 속성들, 자신의 속성 → 필드
관련된 개체집합의 기본키들 → 기본키
자기연관 관계집합의 변환
테이블의 중복과 결합
- 개체집합을 변환시킨 테이블과 관계집합을 변환시킨 테이블은 중복될 수 있다.
*중복이 발생하면 테이블을 결합시켜야 함.
- 1:n 관계
관계테이블을 삭제 후, '1'에 해당하는 개체집합의 기본키를 'n'에 해당하는 개체집합의 테이블에 외래 키로 추가한다.
관계 집합에 별도의 속성이 있을 경우, 'n'에 해당하는 개체집합 테이블에 필드를 생성한다.
- m:n 관계
결합이 불가능함. 관계집합과 관계집합을 이루는 개체집합은 독립적으로 존재한다.
- 1:1 관계
어느 쪽으로도 결합이 가능함. 모두 다 합칠 수도 있음.
다중 값 속성의 변환
다중 값 속성은 테이블의 필드로 대응 불가하다. 테이블 필드는 원자값만 저장 가능하기 때문이다.
다중 값 속성은 새로운 테이블로 독립시켜야 한다.
- 개체집합의 테이블 E는 다중 값 속성을 빼고 원래 만들던대로 만듦.
- 다중 값 속성 A를 위하여 새로운 테이블 A를(속성 이름과 같음) 생성. E의 기본키와 속성 A'를 필드로 함.
복합 속성의 변환
세부 속성을 필드로 작성한다. 세부속성을 포함하는 속성은 무시한다.
일반화 관계의 변환
p61 ~ p63