# ERD (Entity Relationship Diagram) 소개 ## 1. ERD란 무엇인가 ERD(Entity Relationship Diagram)는 **데이터베이스 구조를 시각적으로 표현하는 다이어그램**이다. 데이터베이스를 구성하는 주요 객체(Entity), 속성(Attribute), 그리고 객체 간의 관계(Relationship)를 한눈에 이해할 수 있도록 도식화한 설계 도구이다. ERD는 다음과 같은 목적을 가진다. - 데이터베이스 구조를 직관적으로 이해 - 요구사항 분석 결과를 설계로 반영 - 개발자, 기획자, 데이터 분석가 간 의사소통 도구 역할 - 구현 전에 설계 오류를 조기에 발견 --- ## 2. ERD의 주요 구성 요소 ### 2.1 Entity (엔터티) Entity는 데이터베이스에서 관리해야 할 **대상 객체**이다. 보통 테이블로 구현된다. 예시: - User - Order - Product ### 2.2 Attribute (속성) Attribute는 Entity가 가지는 **데이터 항목**이다. 테이블의 컬럼에 해당한다. 예시: - User.id - User.email - Product.price ### 2.3 Relationship (관계) Entity 간의 연관성을 표현한다. 예시: - User 1명은 여러 개의 Order를 가질 수 있음 (1:N 관계) - Student와 Course는 M:N 관계 ### 2.4 Key - Primary Key (PK): 엔터티를 유일하게 식별하는 키 - Foreign Key (FK): 다른 엔터티의 PK를 참조하는 키 --- ## 3. 관계 유형 (Cardinality) | 관계 유형 | 설명 | |------------|------| | 1:1 | 한 엔터티가 하나의 엔터티와만 관계 | | 1:N | 하나가 여러 개를 가짐 | | N:M | 여러 개가 여러 개와 관계 | | Optional | 필수가 아닌 관계 | | Mandatory | 반드시 존재해야 하는 관계 | --- ## 4. ERD 표기 방법 ### 4.1 Crow’s Foot 표기법 관계의 수를 발 모양으로 표현하는 방식이다. - | : 1개 - < : 여러 개 - O : 선택적 ### 4.2 Chen 표기법 - Entity: 사각형 - Relation: 마름모 - Attribute: 타원 --- ## 5. ERD 설계 절차 ### Step 1. 요구사항 분석 업무 흐름 이해 및 데이터 요구사항 정리 ### Step 2. Entity 도출 명사 위주로 테이블 후보 도출 ### Step 3. Attribute 정의 각 Entity에 필요한 속성 정의 ### Step 4. Key 설정 Primary Key 및 Foreign Key 정의 ### Step 5. 관계 설정 엔터티 간 관계 정의 및 카디널리티 설정 ### Step 6. 정규화 검토 중복 제거 및 데이터 무결성 확보