ENTITY

한준수·2023년 5월 23일
0

SQLD

목록 보기
2/31

엔터티의 개념

  • 사람, 장소, 물건, 사건, 개념 등의 명사에 해당, 저장이 되기위한 어떤 것(Thing)
    	> ex) 선수명단, 감독, 스폰서 명단 등등 
  • 유형, 무형의 정보
  • 업무상 관리가 필요한 관심사에 해당함.

엔터티의 특징

  • 업무에서 필요로 하는 정보이어야 한다.
  • 유일한 식별자에 의해 식별이 가능해야 함
  • 영속적으로 존재하는 인스턴스의 집합 두개 이상의 인스턴스을 가짐.
  • 업무 프로세스에 의해 이용
  • 반드시 속성을 포함
  • 관계의 존재 최소한 한 개 이상의 관계가 존재해야함
 두 개 이상의 인스턴스를 가진다는 특징은 무조건 머리 속에 박아두자.

엔터티 분류

엔터티는 엔터티 자신의 성격에 의해 실체 유형에 따라 구분하거나 업무를 구성하는 모습에 따라 구분이 되는 발생시점에 의해 분류할 수 있다.

유무(有無)형에 따른 분류

일반적으로 엔터니는 유무형에 따라 유형 엔터티, 개념엔터티, 사건엔터티로 구분된다.

  • 유형엔터티(Tangible Entity): 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티로 업무로부터 엔터티를 구분하기 가장 용이하다.
    	> ex) 축구의 리그 엔터티 EPL, La Liga 등등
  • 개념 엔터티(Conceptual Entity): 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분이 되는 엔터티이다.
    	>  선수명단 엔터티 나이 국적 등등
  • 사건 엔터티(Event Entity): 업무를 수행함에 따라 발생하는 엔터티로서 비교적 발생량이 많으며 강족 통계자료에 이용될 수 있다.
    	>	경기 엔터티 팀사이 경기의 통계 또는 경기 시작시간 등등

발생 시점에 따른 분류

엔터티의 발생 시점에 따라 기본/키 엔터티(Fundamental Entity, Key Entity), 중심 엔터티(Main Entity), 행위 엔터티(Active Entity)로 구분할 수 있다.

기본 엔터티

기본 엔터티란 그 업무에 원래 존재하는 정보로서 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성할 수 있고 자신은 타 엔터티의 부모의 역할을 하게 된다. 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 갖게 된다.

중심 엔터티

중심엔터티란 기본 엔터티로부터 발생하고 그 업무에 있어서 중심적인 역할을 한다. 데이터의 양이 많고 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성한다.

행위 엔터티

행위 엔터티는 두 개 이상의 부모엔터티로부터 발생하고 자주 내용이 바뀌거나 데이터 양이 증가한다.
분석 초기 단계에서는 잘 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출될 수 있다.

엔터티의 명명 기준

  • 가능하면 현업업무에서 사용하는 용어를 사용한다.
  • 가능하면 약어를 사용하지 않는다.
  • 단수 명사를 사용한다.
  • 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
  • 엔터티 생성 의미대로 이름을 부여한다.

강한 엔터티와 약한 엔터티

강한 엔터티 타입(String Entity Type)과 약한 엔터티 타입(Week Entity Type)은 주종관계와 관련된 개념이다.

약한 엔터티는 주인 엔터티의 주키를 외래 키(Foreign Key)로 참조하여 자신을 식별한다.
이러한 관계를 통해 약한 엔터티가 주인 엔터티(강한엔터티)에 의존하여 존재하게 된다.

강한 엔터티 타입

강한 엔터티 타입은 자체적으로 식별 가능하며, 주키(Primary Key)로 식별될 수 있는 엔터티이다.
다른 엔터티와 독립적으로 존재할 수 있으며, 자신과 다른 엔터티 간에 일대일(1:1),일대다(1:N),다대다(N:M)드으이 관계를 가질수 있고, 다른 엔터티에 의존하지 않고 자체적으로 존재할 수 있다.

