ERD에서 부모와 자식 엔티티에 동그라미가 그려져 있을 때에는 각각 어떤 것이 NULL이라는 것인가요? 0 1 1,659

by Lucy [Oracle 기초] ERD 엔티티 NULL [2020.05.03 10:49:33]


ERD에서 엔티티 간의 관계를 표현할 때 동그라미가 그려져 있을 때에는 값이 NULL인 것이 있다 라고 배웠는데, 정확히 어떤 값이 NULL인지를 지금 모르겠습니다.

1. 자식 엔티티에 0이 그려져 있을 때와 부모 엔티티에 0이 그려져 있을 때 각각 어떤 속성에 NULL이 있다는 것인가요?

2. 뭔가 처음 보는 것 같은데, 제가 양쪽 엔티티간에 관계를 표현할 때 종속관계가 아닌데 부모 엔티티에는 0이, 자식 엔티티에는 0이 없는 관계가 그려졌습니다. 종속 관계일때와 종속관계가 아닐 때, 자식 엔티티에는 0이 없는데 부모 엔티티에 0이 그려질 수가 있나요? 부모 엔티티에는 어떨때에 0이 있으면 안되나요?

3. 다대다 관계를 표현할 때 ERD에 양쪽 둘 다 0이 있는 경우, 교차 엔티티에 NULL값이 없는 기본키 하나 이상을 더 추가해야 하는 것이 맞지요?

by 동쪽나무 [2020.05.03 12:37:46]

ERD에서 O는 선택성(optionality)을 의미합니다(논리). DB의 Null과 개념이 다릅니다(물리).

주문과 주문상품 엔티티에서 주문 데이터 한 건이 발생하면 반드시 주문상세도 한 건 이상 반드시 존재해야 합니다.  이 때는 자식(주문상품) 엔티티는 선택(O|)이 가 아닌 필수(|)로 표시됩니다.

DB 테이블로 말하면 선택성은 컬럼이 아니라 로우 개념입니다. 컬럼 값이 Null 이냐가 아니라 FK에 해당하는 데이터터가 존재하느냐 여부 입니다.

1.

 - 자식 엔티티 쪽에 O는 부모 식별자에 해당하는 데이터가 없을 수 있다는 의미입니다.  회원 - 경력 엔티티에서 어떤 회원은 경력이 없을 수 있으므로 O로 표시됩니다.

 - 부모 엔티티 쪽에 O는 부모 엔티티 보다는 참조(되는) 엔티티인 경우가 많습니다. 

   부서 - 사원 엔티티에서 부서가 없는 사원(외부직원 등)이 있다면 부모쪽에 O로 표시되며, 테이블 설계 시 사원 테이블의 부서코드 컬럼을 Null로 정의합니다.

2.  부모 - 자식이 선택-필수 관계인 경우는 별로 없습니다. 부서 - 사원에서 부서는 반드시 사원이 있고, 사원은 부서가 없는 경우가 존재할 떄 해당될 수 있습니다. 외부 직원은 부서가 없는 경우가 있습니다.

 일반적으로는 배타적인 관계일 때 나타납니다.  개인고객과 법인고객 엔티티가 별도로 있고 개인/법인고객에 대한 계좌 엔티티가 배타적인 관계일 때 개인 계좌는 법인고객이 없을 수 있으므로 법인고객엔티티는 O으로 표시됩니다(개인고객도 마찬가지).

3. 교차 엔티티는 보통 양쪽 엔티티의 PK조합으로 구성하는 경우와 한쪽 엔티티의 키와 일련번호 컬럼으로 구성할 수도 있습니다.

다대다 관계는 개념 모델에서만 표현합니다. 고객과 상품, 상품과 주문 등 마스터 데이터 간의 관계 대부분이 다대다에 해당합니다.  그리고 대부분 양쪽 모두 O로 표시됩니다.

다대다 관계는 모델을 상세화하지 않아서 발생하는 경우가 많으며 논리모델에서 상세화하면서 1:M 관계로 변환합니다. 고객과 상품을 고객-주문-상품으로 구체화하면서 1:M관계로 표현합니다.

교차 엔티티를 추가하여 1:M 관계로 변환하기도 합니다.  구성원-프로젝트-프로젝트역할 등을 "구성원프로젝트역할" 엔티티를 추가하여 구성원-"구성원프로젝트역할" 등 1:M으로 변환합니다.

교차 엔티티에서는 보통 참조(되는) 테이블의 PK 조합으로 구성(구성원ID, 프로젝트ID,프로젝트역할코드)하고, 주문의 주문번호처럼 자체 식별자를 PK로 정의할 수 있습니다.

 

참고로 PK는 엔티티 관계와 상관없이 실질 식별자로 구성하거나 인조 식별자를 추가하여 설계합니다.  주문상품 엔티티의 PK를 주문번호+상품번호(실질식별자)로 할 수도 있고, 주문번호+주문일련번호(인조식별자)로 할 수 있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입