DATOR


5.엔티티 상하 관계(1) 기본 카테고리


엔티티 종류는 네가지라고 했다.
행위의 주체, 대상, 행위의 주체가 가 행위, 관계(행위로 볼 수도 있다)

 

엔티티의 상하관계란 이들의 상하관계이다.

 

모델을 보면 수 많은 엔티티가 있는 어떤 것부터  분석해야 할 지 막막할 때가 있다.
모델은 족보와 같다.
아담과 이브가 만나서 아벨과 카인을 낳고
그들의 자녀가 또....

모든 사람들을 분석하려면  처음 찾아야 할 것은
당연히 아담과 이브이다.

 

그럼 시스템을 사용하는 업체에서 아담, 이브은 누구인가?
아담은 업체이고 이브는 고객이다.
즉 업체가 고객과 어떤 것(대상:상품)을 가지고 무언가(행위:계약, 구매....)를 하는 것이다.
이중에서 업체는 데이터를 생산하는 단일 주체이고
이미 명확하기에 엔티티로서 제외된다.
(만일 다수 업체의 데이터를 관리한다면 데이터로서  의미가 있게 된다.)

정리하면
족보의 맨 위는 행위자들과  행위의 대상이 존재한다.
예를 들면 고객, 사원(사원은  다수이므로 관리 대상 데이터가 된다),  상품,  부품
이 밑으로 행위가 존재하게 된다.

 

관계는 같은 레벨의 데이터 사이에 존재하게 된다.

 

행위의 주체/대상 -  관계 - 행위의 주제/대상
     |
행위 - 관계 - 행위
  
모든 모델은 이런 상하관계를 있다.


너무 간단한가?

 

여기에서  몇가지  이의를 제기할 수 있다.
사원권한이라는 엔티티는 사원의 행위도 아니고 뭔가?

 

잠시 속성이야기기를 해보자.
엔티티가 소유한 개별 정보가 속성이다.
사람이 엔티티면 나이, 인종, 성...등등이 속성이다.

 

그 속성 중에는 특이한 속성이 있다.
개수가 변하는 것과 시간에 따라 증가되는 것들이다.
전자는 사원권한 같은 것인데 권한의 수가 늘었다 줄었다 할 수 있다.
후자는 키나 체중인데 시간에 따라 변할 수 있다.

이런 경우 속성의 개수를 때에 따라 매번 늘리거나 줄이거나 할 수 없고
또 엄청나게 많이 속성이 미리 만들 수도 없다.

따라서  이 경우 엔티티를 분리하게 된다.(관계형 모델의 1 정규화라고 한다)

 

전자의 엔티티를 자세히 살펴보면 '권한'이라는 것이 나오는데 이것이 엔티티인지 단지 속성인지는
다음 편에 알아보기로 하자
후자의 엔티티는 이력엔티티라고 한다.

그래서 엔티티 유형은 속성의 변화 때문에 이력엔티티 하나가  추가되었다.

다음 편에 전자를 다시 살펴보자

 

Tag :

Leave Comments