2.4 속성정의

속성은 정보를 나타내는 최소의 단위

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

업무는 엔티티타입에 속한 각각의 엔티티들의 자세한 내역을 가지고 있으며, 각각의 내역에 대해 값을
가지도록 모델으로 구성한 모습이 바로 속성이다.

엔티티타입은 데이터 모델링을 진행하는 동안 가장 많은 비중을 두고 찾아서 검증해 보아야하지만, 속성의 경우 데이터 모델링 이후에도
지속적으로 추가되고 검증되는 작업이 진행 되므로 완벽히 정의할 필요가 없다.

속성을 발견할 수 있는 방법 (일반적인 경우)



- 해당 업무에 대한 자료를 수집하는 동안 업무 사실에 근거해서 속성을 발견 (업무기술서, 업무에 따라 활용하는 장표)
- 엔티티타입을 추출하는 동안 어느정도 안정적이고 확실한 속성 정보 (60~70%)
- 프로세스 모델링을 진행하는 동안 업무적인 기능에 따라 관련 있는 속성 정보 (10~20% 정도)
- 데이터 모델과 프로세스 모델을 교차체크하는 상관 모델링 단계에서 도출 (10% 정도)




 속성에 의해 엔티티타입이 발생하는 경우

1. 자신을 포함한 다른 속성이 자신과 같은 반복적인 집합의 구조를 가지고 있으면서 
   적절한 엔티티 타입이 없으면(업무 정보로써 분명히 관리해야 할 속성), 새로운 엔티티타입을
   생성하고 다른 엔티티타입를 연결 해 주어야 된다.

2. 속성값이 자신이 속한 엔티티타입 내에서 유일한 식별자에 의해 여러 번 발생되는 구조에도 
   새로운 엔티타입이 발생할 수 있다.


  • 속성 111 원칙 : 하나의 속성은 한 시점에 한 개의 값만을 가질 수 잇다.
  • 속성에 의한 엔티티타입 생성 : 하나의 속성이 시간에 따라 여러 개의 값을 가지며 그 값의 해당 업무에서 관리할 필요가 있으면 새로운 엔티티타입을 생성한다.
  • 주의점 : 다중값 속성을 하나의 엔티티타입 내에서 처리하려고 설계하는 경우 예상치 않게 속성값이 증가 할 수 있으며, 테이블 수정으로 인한 대단위 프로그램 수정을 일어 날 수 있다.
  • 정규화 : 위의 내용 중 다중값 속성의 경우는 정규화 대상 중 1 차 정규화 대상이 되는 경우에 해당된다 .1 차 정규화의 정의는 '중복된 속성의 분리' 였다. 즉 정해진 결정자(주 식별자에 의해 속성의 중복이 발생하는데,이와 같이 각각의 속성이 엔티티타입에 배치된 이후에 속성값을 조사하여 정규화 대상을 찾아 적용하도록한다.

속성규칙정의

  1. (1) 속성의 3분류를 정의한다
    • 기본 속성 (Basic Attributes)
    • 설계 속성 (Designed Attributes)
    • 파생 속성 (Derive d Attributes)
  2. (2) 속성값의 필요 여부를 정의한다. (Optional)
    • Null/Not Null
  3. (3) 속성의 기본값을 정의한다
  4. (4) 반드시 정해진 값(Check Value)만을 가져야 하는지를 정의한다
  • 파생속성 : 파생속성은 그 속성이 가지고 있는 계산 방법에 대해 반드시 어떤 엔티티타입에 어떤 속성에 의해 영향을 받는지 정의가 필요.

2.5 도메인 정의

데이터 모델링에서 도메인이란 엔티티타입 내의 속성에 대한 데이터타입과 크기,제약사항을 지정히는 것

  • 도메인은 전체 속성을 정의하는 작업도 중요하지만, 프로젝트 도중 도메인이 변경되거나 속성이 추가되고, 변경될 때 일관성 있게 관리하는 것도 중요하다.

속성의 특성에 따른 도메인 타입


코드에 대한 도메인 
일련번호 
일반적인속성

일반적인 속성

  1. 데이터 모덜의 모든 속성을 나열한다
  2. 모든 속성 중에 뒤부터 2~4자 정도를 분리해 본다.
  3. 공통으로 발생히는 접미어를 분리하여 하나로 만든다.
  4. 분리된 접미어를 비슷한 것끼리 묶어 그룹을 만들어 이름을 부여한다
  5. 각 도메인별로 데이터타입과 길이를 지정한다
  6. 각 엔티티타입의 속성에 도메인을 할당한다

2.6 용어사전 정의

용어사전(데이터사전)을 정의하는 이유

논리 데이터 모델에 기술된 속성명과 테이블명에 업무적인 용어를 적용하거나 프로젝트에서
사용하기 위한 이름을 부여하여 데이터 모델과 애플리케이션 인터페이스에서 효율적인 정보화시스템을 구축하기 위해서다.


용어사전에는 다음과 같이 기술한다.

 논리명 (Logical Name), 물리명 (Physical Name), 용어정의 (Definition)

 작게는 엔티티타입 정의,
 크게는 어플리케이션의 사용자 인터페이스 이름은 논리명, 소스코드 및 데이터베이스와 관련된 변수는 물리명을 사용하여 일관성있게 사용.


(1) 엔티티타입의 속성명을 모두 한곳에 모아 기술한다.
(2) 속성명을 업무에서 사용하는 단어의 단위로 분리한다
(3) 각각의 단위 속성에 의미를 기술하고 물리 속성명을 업무 특성에 적합하게 정의한다
(4) 물리 속성명 명명 규칙을 정의한다.
(5) 단위 속성명에 따라 엔티티타입의 모든 속성명에 대해 논리 속성명을 일치시키고,물리 속성명을 생성해준다

2.7 4-STEP 데이터 모델링

4-STEP 데이터 모델링

  1. STEP 업무 구조 모델링 : 업무를 구성하는 구조, 정적인 사항들에 대해서 엔티티타입이나 속성을 도출.
  2. STEP 업무 흐름 모델링 : 업무가 진행됨에 따라 발생히는 엔티티타입 속성 관계를 정의.
  3. STEP 모델의 기술적 접근에 의한 모델링 : 데이터관리 및 정보시스템 구죽을 위한 엔티티타입,속성,관계를 정의하는 단계.
  4. STEP 모델의 검토 및 정제를 통한 모델링 : 업무구성과 흐름에 따라 모델의 구성을 검토하여 수정 보안하는 단게.

즉 업무의 흐름을 이해한 상태에서 엔티티타입과 속성 및 관계를 도출할 때 업무구조,
업무 흐름, 기술적 모델링,검토 및 정제의 방법을 적용하여 데이터 모덜을 완성해가는 실무적이고 빠른 모델링 방식

  • 기본 -> 중심 => 행위로 엔티티타입을 구분해야 빠르고 정확하게 엔티티 타입 도출이 가능.

도출한 엔티티타입을 검증



상관매트릭스(CRUD Matrix) 이용하여 도출된 프로세스와 엔티티타입을 X,Y 축으로 나열하여 비교.

 C : Create
 R : Read
 U : Update
 D : Delete


체계화된 데이터 모델링이라 함은
지식습득 -> 실전 사황파악 -> 적달한 방법에 의해 도출 -> 정확성 검증과 같은 사이클을 반복하여
적용함으로서 원하는 목적을 달성하는 데이터 모델링이라고 정의할 수 있다.