1. 관계의 개념
1) 관계의 정의
- 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
2) 관계의 패어링
- 패어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것
- 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다.
- 엔터티는 인스턴스의 집합을 논리적으로 표현한 것 / 관계는 관계 패어링의 집합을 논리적으로 표현하는 것
2. 관계의 분류
- 존재에 의한 관계
- 행위에 의한 관계
- UML(Uniform Modeling Language) 에는 클래스다이어그램의 관계 중 연관관계와 의존관계가 있고 이것을 구분하여 연관관계는 실선으로 표현하고, 의존관계는 점선으로 표현한다.
3. 관계의 표기법
# 관계명 (Membership)
- 관계의 이름
- 각각의 관계는 두 개의 관계명을 가지고, 각 관계명에 의해 두 가지의 관점으로 표현될 수 있음
# 관계차수 (Cardinality)
- 두 엔터티 사이의 관계에서 참여자(인스턴스)의 수를 나타낸 것
- 1:1, 1:M, M:N 이 있음
# 관계선택사양 (Optionality)
- 필수관계 ex) 반드시 지하철의 문이 닫혀야만 지하철은 출발
- 선택관계 : 물리속성에서 FK로 연결될 경우 Null을 허용할 수 있는 항목이 됨, ERD에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시 ex) 출발을 알리는 안내방송은 지하철의 출발과 상관없음
4. 관계의 정의 및 읽기
1) 관계 체크사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생하는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 존재하는가?
2) 관계 읽기
- 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나 이상)를 읽는다.
- 관계선택사양과 관계명을 읽는다.
'데이터베이스(DB) > SQLD' 카테고리의 다른 글
[SQLD 1-2-1] 데이터 모델과 SQL - 정규화 (32) | 2024.05.09 |
---|---|
[SQLD 1-1-5] 데이터 모델링의 이해 - 식별자 (31) | 2024.05.07 |
[SQLD 1-1-3] 데이터 모델링의 이해 - 속성 (40) | 2024.05.06 |
[SQLD 1-1-2] 데이터 모델링의 이해 - 엔터티 (40) | 2024.05.05 |
[SQLD 1-1-1] 데이터 모델링의 이해 - 데이터 모델의 이해 (56) | 2024.05.03 |