✅이번 포스팅에서는 엔터티와 관련 개념(속성, 관계, 식별자)의 개념을 익혀보자.

📌엔터티

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

엔터티 도출

  • 엔터티를 도출하려면 고객의 비즈니스 프로세스에서 관리되어야 하는 정보를 추출해야 한다.
  • 다음 예시 비즈니스 프로세스를 통해 엔터티를 이해해 보자.

    비즈니스 프로세스
    1. 고객이 회원가입한다. 이때, 회원ID, 패스워드, 이름, 주소, 전화번호 등을 입력한다.
    2. 회원가입을 위해서는 반드시 하나의 계좌를 개설해야 한다.
    3. 고객은 계좌를 여러 개 개설할 수 있다.
    4. 계좌를 개설할 때는 계좌번호, 계좌명, 예수금, 계좌 개설 지점, 계좌 담당자가 입력한다.
    → 이러한 비즈니스 프로세스에서 관리되어야 하는 정보, 즉 엔터티는 고객과 계좌 엔터티다.

엔터티 특징

엔터티 특징설명
식별자- 엔터티는 유일한 식별자가 있어야 한다.
- 예. 회원ID, 계좌번호
인스턴스 집합- 2개 이상의 인스턴스가 있어야 한다.
- 예. 고객정보는 2명 이상 있어야 한다.
속성(Attribute)- 엔터티는 반드시 속성을 갖는다.
- 예. 고객 엔터티의 회원ID, 패스워드, 이름, 주소, 전화번호
관계(Relationship)- 엔터티는 다른 엔터티와 최소 한 개 이상 관계가 있어야 한다.
- 예. 고객은 계좌를 개설한다.
업무- 엔터티는 업무에서 관리되어야 하는 집합이다.
- 예. 고객, 계좌

릴레이션과 테이블, 인스턴스(Instance)
- 릴레이션과 테이블은 같은 의미라고 보면 된다. 릴레이션에 기본키와 제약조건을 설정하면 테이블이 된다.
- Relationship은 relation간의 관계를 의미한다.
- 인스턴스는 릴레이션이 가질 수 있는 값, 즉 행 수를 의미한다.

엔터티 종류

  1. 유형과 무형에 따른 엔터티
종류설명
유형 엔터티- 업무에서 도출되며 지속적으로 사용되는 엔터티
- 물리적 형태 O
- 예. 고객, 강사 등
개념 엔터티- 개념적으로 사용되는 엔터티
- 물리적 형태 X
- 예. 거래소 종목, 코스닥 종목 등
사건 엔터티- 비즈니스 프로세스를 실행하면서 생성되는 엔터티
- 예. 주문 체결, 취소 주문 등
  1. 발생시점에 따른 엔터티
종류설명
기본(Basic) 엔터티- 키 엔터티라고도 한다.
- 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티다.
- 예. 고객, 상품, 부서 등
중심(Main) 엔터티- 기본 엔터티와 행위 엔터티 중간에 있다. 즉, 기본 엔터티로부터 발생되고 행위 엔터티를 생성한다.
- 예. 계좌, 주문, 취소, 체결 등
행위(Active) 엔터티- 2개 이상의 엔터티로부터 발생된다.
- 예. 주문 이력, 체결 이력 등

📌속성

  • 업무에서 필요한 정보인 엔터티가 가지는 항목으로, 인스턴스의 구성요소이다.
  • 의미적으로 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.

속성의 특징

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

속성의 종류

  • 분해여부에 따른 속성의 종류
종류설명
단일 속성- 하나의 의미로 구성된 것
- 예. 회원ID, 이름
복합 속성- 여러 개의 의미가 있는 것
- 예. 주소(시/군/동 등으로 분해된다.)
다중값 속성- 속성에 여러 개의 값을 가질 수 있는 것으로, 엔터티로 분해된다.
- 예. 상품 리스트
  • 특성에 따른 속성의 종류
종류설명
기본 속성- 비즈니스 프로세스에서 도출되는 본래의 속성
- 예. 회원ID, 이름, 계좌번호, 주문 일자
설계 속성- 데이터 모델링 과정에서 발생되는 속성
- 유일한 값을 부여한다.
- 예. 상품코드, 지점 코드
파생 속성- 다른 속성에 의해서 만들어지는 속성
- 예. 합계, 평균

도메인(Domain)
- 속성이 가질 수 있는 값의 범위
- '성별'이라는 속성의 도메인은 '남자'와 '여자'이다.


📌관계

  • 엔터티 간의 관련성을 의미한다.

관계의 종류

  1. 존재 관계
  • 두 개의 엔터티가 존재 여부의 관계에 있는 것
  • 예. 고객이 은행에 회원가입을 하면 관리점이 할당되고, 그 관리점에서 고객을 관리한다. 이때, 고객은 관리점에 소속되므로 존재 관계에 있다.
  1. 행위 관계
  • 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것
  • 예. 증권회사는 계좌를 개설하고 주문을 발주한다. 이때, 계좌와 일자별주문이력 엔터티는 행위 관계에 있다.
  1. 관계 차수(Caridinality)
  • 두 개의 엔터티 간에 관계에 참여하는 수
  • 예. 고객이 여러 개의 계좌를 개설할 경우, 1대 N 관계가 된다.

