본문 바로가기

데이터 Story/모델링 매뉴얼

역할 엔터티의 엔터티 명

실체의 본질적인 성격이나 특성을 관리하는 엔터티가 아닌, 실체가 하는 역할을 관리하는 엔터티의 이름은 대상 실체 엔터티 명+역할 의미+담당 실체 엔터티 명형식으로 정한다.


즉 양쪽 실체 엔터티 명(실체라는 접미어를 제외한 명)과 실체가 하는 역할을 의미하는 단어를 사용해서 엔터티 명을 정한다. 이 엔터티는 실체 자체를 의미하지 않으므로 엔터티 명에 접미어 실체를 붙이지 않는다.

 

[그림1] 계좌관리사원 엔터티는 계좌를 관리하는 역할을 하는 사원을 관리하는 엔터티다.

[그림1]

 

계좌를 관리하는 사원이든, 사원에게 관리되는 계좌이든 실체 자체를 의미하지 않고, 실체의 역할을 의미한다. 역할을 담당한 실체는 사원이기 때문에 ‘~사원처럼 엔터티 명을 정하며 관리라는 역할의 대상은 계좌. 따라서 엔터티 명은 계좌관리사원이 된다. 계좌관리사원 엔터티는 실체 자체를 나타내지 않기 때문에 ‘~실체라는 접미어를 붙이지 않는다.

 

대상 실체 엔터티 명+역할 의미+담당 실체 엔터티 명형식으로 엔터티 명을 정할 때 역할을 의미하는 단어 앞에는 역할에 대한 대상 실체를 나타내는 엔터티 명을 사용하고, 뒤에는 역할을 담당한 실체를 나타내는 엔터티 명을 사용한다.

 

[그림2] 프로젝트수행사원 엔터티는 프로젝트를 수행한 사원을 관리하는 엔터티다.

[그림2]

 

대상 실체 엔터티 명+역할 의미+담당 실체 엔터티 명형식으로 엔터티 명을 정할 때, 역할을 의미하는 용어는 수행이며, 프로젝트를 수행한 것이기 때문에 수행에 대한 대상인 프로젝트수행앞에 사용하며, ‘수행이란 역할을 담당한 것은 사원이기 때문에 사원을 뒤에 사용해서 프로젝트수행사원으로 정한다.

 

엔터티에서 관리하는 데이터가 실체 자체가 아니라 실체가 하는 역할을 의미한다면 실체 엔터티로 정의하지 않는다. 실체 자체를 관리하는 엔터티와 실체를 의미하지만 실체 자체를 관리하는 것이 아닌 실체와 연관된 데이터를 관리하는 엔터티는 구별해야 한다. 후자를 실체 자체로 정의하지 않아야 한다. 자연히 후자일 때는 엔터티 명에 접미어인 ‘~실체를 붙이지 않는다.