ER/Studio 각 관계에 따른 FK의 속성

2012.06.25 14:18

spectra 조회 수:7776

논리 모델링에서 관계의 표현은 그 형태와 선택 사양에 따라 다른 모습으로 나타납니다. 

 

PK 에 속하는지, 아니면 일반 속성의 FK 값인지, NULL값의 허용 여부에 따라 모델링의 형태와 데이터베이스에 적용 했을때 모습은 각각 다르게 나타 납니다. 이번 포스트에서는 이런 관계의 형태를 알아보겠습니다.

 

관계는 PK인가 아닌가로 구분이 되고 PK가 아니라면 NULL을 허용하는가 아닌가로 구분이 됩니다.

1. PK(Identifying)  

   -  NOT NULL(Mandatory)


2. 일반 FK(Non-Identifying)

   -  NULL (Optional)

   -  NOT NULL(Mandatory)

 

쉽게 예를 들기 위해 가상의 엔터티를 두개 생성 하였습니다.

부모 엔터티와 자식 엔터티. 눈치 채셨겠지만 부모에서 자식으로 관계를 형성하는 모양입니다.

 

1.) 부모의 PK (부모키)가 자식 엔터티의 PK로 적용 될때.

자식 엔터티에서 부모키가 PK가 되었기 때문에 자동으로 NOT NULL이 된다. ER/Studio에서는 [Optional]이 비활성화 되어 NULL허용을 방지 하고 있습니다. PK는 Unique + Not null 을 만족해야 하니 당연한 것이겠지요. 차수(Cardinality)를 보면 Zero가 아닌 One부터 시작하는 것을 볼 수 있습니다.

표현은 실선으로 표시가 되며 차수가 One to Zero or More 이므로 까마귀발로 표현 되었습니다.


  식별.png

pk.png

 

 

2.) 부모의 PK (부모키)가 자식 엔터티의 일반 속성(FK)으로 적용 될때.

부모엔터티의 부모키가 자식키의 일반 속성으로 적용됩니다. 표시는 점선으로 표시 됩니다.

pk1.png

pk2.png

일반 속성으로 들어 가기 위해 Non-Identifying를 선택하면 Optional과 Mandatory 두 옵션이 모두

활성화가 됩니다.

여기서 Optional을 선택하게 되면 해당 값은 NULL을 허용하게 됩니다.

Mandatory를 선택하게 되면 해당 값은 NOT NULL이 되며 부모 엔터티가 | 모양으로 변경이 됩니다.

pk3.png

부모엔터티쪽의 [ O ],[ | ]으로 그 값이 NULL을 허용하는지 아니면 NOT NULL인지 확인 할 수 있으며 자식 엔터티 쪽에서 차수를 확인 할 수 있습니다. Exactly옵션을 통해 자식 차수를 지정할 수도 있습니다.

pk4.png

대부분 차수를 정의 하는 것은 default 값을 지정하거나 꼭 하나의 값이 있어야 할때 지정하기 때문에 주로 부모의 키가 자식 엔티티의 PK 역할을 하게 됩니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 [기술 보고서 다운로드] IDC Technology Spotlight: 모델 기반 데이터 설계를 통한 비즈니스 민첩성 확보 방안 관리자 2015.08.24 8533
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39730
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50500
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52906
142 [기술백서] ER/Studio를 활용한 데이터 표준화 시스템 구축방안 관리자 2014.11.12 1156
141 DB Power Studio #4-2. DBArtisan 둘러보기(데이터베이스 보안 관리) 손보라 2014.08.20 1175
140 DB Power Studio #4-5. DBArtisan 둘러보기(데이터 관리) 손보라 2014.08.21 1179
139 DB Power Studio #4-6. DBArtisan 둘러보기(데이터베이스 성능 관리) 손보라 2014.08.22 1185
138 DB Power Studio #4-3. DBArtisan 둘러보기(데이터베이스 공간 관리) 손보라 2014.08.21 1203
137 DB Power Studio #4-7. DBArtisan 둘러보기(메뉴 기능) 손보라 2014.08.22 1212
136 DB Power Studio #4-4. DBArtisan 둘러보기(SQL 관리) 손보라 2014.08.21 1276
135 ER/Studio 기본 가이드 #6. ER/Studio Data Architect로 메타데이터 import & export하기 손보라 2014.08.07 1277
134 ER/Studio 기본 가이드 #5. ER/Studio Data Architect의 데이터 딕셔너리 사용하기 손보라 2014.08.06 1296
133 DB Power Studio #4-1. DBArtisan 둘러보기(오브젝트 및 스키마 관리) 손보라 2014.08.20 1319
132 ER/Studio 기본 가이드 #4. ER/Studio Data Architect로 모델 간 비교 및 차이점 반영하기 손보라 2014.08.05 1323
131 DB Power Studio #1. DB Optimizer 둘러보기 손보라 2014.08.09 1334
130 DB Power Studio #3-2. Rapid SQL 둘러보기(비주얼 쿼리 빌더) 손보라 2014.08.19 1343
129 [기술백서] 데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지 관리자 2014.09.26 1343
128 [기술백서] ERwin이 아닌 ER/Studio를 선택하는 10가지 이유 관리자 2014.11.12 1347
127 ER/Studio 기본 가이드 #2. ER/Studio Data Architect로 논리/물리 모델링 시작하기 손보라 2014.08.01 1350
126 ER/Studio 기본 가이드 #3. ER/Studio Data Architect로 기존 데이터베이스 문서화하기 손보라 2014.08.04 1354
125 ER/Studio 기본 가이드 #1. ER/Studio Data Architect로 데이터모델링 시작하기 손보라 2014.08.01 1361
124 DB Power Studio #3-1. Rapid SQL 둘러보기(SQL 작성) 손보라 2014.08.18 1388
123 [온라인 세미나 발표자료] 스마트한 DBMS관리: DB PowerStudio 따라잡기, LIVE! 관리자 2014.09.25 1405