태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

엔터티에 속한 속성이 많을 때, 성능이나 관리 측면에서 좋지 않은 영향을 미친다면 일부 속성을 별도의 엔터티로 분리할 수 있다.

 

이때 속성 성격에 따른 분리가 아닌 사용 빈도에 따른 분리일 경우, 즉 유사한 성격의 속성으로 분리할 수 없고 자주 사용되는 않는 속성, 덜 중요한 속성으로 분리할 때는 엔터티 명을 상위 엔터티 명+상세(Suffix)’ 형식으로 정한다.

 

이런 속성으로 구성된 엔터티는 특별한 데이터 성격이 없기 때문에 엔터티 명을 정하기가 어렵다. 이때는 상위 엔터티 명에 상세라는 접미어를 붙어서 정한다.

 

[그림1] 고객 엔터티에 속성이 많아 일부 속성을 별도의 엔터티로 분리해야 한다고 가정한다.


[그림1]

 

엔터티를 속성 기준으로 수직 분리할 때는 유사한 성격의 속성을 분리하는 것이 바람직하지만 속성의 성격으로 분리하기 어려울 때는 [그림2] 고객상세 엔터티처럼 덜 자주 사용돼서 중요하지 않은 속성을 분리해서 설계한다.


[그림2]

 

결혼이나 직장, 학력과 같이 덜 사용되는 속성으로 구성됐기 때문에 엔터티의 성격이 있는 것은 아니어서 엔터티 명을 정하기 애매하며, 고객 엔터티가 이미 존재하기 때문에 구분하기 위해 상위 엔터티인 고객에 접미어 상세를 붙인다.

 

이렇게 분리하면 고객 엔터티에는 자주 사용되는 속성이 존재하며, 고객상세 엔터티에는 자주 사용되지 않는 속성이 존재한다.

 

엔터티 명을 정하는 기준은 데이터의 성격이다. 데이터의 본질적 성격을 나타내야 한다. 하지만 자주 사용하지 않는 것은 데이터의 성격을 나타내는 것이 아니기 때문에 이런 속성으로 구성된 엔터티는 엔터티 명을 정하는 기준이 없는 것이다. 따라서 데이터 성격이 나타나지 않는 경우에는 엔터티 명을 정하기가 곤란해진다. 그래서 부득이하게 상세라는 접미어를 정해 이런 경우에 사용한다.

 

또한 고객 엔터티와 같은 주요 엔터티는 자주 사용되는 속성만으로 구성하는 것이 바람직하다. 가끔 사용되는 속성이나 널(Null) 값이 대부분인 속성은 원 엔터티에서 제외시키는 게 효과적이다.

 

물론 중요한 속성만을 사용하는 것이 아니고 전체 속성 위주로 사용한다면 굳이 엔터티를 분리할 이유는 없다. 적절한 이유 없이 엔터티가 많은 것은 바람직하지 않다.

 

주의할 것은 고객상세 엔터티에 자주 사용되지 않는다는 이유로 고객의 본질을 나타내는 기초 속성을 옮기면 안 된다는 것이다.

 

또한 분리한 속성이 특정 성격을 나타낸다면 해당 데이터 성격에 맞게 엔터티 명을 정해야 한다. 특정 성격의 데이터인데도 불구하고 데이터 성격을 표현하지 않고 ‘~상세접미어를 붙이면 안 된다.

 

[그림2] 고객상세 엔터티처럼 엔터티 명을 특정하게 정할 수 없을 때만 어쩔 수 없이 상세접미어를 붙여 고객 정보라는 정도만을 알 수 있도록 한다.



'데이터 Story > 모델링 매뉴얼' 카테고리의 다른 글

배타 서브타입 설계  (0) 2017.02.16
실체 엔터티 설계  (0) 2016.12.29
종속 엔터티의 엔터티 명  (0) 2016.12.08
기준 엔터티의 엔터티 명  (0) 2016.12.01
역할 엔터티의 엔터티 명  (0) 2016.11.18
소속 엔터티의 엔터티 명  (0) 2016.11.05
블로그 이미지

블루퍼필

댓글을 달아 주세요

기준 엔터티는 기준 데이터임을 명확하게 구분하기 위해서 엔터티 명에 기준이라는 단어를 접미어(Suffix)로 붙인다. 그리고 접미어 앞에는 데이터 성격을 나타내는 명사형의 단어를 사용하며, 필요 시 명사형 단어 앞에 수식어를 사용한다.

 

[그림1] 환율기준 엔터티는 기준 정보로서 환율 데이터를 관리하는 엔터티다.


[그림1]

 

기준 데이터로 관리하려는 대상이 환율이기 때문에 환율은 데이터의 성격을 나타내는 명사형의 단어다. 데이터 성격은 기본 속성을 보면 알 수 있다. 기본 속성이 환율을 의미하기 때문에 데이터 성격을 나타내는 명사형의 단어는 환율이다. 그리고 명사형의 단어 앞에 수식어가 필요 없기 때문에 접미어인 ‘~기준을 사용해 환율기준이라고 붙인다.

 

[그림2] 고객수수료율기준 엔터티는 고객에 대한 수수료율을 관리하는 엔터티다.


[그림2]

 

데이터 성격을 나타내는 용어인 수수료율에 접미어인 기준을 붙여서 엔터티 명을 정한다. 수수료 중에서 고객의 수수료를 관리하기 때문에 고객을 수식어로 사용해 고객수수료율기준으로 엔터티 명을 정한다.

 

[그림3] 국가세율기준 엔터티는 국가에서 정한 기준 세율을 관리하는 엔터티다.


[그림3]

 

