본문 바로가기

카테고리 없음

[데베개] ERD를 테이블 스키마로 변환하기

ERD의 최종 목표는 데이터베이스에 표현하는 것이다.

하지만 ERD는 추상화된 개념이므로, 직접적으로 데이터베이스로 표현할 수 없다.

그렇기에 논리적 모델의 스키마로 변환하는 작업이 필요하다.

 

강성개체집합 변환

개체집합 → 테이블

속성 → 필드

개체집합의 각 개체 → 레코드

기본키 → 기본키

 

약성개체집합 변환

*복습 : 약성개체 자체는 존재할 수 없고, 강성 개체에 의존하여 연관을 통해 표현해야 함.

개체집합 → 테이블

속성 → 필드

개체집합의 각 개체 → 레코드

약성개체의 부분키, 강성개체의 기본키 → 기본키

관계집합 변환

관계집합 → 테이블

관련된 개체집합의 기본키 속성들, 자신의 속성 → 필드

관련된 개체집합의 기본키들 → 기본키

 

자기연관 관계집합의 변환

테이블의 중복과 결합

- 개체집합을 변환시킨 테이블과 관계집합을 변환시킨 테이블은 중복될 수 있다.

*중복이 발생하면 테이블을 결합시켜야 함.

 

- 1:n 관계

관계테이블을 삭제 후, '1'에 해당하는 개체집합의 기본키를 'n'에 해당하는 개체집합의 테이블에 외래 키로 추가한다.

관계 집합에 별도의 속성이 있을 경우, 'n'에 해당하는 개체집합 테이블에 필드를 생성한다.

 

- m:n 관계

결합이 불가능함. 관계집합과 관계집합을 이루는 개체집합은 독립적으로 존재한다.

 

- 1:1 관계

어느 쪽으로도 결합이 가능함. 모두 다 합칠 수도 있음.

 

다중 값 속성의 변환

다중 값 속성은 테이블의 필드로 대응 불가하다. 테이블 필드는 원자값만 저장 가능하기 때문이다.

다중 값 속성은 새로운 테이블로 독립시켜야 한다.

 

- 개체집합의 테이블 E는 다중 값 속성을 빼고 원래 만들던대로 만듦.

- 다중 값 속성 A를 위하여 새로운 테이블 A를(속성 이름과 같음) 생성. E의 기본키와 속성 A'를 필드로 함.

 

 

복합 속성의 변환

세부 속성을 필드로 작성한다. 세부속성을 포함하는 속성은 무시한다.

 

일반화 관계의 변환

p61 ~ p63