본문 바로가기

[DB]DataBase/[SQL]

[SQLD] ERD

728x90
반응형

ERD 설명

ERD(Entity Relationship Diagram; E-R Diagram)는 업무 분석에서 도출된 엔터티와 엔터티 간의 관계를 다이어그램으로 표현하는 것이다.

존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)이다.

존재하고 있는 것은 데이터를 뜻하기도 하므로 '데이터들의 관계를 나타낸 도표'와 같다.

데이터 모델에 대한 표기법으로, 1976년 Peter Chen(피터첸)이 E-R Model(Entity-Relationship Model)이라는 표기법을 만들었다.

ERD 작성 순서

  1. 엔터티를 그린다.
  2. 엔터티를 적절하게 배치한다.
  3. 엔터티 간 관계를 설정한다.
  4. 관계명을 기술한다.
  5. 관계의 참여도를 기술한다.
  6. 관계의 필수여부를 기술한다.

  • 엔터티 배치는 가장 중요한 엔터티를 왼쪽 상단에 배치하고, 이것을 중심으로 다른 엔터티를 나열하면서 전개한다.
  • 엔터티 배치 이후 관계 있는 엔터티 간의 관계를 설정한다.
  • 초기에는 Primary Key로 속성이 상속되는 식별자 관계 설정하고 Circle 관계도 발생하지 않도록 유의한다.
  • 관계 설정이 완료되면 연결 관계에 관계 이름을 부여한다.
  • 이때 지나치게 포괄적인 의미 사용은 주의한다.

 

ERD 표기법

아래 그림은 A: 부모, B: 자식 관계를 가진 ERD이다.

여기서 '~로 구성되어 있다'는 의미는 '~를 포함하고 있다'는 의미로 해석하면 된다.

 

그림에는 없지만 점선과 실선으로 관계를 구분하기도 한다.

실선은 부모 테이블의 기본키를 자식 테이블이 가지고 있으며 이를 기본키(주 식별자)로 사용하는 경우(식별자 관계)이고,

점선은 부모 테이블의 기본키를 자식 테이블이 가지고 있지만 이를 기본키로 사용하지 않는 경우(비식별자 관계)이다.

 

엔터티 내의 인스턴스들이 얼마나 관계에 참여하는지 관계차수(Cardinality)로 표현한다.

카디널리티(Cardinality)는 한 개체에서 발생할 수 있는 발생 횟수를 정의하며, 다른 개체에서 발생할 수 있는 발생횟수와 연관된다.

 

ERD 예시

회원-대여

  • 회원번호PK가 대여 테이블에서 FK 일반속성으로 사용된다. (점선)
  • 회원은 여러 대여를 할 수 있다. (1:N)
  • 아예 대여하지 않은 회원이 있을 수 있다. (선택)
  • 대여를 할 때 회원 정보가 필수로 있어야 한다. (필수)

도서-대여

  • 도서번호PK가 대여 테이블에서 FK로 일반속성으로 사용된다. (점선)
  • 도서가 과거에 여러번 대여된 기록이 있을 수 있고 아예 대여하지 않은 도서가 있을 수 있다. (선택)
  • 대여를 할 땐 도서 정보가 필수로 있어야 한다. (필수)

회원-예약

  • 회원번호(PK)가 예약 테이블에서 FK이자 PK로 사용된다. (실선)
  • 회원은 예약을 여러 개 할 수 있다. (1:N)
  • 과거에 예약을 한 번도 하지 않은 회원이 있을 수 있다. (선택)
  • 예약을 할 땐 회원 정보가 필수로 있어야 한다. (필수)

 

반응형