강한 엔터티 타입의 특징

  • 엔터티 타입에서 자신의 키를 사용하여 고유하게 엔터티들을 식별할 수 있는 엔터티 타입
  • 독립 엔터티, 부모 엔터티, 정규 엔터티 타입이라고도 함.
  • 독자적으로 존재

약한 엔터티 타입

약한 엔터티 타입은 자체적으로 식별할 수 없으며, 다른 엔터티(강한 엔터티)에 의존하여 식별되는 엔터티 타입이기 때문에 약한 엔터티는 식별자를 구성하는 부분적인 키(primary key)와 주종관계를 가지는 엔터티 사이의 관계를 통해 식별된다. 약한 엔터티는 주인 엔터티(강한 엔터티)와의 관계에서 부모 엔터티의 주키를 상속 받아 자신의 식별자를 생성한다.

약한 엔터티 타입의 특징

  • 키를 형성하기에 충분한 속성들을 갖지 못한 엔터티 타입
  • 자기 자신의 속성만으로는 키를 명세할 수 없는 엔터티
  • 종속 엔터티, 자식 엔터티라고도 함
  • 소유 엔터티 타입이 있어야 존재할 수 있다.
  • 소유 엔터티 타입을, 식별 엔터티 타입(Identifying Entity Type)이라고도 부른다.

구별자(Discriminator)

데이터베이스 모델링에서 상속 관계에 있는 엔터티를 구별하는 데 사용되는 개념.
상속 관계에 있는 엔터티들을 구분하기 위해서 구분자라는 속성이 사용되며, 이를 통해 어떤 서브 엔터티가 어떤 타입에 속하는지 식별할 수 있다.

구별자 특징

  • 일반적으로 슈퍼 엔터티(Super Entity)가 가지고 있는 속성이며, 상속계층의 각 서브 엔터티에 대해 고유한 값을 가진다. 이 값은 해당 서브 엔터티의 유형을 나타내며, 데이터베이스에서 슈퍼 엔터티와 서브 엔터티를 구분하는 데 사용된다.
  • 구별자를 통해 어떤 서브 엔터티에 해당하는지 식별할 수 있으므로, 쿼리나 조인 등의 작업을 수행할 때 해당 서브 엔터티의 특정 속성에 접근할 수 있다.
  • 구별자를 사용하여 서브 엔터티를 필터링하거나 원하는 타입의 엔터티만 선택하는 등의 조건을 적용할 수도 있다.

부분키(Parital Key)

부분키는 관계형 데이터베이스에서 식별자를 구성하는 일부 속성을 말한다. 식별자는 특정 테이블의 각 행을 유일하게 식별하기 위해서 사용되는 값 또는 값들의 조합니다.

부분키 특징

  • 부분키는 일반적으로 다른 엔터티와의 관계에서 약한 엔터티의 식별자를 구성하는 데 사용된다.
  • 부분키는 주로 약한 엔터티와의 관계에서 필수적으로 사용되며, 주인 엔터티와의 관계에서 유일성을 보장하는 데 중요한 역할을 한다. 부분키의 조합은 약한 엔터티를 식별하고 다른 엔터티와의 관계를 구성하는데 사용된다.

ISA관계

ISA관계는 데이터베이스 모델링에서 상속 관계를 표현하는 데 사용되는 개념이고, "is a"의 약자로 엔터티 간의 상속관계를 나타낸다.

  • 상위 엔터티와 하위 엔터티간의 관계를 의미
  • 특정 엔터티는 서로 구별되는 여러 하위 엔터티로 나누어질 수 있다.
>직원 is a  정규직 or 알바 이런 느낌이다.

ISA관계 특징

  • ISA관계를 통해 데이터베이스에서 객체의 일반화 및 특수화를 표현할 수 있다.
  • 코드의 중복을 피하고 유지보수성을 향상 시키며 ISA관계를 사용하여 쿼리 및 조인의 작업을 수행할 때 상속된 속성과 특정 서브 엔터티의 속성제 접근할 수 있다.
profile
빅데이터과 1학년

0개의 댓글