관계는 엔터티 간 관계를 의미하며, 엔터티 간 어떠한 연관성이 있는지 여러 타입으로 나눌 수 있다. 존재 관계와 행위 관계로 구분할 수 있으며, 각 관계 차수는 1:1, 1:M, N:M으로 나눠진다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252Fe1a18480-88a4-46db-aa53-3a07d94ec86c%252F9b0b3590-0db1-4cf7-af6c-ee0b7e7644c6%252FUntitled.png%3Ftable%3Dblock%26id%3D4a77f2c6-6f52-4607-80f5-3cec47a82fdc%26cache%3Dv2&w=2048&q=75&dpl=dpl_9Fy5DR7iXit8HvYKCDvmsFiYTXKA)
✅ 1. 존재 관계
엄마와 아이처럼 존재 자체로 연관성이 있는 관계를 의미한다.
예를 들면 사원과 부서, 학생과 학과 등 엔터티가 여기에 속한다.
✅ 2. 행위 관계
특정한 행위를 함으로써 연관성이 생기는 관계를 의미한다.
예를 들면 고객과 주문, 학생과 출석부 엔터티가 여기에 속한다.
✅ 3. 표기법
관계명(Membership) | 관계의 이름 |
관계차수(Cardinality) | 관계에 참여하는 수 |
관계선택사양(Optionality) | 필수인지 선택인지의 여부 |
☑️ 1) 관계명
관계명은 반드시 명확한 문장이어야 하고, 현재형이어야 한다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252Fe1a18480-88a4-46db-aa53-3a07d94ec86c%252F798c3480-b7ad-4e42-95da-e11d8ed1b728%252FUntitled.png%3Ftable%3Dblock%26id%3Dc96bbc3f-47a7-47fa-8238-3c3e1484ad2e%26cache%3Dv2&w=1920&q=75&dpl=dpl_9Fy5DR7iXit8HvYKCDvmsFiYTXKA)
엔터티 간 어떠한 관계를 맺고 있는지를 나타내준다. 각 엔터티의 관점에서 관계명을 하나씩 가지고 있어, 모든 관계는 두 개의 관계명을 가진다.
바람직하지 않은 관계명 | 바람직한 관계명 |
연관성이 있다. | 주문한다. |
관계가 있다. | 소속된다. |
출석을 했다. | 출석을 한다. |
☑️ 2) 관계 차수
각 엔터티가 가지는 관계의 수를 의미한다. 아래와 같이 3가지로 구분할 수 있다.
1:1 관계
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252Fe1a18480-88a4-46db-aa53-3a07d94ec86c%252F41b362ef-e470-4f46-9f9f-5842e6b1a427%252FUntitled.png%3Ftable%3Dblock%26id%3D081858c7-6d24-4f78-9568-35ec806aa307%26cache%3Dv2&w=1920&q=75&dpl=dpl_9Fy5DR7iXit8HvYKCDvmsFiYTXKA)
- 완전 1:1 관계
→ 하나의 엔터티에 관계되는 엔터티가 반드시 하나로 존재하는 경우
ex) 사원은 반드시 소속 부서가 있어야 함.
- 선택적 1:1 관계
→ 하나의 엔터티에 관계되는 엔터티가 하나이거나 없을 수 있는 경우
ex) 사원은 하나의 소속 부서가 있거나 아직 발령 전이면 없을 수 있음.
1:M 관계
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252Fe1a18480-88a4-46db-aa53-3a07d94ec86c%252F45d81568-908e-4820-80e0-c9ad8400fc7e%252FUntitled.png%3Ftable%3Dblock%26id%3D10dd6561-ccc5-434a-a936-f426f09909b4%26cache%3Dv2&w=1920&q=75&dpl=dpl_9Fy5DR7iXit8HvYKCDvmsFiYTXKA)
→ 엔터티에 하나의 행에 다른 엔터티의 값이 여러 개 있는 관계
ex) 고객은 여러 개의 계좌를 보유할 수 있음.
N:M 관계
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252Fe1a18480-88a4-46db-aa53-3a07d94ec86c%252F97a2d947-d913-4682-946c-1627970bdfff%252FUntitled.png%3Ftable%3Dblock%26id%3D07613b1a-9ce8-4350-a263-2f4f51a38d48%26cache%3Dv2&w=1920&q=75&dpl=dpl_9Fy5DR7iXit8HvYKCDvmsFiYTXKA)
→ 두 엔터티가 다대다의 연결관계를 가지고 있음
→ 이 경우 조인 시 카테시안 곱이 발생하므로 두 엔터티를 연결하는 연결 엔터티의 추가로 1:N 관계로 해소할 필요가 있다.
ex) 한 학생이 여러 강의를 수강할 수 있고, 한 강의 기준으로도 여러 학생을 보유할 수 있음.
⇒ 중간에 수강이력 엔터티를 두어 해소!
☑️ 3) 관계 선택사양
필수적 관계 | 참여자가 반드시 존재해야 하는 관계 |
선택적 관계 | 참여자가 없을 수도 있는 관계 |
관계 선택사양은 이 관계가 필수요소인지 선택사항인지 나타낸다.
예를 들어, 주문은 반드시 하나 이상의 주문상품이 필요하므로, 필수적 관계이다.
다만 학생과 출석부 엔터티의 관계는 선택적 관계이다.
Share article