세율을 나타내는 수식어인 국가와 기준 데이터의 성격을 의미하는 세율’, 그리고 접미어 기준을 붙여서 국가세율기준으로 엔터티 명을 정한다.


기준 엔터티는 업무를 할 때 참조하는 데이터를 의미한다. 실체나 행위 데이터의 기준이 되는 데이터로 참조(Reference) 엔터티라고도 하는 기준 엔터티는 실체 엔터티와 비슷한 면이 많다. 실체 엔터티가 보이는 것을 관리하면 기준 엔터티는 개념적인 것을 관리한다. 엔터티 개수가 많지 않으며, 데이터 건수도 많지 않다. 기준이 되는 데이터이기 때문에 품질과 직결된다. 따라서 구별해서 지속적으로 인지할 수 있도록 엔터티 명에 기준접미어를 붙인다.



'데이터 Story > 모델링 매뉴얼' 카테고리의 다른 글

실체 엔터티 설계  (0) 2016.12.29
종속 엔터티의 엔터티 명  (0) 2016.12.08
기준 엔터티의 엔터티 명  (0) 2016.12.01
역할 엔터티의 엔터티 명  (0) 2016.11.18
소속 엔터티의 엔터티 명  (0) 2016.11.05
실체 엔터티의 엔터티 명  (0) 2016.10.13
블로그 이미지

블루퍼필

댓글을 달아 주세요

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


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

 

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

[그림1]

 

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

 

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

 

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

[그림2]

 

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

 

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



 

블로그 이미지

블루퍼필

댓글을 달아 주세요

실체 자체를 관리하는 엔터티가 아닌, 실체의 소속 데이터를 관리하는 엔터티의 이름은 대상 실체 엔터티 명+소속 실체 엔터티 명형식으로 정한다. 엔터티 명 앞에는 어디에 소속됐는지를 의미하는 대상 엔터티를 사용하고, 뒤에는 소속된 엔터티를 사용해서 정한다.

 

위와 같이 소속을 나타내는 데이터는 실체 엔터티가 아니기 때문에 실체접미어는 붙이지 않는다.

 

[그림 도서관직원] 도서관직원 엔터티는 도서관에 소속된 직원을 관리하는 엔터티다.

 

[그림 도서관직원]

 

도서관직원 엔터티에서 관리하려고 하는 데이터는 직원 데이터인데, 도서관에 소속된 직원이다. 따라서 소속된 실체는 직원이고 어디에 소속됐는지를 의미하는 대상은 도서관이므로 엔터티 명은 도서관직원으로 정한다.

 

[그림 예산부서사원] 예산부서사원 엔터티는 예산 부서에 속한 사원을 관리하는 엔터티다.

 

[그림 예산부서사원]

 

예산부서사원 엔터티는 사원을 의미하지만 사원 자체 데이터를 관리하는 엔터티는 아니다. 사원 데이터는 별도로 존재해야 하며, 사원이 어디에 소속됐는지를 나타낸다.

 

이렇게 실체의 소속 개념을 관리하는 엔터티는 실체 엔터티가 아니라 관계 엔터티나 내역 엔터티에 가깝다. 엔터티 명 역시 그에 맞게 정해야 한다. 사원을 관리한다고 예산부서사원실체 등으로 정하면 안 된다. 예산을 관리하는 부서에 소속된 사원을 의미하는 엔터티 명으로 예산부서사원, 예산부서소속사원, 예산부서관계사원 등이 적절하다.

 

실체의 역할을 관리하는 엔터티와 마찬가지로 실체의 소속을 관리하는 엔터티 명 또한 실체 엔터티로 정하지 않아야 한다. 소속 데이터를 실체 엔터티로 정하면 모델이 전반적으로 혼란스러워진다.


블로그 이미지

블루퍼필

댓글을 달아 주세요

실체 엔터티는 실체 엔터티임을 명확하게 구분하기 위해서 엔터티 명에 실체라는 단어를 접미어(Suffix)로 붙인다. 그리고 접미어 앞에는 엔터티 성격을 나타내는 명사형의 단어를 사용한다.

 

[그림 실체엔터티명] 장비실체 엔터티는 장비를 관리하는 엔터티다.

  

[그림 실체엔터티명]

 

장비실체 엔터티는 장비라는 만질 수 있는(Tangible) 실제의 물체(物體)를 관리하는 엔터티로 실체 엔터티다. 명사형인 장비와 접미어인 실체를 붙여 장비실체로 엔터티 명을 정한다.

 

명사형과 동사형의 단어를 구분하는 방법은 ‘~했음을 붙여 자연스러우면 명사형이 아니라 동사형이다. ‘장비라는 단어는 명사형이기 때문에 ‘~했음을 붙이면 의미가 통하지 않는다. ‘~했음을 붙여 의미가 통하는 동사형의 단어는 행위 엔터티에 사용한다.

 

엔터티 명에는 엔터티의 종류를 나타내는 접미어를 사용하지 않는 것이 바람직하지만, 실체 엔터티는 대개 핵심 엔터티이기 때문에 지속적으로 관리하기 위해 엔터티 명을 분명하게 구분하는 것이 의미가 있다. 추후에 실체 엔터티만을 뽑아서 검증할 수도 있고, 모델링 중에도 지속적으로 인지할 수 있어 엔터티를 잘못 설계하는 오류를 최소화할 수 있다.

 

또한 엔터티 정의를 명확하게 하는 효과도 있다. 실체 엔터티 명에 ‘~실체라는 접미어를 붙이면, 엔터티 명에 엔터티의 성격이 포함돼 있어 엔터티 정의가 더욱 명확해진다.


블로그 이미지

블루퍼필

댓글을 달아 주세요