1장 4절 관계 (Relationship)
1. 관계의 개념
가. 관계의 정의
- 사전적인 의미 : 상호 연관성이 있는 상태
- 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태.
나. 관계의 패어링
- 유의해야할 점
관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이 있고, 이것의 집합을 관계로 표현한다는 것.
따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성 될수 있다.
2. 관계의 분류
- UML(Unified Modeling Language) 에는 클래스다이어그램의 관계중 연관관계(Association)와 의존관계
(Dependency)가 있다.
- 연관관계(Association)
항상 이용하는 관계로 존재적 관계에 해당한다.
- 의존관계(Dependency)
상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현하는것.
3. 관계의 표기법
가. 관계명(Membership) : 관계의 이름
- 관계시작점(The Beginning) : 관계가 시작되는 편
- 관계끝점(The End) : 관계를 받는 편
- 애매한 동사를 피한다.
관계된다, 관련이 있다, 이다, 한다 등은 구체적이지 않아 어떤행위가 있는지 또는 어떤 상태가 존재하는지 파악할수 없음
- 현재형으로 표현한다. ('수강을 신청했다', '강의를 할 것이다'라는 식으로 표현해서는 안된다)
나. 관계차수(Cardinality)
1) 1:1(ONE TO ONE) 관계를 표시하는 방법
2) 1:M (ONE TO MANY) 관계를 표시하는 방법
3) M:M (MANY TO MANY)관계를 표시하는 방법
다. 관계선택사양(Optionality)
- 필수참여 : 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계
- 선택참여 : 목록은 주문이 될수도 있고 되지 않을수도 있는 반드시는 아닌 관계
4. 관계의 정의 및 읽는 방법
가. 관계 체크사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
나. 관계 읽기
- 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나 이상)를 읽는다.
- 관계선택사양과 관계명을 읽는다.