1. 관계 정의 

관계란, 두 엔티티 사이의 논리적인 관계, 쉽게 표현해서 두 엔티티 간의 업무적인 연관성이라고 정의할 수 있다. 


 

1) 관계의 명명

이러한 관계를 정의할 때는 애매한 동사는 피하고 현재형으로 표현한다.

관계1.png

2) 관계차수(Cardinality)

두 개의 엔티티간 관계에서 참여자의 수를 표현하는 것.
1 : 1,   1 : M,   N : M 이 있다. 

■ 1 : 1 관계

관계2.png

한 개의 구매신청서에 대해 한 개의 구매주문을 신청한다.
한 개의 구매주문에 대해 한 개의 구매신청서 내용을 작성한다. 

■ 1 : M 관계

관계3.png

한 부서에는 여러 사원을 포함한다.
한 명의 사원은  부서에 소속된다. 

■ N : M 관계

관계4.png
 
하나의 주문에는 여러 개의 제품을 포함한다.
한 제품은 여러 개의 주문을 통해 주문된다.
 
  

3) 선택성

두 엔티티 간에 관계가 설정되었을 때, 항상 두 엔티티의 모든 인스턴스간에 관계가 존재해야 하는지(Mandatory) 아니면 모든 인스턴스에 대하여 존재할 필요가 없는지(Optional)를 나타낸다.

일반적이고 상식적인 선에서 먼저 판단한다.
 
관계5.png
 
각 부서에는 여러 사원을 포함할 지도 모른다. (Optional)
각 사원은 단 하나의 부서에 소속된다. (Mandatory)
 
 

2. 관계의 종류 

1) 정상 관계

엔티티와 엔티티가 독립적으로 분리되어 있으면서, 상호간에 한 가지 관계만 존재하는 형태관계6.png

2) 재귀적 관계

하나의 엔티티 내에서 엔티티와 엔티티가 관계를 맺고 있는 형태.

부서, 부품, 메뉴 등과 같이 계층 구조 형태를 표현할 때 유용하다.

관계7.png

부품은 다른 부품으로 조립된다. 

3) 병렬 관계

엔티티와 엔티티가 독립적으로 분리되어 있으면서 두 개 이상의 관계가 상호간에 존재하는 형태관계8.png

주문을 신청한 주문자로써의 관계와 주문한 물건을 받는 수신자로써의 관계 

4) 슈퍼타입 서브타입 관계

공통 속성을 가지는 슈퍼타입과, 공통 부분을 제외하고 두 개 이상의 엔티티간의 속성에 차이가 있을 때 별도의 서브타입으로 존재할 수 있다.

배타적 관계 : 슈퍼타입의 엔티티가 반드시 하나의 서브타입에는 속하는 관계

포함 관계 : 슈타타입의 엔티티가 두 개 이상의 서브타입에 포함될 수 있는 관계

관계9.png

직원은 반드시 일반직원이나 촉탁직원 중 하나에만 속할 수 있다.

인터넷 접수를 한 사람이 다시 방문 접수할 수 있다. 


슈퍼타입 서브타입 모델에서는 자료 원천 구분 표시(직원구분코드, 접수구분코드)가 반드시 있어야 한다.  


5) 식별 / 비식별 관계

식별 관계 : 부모 엔티티의 주식별자가 자식 엔티티의 주식별자로 상속

비식별 관계 : 부모 엔티티의 주식별자가 자식 엔티티의 일반속성으로 상속 
관계10.png


 

3. 관계정의서 적성 

관계에서 중요한 세 가지는 방향, 관계차수( 1 : 1, 1 : N, N : M), 선택성(옵션, 필수) 이다. 

1) 다음과 같이 질문하는 것은 관계를 도출하는데 유용할 수 있다.


엔티티1.png            엔티티2.png           엔티티3.png                      

각각의    사원은                       한            부서에                      만                    속할 수 있습니까?

   각       부서에는               여러명의       사원이                    항상                  소속되어 있습니까? 


2) 관계 정의서 작성 

기준 엔티티      관계형태(방향, 관계차수, 선택성) 선택성   관련 엔티티 
회원 각각의 회원은 여러 번의 주문을 할 수 있다. 
각 주문은 한 회원에 의해 주문될 수 있다.
선택 
필수
주문
주문 각각의 주문에는 여러 개의 주문목록을 포함한다. 
각각의 주문목록은 하나의 주문내용에 포함된다.
필수 
필수
주문목록
주문목록 각각의 주문목록은 한 개의 도서와 연결된다. 
각각의 도서는 여러 주문목록에 주문될 수 있다.
필수 
선택
도서


  

3) 관계정의서를 이용하여 ERD를 그린다. 

관계11.png  

번호 제목 글쓴이 날짜 조회 수
공지 [기술 보고서 다운로드] IDC Technology Spotlight: 모델 기반 데이터 설계를 통한 비즈니스 민첩성 확보 방안 관리자 2015.08.24 8324
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39525
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50255
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52668
21 DB Optimizer 에디션 선택 가이드(에디션 별 차이) file 문효섭 2012.03.28 6185
20 데이터아키텍트가 비즈니스 업무부서와 협업하기 위해 알아야 할 5가지 file 문효섭 2012.03.27 6424
19 ERwin이 아닌 ERStudio를 고객이 선택하는 이유 Top 10 file 문효섭 2012.03.27 7225
18 ERwin에서 ER/Studio로의 마이그레이션 가이드 file 문효섭 2012.03.27 6953
17 ER/Studio 웹포탈에서 데이터모델 조회 시 한글이 깨져보일때 file 문효섭 2012.03.07 6624
16 Rapid SQL 사용자 가이드 file 문효섭 2012.01.27 11553
15 DB ChangeManager XE 퀵가이드, 기능 가이드 file 문효섭 2012.01.27 10030
14 DB Optimizer XE 사용자 가이드 file 문효섭 2012.01.27 9448
13 DB Artisan XE 사용자 가이드 file 문효섭 2012.01.27 8619
12 데이터모델링이란 - 11.인덱스설계 문효섭 2012.01.04 10351
11 데이터모델링이란 - 10.뷰설계 문효섭 2012.01.04 8781
10 데이터모델링이란 - 9.반정규화(역정규화) 문효섭 2012.01.04 15513
9 데이터모델링이란 - 8.관계형 테이블 전환 file 문효섭 2012.01.04 13667
8 데이터모델링이란 - 7.실전데이터모델링 이슈 file 문효섭 2012.01.04 13861
7 데이터모델링이란 - 6.정규화 file 문효섭 2012.01.04 19756
» 데이터모델링이란 - 5.관계(Relational) file 문효섭 2012.01.04 36540
5 데이터모델링이란 - 4.식별자 file 문효섭 2012.01.04 16974
4 데이터모델링이란 - 3.속성(Attribute) file 문효섭 2012.01.04 26389
3 데이터모델링이란 - 2.엔티티(Entiry) file 문효섭 2012.01.04 95901