ERD 다이어그램(ERD Diagram)란
ERD(Entity-Relationship Diagram) 다이어그램은 데이터베이스의 구조를 시각적으로 표현한 다이어그램으로, 엔티티(Entity)와 엔티티 간의 관계(Relationship)를 보여준다. 이는 데이터 간의 관계를 명확히 이해하고 표현하는 데 사용된다.
ERD 관계의 카디널리티

카디널리티(Cardinality)는 두 엔티티(Entity) 간의 관계에서 하나의 엔티티에 대해 다른 엔티티가 가질 수 있는 인스턴스의 수를 나타낸다. 이는 데이터베이스 설계에서 중요한 개념으로, 두 엔티티 간의 관계가 얼마나 밀접하게 연결되어 있는지를 표현한다. 
카디널리티는 ERD(Entity-Relationship Diagram)에서 엔티티 간의 연결선에 표시되며, 다음과 같은 기본 유형이 있다:
1. 1:1 (One-to-One)
- 정의: 하나의 엔티티 A가 오직 하나의 엔티티 B와만 연관될 수 있을 때의 관계.
 
- 예시: 한 사람당 하나의 주민등록번호가 부여된다. 즉, 한 사람이 한 주민등록번호와만 연결될 수 있고, 반대로 하나의 주민등록번호도 한 사람과만 연결된다.
 
- ERD 표기법: 두 엔티티를 연결하는 선에 각각 1을 표기하여 1:1 관계임을 나타낸다.
 
2. 1:N (One-to-Many)
- 정의: 하나의 엔티티 A가 여러 엔티티 B와 연관될 수 있을 때의 관계.
 
- 예시: 하나의 고객(Customer)이 여러 개의 주문(Order)을 할 수 있다. 즉, 한 고객은 여러 개의 주문과 연결될 수 있지만, 각각의 주문은 한 고객과만 연결된다.
 
- ERD 표기법: 1쪽 엔티티와 N쪽 엔티티를 연결하는 선에 각각 1과 N을 표기하여 1:N 관계임을 나타낸다.
 
3. N:M (Many-to-Many)
- 정의: 하나의 엔티티 A가 여러 엔티티 B와 연관될 수 있고, 동시에 엔티티 B도 여러 엔티티 A와 연관될 수 있을 때의 관계.
 
- 예시: 학생(Student)과 수업(Class)의 관계를 생각해보자. 한 학생은 여러 수업에 참여할 수 있고, 하나의 수업에는 여러 학생이 참여할 수 있다.
 
- ERD 표기법: 양쪽 엔티티를 연결하는 선에 각각 N과 M을 표기하여 N:M 관계임을 나타낸다.
 
4. 선택성과 필수성 (Optionality and Mandatory)
- 선택성(Optional): 특정 관계에서 엔티티가 다른 엔티티와 관계를 맺을 필요가 없는 경우를 나타낸다. 이때 카디널리티 표기에서 선택적 관계는 
0..1 또는 0..N으로 표현된다. 
- 필수성(Mandatory): 엔티티가 다른 엔티티와 반드시 관계를 맺어야 하는 경우를 나타낸다. 필수적인 관계는 
1..1 또는 1..N으로 표현된다. 
예시와 활용
- 1:1 관계: 회사에서 각 직원(Employee)은 하나의 사물함(Locker)을 가진다. 여기서 직원과 사물함은 1:1 관계로 표현된다.
 
- 1:N 관계: 한 교수가 여러 학생들을 지도할 때, 교수와 학생 간에는 1:N 관계가 성립한다.
 
- N:M 관계: 온라인 쇼핑몰에서 하나의 상품(Product)은 여러 주문(Order)에서 구매될 수 있고, 하나의 주문에서 여러 상품을 포함할 수 있다. 이 경우 상품과 주문 간에는 N:M 관계가 성립한다.