논리 데이터 모델링의 키 마이그레이션

논리 데이터 모델의 기본 키 또는 관계의 특성을 수정할 때 관련된 외부 키의 특성 또한 수정됩니다.
다음 테이블은 키 마이그레이션 조치를 발생시키는 오브젝트에 대한 조치를 설명합니다. 키 마이그레이션 조치가 발생할 때 비주얼 다이어그램 또는 데이터 프로젝트 탐색기에서 데이터 오브젝트를 나타내는 아이콘을 적절하게 변경합니다.
사용자 조치 키 마이그레이션 결과
기본 키에 속성 추가

기본 키가 관계에 참여하면 속성은 외부 키 속성으로 하위 엔티티에 마이그레이션됩니다.

관계가 식별되면 마이그레이션된 속성은 또한 하위 엔티티의 기본 키 속성의 일부로 포함됩니다.

속성이 이미 외부 키의 일부인 경우 외부 키 속성의 나머지는 이미 기본 키의 일부이고 관계가 비식별되면 나중에 관계는 식별되도록 변경됩니다.

기본 키에서 속성 제거

기본 키가 관계에 참여하면 외부 키로 하위 엔티티에 마이그레이션된 속성은 외부 키 속성 목록에서 제거됩니다.

관계가 식별되면 마이그레이션된 속성은 또한 하위 엔티티의 기본 키 속성 목록에서 제거됩니다.

속성이 이미 외부 키의 일부이고 관계가 식별되면 나중에 관계는 비식별되도록 변경됩니다.

기본 키의 속성 다시 정렬 기본 키가 관계에 참여하면 외부 키에서 마이그레이션된 속성은 기본 키에 일치하도록 다시 정렬됩니다.
기본 키 삭제 기본 키가 관계에 참여하는 경우 연관된 관계 및 비어 있는 외부 키는 유지됩니다.
속성의 데이터 유형 수정 속성이 기본 키의 일부이고 기본 키가 관계에 참여하면 하위 엔티티에서 마이그레이션된 속성의 데이터 유형 또한 변경됩니다.
속성에 대한 데이터 유형의 길이, 정밀도 또는 스케일 수정 속성이 기본 키의 일부이고 기본 키가 관계에 참여하면 하위 엔티티에서 마이그레이션된 속성의 데이터 유형 길이, 정밀도 또는 스케일 또한 변경됩니다.
속성 삭제

속성이 기본 키 또는 대체 키의 일부이고 기본 키 또는 대체키가 관계에 참여하면 하위 엔티티에서 마이그레이션된 속성은 하위 외부 키 속성 목록에서 제거됩니다.

관계가 식별되면 하위 엔티티에서 마이그레이션된 속성은 또한 하위 기본 키 속성 목록에서 제거됩니다.

대체 키에 속성 추가

대체 키가 관계에 참여하면 속성은 외부 키 속성으로 하위 엔티티에 마이그레이션됩니다.

관계가 식별되면 마이그레이션된 속성은 또한 하위 엔티티 대체 키 속성의 일부로 포함됩니다.

속성이 이미 외부 키의 일부인 경우 외부 키 속성의 나머지는 이미 대체 키의 일부이고 관계가 비식별되면 나중에 관계는 식별되도록 변경됩니다.

대체 키의 속성 다시 정렬 키 마이그레이션이 발생하지 않습니다.
대체 키에서 속성 제거

기본 키가 관계에 참여하면 하위 엔티티에서 마이그레이션된 속성은 하위 외부 키 속성 목록에서 제거됩니다.

관계가 식별되면 하위 엔티티에서 마이그레이션된 속성은 하위 엔티티의 기본 키 속성 목록에서 제거됩니다.

