데이터 모델링에서 사용하는 기본 개념 2

데이터베이스 2009. 4. 16. 10:22 posted by 무병장수권력자


데이터 모델링에서 사용하는 기본 개념 2
Relationship(관계)

작성자 : 김문규
최초 작성일 : 2009. 4.16

이번에 다룰 개념은 Relationship 입니다. 우리말로는 관계입니다. 엔터티간의 연관성을 설명하는 것입니다. 단순히 생각하면, 속하는 관계, 속하지 않는 관계, 필수로 연관되는 관계, 있어도 그만 없어도 그만인 관계...들이 있지요. 이런 관계들이 어떻게 정의되는 지 확인해 보세요.

1. Relationship 이란?
엔터티들을 연결하여 의미를 가지는 모델로 만들어 주는 것을 의미합니다. 엔터티가 명사였다면, 관계는 동사에 해당하지요. "사원은 부서에 속한다." 라는 모델에서 사원, 부서는 엔터티, 속한다는 관계가 되겠습니다.
연결되었다는 것은 관련된 제약이 있다는 말입니다. 즉, A테이블에 있는 a1이라는 속성이 B테이블에 있는 b1이라는 속성과 관련이 있는 값이라는 것이지요. 이전 포스트에서 이런 고리를 FK(Foreign Key)라고 설명 드렸습니다.

2. Identifying Relationship
FK가 UID와 관계된 경우입니다. 아래의 그림처럼 방번호와 건물번호가 함께 방의 UID를 구성하고 있습니다. 건물1 에도 101호가 있고 건물2에도 101호가 있는 경우에는 두 개의 속성이 함께 UID를 이루게 되겠지요. 이런 경우에 건물과 방의 관계는 Identifying Relationship 입니다.


3. Non-Identifying Relationship
FK가 UID와 관계되지 않는 경우입니다. 아래의 그림처럼 방번호만으로 방이라는 엔터티를 완전하게 대표할 수 있지만, 건물과의 관계를 설명하기 위해서 UID가 아닌 속성으로 존재하는 경우이지요. 예를 들면, 건물1에는 101호부터 110호까지 있고, 건물2에는 201호부터 210호까지가 있는 경우입니다.



4. Mandatory / Optional Relationship
말그대로 꼭 있어야 하는 가, 아닌가 입니다. 좀더 쉽게 말하면 FK의 Null을 허용할 것인가 아닌가 입니다.
이 개념은 앞선 identifying 관계와 같이 설명되어야 합니다.

1) Identifying Madatory
identifying이면서 사원은 무조건 부서에 속해야 하는 경우

2) Non-Identifying Madatory
non-identifying이면서 사원은 무조건 부서에 속해야 하는 경우

3) Non-Identifying Optional
non-identifying이면서 사원은 부서가 없을 수 있는 경우, 대기발령, 신입사원...등등...^^





'데이터베이스' 카테고리의 다른 글

데이터베이스 정규화  (0) 2009.04.17
데이터 모델링에서 사용하는 기본 개념 1  (0) 2009.04.14
객체지향 DBMS 란?  (0) 2009.04.14