본문 바로가기

SQLD

[SQLD : Ⅰ. 데이터 모델링의 이해] 3-1. 관계의 개념, 분류

* 관계의 정의

 - 상호 연관성이 있는 상태

 - 인스턴스 사이의 논리적인 연관성으로서, 존재 또는 행위로서, 서로에게 연관성이 부여된 상태

 - 엔티티 간 연관성을 표현하기 때문에 엔티티 정의에 따라 영향을 받기도 함

 - 속성 정의 및 관계 정의에 따라 다양하게 변할 수 있음

 

* 관계의 패어링

 - 패어링 : 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것

 - 개별 인스턴스가 각각 다른 종류의 관계를 갖고 있으면 두 엔티티 사이에 두 개 이상 관계가 형성될 수 있음

 - 관계 패어링 : 각 엔티티의 인스턴스들이 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태

 - 최초의 ERD에서 관계는 속성을 가질 수 있었지만 요즘 ERD에서 관계를 위해 속성을 도출하지는 않음

 - 관계의 표현에는 이항관계, 삼항관계, n항관계가 존재

* 관계의 분류

 - 존재에 의한 관계와 행위에 의한 관계로 구분

 - UML에는 클래스다이어그램의 관계 중 연관관계 association, 의존관계 dependency가 있음

   연관관계 : 항상 이용하는 관계, 존재적 관계, 실선, 소스코드에서 멤버변수로 선언하여 사용

   의존관계 : 상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현, 점선, operation에서 파라미터로 사용

 - ERD에서는 존재적 관계와 행위에 의한 관계를 구분하지 않지만 클래스 다이어그램에서는 구분함