대체 키 삭제 대체 키가 관계에 참여하는 경우 연관된 관계 및 비어 있는 외부 키는 유지됩니다.
외부 키에 속성 추가 키 마이그레이션이 발생하지 않습니다.
외부 키의 속성 다시 정렬 키 마이그레이션이 발생하지 않습니다.
외부 키에서 속성 제거 속성이 기본 키 또는 대체 키의 일부이고 기본 키 또는 대체키가 관계에 참여하면 하위 엔티티에서 마이그레이션된 속성은 하위 외부 키 속성 목록에서 제거됩니다. 그렇지 않으면 키 마이그레이션이 발생하지 않습니다.
외부 키 삭제 연관된 관계는 하위 엔티티에서 삭제됩니다.
관계 추가

관계가 식별 관계인 경우 마이그레이션된 속성은 외부 키 및 하위 엔티티의 기본 키의 일부가 됩니다.

관계가 비식별 관계인 경우 마이그레이션된 속성은 하위 엔티티의 외부 키의 일부가 됩니다.

관계가 다대다 관계인 경우 키 마이그레이션이 발생하지 않습니다.

식별 관계 삭제 연관된 외부 키는 하위 엔티티에서 삭제됩니다.
비식별 관계 삭제 연관된 외부 키는 하위 엔티티에서 삭제됩니다.
관계의 상위 엔티티 삭제 모든 마이그레이션된 키 속성은 하위 엔티티의 외부 키에서 제거됩니다.
관계의 유형 수정

관계가 식별에서 비식별로 변경되면 외부 키 속성은 하위 엔티티의 기본 키에서 제거됩니다.

관계가 비식별에서 식별로 변경되면 외부 키 속성은 하위 엔티티의 기본 키에 추가됩니다.

두 개의 엔티티간에 일반화 작성
  1. 상위 유형 엔티티의 기본 키 속성은 하위 유형 엔티티에 마이그레이션됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성은 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위인 경우 키 속성은 관계를 따라 마이그레이션됩니다.
일반화 삭제
  1. 마이그레이션된 키 속성은 하위 유형 엔티티에서 제거됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성 삭제는 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 키 속성 삭제는 관계를 따라 마이그레이션됩니다.
상위 유형 엔티티 삭제
  1. 상위 유형 엔티티를 참조하는 모든 일반화는 삭제됩니다.
  2. 마이그레이션된 키 속성은 하위 유형 엔티티에서 제거됩니다.
  3. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성 삭제는 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  4. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 키 속성 삭제는 관계를 따라 마이그레이션됩니다.
상위 유형 기본 키 삭제
  1. 마이그레이션된 키 속성은 하위 유형 엔티티에서 제거됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성 삭제는 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 키 속성 삭제는 관계를 따라 마이그레이션됩니다.
상위 유형 엔티티의 기본 키 속성 삭제
  1. 마이그레이션된 키 속성은 상위 유형 엔티티에서 제거됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성 삭제는 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 키 속성 삭제는 관계를 따라 마이그레이션됩니다.
상위 유형 엔티티에 새 기본 키 속성 추가
  1. 상위 유형 엔티티의 새 키 속성은 하위 유형 엔티티에 마이그레이션됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 새 키 속성은 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 새 키 속성은 관계를 따라 마이그레이션됩니다.
상위 유형 엔티티의 기본 키 속성 수정
  1. 상위 유형 엔티티의 키 속성에 작성된 수정은 하위 유형 엔티티에서 동일한 속성에 마이그레이션됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성에 작성된 수정은 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 새 키 속성에 작성된 수정은 관계를 따라 마이그레이션됩니다.
상위 유형 엔티티의 기본 키 속성 다시 정렬
  1. 상위 유형 엔티티의 기본 키 목록의 키 속성에 작성된 위치 변경은 일반화와 연관된 외부 키의 속성 목록에서 마이그레이션된 키 속성에 적용됩니다.
  2. 하위 유형 엔티티가 상위 유형으로 기존 일반화에 참여하는 경우 키 속성에 작성된 위치 변경은 이전 단계대로 일반화를 따라 마이그레이션됩니다.
  3. 하위 유형 엔티티가 기존 관계에서 상위로 참여하는 경우 키 속성에 작성된 위치 변경은 관계를 따라 마이그레이션됩니다.

피드백