4.속성 정의

 

속성 상세 정의

속성은 정보를 나타내는 최소의 단위. 업무는 엔티티타입에 속한 각각의 엔티티들에 대해 자세한

내역을 가지로 있으며, 각각의 내역에 대해 값을 가지도록 모델링으로 구성한 모습.

) 고객이라는 엔티티타입에 엔티티들이 가지고 있는 성격들의 각 항목인 성명, 우편번호, 주소,

전화번호등이 있겠다. 또한 속성이라 하면 반드시 해당 업무에서 업무상 필요로 하는 데이터여야

한다. “각각의 속성은 반드시 하나의 엔티티타입에 속해 있어야 하고, 전체 데이터 모델에서 하나의 의미만을 가지고 있어야한다.”

 

엔티티타입 내에서의 하나의 속성은 한 시점에 한 개의 값만을 가지는 것이 원칙이다. 이를

속성의 111 원칙이라 한다.

2_26_1.JPG

하나의 속성은 한 시점에 한 개의            하나의 속성이 시간에 따라 여러 개의 값을 가지며

값만을 가질수 있다.                             그 값을 해당업무에서 관리해야 할 필요가 있으면

                                                        새로운 엔티티타입을 생성한다.

 

시간에 따라 속성값이 변할수 있는데 이를 다중값 속성이라한다. 예를들면 한 고객이 여러 번

방문한 내용을 관리해야 한다면 방문일, 방문내용은 고객 엔티티타입의 속성만으로는 존재할 수

없고,새로운 엔티티타입이 생성되야한다. 그리고 관계는 고객과 1:M 관계로 설정되어야한다.

 

2_27_1.JPG

 

도메인/용어정의

도메인 정의서에 따른 각 속성의 도메인지정

용어사전에 따른 속성명 지정

 

속성 규칙 정의

1)속성의 3분류를 정의한다.

속성은 그 값이 어떤 성격의 데이터를 가지는가에 따라 세 가지 형식으로 구분할수 있다.

1분류

Basic

업무상 수집된 기본 속성

2분류

Designed

업무에 필요한 정보를 주기 위해 시스템에서 고안한 속성(코드,일련번호등)

3분류

Derived

다른 속성에 의해 계산되거나 영향을 받아 생성된 속성(금액 총합,이자 등)

 

모델링을 진행하는 동안 해당 업무에 의해 필요한 단위 정보로 수집된 일반적인 속성들은 속성

1분류,즉 기본 속성(Basic Attributes)이다. 이 속성은 자신의 값이 수정될 때 다른속성이나 값에

영향을 받지 않는다.어떤 속성의 경우는 업무상 제약사항을 넘어서 새로운 시스템적 제약 사항

이 발생하는데, 데이터 모델링 단계에서 생성한 유일한 식별자나 간단한 업무 규칙에 의해 생성

되는 값, 코드,일련번호가 바로 이러한 속성에 해당된다.이를 속성 2분류 설계 속성(Designed

 Attributes) 이라 한다.

다른 속성값에 영향을 받거나 특별한 계산 로직에 의해 항상 계산이 필요한 값도 있다.이러한

값을 속성 3분류 파생 속성(Derived Attributes)이라고 한다.

2)속성값의 필요 여부를 정의한다.

Null상태로 존재할 수 있는 속성을 선택(Optional)속성, 엔티티의 존재의 시점(생성,소멸)과 동일해야하는 속성을 필수(Mandatory)속성이라한다. 속성의 존재 형식에 따라 이를 구분할 필요가

있다.

3)속성의 기본값을 정의한다.

4)반드시 정해진 값(Check Value)만을 가져야 하는지를 정의한다.

 

 

5.도메인 정의

 

도메인이란 엔티티타입 내의 속성에 대한 데이터타입과 크기, 제약 사항을 지칭하는 것이다.

또한 모델링단계에서 공통되고,일정한 규칙에 따라 정의하는 방법을 도메인 정의라한다.

물론 넓게는 표준화 정책의 일부작업 이기도 하다.

 

