- 개체 관계 모델(entity-relationship model)은 현실 세계를 개념으로 나타난 것이며 E-R 모델이라 칭하기도 한다.
- E-R 모델을 도식화하여 ERD (Entity-Relationship Diagram)이라고 칭한다.
- 개체는 독립적으로 존재하며, 동일한 개체는 존재하지 않는다.
한편 개체간 관계의 종류는 다음과 같이 크게 4가지로 분류할 수 있다. 간단한 예시로 비유해보자.
- 일대일(1:1): ex) 남성 1인과 여성 1인이 연인 또는 부부의 관계를 이룸.
- 일대다(1:n): ex) 반려 동물의 경우, 주인 1명이 여러 마리의 반려 동물을 소유 가능.
- 다대일(n:1): ex) 각 사원은 하나의 부서에 소속되며, 한 부서에는 다수의 사원이 소속될 수 있음.
- 다대다(m:n): ex) 각 교수는 여러 명의 학생을 가르칠 수 있고, 각 학생은 여러명의 교수에게 수업을 받을 수 있음.
※위코드 모델링 세션의 자료를 참고하였다.
총 6개의 테이블 (즉, 개체)이 있는 것을 알 수 있으며, 각각의 테이블은 여러 개의 속성(attribute)을 가진다. 예를 들어,
categories
라는 클래스는id
,menu_id
name
총 세 개의 속성을 가지며nutritions
의 경우에는id
,sugars
,protein
등의 여러가지 속성을 가진다. 따라서 각각의 클래스와 속성은 일대다 관계이다.클래스와 속성 사이의 관계 외에도 클래스, 즉 테이블 사이의 관계에서도 위의 4가지 유형을 적용해서 파악할 수 있다.
예를 들어drinks
테이블의id
라는 속성은allergy_drink
테이블의id
속성과,nutritions
테이블의drink_id
속성,images
테이블의drink_id
와 연결되어 있기 때문에 일대다 관계라고 할 수 있다.