슴슴한 IT

[SQLD,SQLP]데이터 모델링 - 세 가지 요소 : 개체, 속성, 관계 본문

SQL

[SQLD,SQLP]데이터 모델링 - 세 가지 요소 : 개체, 속성, 관계

요한바울 2023. 6. 26. 23:35
728x90

개체(Entity)

1) 정의

  • 업무에 필요하고 유용한 정보를 저장, 관리하기 위한 집합적인 것(Things)
  • 사물이나 사건 등을 바라볼 때, 전체를 지칭하는 것
  • 데이터베이스에서 관리하는 실제 또는 추상적인 객체

2) 특징 

  • 해당 업무에서 필요하고 관리가 필요한 정보 
  • 유일한 식별자에 의해 식별이 가능해야 함
  • 영속적으로 존재하는 2개 이상의 인스턴스 집합
  • 엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 가짐
  • 다른 엔터티와 최소 한 개 이상의 관계가 있어야함
  • 엔터티 개별 값들을 인스턴스라고 지칭, 과목 -> 국어, 영어, 수학, 과학 

3) 분류

  • 유무형에 따른 분류 
    - 유형엔터티 : 물리적인 형태가 있고 안정적이며 지속적으로 활용, 엔터티 구분 용이
    - 개념엔터티 : 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보
    - 사건엔터티 : 업무를 수행함에 따라 발생하는 시간적인 이벤트나 행동을 나타내는 엔터티
  • 발생시점에 따른 분류
    - 기본엔터티 : 독립적으로 존재하며 다른 엔터티와의 관계를 형성하고 데이터 모델의 핵심 구성 요소로 사용, 타 엔터티의 부모역할, 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가짐 (사원,부서,고객,상품,자재 등)
    - 중심엔터티 : 기본엔터티로부터 발생되고, 업무에서 가장 핵심적인 역할을 하는 개체, 다른 엔터티와의 관계를 통해 행위엔터티를 생성 (계약, 사고, 예금원장, 청구, 주문, 매출 등)
    - 행위엔터티 : 두 개 이상의 부모엔터티로부터 발생하고 특정한 동작이나 행위를 나타냄, 상세 설계 단계나 프로세스와 상관 모델링을 진행하면서 도출(주문목록, 사원변경이력)

속성(Attribute)

1) 정의

  • 개체가 가지는 특성이나 성질
  • 각 개체는 속성을 가지며, 속성은 해당 개체의 정보를 기술
  • 의미상 더 이상 분리되지 않음
  • 속성은 데이터베이스에서 개체를 식별하거나 구분하는 데 사용

2) 특징

  • 반드시 해당 업무에서 필요하고 관리가 필요한 정보
  • 정규화 이론에 근거하여 정해진 주식별자에 함수적 종속성을 가져야함
  • 하나의 속성은 한 개의 값만을 가져야 함 

3) 속성의 특성에 따른 분류

  • 기본속성(Basic Attribute)
    - 업무로부터 추출한 모든 속성이 해당, 코드성 데이터, 엔터티 식별 일련번호, 계산된 속성은 제외
  • 설계속성(Designed Attribute)
    - 업무상 필요한 데이터 외 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형
    - 일반적으로 일련번호와 같은 원래 속성을 업무상 필요에 따라 변형하여 만듬 
  • 파생속성(Derived Attribute)
    - 다른 속성에 영향을 받아 발생, 보통 계산된 값들
    - 다른 속성에 영향을 받아 데이터 정합성을 유지하기 위해 가급적 적게 정의하는 것이 좋음

4) 엔터티 구성 방식에 따른 분류

  • PK(Primary Key)속성
    - 엔터티를 식별할 수 있는 속성
  • FK(Foreign Key)속성
    - 다른 엔터티와의 관계에서 포함된 속성
  • 일반속성
    - PK/FK에 포함되지 않은 속성

관계(Relationship)

1) 정의

  • 개체 간 상호작용과 연결을 정의
  • 엔터티의 인스턴스 사이의 논리적인 연관성이 부여된 상태
  • 관계는 한 개체와 다른 개체 사이의 연관성을 나타냄
  • 개체 간 연관성을 통해 데이터를 효율적으로 관리

2) 분류

  • 존재에 의한 관계
    - 엔터티 간의 공통된 속성이나 키에 기반하여 형성되며, 외래 키(Foreign Key)를 통해 엔터티 간의 관계를 정의
    - 예를 들어 "주문" 엔터티와 "제품" 엔터티 간의 관계는 주문 테이블의 제품 외래 키를 통해 정의
  • 행위에 의한 관계
    - 엔터티 간의 상호작용이나 행위에 기반하여 형성되는 관계
    - 예를 들어 "도서관" 엔터티와 "회원" 엔터티 간의 관계는 "대출" 이라는 행위에 의해 관계 형성

출처 : 한국데이터진흥

3) 관계의 표기법 

  • 3가지 개념
    - 관계명(Membership) : 관계의 이름
    - 관계차수(Cardinality) : 1:1, 1:M, M:N
    - 관계선택사양(Opionality) : 필수관계, 선택관계
  • 관계차수
    - 1:1 관계 : 관계에 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티의 하나의 관계만을 가지고 있음

출처 : 한국데이터진흥원


      - 1:M 관계 : 엔터티 간의 관계가 하나 또는 그 이상의 수와 관계를 가짐 

출처 : 한국데이터진흥원

 

     - M:M 관계 : 엔터티 간의 관계가 하나 또는 그 이상의 수의 관계를 가지며, 반대 방향도 하나 또는 그 이상의 수의 관계를 가짐

출처 : 한국데이터진흥원

  • 관계선택사양
    - 필수참여 : 관계의 한 쪽 엔터티가 다른 쪽 엔터티에 대해 반드시 관계에 참여해야 하고, 외래 키 제약 조건으로 표
    - 선택참여 : 관계의 한 쪽 엔터티가 다른 쪽 엔터티에 대해 참여할지 여부를 선택적으로 결정하며, NULL값을 허용하는 외래 키로 표현
    - 선택참여관계는 ERP에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시, 필수참여는 표시 안함

출처 : 한국데이터진흥원

4) 관계 읽기

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

출처 : 한국데이터진흥원

 


출처 - 한국데이터진흥원 SQL가이드 2020 Edition


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90