DataBase : 엔터티(Entity)의 개념

손유라·2023년 4월 15일
0

엔터티(Entity)란?

SQL공부를 하다 보면 엔터티(Entity)라는 단어를 가장 많이 접하게 된다. 엔터티란 현실 세계의 객체, 어떠한 대상, 개체를 의미한다. 사과, 연필, 장소, 사람 등 현실 세계의 어떤 것도 엔터티라고 할 수 있지만 SQL에서는 업무에 쓰이는 정보들 즉, 데이터의 집합을 의미한다. 예를 들면 "학생 엔터티" 라고 한다면 [학번, 이름, 성별, 나이, 전공] 데이터의 집합이라고 볼 수 있다.

이 때, 엔터티에 저장되는 데이터는 해당 엔터티를 설명할 수 있는 관련성이 높은 데이터여야 하고, 업무를 처리할 때 꼭 필요한 데이터여야 한다.

엔터티의 특징

  • 업무에서 필요로 하고 관리해야 하는 정보여야 한다.

  • 유일한 식별자에 의해 식별할 수 있어야 한다.
    - 학번이나, 주민등록번호 등 고유하게 식별할 수 있는 식별자. 이름이나 성별은 중복될 수 있으므로 사용하지 않는다.

  • 두 개 이상의 인스턴스의 집합이어야 한다.
    - 두 개 이상의 레코드의 집합이어야 한다. 예를 들어 환자라는 하나의 테이블에 홍길동이라는 환자 한 개의 레코드 뿐이라면 엔터티 성립이 어렵다.

  • 만들어진 엔터티는 업무 프로세스에 의해 사용되어야 한다.
    - 만들어진 엔터티가 업무 프로세스에 의해 사용되지 않는다면, 이는 엔터티가 잘못 선정되었다고 볼 수 있다. 예를 들어 학교의 학생 성적 관리 업무에 필요한 엔터티를 만들자면 학생의 정보가 들어있는 [학생] 엔터티 [성적] 엔터티가 필요할 수 있다.

  • 반드시 속성이 존재해야 한다.
    - 한 개 이상의 속성이 반드시 존재해야 한다. 예를 들어 환자 엔터티에는 [환자 이름, 나이, 성별] 등 한 개 이상의 속성이 존재해야 한다. 단, 관계 엔터티의 경우는 주식별자 속성만 가지고 있어도 엔터티로 인정한다.

  • 다른 엔터티와 반드시 한 개 이상의 관계가 있어야 한다.

엔터티의 분류

  • 엔터티는 엔터티의 발생 시점에 따라 기본 / 키엔터티(Fundamental Entity / Key Entity), 중심 엔터티(Main Entity), 행위 엔터티(Active Entity)로 구분할 수 있으며, 유형과 무형에 따라 유형 엔터티, 개념 엔터티, 사건 엔터티로 구분할 수 있다.

발생 시점에 따른 엔터티의 분류

  • 기본 / 키 엔터티
    - 다른 엔티티에 영향을 받지 않고 독립적으로 생성/존재하는 엔터티
    [고객, 상품, 학생, 과목] 등

  • 중심 엔터티
    - 기본 엔터티와 행위 엔터티 사이를 연결해 주는 중간 엔터티
    기본 엔티티로부터 발생되고, 행위 엔티티를 생성하게 된다
    [주문, 취소, 계좌, 성적] 등

  • 행위 엔터티
    - 행위 엔터티는 두 개 이상의 부모 엔터티로부터 발생된다.
    내용이 자주 발생되고 데이터량이 많아지게 된다.
    [주문 내역, 수강 내역] 등

유무형에 따른 엔터티의 분류

  • 유형 엔터티
    - 물리적인 형태로 존재하고, 지속적으로 사용되는 엔터티
    [학생, 강사, 환자, 상품] 등

  • 개념 엔터티
    - 물리적으로 형태가 없지만, 관리해야 할 정보로 사용되는 엔터티
    [과목, 보험상품, 진료과목] 등

  • 사건 엔터티
    - 업무 프로세스를 실행하면서 발생하는 엔터티. 발생량이 많다.
    [주문 내역, 수강 내역, 진료 내역 등]

profile
유라라랜드에 오신 것을 환영합니다!

0개의 댓글