티스토리 뷰

Database

엔터티

0307kjb 2022. 6. 2. 21:14

엔티티(Entity)

  • 업무에서 관리해야 하는 데이터 집합, 저장되고 관리되어야 하는 데이터이다.
  • 엔티티는 개념, 사건, 장소 등의 명사이다.

엔티티 특징

  • 식별자
    • 유일한 식별자
      • 회원 ID, 계좌 번호
  • 인스턴스 집합
    • 2개 이상의 인스턴스
      • 고객정보는 2명이상 있어야 한다.
  • 속성
    • 엔터티에 속성을 반드시 가지고 있어야 한다.
      • 회원ID, 패스워드, 이름 등등
  • 관계
    • 다른 엔티티와 최소한 한 개 이상 관계가 있어야 한다.
  • 업무
    • 엔터티는 업무에서 관리되어야 하는 집합이다.
      • 고객, 계좌

TIP) 릴레이션에 기본키 및 제약 조건을 설정하면 테이블이 된다.

엔터티 종류

  • 엔터티의 종류는 유형과 무형에 따른 종류, 엔터티가 발생하는 시점에 따른 종류로 나뉜다.

(1) 유형 엔티티

  • 유형 엔터티
    • 업무에서 도출되며 지속적으로 사용되는 엔터티
      • 고객, 강사, 사원 등
  • 개념 엔터티
    • 유형 엔터티는 물리적 형태가 있으나 개념 엔터티는 물리적 형태가 없다.
      • 거래소 종목, 코스닥 종목
  • 사건 엔터티
    • 비지니스 프로세스를 실행하면서 생성되는 엔터티
      • 주문, 체결, 취소주문, 수수료 청구 등

(2) 발생 시점에 따른 엔터티 종류

  • 기본 엔터티
    • 키 엔터티
    • 독립적 생성되는 엔터티
      • 고객, 상품 ,부서 등
  • 중심 엔터티
    • 기본 엔터티와 행위 엔터티 간의 중간에 있는 것
    • 기본 엔터티로 부터 발생되고 행위 엔터티를 생성하는 것
      • 주문, 계좌, 취소, 체결 등
  • 행위 엔터티
    • 2개 이상의 엔터티로부터 발생
      • 주문 이력, 체력 이력 등

속성

  • 인스턴스의 구성요소, 의미적으로 더는 분해가 되지 않는다.

특징

  • 업무에서 관리되는 정보
  • 하나의 값
  • 주식별자에게 함수적으로 종속. 즉 기본키가 변경되면 속성의 값도 변함

종류

  • 분해 여부
    • 단일 속성
      • 하나의 의미로 회원ID, 이름 등
    • 복합 속성
      • 여러 개의 의미가 있는 것, 주소 등
        • 주소는 시, 군, 동 등으로 분해가 가능하다.
    • 다중값 속성
      • 속성에 여러 개의 값을 가질 수 있는 것, 상품 리스트
  • 특성 여부
    • 기본 속성
      • 비지니스 프로세스에서 도출되는 본래의 속성
        • 회원 ID, 이름, 계좌번호
    • 설계 속성
      • 데이터 모델링 과정에서 발생되는 속성
        • 유일한 값으로 상품 코드, 지점 코드 등이 있다.
    • 파생 속성
      • 다른 속성에 의해서 만들어지는 속성
        • 합계, 평균 등
  • Tip 도메인이란? 속성이 가질 수 있는 값의 범위이다.
    • 성별이라는 속성의 도메인은 남,녀가 있다.

관계

  • 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다.
  • 존재 관계는 두개의 엔터티가 존재 여부의 관계가 있는 것.
  • 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것.

종류

  • 존재 관계는 엔터티 간의 상태를 의미한다.
    • 예를 들어 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당점으로 관리점에서 고객을 관리한다.
  • 행위 관계는 엔터티 간에 어떤 행위가 있는 것을 말한다.

관계 차수

  • 관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미한다.
    • 1:1
      • 완전 1:1
        • 반드시 존재한다.
      • 선택적 1:1
        • 관계가 하나이거나 없을 수 있다.
    • 1:N
    • M:N
      • 조인할 때 카테시안 곱이 발생하며 시간적으로 물리적으로 좋지 않다.

식별과 비식별

식별

  • 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체이다.
  • 강한 개체는 어떤 다른 엔터티에게 의존하지 않는다.
  • 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키를 공유한다.
  • 강한 개체는 식별 관계로 표현한다.
  • 즉 식별 관계란 고객 엔터티의 기본키인 회원 ID를 계좌 엔터티의 기본키의 하나로 공유한다.
  • 강한 개체의 기본키 값이 변경되면 식별 관계에 있는 엔터티의 값도 변경된다.
  • 여기서 계좌 엔터티는 약한 개체가 된다.
    • 기본키 공유

비식별

  • 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것이다.
    • 고객[ .. , 지점코드] <-> 관리점[지점 코드, ....]

엔터티 식별자

  • 유일성

주식별자

  • 유일성, 최소성
  • 엔터티를 대표
  • 엔터티의 인스턴스를 유일하게 식별
  • 자주 변경x
  • 키의 종류
    • 기본키(Primary Key)
      • 후보키 중에서 엔터티를 대표할 수 있는 키
    • 후보키(Candidate Key)
      • 유일성과 최소성을 만족하는 키
    • 슈퍼키(Super Key)
      • 유일성 만족, 최소성(Not Null) 만족 안하는 키
    • 대체키(Alternate Key)
      • 대체키는 여러 개의 후보키 중에서 기본키를 선정하고 남은 키

식별자 종류

대표성

  • 주식별자
  • 보조식별자
    • 유일성과 최소성을 만족하나 대표성을 만족하지 못하는 식별자

생성 여부

  • 내부 식별자
    • 엔터티 내부 자체 생성되는 식별자
  • 외부 식별자
    • 다른 엔터티와의 관계로 인하여 만들어지는 식별자

속성의 수

  • 단일 식별자
  • 복합 식별자

대체 여부

  • 본질 식별자
    • 비지니스 프로세스에서 만들어지는 식별자.
  • 인조 식별자

'Database' 카테고리의 다른 글

SQL 활용  (0) 2022.06.19
SQLD) Sql 기본  (0) 2022.06.11
정규화  (0) 2022.06.06
데이터 모델링  (0) 2022.06.01
데이터베이스 용어  (0) 2022.06.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 29 30 31
글 보관함