ERD(개체-관계 다이어그램)란
ERD는 데이터베이스 설계 시 데이터들이 어떻게 구성되고 서로 어떤 관계를 맺는지 시각적으로 나타내 주는 도구입니다. 이 다이어그램을 통해 데이터베이스에 저장될 데이터와 그 데이터들 간의 관계를 한눈에 파악할 수 있어, 실제 데이터베이스를 구축하기 전에 전체 구조를 설계하고 조정할 수 있습니다.
주요 구성 요소
1. 엔티티 (Entity)
- 정의: 데이터베이스에 저장할 주요 객체를 의미합니다.
- 예시: 고객, 주문, 상품 등
- 표현 방법: 보통 사각형 모양으로 표시합니다.
2. 속성 (Attribute)
- 정의: 엔티티가 가지는 세부 정보를 뜻합니다.
- 예시: 고객 엔티티의 경우, 이름, 주소, 전화번호 등
- 표현 방법: 일반적으로 타원이나 둥근 사각형으로 나타냅니다.
3. 관계 (Relationship)
- 정의: 서로 다른 엔티티 간의 연결 상태를 의미합니다.
- 관계 종류: 1:1, 1:N, N:M 등
- 표현 방법: 선이나 다이아몬드 기호 등으로 표현하여, 관계의 종류와 카디널리티(관계의 수)를 표시합니다.
주요 표기법
- Chen 표기법:
엔티티는 사각형, 속성은 타원으로 표현하며, 엔티티와 속성은 선으로 연결하여 관계를 명시합니다. - Crow’s Foot 표기법:
엔티티는 사각형으로 나타내고, 관계의 끝에 ‘발 모양’ 기호를 붙여서 각 관계의 카디널리티(1:1, 1:N, N:M)를 직관적으로 표현합니다.
ERD 작성 순서
- 요구사항 분석:
프로젝트나 시스템에서 어떤 데이터를 관리해야 하는지, 그리고 이 데이터들이 어떻게 연결되어야 하는지 조사합니다. - 엔티티와 속성 정의:
조사한 내용을 바탕으로 데이터베이스에 필요한 엔티티들을 결정하고, 각 엔티티에 필요한 속성을 나열합니다.
(예: 고객 엔티티 - 이름, 주소, 전화번호) - 관계 설정:
엔티티 간의 관계를 정의합니다.
(예: 한 고객이 여러 주문을 할 수 있으므로 고객과 주문 사이에 1:N 관계) - 다이어그램 작성:
draw.io, Lucidchart 등의 도구를 사용하여 엔티티, 속성, 관계를 시각적으로 배치합니다. - 검토 및 수정:
작성된 ERD를 다시 확인하여 누락된 부분이나 불필요하게 복잡한 부분이 없는지 점검한 후, 필요하면 수정합니다.
ERD의 장점
- 전체 구조 파악:
데이터베이스의 전체 구조를 한눈에 이해할 수 있어 설계 단계에서 중요한 의사결정에 도움을 줍니다. - 효과적인 소통:
개발자뿐만 아니라 비전문가들도 데이터 흐름을 쉽게 파악할 수 있어, 팀 내 커뮤니케이션을 원활하게 합니다. - 문제 예방:
사전 설계를 통해 데이터 중복이나 무결성 문제 등을 미연에 방지할 수 있습니다.
결론
ERD는 데이터베이스 설계의 기본 도구로, 데이터의 저장 방식과 각 데이터 간의 관계를 명확하게 나타냅니다. 요구사항 분석부터 엔티티 및 관계 정의, 그리고 시각적 다이어그램 작성까지의 과정을 통해 체계적인 데이터베이스 설계를 할 수 있으며, 이러한 작업은 프로젝트의 성공적인 진행에 큰 역할을 합니다.
'TIL' 카테고리의 다른 글
| [알고리즘] 시간 복잡도, 공간 복잡도 (1) | 2025.02.04 |
|---|---|
| Docker 소개 (0) | 2025.01.31 |
| [TIL] 241216 (2) | 2024.12.16 |
| [TIL] 241210 코사인 유사도, 고유값과 고유벡터 (5) | 2024.12.10 |
| [WIL] 24.12 1주차 (2) | 2024.12.06 |