관계형데이터모데링노트 요약

속성 식별자 검증

mitomi 2023. 12. 5. 22:50
반응형
SMALL

속성은 메타시스템과 연관되어 있어 검증할 수 있다.

- 속성 존재 여부 검증

 모델에 표현되지 않은 속성이 있는지?

 모델에 표현된 불필요한 속성이 있는지?

애플리케이션 화면에서 사용한 항목과 모델 속성과의 매트릭스를 만들어 비교하는 것이 있으며,  as-is속성과 모델 속성과의 매트릭스를 만들어 비교하는 것이 있다.

 

화면에는 있는데 속서이 없는 경우

속성만 존재하고 화면에 없는 경우

속성에도 없고 화면에도 없는 경우 (누락여부 발견하기 힘든경우인데.  as-is 속성과 비교해서 보안필요)

 

 AS-IS속성이 TO-BE모델에 없는 경우: 삭제된 것이 있는지 검토 필요. 삭제된것이 아니라면 TO-BE 모델 추가필요

TO-BE에 있는 속성이 AS-IS모델에 없는 경우 : 신규업무로 인해 추가된 경우, 신규추가가 아니라면 AS-IS속성과의 매핑이 누락됐거나 , TO-BE에서 사용하지 않는 것이기 때문에  TO-BE모델에서 삭제해야 할 속성이다.

 

식별자 검증

엔터티명과 엔터티 정의, 주식별자를 엑셀로 뽑아서 서로 어울리는지 검토해본다. 

주식별자가 엔터티의 인스턴스를 유일하게 식별하는지 검토하고, 유일성이 보장되지 않으면 주식별속성 추가하거나 인조식별자를 채택해야 한다.

주식별자 논리적인 널값을 사용하는 것은 바람직하지 않고, 널값을 의미하는 기본값이 주식별자에 사용될수 없다.

주식별자는 값이 변경되면 안되고, 한번생성된 주식별자 값은 고정돼야 한다. 추출속성이 주식별자로 사용되면 안된다. 

추출속성을 관리할 수 있다면, 주식별자와 겹치는지 검토해야 한다.

 

엔터티명과 엔터티 정의, 주식별자를 엑셀로 뽑아서 서로 어울리는지 검토

주식별자가 엔터티의 인스턴스를 유일하게 식별하는지 검토

주식별자 논리적인 널값을 사용하는지 검토

주식별자는 값이 변경여부 검토(고정값인지 확인)

주식별자 값이 고정된건지, 추출속성인지, 속성값에 체계가 존재하는지 확인필요

하위엔터티가 많거나 주요 엔터티의 주식별자가 단순하지 않다면, 인조식별자 채택을 검토

인스턴스의 유일성을 보장할 목적으로 사용된 인조식별자는 다시 검토

슈퍼식별자 사용하지 않는 것도 원칙(최소한 주요 엔터티에 대해서 없어도 무관한 속성이 주식별자에 포함되었는지 검증)

슈퍼식별자는 엔터티의 명확한 정의를 방해하며 타엔터티와 관계도 불분명하게 만들기 때문에 사용을 지양

 

복합주식별자는 주식별자의 순서가 데이터를 추출하는데 있어 효율적으로 구성되었는지 검토 

조건절에 자주 사용, 선택도가 높은 속성이 주식별자에 선두에 올수 있도록 순서 확인검토

주식별자에 사용하면 적절치 않은 속성: 명, 내용, 숫자, 금액 등이 도메인인 속성이 주식별자에 포함됐는지 검토

주식별자가 동일한 엔터티가 존재하는지 검토(주식별자가 같은엔터티가 존재하면 안됌, 원래 1:1관계,슈퍼서브타입제외)

 

일반속성 검증

속성이 단어 조합으로 구성됐는지 여부(단어사전에 존재하는 단어를 사용해서 속성명지정)

메타시스템에서 도메인관리는 속성명이 도메인으로 끝나도록 원칙을 정했을때 속성명과 도메인명이 일치해선 안된다.

ex) 도메인 '일자'라는 속성명을 사용하면 안된다. 속성명을 상세하게 정해야 한다. 

속성중에는 그자체로 도메인 역활을 하는 속성이 있는데 이를 논리 도메인이라고 한다. 물리도메인과는 구분해야 한다.

ex)사원번호 속성/승인사원을 관리하는 속성은 '승인사원번호' 이속성의 도메인은 사원번호가 되어야 한다.

도메인이  varchar(5)라면 승인사원번호 속성의 도메인은 '사원번호'가 돼서 두 속성은 연동이된다.

승인사원 번호 속성의 도메인을 varchar(5)로 사용하면 두속성은 연동되지 않는 것이다. 이는 도메인을 잘못설정한 것이다.

 

이처럼 논리도메인 사용돼야 할 속성에 물리도메인이 사용되지 않는지 검토해야 한다. 이에 해당하는 대표적인 속성은 '~코드', '~ 계좌번호'  등 논리도메인을 사용하는 성격의 속성이다. 이를 속성도메인이라고 한다. 속성도메인을 지정해야 할 속성에 타입도메인을 지정하지 않았는지 검토해야 한다.

 

모델구조검증

모델에서 속성을 검증할때 검토하기 쉬운것중 하나가 속성끝에 숫자가 포함된 속성

ex)  전화번호2, 전화번호3 : 속성명을 더 구체적으로 정하던지 엔터티를 분리해서 정규화를 해야함

반복되는 속성이 있는 지 검토(반복횟수가 불변이면 비정규화 할수도 있지만 기본은 정규화해야함)

복합속성 및 다가속성 중복속성 추출속성(반드시 식별해야 함) 원본속성이 무엇인지 기술해야 함

추출속성은 원천데이터를 어떻게 추출했는지 까지 기술

코드속성일 경우 인스턴스값이 존재해야함(코드명,코드값)

메타시스템에 코드인스턴스가 존재하는지 확인(코드속성의 코드값, 코드명 존재하지 않는 지 검토,통합될수 있는지 검토)

코드속성은 그자체가 도메인으로 사용되기 때문에 수식어가 제대로 사용됐는지 검토

서브타입 모델경우 슈퍼타입과 서브타입의 속성이 제 위치에 존재하는지 검토

공통속성이 서브타입에 존재하는지, 고유속성이 슈퍼타입에 존재하는지 검토

원칙은 공통은 슈퍼타입에 고유속성은 서브타입에 존재

주식별자에 변경일자나 종료일자 속성이 포함돼 있다면 해당엔터티가 이력엔터티인지를 검토해야한다.

대부분의 엔터티는 한개 이상의 의미있는 업무적 속성을 가진다. 모든엔터티에 존재하는 공통속성과 주식별자 속성을 제외했을때 속성이 한개도 존재하지 않는 엔터티는 다시 검토해야 한다.

 

속성설명은 반드시 기술해야한다.

명명규칙대로 속성명을 붙였는지 속성명과 설명이 일치하는지 검토해야 한다

이음동의어와 동음이의어가 사용됐는지 검토(메타시스템을 통해  as-is  vs to-be  컬럼매핑을 통해 이음동의어와 동음이의어 재차검토

속성명이 동일한데 도메인(데이터타입과 길이)이 다른게 있ㄴ는지 검토하는게  가장기본이다.

 

 

 

 

728x90

'관계형데이터모데링노트 요약' 카테고리의 다른 글

참조 무결성  (0) 2023.12.15
관계 이야기  (0) 2023.12.09
널(Null)에 대하여  (1) 2023.12.03
데이터 타입 선정 원칙과 절차  (0) 2023.12.03
도메인  (2) 2023.12.03