ERD (Entity-Relationship Diagram)
•
데이터 모델링의 한 형태로, 엔티티들과 그 사이의 관계를 도식화하여 표현하는 도구이다.
→ 릴레이션 간의 관계들을 정의하는 것
•
데이터베이스 설계 및 시스템 분석에 있어 핵심적인 역할을 한다.
ERD의 역사 및 개발 배경
•
1970년대 초, 피터 첸(Peter Chen)에 의해 처음 소개되었다.
•
복잡한 데이터 구조를 시각화하여 데이터베이스 설계자와 사용자 간의 의사소통을 용이하게 하기 위해 개발되었다.
ERD의 구성 요소
•
엔티티 (Entity)
◦
엔티티 이름은 단수형이고 유일하다.
◦
대문자로 표기한다.
◦
하나 이상의 식별자(UID : Unicque Identifier)를 가져야한다.
→ UID가 없다면 Entity로 볼 수 없다.
•
속성 (Attribute)
◦
속성의 이름은 소문자로 표기한다.
◦
엔티티 이름과 중복되면 안된다.
◦
# 은 UID, * 은 필수(Mandatory), o 는 선택(Optional) Attribute 를 의미한다.
◦
자신의 속성이 아니면서 관계를 위해 자신의 속성으로 표시해서는 안된다.
•
관계 (Relationship)
◦
엔티티 간의 관계를 의미하며, 두 엔티티 간에 선을 긋고 관계 명칭을 기록하게 된다.
•
선택 사항을 표시
◦
점선은 선택적인 사항을 의미한다. (may be)
→ 부서 입장에서는 사원을 배치받을 수도, 안 받을 수도 있다.
◦
실선은 필수적인 사항을 의미한다. (must be)
→ 사원 입장에서는 반드시 부서에 배치되어 있어야 한다.
•
관계 형태를 표시
관계 형태에 따른 예시
•
1:1 관계
•
1:N 관계
•
N:M 관계
※ 데이터 모델링에서는 두 엔티티 간의 관계가 N:M 으로 매칭되는 경우, 완성되지 않은 모델로 간주하기 때문에 두 엔티티의 관계를 1:N, 1:M 으로 조정하는 작업이 필요하다.
ERD의 중요성
•
다양한 사용자와 개발자가 데이터 구조를 명확하게 이해할 수 있도록 도와준다.
•
설계 초기 단계에서 문제를 발견하고 수정함으로써, 나중에 발생할 수 있는 비용이나 오류를 줄일 수 있다.
•
데이터 간의 관계를 명확히 정의함으로써 데이터의 중복을 줄이고, 효율적인 데이터 검색 및 업데이트가 가능하다.
※ 참고 : 비정형 데이터
•
비구조화 데이터를 말하며, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보를 말한다.
•
예를 들어, 정형 데이터는 DBMS에 미리 정의해둔 테이블에 저장되는 데이터라고 볼 수 있는 반면에, 비정형 데이터는 인터넷 상에서 떠돌아다니는 PDF 파일, JPEG 이미지 파일, 특정 주제와 관련된 텍스트, ETC 등을 말한다.
•
ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는데 유용할 수 있지만 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다.