본문 바로가기

데이터 사이언스/SQL

[SQLD 학습 자료 요약] 데이터 모델링의 이해 1.4. 관계

본 문서의 내용은 한국데이터산업진흥원에서 펴낸 SQL 전문가 가이드를 기반으로 자격증 취득에 도움이 될 개념을 정리한 것입니다.

SQL 전문가 가이드
국내도서
저자 : 한국데이터산업진흥원
출판 : 한국데이터산업진흥원 2020.05.29
상세보기

 

4. 관계

1. 관계의 개념

가. 관계의 정의

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

 

나. 관계의 페어링

유의해야할 점은 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이고 이것의 집합을 관계로 표현한다는 것이다. 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다.

 

각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 페어링(Relationship Paring)이라 한다.

 

관계의 페어링 (출처: SQL 전문가 가이드)

우측의 각 인스턴스들은 개별적인 연관성을 가지고 있을 수 있으며, 이것을 집합하여 '강의'라는 관계를 도출한다.

 


2. 관계의 분류

관계 분류 방법 (출처: SQL 전문가 가이드)

  1. 존재에 의한 관계 (Ex) 소속한다)
  2. 행위에 의한 관계 (Ex) 주문한다)

 

UML 클래스다이어그램의 관계 분류

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

 


3. 관계의 표기법

가. 관계명 (Membership)

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

 

명명 규칙

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

 

나. 관계차수 (Degree/Cardinality)

관계에서 참여자의 수를 표현하는 것

 

관계 차수별 표기법 (출처: SQL 전문가 가이드)

  1. 1:1 관계 표시

  2. 1:M 관계 표시

  3. M:N 관계 표시

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

 

다. 관계선택사양 (Optionality)

  1. 필수참여관계
  2. 선택참여관계 (FK로 연결될 경우 Null을 허용할 수 있는 항목)

 

ERD에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시한다. 필수참여는 아무런 표시를 하지 않는다.

 


4. 관계의 정의 및 읽는 방법

가. 관계 체크사항

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

 

나. 관계 읽기

  • 기준(Source) 엔터티를 한 개 또는 각으로 읽는다.
  • 대상(Target) 엔터티의 관계 참여도 즉 개수(하나, 하나 이상)를 읽는다.
  • 관계선택사양과 관계명을 읽는다.

 


↓SQL 전문가 가이드 요약 목록

더보기

 

따로 PDF 파일이 필요하신 분은 댓글을 통해 메일 주소 적어주시기 바랍니다.