1. 관계의 개념
관계의 정의
엔티티의 인스턴스 사이의 논리적인 연관성으로서 존재하는 형태로서나 행위로서 서로에게 연관성이 부여된 상태
관계의 패어링
관계 : 인스턴스가 개별적으로 관계를 가지는 것(패어링), 이것의 집합을 관계로 표현 함(?)
관계의 패어링 : 인스턴스들이 자신과 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태
관계의 표현 : 이항 관계, 삼항 관계, n항 관계
2. 관계의 분류
ERD에서 구분하여 표현하진 않지만, UML에서는 아래와 같이 구분 표현한다.
연관 관계 : 존재의 형태에 의한 관계, 실선 표현
의존 관계 : 행위에 의해 발생된 관계, 점선 표현
3. 관계의 표기법
관계명 : 관계의 이름
관계시작점 : 관계가 시작되는 지점
관계끝점 : 관계가 끝나는 지점
시작, 끝점 모두 관계명을 가져야하며, 한 쪽은 능동적, 한 쪽은 수동적이여야 함
주의사항
애매한 동사는 피함
현재형으로 표기관계차수(Cardinality) : 1:1, 1:N, N:N
N:N 인 경우에는 ERD와 다르게 두 개의 주 식별자를 상속받은 관계 엔티티를 이용해 3개의 엔티티로 구분 표현한다.관계선택사양(Optionality) : 필수관계, 선택관계
4. 관계의 정의 및 읽는 방법
관계 정의 시 체크사항
두 개의 엔티티 사이에 관심 있는 연관규칙이 존재하는가?
두 개의 엔티티 사이에 정보의 조합이 발생되는가?
업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
관계 읽기
기준 엔티티를 각, 또는 하나로 읽는다.
대상 엔티티의 참여관계도 즉 개수(하나, 하나 이상) 읽는다.
관계선택사양의 관계명을 읽는다.
예
각각의 사원은 한 부서에 속한다.
각각의 부서는 하나 이상의 사원이 소속된다.
'자격증 > SQLD' 카테고리의 다른 글
성능 데이터 모델링의 개요 (0) | 2016.09.02 |
---|---|
식별자 (0) | 2016.09.02 |
속성(Attribute) (0) | 2016.09.02 |
엔티티(Entity) (0) | 2016.09.02 |
데이터 모델의 이해 (0) | 2016.09.02 |