| 요소 | 설명 | 예시 |
|---|---|---|
| Entity (개체) | 데이터베이스에서 관리해야 할 대상 | User, Product, Order |
| Attribute (속성) | 엔티티의 특성 | User.name, Product.price |
| Relationship (관계) | 두 개체 간의 연결 | User — places → Order |
| Primary Key (기본키) | 각 엔티티에서 유일한 식별자 | user_id, order_id |
| Foreign Key (외래키) | 다른 엔티티의 기본키를 참조 | order.user_id → user.user_id |
각 엔티티의 인스턴스를 유일하게 구분할 수 있는 속성
다른 엔티티의 주식별자를 참조하는 속성, 두 엔티티 간의 관계를 나타냄
관계의 종류 (Cardinality)
| 관계 | 설명 | 예시 |
|---|---|---|
| 1:1 (One-to-One) | 하나의 엔티티 인스턴스가 다른 하나와만 연결 | 한 사람은 하나의 여권만 가짐 |
| 1:N (One-to-Many) | 하나의 인스턴스가 여러 개와 연결 | 한 사용자 → 여러 주문 |
| N:M (Many-to-Many) | 여러 인스턴스가 서로 여러 개와 연결 | 학생 ↔ 강좌 (수강) |
관계의 필수 / 선택 여부 (Participation)
| 기호 | 의미 | 예시 |
|---|---|---|
| ─│ | 반드시 존재 (Mandatory, 필수 참여) | 사용자는 반드시 주문을 가져야 함 |
| ─O | 없어도 됨 (Optional, 선택 참여) | 사용자가 주문이 없을 수도 있음 |
Crow’s Foot 표기법
엔티티 간의 관계를 선과 기호로 표현하는 방법
관계의 카디널리티를 직관적으로 표현
| 기호 | 의미 | 설명 |
|---|---|---|
| ─│ | 1 (One and only one) | 반드시 하나 존재 |
| ─O | 0 또는 1 (Zero or one) | 선택적으로 하나 존재 |
| ─< | 여러 개 (Many) | 하나 이상 존재 |
| ─O< | 0개 이상 (Zero or many) | 선택적 다수 |