1. 관계의 개념
가. 관계의 정의
나. 관계의 패어링
관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이고 이것의 집합을 관계로 표현한다는 것이다. 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다. 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 패어링(Relationship Paring)이라 한다.
2. 관계의 분류
UML(Unified Modeling Language)에는 클래스다이어그램의 관계중 연관관계(Association)와 의존관계(Dependency)가 있다. 이 둘의 차이는 연관관계는 항상 이용하는 관계로 존재적 관계에 해당하고 의존관계는 상대방 클래스의 행위에 의해 관계가 형성될 떄 구분하여 표현한다는 것이다.
3. 관계의 표기법
- 관계명(Membership) : 관계의 이름
- 관계차수(Cardinality) : 1:1, 1:m, m:m
- 관계선택사양(Optionality) : 필수관계, 선택관계
가. 관계명
엔터티에서 관계가 시작되는 편을 관계시작점(The Beginning)이라고 부르고, 받는 편을 관계끝점(The end)이라고 부른다. 관계 시작점과 끝점 모두 관계이름을 가져야 하며 참여자의 관점에 따라 관계이름이 능동적(Active)이거나 수동적(Passive)으로 명명된다.
- 애매한 동사를 피한다. 예를 들면 '관계 된다', '관련이 있다'. 등은 구체적이지 않다.
- 현재형으로 표현한다. 예를 들면 '수강을 신청했다' 라는 식으로 표현해서는 안된다. '수강 신청한다'로 표현해야 한다.
나. 관계차수
두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것을 관계차수라고 한다. 한 개가 참여하는 경우는 실선을 그대로 유지하고, 다수가 참여한 경우는 까마귀발과 같은 모양으로 그려준다.
1) 1:1 관계를 표시하는 방법
2) 1:m 관계를 표시하는 방법
관계에 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티의 엔터티에 대해 하나나 그 이상의 수와 관계를 가지고 있다. 그러나 반대의 방향은 단지 하나만의 관계를 가지고 있다.
3) m:m 관계를 표시하는 방법
다. 관계선택사양
필수참여는 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계이다. 예를 들면 주문서는 반드시 주문목록을 가져야 하며 주문목록이 없는 주문서는 의미가 없으므로 주문서와 주문목록을 필수참여관계가 되는 것이다. 반대로 목록은 주문이 될 수 도있고, 주문이 되지 않은 목록이 있을수도 있으므로 목록과 주문목록의 관계는 선택참여가 되는 것이다.
4. 관계의 정의 및 읽는 방법
가. 관계 체크사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
나. 관계 읽기
- 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나 이상)를 읽는다.
- 관계선택사양과 관계명을 읽는다.
댓글