DATOR


6. 엔티티 상하 관계 (2) 기본 카테고리


전편에서
사원권한이라는 엔티티는 사원의 권한속성이 개수가 유동적이라 사원엔티티에서 분리되어 나온 엔티티라 했다.

여기서 권한이라는 속성을 살펴보자.

 

행위의 주체는 사람 뿐 아니라 사물, 개념, 사건 도 될 수 있다고 했다.
권한은 개념에 속한다. 
행위가 아니면 모두 행위의 주체나  대상이고 권한도 이 분류에 속한다.

그런데 권한이  엔티티인지 단순 사원의 속성인지 분별해내야 한다.


분별하는 방법은 간단하다.
모든 행위의 주체와 대상은  행위를 만들어 낸다.

즉 행위를 만들어내지 못하는 정보는 단순 속성이다.

행위의 주체가 그 권한으로 어떤 행위를 한다면 권한은 엔티티이다.
이것이 아니라면 속성이다.
(여기서 행위를 한다는 것은 행위엔티티의 식별자에 권한의 식별자가 포함되는 것인데 나중에 설명함)

 

상품의 경우 고객이 상품으로 주문이라는 행위를 한다.
상품은 엔티티이다.

 

그러나 권한은 ?

대부분 권한은 행위와 관련되지 않는다.
그런데 모델에 보면 권한엔티티가 존재한다.


이것은 무엇인가?

사원이 갖는 권한의 종류가  수십가지가 있다고 하자.
속성에 그 권한에 대한 내용을 직접기술하는 것이 효율적이 않아
대부분 권한명 대신  숫자를 이용하여  사용편의를 돕는다.
이것이 우리가 아는 코드 테이블이다.

즉 코드 테이블은 논리적인 엔티티라기 보단 속성의 사용 편의성을 위해 생성된 보조물이라고 봐야한다.
하지만 대부분 이것도 엔티티라 부르는 것이 일반적이니 코드엔티티로 명명한다.

이래서 엔티티 종류에 코드 엔티티가 추가되었다.

 

정리하면

1.권한은 사원의 속성인데
2.속성의 개수가 많아져서 사원권한이라는 엔티티를 별도로 만들게 되었고
3.권한데이터가  문자열이라 입력오류 등의 문제로 숫자나 간단한 문자로 대체하고 다른 엔티티에서
이 정보를  설명하는 엔티티를 코드 엔티티라고 한다.
4.따라서 엔티티 유형은  행위의 주체, 대상, 행위, 관계, 이력, 코드가 존재한다.

 

그럼 다음에는 행위의 주제에 대해서 좀 더 알아보자

 


 

Tag :

Leave Comments