[SQLD]1장 데이터 모델링의 이해-4. 관계

Yu River·2022년 7월 5일
0

SQL전문가가이드

목록 보기
4/34

[1] 관계의 개념

(1) 관계의 정의

  • 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태이다.

(2) 관계의 페어링

  • 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것이다.
  • 페어링이란 이것의 집합을 관계로 표현한 것이다.
  • 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다.
  • 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태이다.

[2] 관계의 분류

(1) ⭐️ 관계 분류 방법

  • 표기는 구분하지 않는다.
  • ⭐️ 존재에 의한 관계 (Ex) 소속한다)
  • ⭐️ 행위에 의한 관계 (Ex) 주문한다)

(2) ⭐️ UML 클래스다이어그램의 관계 분류

  • ⭐️ 연관관계
    • 존재적 관계이다.
    • ⭐️ 실선으로 표현되고 멤버변수로 선언하여 사용한다.
  • ⭐️ 의존관계: 행위에 의한 관계이다.
    • ⭐️ 점선으로 표현되고 Operation(Method)에서 파라미터 등으로 이용한다.

[3] ⭐️ 관계의 표기법

(1) ⭐️ 관계명

  • 각각의 관계는 두 개의 관계명을 가지고 있다.
  • 관계 시작점과 끝점 모두 관계 이름을 가진다.
  • 참여자의 관점에 따라 관계 이름이 능동적이거나 수동적으로 명명한다.

명명 규칙

  • 애매한 동사를 피한다.
  • 현재형으로 표현한다.

(2) ⭐️ 관계차수 (Degree/Cardinality)

  • 관계에서 참여자의 수를 표현한다.

  • 1:1 관계 표시

  • 1:M 관계 표시

  • M:N 관계 표시

    • M:N 관계는 이후에 두 개의 주식별자를 상속받은 관계 엔터티를 이용하여 3개의 엔터티로 구분하여 표현한다.

(3) ⭐️ 관계선택사양 (Optionality)

  • 필수참여관계
    • ERD에서 관계를 나타내는 선에서 필수참여는 아무런 표시를 하지 않는다.
  • 선택참여관계 (FK로 연결될 경우 Null을 허용할 수 있는 항목)
    - ERD에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시한다.

[4] 관계의 정의 및 읽는 방법

(1) 관계 체크사항

  • 두 개의 엔터티 사이에 관심있는 ⭐️연관규칙⭐️이 존재하는가?
  • 두 개의 엔터티 사이에 ⭐️정보의 조합⭐️이 발생되는가?
  • 업무기술서, 장표에 관계연결에 대한 ⭐️규칙⭐️이 서술되어 있는가?
  • 업무기술서, 장표에 관계연결을 가능하게 하는 ⭐️동사⭐️가 있는가?

(2) 관계 읽기

  • 기준(Source) 엔터티를 한 개 또는 각으로 읽는다.
  • 대상(Target) 엔터티의 관계 참여도 즉 개수(하나, 하나 이상)를 읽는다.
  • 관계선택사양과 관계명을 읽는다.
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글