Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[SQLD] 엔티티 (Entity) 본문

자격증/SQLD

[SQLD] 엔티티 (Entity)

코딩거인 2024. 4. 9. 22:49
728x90

엔티티
엔티티의 특징
  1. 업무에서 쓰이는 정보여야함
    • 업무와 연관되어있는 엔티티라도 실제로 프로세스에 이용되지 않는다면 적절하지 않음
  2. 유니크함을 보장할 수 있는 식별자가 있어야함
    • ex) 상품 엔티티의 경우 상품명이 동일한 상품이 존재할 수 있음으로 별도의 상품코드가 있어야한다.
  3. 2개 이상의 인스턴스를 가지고 있어야함
  4. 반드시 속성을 가지고 있어야함
  5. 다른 엔티티와 1개 이상의 관계를 가지고 있어야함

 

엔티티의 분류
  • 실존 하는 지 여부에 따른 분류
    • 유형 엔티티 : 물리적인 형태 존재, 안정성, 지속성 ex) 회원, 상품
    • 개념 엔티티 : 물리적인 형태 없음, 개념적 ex) 부서, 학과
    • 사건 엔티티 : 행위를 함으로서 발생, 빈번함, 통계자료로 이용 가능 ex) 주문, 이벤트 응모 
  • 발생 시점
    • 기본 엔티티 : 업무에 원래 존재하는 정보, 독립적으로 생성되며 자식엔티티를 가질수 있음
      • ex) 상품, 회원, 사원, 부서
    • 중심 엔티티 : 기본 엔티티에서 파생되고 행위엔티티 생성, 업무에 있어서 중심적인 역할, 데이터 양이 많음
      • ex) 주문, 매출, 계약
    • 행위 엔티티 : 2개 이상의 엔티티로부터 파생, 데이터가 자주 변경되거나 증가할 수 있음
      • ex) 주문내역, 이벤트 응모
엔티티의 속성
  • 의미상 더이상 쪼개지지 않아야 하며 프로세스에 필요한 항목이어야 함
  • 엔티티, 인스턴스, 속성, 속성값의 관계

출처 :https://blog.naver.com/doredome/222850472741

  • 한개의 엔티티에는 두개이상의 인스턴스를 갖는다.
  • 한개의 인스턴스는 두개이상의 속성을 갖는다.
  • 한개의 속성은 한개의 속성값을 갖는다.

 

  • 도메인
    • 속성이 가질수 있는 속성값의 범위
    • ex) 우편번호는 다섯자리의 숫자라는 범위를 가지고 있고 이것은 엔티티를 정의 할 떄 데이터 타입과 크기로 나뉜다.

 

엔티티의 분류
  • 특성에 따른 분류
    1. 기본속성 (Basic Attribute)
      • 엔티티의 가장 많은 퍼센티지
      • 업무프로세스 분석을 통해 바로 정의가 가능한 속성
    2. 설계속성 (Designed Attribute)
      • 업무에 존재하지는 않지만 설계하다보니 필요하다고 판단되어 도출한 속성
    3. 파생속성 (Derived Attribute)
      • 다른속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성
  • 구성방식에 따른 분류
    1. PK 속성 : 엔티티의 속한 인스턴스에 유니크함을 부여하는 속성
    2. FK 속성 : 다른 엔티티의 속성에서 가져온 속성
    3. 일반 속성 : PK FK 속성을 제외한 나머지 속성
엔티티의 관계
  • 관계란?
    • 엔티티와 엔티티의 관계를 의미하며 어떠한 연관성이 있는지 타입을 분류하여 존재관계행위관계로 나눌 수 있다.
    • 존재관계 : 존재 자체로 연관성 있는 관계
    • 행위관계 : 특정한 행위를 함으로써 연관성이 생기는 관계
  • 표기법
    • 관계명 : 관계의 이름, 명확한 문장이고, 현재형
    • 관계차수 : 관계에 참여하는 수, 1:1  /  1:M  / M:M 형식으로 구분
    • 관계 선택 사양 : 필수인지 선택인지의 여부
      • 필수적 관계 : 참여자가 반드시 존재해야하는 관계
      • 선택적 관계 : 참여자가 없을 수도 있는 관계

 

식별자
  • 하나의 속성이 주식별자가 될수도 있고, 여러개의 속성이 주식별자가 될 수도 있다.
  • 주식별자 : 기본키, PK 에 해당하는 속성
    1. 유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다.
    2. 최소성 : 유일성을 보장하는 최소 개수의 속성이어야 한다.
    3. 불변성 : 속성값이 되도록 변하지 않아야 한다.
    4. 존재성 : 속성값이 NULL 이 아니어야 한다.
  • 분류
    1. 대표성 여부
      • 주식별자
        • 유일성,최소성,불변성,존재성 을 가진 대표 식별자, 다른엔티티와 참조 관계로 연결
      • 보조 식별자
        • 인스턴스를 식별할 수는 있지만 대표식별자는 아니다.
        • 다른 엔티티와 참조 관계로 연결 X
    2. 스스로 생성 되었는지 여부
      • 내부 식별자 : 엔티티 내부에서 스스로 생성된 식별자
      • 외부 식별자 : 다른 엔티티에서 온 식별자 다른 엔티티와 연결고리 역할
    3. 단일 속성 여부
      • 단일 식별자 : 하나의 속성으로 구성된 식별자
      • 복합 식별자 : 두개 이상의 속성으로 구성된 식별자
    4. 대체 여부
      • 원조 식별자(본질 식별자) : 업무 프로세스에 존재하는 식별자, 가공되지 않는 원래의 식별자
      • 대리 식별자(인조 식별자) : 주식별자의 속성이 두개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자
식별자 관계 VS 비식별자 관계
  • 식별자 관계
    • 부모 엔티티의 식별자가 자식엔티티 주식별자가 되는 관계
  • 비식별자 관계
    • 부모 엔티티의 식별자가 자식엔티티의 주식별자가 아닌 일반 속성이 되는 관계
    • 자식 엔티티가 존재하는 상태에서 부모엔티티가 삭제 될 수도 있음

 

728x90