Database

DB ERD 관계선(실선, 점선)과 기호에 대한 설명

Dongkkase 2019. 1. 2. 15:43
반응형






DBA는 아니지만, 프로그램을 잘 만들기 위해서 완성된 ERD를 이해하고, 나아가 간단한 모델링은 직접 만들줄 알야한다고 생각한다.
ERD를 이해하기 위한 첫 걸음이자 가장 중요하다 할 수있는 부분이 관계선과 관계선에 사용되는 기호라고 할 수 있다.

들어가기 앞서 관계선과 기호의 종류에대해 알아보자

관계선의 종류
  • 실선(Identifying): 식별관계
    • 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
    • 부모가 있어야 자식이 생기는 경우
  • 점선(Non-Identifying): 비식별관계
    • 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우
    • 부모가 없어도 자식이 생기는 경우


기호의 종류(도형 혹은 식별자)
  • |: 1개 / 실선은(dash) ‘1'을 나타낸다.
  • ∈: 여러개 / 까마귀 발(crow’s foot or Many)은 ‘다수' 혹은 '그 이상'을 나타낸다.
  • ○: 0개 / 고리(ring or Optional)은 ‘0'을 나타낸다.
위와 같은 기호들을 서로 조합하여 사용될 수 있으며, 다음과 같은 조합이 가능하다.

  • Type1(실선과 실선): 정확히 1 (하나의 A는 하나의 B로 이어져 있다.)
  • Type2(까마귀발): 여러개 (하나의 A는 여러개의 B로 구성되어 있다.)
  • Type3(실선과 까마귀발): 1개 이상 (하나의 A는 하나 이상의 B로 구성되어 있다.)
  • Type4(고리와 실선): 0 혹은 1 (하나의 A는 하나 이하의 B로 구성되어 있다.)
  • Type5(고리와 까마귀발): 0개 이상 (하나의 A는 0또는 하나 이상의 B로 구성되 있다.)
기호의 조합은 보통 그림 예제의 Type1, Type3, Type4, Type5를 자주사용하며, 사용하는 ERD 프로그램에 따라 조합 방식이 다를 수 있다.
(상품 테이블과 상품의 옵션 테이블의 관계를 정의할때, 상품의 옵션은 없을 수 도 있고, 여러개가 있을 수 있기 때문에. 그림 예제 Type5로 표현이 가능하다.)

추가의견 및 잘못된 내용이 있을경우 댓글 바랍니다 :)


반응형