DAP
[DAP 전문가 가이드] 4.3.2 속성 정의
2025. 4. 29. 13:33

 

 

속성 개념

속성 정의

- 속성은 엔티티에서 관리되는 구체적인 정보 항목으로 더 이상 분리될 수 없는 최소의 데이터 보관 단위이다.

- 각 엔티티들은 일련의 속성에 의해 상세화될 수 있다.

 

속성 특징

  • 속성도 일종의 집합이다.
    • 물리 데이터 모델링 단계에서 엔티티는 테이블이 되고, 속성은 컬럼이 된다. 결국 속성에는 데이터 값이 들어가게 되며, 그 값들은 여러 종류를 가지게 된다.
  • 릴레이션십도 속성이다.
    • 물리 데이터 모델링 단계에 가서 보면 릴레이션십 또한 결국은 일종의 속성이 될 수밖에 없다.
  • 속성들 간은 서로 독립적이다.
    • 속성들은 반드시 식별자에 직접 종속되어야 한다.
    • 정규화의 제2정규형에 해당한다.
    • 속성들 간에 종속성이 존재한다면 이들은 별도의 엔티티로 분리되어야 한다.

 

속성 후보 도출

- 후보 도출 작업은 기존의 현장조사에 국한하지 않고 좀 더 적극적이고 개선적인 사고를 가지고 사용자에게 많은 질문을 하고 확인해 속성 후보를 도출한다.

 

속성 후보 수집처

  • 구 시스템의 문서 자료
  • 현업 장표/보고서
  • 사용자와 협의
  • DFD의 DD(Data Dictionary)
  • 전문 서적 및 자료
  • 다른 시스템 자료

 속성 후보 선정 원칙

  • 원시(Source) 속성으로 보이는 후보는 버리지 않는다.
  • 소그룹별로 후보군(Pool)을 만들고 가장 근접한 엔티티에 할당한다.

속성의 기본 구성요소

  • 속성명
    • 속성의 내용이나 목적이 무엇인지 알려주는 명사 또는 명사구이다.
    • 기업에서 널리 사용하는 용어를 쓴다.
    • 속성의 의미를 명확히 표현하는 함축성 있는 명사 혹은 명사구를 사용한다.
    • 해당 업무에서 일반적으로 사용하는 용어를 사용한다.
    • 실체명은 속성명으로 사용하지 말아야 한다.
    • 필요시 표준 약어를 제정하여 속성명을 생성하고 그 속성명을 단 하나의 실체에만 속하도록 하는 것이 바람직하다.
  • 도메인
    • 속성이 지닐 수 있는 값에 대한 업무적인 제약 조건으로 파악된 일련의 특성이다.
    • 모든 영역에서 같은 도메인을 사용하는 것이 좋다.
    • 도메인의 속성 : 데이터 타입, 길이, 허용 값, 디폴트 값 및 디폴트 알고리즘
  • 선택성
    • 모든 건의 해당 속성이 반드시 값을 가져야 하는지 여부를 나타낸다.

 

속성 검증 및 확정

속성 검증 작업 단계

  1. 최소 단위까지 분할하라.
    • 집합 개념의 속성은 단순 개념으로 분할한다.
    • 가능한 최소 단위까지 분할한 후 관리 필요에 따라 통합한다.
    • 일자, 시간, 성명, 주민등록번호, 우편번호 등은 일반적으로 분할하지 않는 것이 좋다.
    • 분할 및 통합의 기준은 업무의 요구 사항에 따른다.
    • 분할 속성의 대표적 유형
      • 일자 형태의 속성
      • 외부에서 공인된 속성
      • 전화번호 유형
      • 주소 유형
  2. 하나의 값만을 가지는지 검증한다.
    • 여러 값을 가지거나 반복되는 속성은 잘못된 속성이다.
    • 반복되는 속성은 새로운 엔티티로 분할해야 할 1차 정규화의 대상이다.
  3. 추출 속성인지 검증한다.
    • 그 속성이 원천적인 값인지, 다른 속성에 의해 가공되어서 만들어진 값인지를 검증하는 것이다.
    • 추출 속성의 대표적 유형
      • 현재 정보만 관리하는 형태 : 현주소, 고객 등급 등
      • 최초 정보를 보관하는 형태 : 최초 가입일, 모집 사원 등
      • 집계 정보를 관리하는 형태 : 인원 수, 가족 수, 총직원 수 등
      • 추출 릴레이션만 관리하는 형태 : 가입 계약번호, 관리 사원 등
      • 대표 정보만 관리하는 형태 : 대표 전자메일ID, 취미, 법인의 대표자 정보
      • 다른 속성의 일부 정보만 분리한 형태 : 성별, 결혼 여부 등
      • 일부분만 추출 값인 형태 : 인원 수, 법인의 대표자 정보 등
  4. 보다 상세하게 관리할 것이냐
    • 현재까지는 이대로도 충분했지만 수많은 변화가 예상되는 미래를 대비하기 위해 좀 더 근원적인 정보를 관리할 필요성에 대해 검증하는 것이다.
    • 이 단계가 데이터 모델링이 현재뿐만 아니라 미래의 시스템 구조를 찾아 나가는 과정이라는 것을 의미한다.

추출 속성 규칙

- 다른 엔티티나 속성으로부터 유도되거나 계산된 속성들은 유도 또는 계산에 사용된 기준 속성에 대한 종속성과 함께 그 방법이 데이터 모델에 표현되어야 데이터 가공에 따른 연관관계를 명확하게 전달하고 기록으로서 의미를 가질 수 있다.

  • 추출 속성이란 하나 이상의 다른 데이터 속성에 축적된 여러 사례의 값을 토대로 어떤 추가 계산 작업을 수행함으로써 선택적으로 주제를 도출하는 속성에 대하여 새로운 값을 창출하는 속성이다.
  • 계산 속성은 엔티티의 단일 사례에 대한 어떤 특성을 기술하며, 일반적으로 관련 속성의 또 다른 단일 사례로부터 계산된다.
  • 추출 속성은 경영층이 진실로 원하고 필요로 하는 정보를 대표한다.
  • 추출 속성은 사용자들의 데이터 요구 사항을 나타낸다.
  • 데이터 모델에 추출 속성을 포함시키는 것은 그들의 물리적 구현에 대한 어떤 것도 내포하지 않는다.
  • 추출 속성은 향후 과정에서 결코 기본키로서의 역할을 맡지 않아야 한다.

 

속성 정의 시 유의 사항

  1. 의미가 명확한 속성 명칭을 부여한다.
  2. 유일한 복합명사 사용
    • 보충설명을 하지 않더라도 거의 유사한 생각을 가질 수 있도록 보편적이고 함축성 있는 단어를 찾아내야 한다.
    • 보편적인 용어를 적절히 결합한 복합명사를 만듦으로써 구체적인 표현을 할 수 있다.
  3. 단수형으로 속성명을 사용한다.
  4. 표준 단어 제정
  5. 작의적인 전용 금지
    • 전용이 발생하는 경우
      • 모델러가 속성의 의미를 매우 추상적이고, 모호하게 정의했기 때문에 그것을 적용하는 개발자들이 각기 다르게 이해함으로써 나타나는 경우
      • 개발이 막바지에 도달했거나 이미 운용 중인 시스템에서 새로운 사용자 요구 사항으로 인해 새로운 속성의 추가가 필요할 때 나타나는 경우
      • ERP 패키지에서 자주 나타나는 형태로서, 미리 전용의 용도로 속성을 정의해 두는 경우