관계 차수의 종류

  • 1대1 관계
종류설명
완전 1대1하나의 엔터티에 관계되는 엔터티의 관계가 반드시 하나 존재한다.
선택적 1대1하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.
  • 1대N 관계

    • 1대N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계
    • 예. 고객은 여러 개의 계좌를 가질 수 있다.
  • M대N 관계

    • 두 개의 엔터티가 서로 여러 개의 관계를 가지고 있는 것
    • 예. 한 학생이 여러 과목을 수강할 수 있다. 동시에 한 과목은 여러 명의 학생이 수행한다.
    • 관계형 데이터베이스에서 M대N 관계의 조인은 카테시안 곱이 발생하므로 M대N 관계를 1대N, N대1로 해소해야 한다.
    • 위의 예에서는 '수강'이라는 엔터티를 추가적으로 도출하여 이 문제를 해결할 수 있다.
  • 필수적 관계와 선택적 관계

구분설명
필수적 관계- 반드시 하나가 있어야 하는 관계
- 예. 계좌는 고객이 있어야만 개설될 수 있다.
선택적 관계- 없을 수도 있는 관계
- 예. 고객은 있지만, 계좌는 없을 수도 있는 경우

식별 관계와 비식별 관계

  1. 식별 관계(Identification Relationship)
  • 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체이다.
  • 강한 개체는 어떤 다른 엔터티에 의존하지 않고 독립적으로 존재한다.
  • 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에 기본키를 공유한다.
  • 강한 개체는 식별 관계로 표현된다.
  • 고객 엔터티의 기본키인 회원ID를 계좌 엔터티의 기본키 중 하나로 공유하는 것이다.
  • 강한 개체의 기본키 값이 변경되면 식별 관계(기본키를 공유 받은)에 있는 엔터티의 값도 변경된다.
  • 여기서 계좌 엔터티는 약한 개체가 된다.
  • 실선으로 표현한다.
  1. 비식별 관계(Non-Identification Relationship)
  • 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 컬럼으로 관계를 가지는 것이다.
  • 예. 관리점 엔터티의 기본키는 지점 코드이고 고객 엔터티와 비식별 관계를 갖는다.

강한 개체(Strong Entity)와 약한 개체(Weak Entity)

  • 강한 개체는 누구에게도 지배되니 않는 독립적인 개체이다.
  • 약한 개체는 개체의 존재가 다른 개체의 존재에 달려 있는 개체이다.

📌 엔터티 식별자(Entity Identifier)

  • 식별자 : 엔터티를 대표할 수 있는 유일성을 만족하는 속성
  • 예. 회원ID, 계좌번호, 주민등록번호, 외국인등록번호, 여권번호
  1. 주식별자(기본키, Primary key)
  • 유일성과 최소성(Not Null)을 만족한다.
  • 엔터티를 대표할 수 있어야 한다.
  • 엔터티의 인스턴스를 유일하게 식별한다.
  • 자주 변경되지 않아야 한다.
  • 키의 종류
데이터베이스 키설명
기본키(Primary key)후보키 중에서 엔터티를 대표할 수 있는 키
후보키(Candidate key)유일성과 최소성을 만족하는 키
슈퍼키(Super key)유일성은 만족하지만 최소성은 만족하지 않는 키
대체키(Alternate key)여러 개의 후보키 중에서 기본키를 선정하고 남은 키
  1. 식별자의 종류
  • 대표성에 따른 식별자의 종류
종류설명
주식별자- 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자
- 다른 엔터티와 참조 관계로 연결될 수 있다.
보조 식별자유일성과 최소성은 만족하지만 엔터티를 대표하지 못하는 식별자
  • 생성 여부에 따른 식별자의 종류
종류설명
내부 식별자- 엔터티 내부에서 스스로 생성되는 식별자
- 예. 부서코드, 주문번호, 종목코드
외부 식별자- 다른 엔터티의 관계로 인하여 만들어지는 식별자
- 계좌 엔터티의 회원ID
  • 속성의 수에 따른 식별자의 종류
종류설명
단일 식별자- 하나의 속성으로 구성된다.
- 예. 고객 엔터티에는 하나의 속성인 회원ID만 있다. 이때, 회원ID는 단일 식별자이다.
복합 식별자두 개 이상의 속성으로 구성된다.
- 계좌 엔터티에는 계좌번호와 회원ID 속성이 있다. 이때, 계좌번호와 회원ID는 복합 식별자이다.
  • 대체 여부에 따른 식별자의 종류
종류설명
본질 식별자비즈니스 프로세스에서 만들어지는 식별자
인조 식별자인위적으로 만들어지는 식별자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN