관계 (Relationship)
- 엔티티 간의 연관성
- 인스턴스 간의 논리적인 연관성을 파악하여 정의
관계의 종류
- 존재적 관계
- 한 엔티티의 존재가 다른 엔티티의 존재에 영향을 미치는 관계
- 엔티티 간의 연관된 상태를 의미
- 예) 부서 엔티티가 삭제되면 사원 엔티티의 존재에 영향을 미침
- 행위적 관계
- 엔티티 간의 어떤 행위가 있는 것을 의미
- 예) 고객 엔티티의 행동에 의해 주문 엔티티가 발생
** ERD에서는 존재 관계와 행위 관계를 구분하지 않음!
관계의 구성
- 관계명
- 차수 (Cardinality)
- 선택성 (Optionality) : 필요한 관계인지 선택적인 관계인
관계의 차수 (Cardinality)
- 한 엔티티의 인스턴스가 다른 엔티티의 인스턴스와 어떻게 연결되는지 나타내는 표현
- 1:1, 1:N, N:M
- 1 대 1 관계
- 완전 1 대 1 관계
- 하나의 엔티티에 관계되는 엔티티가 반드시 하나로 존재
- 예) 사원은 반드시 소속 부서가 있어야 함
- 선택적 1 대 1 관계
- 하나의 엔티티에 관계되는 엔티티가 하나이거나 없을 수 있는 경우
- 예) 사원은 하나의 소속 부서가 있거나, 아직 발령 전이면 없을 수 있음
- 관계되는 엔티티가 최대 1개이지만 반드시 존재하는지, 없어도 되는지에 따라 나뉨
- 완전 1 대 1 관계
- 1 대 N 관계
- 엔티티의 하나의 행에 다른 엔티티의 값이 여러 개 있는 관계
- 예) 고객은 여러 개의 계좌를 소유할 수 있음
- M 대 N 관계
- 두 엔티티가 다대다의 연결 관계를 가지고 있음
- 조인 시에 카테시안 곱 (n*m개의 결과가 생김)이 발생하므로 두 엔티티를 연결하는 연결 엔티티를 추가하여 1 대 N 관계로 해소할 필요가 있음
- 예) 한 학생이 여러 강의를 수강할 수 있고, 한 강의 기준으로 여러 학생을 보유할 수 있음
- 두 엔티티의 연결 엔티티로 구매이력 엔티티가 필요
관계의 페어링
- 엔티티 안에 인스탄스가 개별적으로 관계를 가지는 것
- 관계란 페어링의 집합
- 예) 학생과 강의 엔티티가 가지는 관계에서 차수는 M:N이며, 인스턴스의 관계에서 "학생 A가 강의 B를 2023년 1학기에 수강했고 성적은 A+을 받았다"와 같은 특정한 페어링이 형성
차수 : 하나의 엔티티와 다른 엔티티 간의 레코드 연결 방식
페어링 : 두 엔티티 간의 특정 연결을 설명
'sqld' 카테고리의 다른 글
1-6) 정규화 (0) | 2024.08.18 |
---|---|
1-5) 식별자 (0) | 2024.08.08 |
1-3) 속성(Attribute) (0) | 2024.07.28 |
1-2) 엔티티(Entity) (0) | 2024.07.24 |
1-1) 데이터 모델의 이해 (0) | 2024.07.24 |