검색결과 리스트
글
1장 데이터 모델링의 이해- 4절 관계
1. 관계의 개념.
가. 관계의 정의
- 엔터티의 인스턴사 사이의 논리적인 연관성으로 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태.
나. 관계의 패어링
- 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것
- 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 패어링 이라고 한다.
- 엔터티는 인스턴스의 집합을 논리적으로 표현했다고 한다면, 관계는 관계 패어링의 집합을 논리적으로 표현한 것.
- 관계의 표현에는 이항관계, 삼항관계, n항 관계가 존재할 수 있는데 실제에 있어서 삼항 관계 이상은 잘 나타나지 않는다.
[IE 표기법]
[Barker 표기법]
2. 관계의 분류
- 존재에 의한 관계
* 사원은 부서에 항상 속해있다.
- 행위에 의한 관계
* 주문은 고객이 주문할 때 발생된다.
@@
UML에는 클래스 다이어그램의 관계 중 연관관계와 의존관계가 있다.
- 연관관계: 항상 이용하는 관계로 존재적 관계에 해당함. (실선으로 표현됨)
- 의존관계: 상대방 클래스의 행위에 의해 관계가 형성될 때 해당됨.(점선으로 표현됨)
3. 관계의 표기법
- 관계명 : 관계의 이름
- 관계차수 1:1, 1:M, M:N
- 관계선택사양 : 필수관계, 선택관계
가. 관계명 : 엔터티가 관계에 참여하는 형태를 지칭한다.
- 관계가 시작되는 편을 관계시작점 이라고 부르고, 받는 편을 관계끝점 이라고 부른다.
- 관계시작점과 끝점 모두 관계이름을 가져야 하며, 참여자의 관점에 따라 관계이름이 능동적이거나 수동적으로 명명된다.
IE 표기법
Barker 표기법
* 관계명명 규칙
- 애매한 동사를 피한다.
- 현재형으로 표현한다.
나. 관계차수
- 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것을 관계차수 라고한다.
- 가장 중요하게 고려할 사항은 한 개의 관계가 존재하느냐 아니면 두 개 이상의 멤버십이 존재하는지를 파악하는 것이 중요하다,
1) 1:1 관계
- 관계에 참여하는 각각 엔터티는 관계를 맺는 다른 엔터티의 엔터티에 대해 단지 하나의 관계만 가지고 있다.
2) 1:M 관계를 표시하는 방법
- 관계에 참여하는 각각의 엔터티는 관계를 맺는 다른엔터티의 엔터티에 대해 하나나 그 이상 수와 관계를 가지고 있다.
* 한명의 사원은 한 부서에 소속되고 한 부서에는 여러 사원을 포함한다.
3) M : M 관계를 표시하는 방법.
다. 관계선택사양
- 필수참여관계: 물리속성에서 Foreign Key로 연결될 경우 Null을 허용할 수 있는 항목.
- 선택참여관계: 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계이다.
* 선택참여로 지정해야 할 관계를 필수참여로 잘못 지정하면 어플리케이션에서 데이터가 발생할 때 반드시 한 개의 트랜잭션으로 제어해야하는 제약사항이 발생하므로, 설계단계에서 필수참여와 선택참여는 개발시점에 업무로직과 직접적으로 관련된 부분이므로 바드시 고려되어야한다.
* 선택참여하는 엔터티쪽에 원으로 표시한다.
4. 관계의 정의 및 읽는 방법
가. 관계체크 사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
나. 관계읽기
먼저 관계에 첨야하는 엔터티 기준으로 하나 또는 각으로 읽고 대상 엔터티의 개수를 읽고 관계 선택사항과 관계명을 읽도록한다.
- 각각의 사원은 한 부서에 항상 속한다.
- 각 부서에는 여러 사원이 때때로 소속된다.
'자격증을 위한 > SQLD' 카테고리의 다른 글
[SQLD] 1과목 데이터 모델링의 이해 - 2장 1절:성능 데이터 모델링의 개요 (0) | 2015.08.23 |
---|---|
[SQLD] 1과목 데이터 모델링의 이해 - 1장 5절:식별자 (0) | 2015.08.23 |
[SQLD] 1과목 데이터 모델링의 이해 - 1장 3절: 속성 (0) | 2015.08.18 |
[SQLD] 1과목 데이터 모델링의 이해 - 1장 2절: 엔터티 (0) | 2015.08.18 |
[SQLD] 1과목 데이터 모델링의 이해 - 1장: 데이터 모델링의 이해 (0) | 2015.08.13 |
RECENT COMMENT