엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태, 관계 페어링의 집합
ex) 강사 - 가르친다(관계) - 수강생
페어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것
유의해야 할 점은 관계는 패어링을 집합의 관계로 표현한다는 것이다. 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다.
항상 이용하는 관계 ex) 소속된다.
연관 관계는 표현방법이 실선으로 표현되고 소스코드에서 멤버변수로 선언하여 사용하게 된다.
상대 행위에 의해 발생하는 관계 ex ) 주문한다.
상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현한다는 것이다.
관계의 이름관계명은 엔터티가 관계에 참여하는 형태를 지칭한다. 각각의 관계는 두 개의 관계명을 가지고 있고 각각의 관계명에 의해 두가지 관점으로 표현될 수 있다.
엔터티에서 관계가 시작되는 편을 관계 시작점이라 부르고 받는편을 관계끝점 이라고 부른다.
관계명은 명명규칙에 따라 작성해야 한다.관계명 명명규칙
- 애매한 동사를 피한다.
ex)'관계된다', '관련이 있다', '이다',- 현재형으로 표현한다.
ex) 수강 신청한다, 강의를 한다.
두 개의 엔터티 간 관계에서 참여자의 수를 표현하는 것
가장 일반적인 관계차수 표현방법은 1:1, 1:N, M:N이다.
가장 중요하게 고려해야할 사항은 한 개의 관계가 존재하느냐 아니면 두 개 이상의 멤머수비이 존재하는지를 파악해야 한다.
참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계이다.
ex) 주문서는 반드시 주문목록을 가져야한다.
참여자의 선택에 따라서 타 엔터티와 연결이 되는 관계이다.
주문 목록은 주문이 될수도 있고 안될 수도 있다.
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가