본문 바로가기
프로그래밍 툴/기타

[ER-Win] identifying Relationship과 non identifying Relationship의 차이

by 우림 2015. 11. 18.

Erwin에서 테이블 간의 관계를 설정하다보니 좀 헷갈리는 게 있더라구요.

identifying Relationship과 non identifying Relationship의 차이가 뭘까요?




하나는 실선으로 돼 있고 하나는 점선으로 돼 있어서 뭔가 알 꺼 같긴 한데 말이죠.

식별관계( Identifying Relationship )
– 부모 테이블의 기본키 or 복합키가 자식 테이블의 기본키 or 복합키의 구성원으로 전이되는 식별관계
( 부모가 자식의 모든 정보를 저장하게 됨)

비식별관계( Non Identifying Relationship )
– 자식 테이블의 일반 속성( Attribute ) 그룹의 구성원으로 전이되는 비식별관계( 부모는 자식의 부분적인 정보를 표현함 )



ER-Win을 쓰다보면..

Identifying Relationship과 Non-Identifying Relationship이 있는데..

A 테이블이 Parent 이고, B테이블이 Child 라고 할 때

B에서의 FK(즉 A와 B를 연결해 주는 컬럼, A의 PK) 가 B의 PK이냐 아니냐에 따라 Idendifying 이냐 아니냐 결정이 됩니다.

이것이 무슨 의미냐 하면, Identifying Relationship 이면 B테이블은 A테이블에 종속적이 되어서 A의 값이 없으면 B의 값은 무의미해지는 반면, 반대로 Non-Identifying Relationship 이면 A의 값이 없더라도 B의 값은 독자적으로 의미를 가지겠죠.

혹 이것이 Mandatory  냐 Optional 이냐 이것하고 혼돈을 하실수 있으신데 이것하고는 의미가 다릅니다. 


출처 - http://blog.naver.com/ycw7701?Redirect=Log&logNo=40015913097


댓글