1)데이터모델의 모든 속성을 나열한다.

엔티티타입명

속성명

접수

접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

 

2)모든 속성 중에 뒤부터2~4자 정도를 분리해 본다.

2~4자 정도로 의미있는 용어로 분리

엔티티타입명

속성명

접미어2

접미어3

접미어4

접수

접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

번호

성명

번호

주소

번호

련번호

자성명

민번호

자주소

화번호

일련번호

청자성명

주민번호

청자주소

전화번호

 

3)공통으로 발생하는 접미어를 분리하여 하나로 만든다.

속성명

접미어2

접미어3

접미어4

접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

번호

성명

번호

주소

번호

련번호

자성명

민번호

자주소

화번호

일련번호

청자성명

주민번호

청자주소

전화번호

접미어2자에서 공통으로 발생하는 번호를 하나로 만든다.
 

4)분리된 접미어를 비슷한 것끼리 묶어 이름을 부여한다.

2_31_4.JPG

5)각 도메인별로 데이터 타입과 길이를 지정한다.

도메인구분

도메인명

도메인타입

비고

번호

접수일련번호

주민번호

전화번호

VARCHAR2(20)

VARCHAR2(13)

VARCHAR2(18)

‘-‘제외

‘_’포함할 수 있음

‘-‘포함함

 

6)각 엔티티타입의 속성에 도메인을 할당한다.

엔티티타입명

속성명

도메인명

데이터타입

접수

접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

접수일련번호

이름(v,40)

주민번호

주소

전화번호

VARCHAR2(10)

VARCHAR2(40)

VARCHAR2(13)

VARCHAR2(120)

VARCHAR(18)

 

6.용어사전 정의

 

용어사전(데이터사전)의 정의이유는 논리 데이터 모델에 기술된 속성명과 테이블명에 업무적인

용어를 적용하거나 프로젝트에서 사용하기 위한 이름을 부여하여 데이터 모델과 어플리케이션

인터페이스에서 효율적인 정보화 시스템을 구축하기 위해서다.

개인적으로는 다음담당자를 위한 배려로 업무분석이 보다 용이하기 때문이기도 하다.

지난 회사에서도 표준화 정책을 세웠고 현재 회사에서도 표준화가 정립돼있다. 하지만 이미

구축돼있는 정보시스템에서의 리팩토링은 쉽지만은 않다. 솔직히 귀찮은 일이다.

 

1)엔티티타입의 속성명을 모두 한곳에 모아 기술한다.

문서도 좋고, 툴을 사용해도 좋을것이다.DA# 기능이 잘돼있던데..


2)
속성명을 업무에서 사용하는 단어의 단위로 분리한다.

속성명은 단일어로 이루어진 단어도 있지만 복합어로 이루어진 단어도 있다. 복합어를 단일어로

분리하고 중복되는 단어는 삭제하여 속성명을 유일하게 만드는 작업을 한다.


3)
각각의 단위 속성에 의미를 기술하고 물리 속성명을 업무 특성에 적합하게 정의한다.

때론 동일한 단어라 할지라도 일반적으로 생각하는 의미와 업무에서 사용하는 의미에는 차이가

있을 수 있다. 속성의 의미와 물리 속성을 지정하는 기준은 업무에서 사용되는 의미로 기술해야

한다.


4)
물리 속성명 명명 규칙을 정한다.

예를들면,최종작업일자를 물리 속성명을 부여할 때 LAST_WORK_DATE로 할지,LASTWORKDATE

로 할지 규칙을 정한다.


5)
단위 속성명에 따라 엔티티타입의 모든 속성명에 대해 논리 속성명을 일치시키고,물리 속성명을 생성해준다.

예를들면, 급여청구최대한도를 단위 속성명을 급여/PAY,청구/DEMAND,최대/MAX로 정의했다면

급여청구 최대한도는 PAY_DEMAND_MAX가 될것이다.

 

하여간 DB는 머하나 쉬운일이 없다.



 

이 게시물을..