231113 TIL #241 SQLD #2 엔터티 / 속성 / 관계

김춘복·2023년 11월 12일
0

TIL : Today I Learned

목록 보기
241/543
post-custom-banner

Today I Learned

오늘은 면접 준비를 하면서 SQLD 이론 공부를 이어서 진행했다.
공부하다보니 Entity를 영어로만 접해서 지금까지 당연히 엔티티라고 적었는데 실무에서는 엔터티라고도 쓰고 혼재된 것 같았다. 메서드와 메소드 느낌?


엔터티(Entity)

업무에서 관리해야 하는 데이터의 집합. 인스턴스의 집합. 명사형

특징

  1. 유일한 식별자를 가짐
  2. 2개 이상의 인스턴스를 포함
  3. 업무에서 필요로 하고 업무 프로세스에 이용
  4. 속성과 관계를 가짐

종류

  1. 발생 시점에 따른 분류
  • 기본 엔터티 : Key Entity. 독립적으로 생성
  • 중심 엔터티 : Main Entity. 기본과 행위 엔티티의 중간
  • 행위 엔터티 : Active Entity. 사건 엔티티. 2개 이상의 부모 엔티티로 부터 발생. 비즈니스 프로세스를 실행하면서 생성. 지속적으로 정보가 변경 or 추가되어 데이터 양이 가장 많다.
  1. 유/무형에 따른 분류
  • 유형 엔터티 : 물리적 형태가 있고 지속적으로 활용
  • 무형 엔터티 : 물리적 형태가 없음

명명규칙

  1. 현업 업무에서 사용하는 용어
  2. 약어 지양
  3. 단수 명사
  4. 유일성 보장
  5. 명확성

속성

엔티티가 가지는 최소 의미 단위. 인스턴스의 구성요소

엔터티-인스턴스-속성-속성값

한개의 엔터티는 두개 이상의 인스턴스의 집합
한개의 엔터티는 두개 시아의 속성을 가짐
한개의 속성은 한개의 속성값을 가짐

  • IE 표기법

    이외에 Barker표기법도 있다.

특징

  1. 속성값을 하나만 가진다.
    (하나 이상의 속성값이면 정규화가 필요)
  2. 주 식별자에 함수적으로 종속
  3. 업무에서 필요하고 관리하고자 하는 정보

종류

  1. 특성에 따른 분류
  • 기본 속성 : 비즈니스 프로세스에서 도출되는 본래 속성
  • 설계 속성 : 데이터 모델링 과정에서 업무 규칙화를 위해 발생하는 속성
  • 파생 속성 : 다른 속성에 의해 만들어지는 속성
    (저장 속성은 유도 속성을 생성하는 데 사용되는 속성)
  1. 분해 가능 여부에 따른 분류
  • 단일 속성 : 하나의 의미
  • 복합 속성 : 여러 의미, 단일 속성으로 분해 가능 ex)주소
  • 단일값 속성 : 하나의 값
  • 다중값 속성 : 여러 값. 엔터티로 분해 가능
  1. 엔터티 구성 방식에 따른 분류
  • 기본키 속성 : 엔터티를 식별할 수 있는 속성
  • 외래키 속성 : 다른 엔터티와의 관계에서 포함된 속성
  • 일반 속성 : 엔터티에 포함되고 PK, FK가 아닌 속성

관계

엔터티 간의 논리적인 관련성. 동사형

관계 표기법

  1. 관계명
  2. 관계차수(Cardinality) : 관계 내 튜플의 전체 수. 하나는 직선이고 많으면 삼발로 표시
    (M:N 관계의 조인은 관계형 DB에서 카테시안 곱 발생)

종류

  1. UML 기준
  • 연관 관계 : Association. 실선 표기
  • 의존 관계 : Dependency. 점선 표기
  1. ERD 기준(표기구분 x)
  • 존재 관계 : 엔터티 간의 상태
  • 행위 관계 : 엔터티 간에 발생하는 행위
  1. 식별자에 따른 분류
  • 식별 관계 : 부모 엔터티의 식별자를 자식 엔터티에서 주 식별자로 사용

  • 비식별 관계 : 부모 엔터티의 식별자를 자식 엔터티에서 이랍ㄴ 컬럼으로 참조 사용. 약한 종속 관계

관계 읽기

각각의/하나의 > 기준 엔터티 > 관계차수 > 대상 엔터티 > 관계선택사양 > 관계명

profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글