핵심 엔티티 정의 - 개념

한준수·2023년 9월 11일
0

데이터모델링

목록 보기
7/8

📌 개념

✍ 엔티티란?

  • 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상에 대한 데이터를 저장할 수 있고 대상들 간의 동질성을 지닌 개체 또는 행위의 집합
  • 엔티티를 정의할 때는 어떤 대상이 그 엔티티에 속하는지 혹은 속하지 않는지를 명확하게 정의할 수 있어야한다.

✍ 엔티티 정의의 요건

  1. 우리가 관리하고자 하는 것인지를 확인한다.
  2. 가로와 세로를 가진 면적(집합)인지를 확인한다.
  3. 대상 개체들 간의 동질성이 있는지를 확인한다.
  4. 다른 개체와 확연히 구분되는 독립성을 갖는지 확인한다.
  5. 순수한 개체이거나 개체가 행위를 한 행위 집합자인지를 확인한다.

📌 집합 순수성

✍ 집합 순수성 의미

엔티티는 반드시 순수한 본질(本質) 집합이 되어야 한다는 것은 정의하고자 하는 집합이 사람, 상품 등과 같이 단위 사물을 정의한 개체(個體) 집합이 되든지, 아니면 이들이 어떤 활동을 함으로써 만들어진 입금,계약 등과 같은 행위(行爲) 집합이 되든지 간에 반드시 둘 중의 어느 하나가 되어야 한다는 것이다.
그렇지 못하고 이들이 서로 결합된 형태라면 그것은 관계이다.
집합인지 관계인지를 식별하는 것이 생각보다 쉬운 것은 아니다. 너무 상식선에만 판단하지 말고 구체적인 증거를 찾아 판단해야 한다

✍ 집합 순수성 예

  • 납입자와 같은 단어는 개체 집합이 합성되어 있음을 알 수 있다. 물론 여기서 ‘자’란 사람이나 단체와 같
    은 개체 집합을 의미하며, 이러한 개체가 포함될 수 있는 본질 집합은 고객과 같은 집합들이 이에 해당할 수 있다. 그렇다면 납입자란 순수 본질 집합인 고객과 납입이 결합되어 만들어진 것, 다시 말해 이것은
    엔티티가 아니라 관계라는 것이다

📌 집합 동질성

✍ 집합 동질성 의미

동질성(同質性)이란 대상들 간에 하나의 동등한 본성 또는 본체나 본질, 성질 등을 공유하고 있다는 의미
집합에 들어갈 개체들의 동일한 성질을 어디까지로 한정하냐에 따라 영향 범위가 달라진다.
동질성이 강조될수록 엔티티들은 어떠한 성질이 같다고 판단하게 되어 하나로 합쳐질 가능성이 커지지
만, 그만큼 집합의 독립성은 줄어든다

✍ 집합 동질성 부여의 예 : 고객

  1. 사람의 집합이라고 규정한 경우
    이 경우에는 사람만의 집합이고, 우리 상품과 구체적인 관계를 맺은 사람들만 존재하는 집합으로 정의했다
    는 특수성이 분명히 나타나야만 한다. 이러한 구체적인 정의는 잠정 고객은 이 집합에 포함 되지 않는다는
    집합적 비교를 확실하게 해 주고 법인, 금융기관 등도 전혀 동질성을 갖고 있지 않다는 것을 분명하게 나타
    내고 있다
  2. 사람 또는 법인이라고 규정한 경우

✍ 엔티티 자격검증 요소 상관관계

집합의 순수성, 동질성, 독림성 관점에서의 상관관계를 고려하여 엔티티의 자격 유무를 검증


📌 엔티티 명칭

도출한 집합의 의미에 가장 어울리는 명칭을 부여해야만 앞으로의 커뮤니케이션에서 오류를 줄일 수 있고, 제3자에게 설명할 때도 의미의 전달이 명확해질 수 있다.

✍ 적절한 엔티티 명칭

  • 엔티티 명칭은 그 엔티티를 함축시킨 의미를 담고 있어 남에게 일일이 설명하지 않아도 오해를 최소화 시킬 수 있어야 한다.

✍엔티티 명칭 부여하기 예제

  • 엔티티의 의미를 명확하게 정의하는 작업은 매우 중요한 일이며, 그에 못지 않게 적절한 명칭을 부여하는 일에도 심혈을 기울여야 한다.

📃 엔티티 명칭 부여하기 예제


📌 의미상 주어 정의

엔티티에는 인조 식별자(Artificial Unique Identifier)가 있을 수 있고, 이를 가주어(假主語)라 한다면
진주어(眞主語)에 해당하는 관계나 속성이 어딘가에 있을 수 있다. 이 진주어를 의미상의 주어라고
할 수 있으며, 의미상의 주어를 원래의 본질적인 식별자에 해당한다.

✍ 본질 식별자 정의의 의의

✓ 모델링 진행 과정에서 본질 식별자를 특별히 중시하는 이유는 집합의 의미가 모호한 상태에서는 더 이상
객관적인 판단을 진행해 가는 것이 불가능하기 때문이다.
✓ 집합의 인스턴스가 생성되는 정확한 단위를 모르고서는 집합이 명확해질 수 없다. 다시 말해서 집합의 의미가 명확하게 정의되지 않은 모호한 집합에 인조적인 유일한 이름만 가져다 붙인다고 해서 갑자기 집합의 정의가 명확해지지는 않는다.

✍ 본질 식별자 정의 예

✓ 본질 식별자로 상속 관계를 규명해 올라갔을 때 최상위에 존재하는 것이 바로 키 엔티티라는 것이다.
✓ 여기서 주의할 것은 임의의 엔티티가 다른 엔티티와 1:M이나 1:1 관계일 때 1 쪽의 엔티티가 항상 본질 식별자가 되는 것은 아니다. 본질 식별자란 만약 그가 없다면 자신이 절대로 태어날 수 없을 때만 해당된다.

✍ 행위 엔티티의 의미상 주어 찾기


1. 부모없이 태어난 자손은 없다.
2. 의미상의 주어란? 엔티티 탄생에 직접적인 역할을 한 속성들
3. 놓쳐 버린 엔티티가 있더라도 각 단계에 충실하면 결국에는 다시 나타난다.
4. 그러나 키 엔티티를 놓치면 시행착오를 겪게 된다.
5. 인조속성이 아닌 의미항 주어(본질 식별자)를 찾아라

절대 종속인가? 상대종속인가?
직접 종속인가? 간접종속인가?


📌 식별된 엔티티의 배열

- 키 엔티티는 외곽에, 메인 엔티티는 업무수행 순서에 따라 상에서 하로, 좌에서 우로, 액션 엔티티는 키 엔티티 최 좌우측에 또는 메인엔티티 최좌우 측에 배치한다.
- 실제 관계도를 작도하다 보면 처음에는 도출되는 엔티티 개수가 적어서 다이어그램을 작 도하는데 어려움이 없으나, 작업이 진행됨에 따라서 엔티티 개수가 증가하게 되고 따라서 관계선이 많이 작도되는데 서로 겹치는 일이 자주 발생함. 실체관계도를 작도하는 작업 자 체가 엔티티 유형(Key, Main, Action)을 고려 하면서 데이터 흐름을 추적하는 작업이므로, 관계선이 서로 겹치거나, 엔티티 배치가 체계 적으로 정리되어 있지 않으면 계속적인 작업 의 수행이 어려워지는 경우가 많다.

0개의 댓글