[ 목차 ]
1. 관계란 무엇인가?
2. 관계의 패어링
3. 관계의 분류
4. 관계의 표기법
5. 관계 체크사항
6. 관계 읽기
1. 관계란 무엇인가?
1) 엔터티 안의 인스턴스 사이의 논리적인 연관성으로서, 존재의 형태 또는 행위로서 서로에게 연관성이 부여된 상태
2) 엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받으며 속성 정의 및 관계 정의에 따라
서도 다양하게 변함
2. 관계의 패어링
1) 관계란 엔터티 안의 인스턴스가 개별적으로 관계(패어링)를 가지는 것
2) 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있음
3) 관계 패어링 : 엔터티의 인스턴스가 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태
즉, 엔터티 내에 인스턴스와 인스턴스 사이에 관계가 설정되어 있은 어커런스
4) 엔터티가 인스턴스의 집합을 논리적으로 표현했다면 관계는 관계 페어링의 집합을 논리적으로 표현한 것
3. 관계의 분류
1) 관계를 연결함에 있어 어떤 목적으로 연결되었느냐에 따라 존재에 의한 관계와 행위에 의한 관계로 분류
2) 소속된다는 존재의 형태에 의해 관계가 형성된 것이며, 주문한다는 행위에 의해 발생하여 관계가 형성된 것
3) ERD에서는 존재적 관계,행위에 의한 관계를 구분않고 표현하지만, 클래스다이어그램에서는 구분하여 연관관계와 의
존관계로 표현
4. 관계의 표기법
1) 관계명 : 관계의 이름
1] 엔터티가 관계에 참여하는 형태를 지칭
2] 각 관계는 두 개의 관계명을 지녔으며, 참여자의 관점에 따라 능독적이거나 수동적으로 표현 가능
3] 관계가 시작되는 편을 관계시작점, 받는 편을 관계끝점이라고 부르며, 두 점 모두 관계이름을 지녀야 함
4] 애매한 동사는 피하고 현재형으로 표현
2) 관계차수 : 1:1, 1:M, M:M
1] 두 개의 엔터티 간 관계에서 참여자의 수를 표현하는 것
2] 몇 개의 관계가 존재하는지 파악하는 것이 중요
3] Crow's Foot 모델에서는 선으로 표현하며, 한 개 참여는 실선, 다수 참여는 까마귀 발 모양
4] 1:1 관계 : 관계에 참여하는 엔터티가 다른 엔터티에 대해 단지 하나의 관계만을 지님
5] 1:M 관계 : 관계에 참여하는 엔터티가 다른 엔터티에 대해 하나 이상의 관계를 지녔으나 반대 방향은 하나의 관계
6] M:M 관계 : 관계에 참여하는 엔터티가 다른 엔터티에 대해 하나 이상의 관계를 지녔으며 반대도 마찬가지
3) 관계선택사양 : 필수관계, 선택관계
1] 필수관계 : 참여하는 엔터티가 반드시 다른 참여 엔터티와 연결이 되어야 하는 관계
2] 선택관계 : 참여하는 엔터티가 다른 엔터티와의 연결을 선택할 수 있는 관계
3] 설계단계에서 필수관계와 선택관계는 업무 로직과 직접 관련되어 있기 때문에 고려해야 함
4] 선택참여하는 엔터티 쪽은 O, 필수참여는 아무 표시를 하지 않음
5] 양쪽 엔터티 모두가 선택참여일 때 0:0관계가 되어 잘못된 확률이 많으므로 검토해야 함
6] 관계선택사양에 따라 참조무결성 제약조건의 규칙이 바뀌기 때문에 주의 깊게 모델링해야 함
5. 관계 체크사항
1) 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
2) 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
3) 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
4) 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
6. 관계 읽기
1) 관계에 참여하는 기준 엔터티를 한 개 또는 각으로 읽음
2) 대상 엔터티의 관계참여도, 즉 엔터티의 개수를 읽음
3) 관계선택사양과 관계명을 읽음
'자격증 > SQLD' 카테고리의 다른 글
SQLD 1과목 2-1장. 성능데이터 모델링의 개요 (0) | 2020.02.28 |
---|---|
SQLD 1과목 1-5장. 식별자 (0) | 2020.02.27 |
SQLD 1과목 1-3장. 속성 (0) | 2020.02.26 |
SQLD 1과목 1-2장. 엔터티 (0) | 2020.02.20 |
SQLD 1과목 1-1장. 데이터 모델링의 이해 (0) | 2020.02.20 |