Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Far from it.

제 3절 속성(Attribute) 본문

SQLD

제 3절 속성(Attribute)

두유콩 2020. 1. 15. 15:43

속성(Attribute)의 개념

  • 속성(Attribute)의 사전적 의미
    • 사물의 성질, 특징, 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것
    • 본질적 속성이란 어떤 사물 또는 개념에 없어서는 안될 징표의 전부이다.
    • 징표는 사물이나 개념이 어떤 것인지를 나타내고 그것을 다른 것과 구별하는 성질
  • 데이터 모델링 관점에서 속성(Attribute의 정의)
    • 업무에서 필요로 하는 인스턴스를 관리하고자 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위
    • 업무상 관리하기 위한 최소의 의미 단위
    • 속성은 엔터티를 성명하고 속성은 인스턴스의 구성요소이다.
  • 예시
    • 생년월일은 그 자체로 의미가 있으므로 속성이라 할 수 있다.
    • 년, 생월, 생일로 분리가 가능하지만 이는 하나의 속성을 관리목적으로 분리한 것일 뿐 각각을 속성이라 할 수 는 없다.
    • 이름과 주소는 각각 의미있는 속성이지만, 이름주소로 묶는다면?
    • 하나의 속성이 두 가지의 의미를 가지고 있으므로 기본 속성이라 할 수 없다.
    • 차라리 이름주소가 아닌 인적사항 정도로 관리한다면 속성으로 볼 수도 있다.

속성의 특징

  • Entity와 마찬가지로 해당 업무에서 필요하고 관리하고자 하는 정보
  • 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속적을 가져야 한다.
  • 하나의 속성은 하나의 값만 가진다. 하나의 속성에 여러개의 값이 있을 경우, 별도의 Entity를 이용하여 분리한다.

속성의 분류

  • 속성의 특성에 따른 분류
    • 기본속성 : 업무로부터 추출한 모든 속성
    • 설계속성 : 코드성 데이터, Entity 식별용 일련번호
    • 파생속성 : 다른 속성에 영향을 받아 발생하는 속성, 계산된 값, 합계, 재고, 잔액
      • 파생 속성은 그 속성이 가지고 있는 발생하는 속성에 의해 영향을 받는지 정의가 되어야 한다.
      • 타 속성에 의해 지속적으로 영향을 받아 자신의 값이 변하는 성질을 가지고 있는 속성
      • 파생속성은 꼭 필요한 경우에만 정의하여 업무로직이 속성내부로 스며들지 못하도록 주의해야 한다.
      • 파생속성을 정의한 경우라면 그 값의 정합성을 유지할 수 있도록 해야한다.
      • 통계관련 엔터티, 배치작업 수행 관련
  • 엔터티 구성방식에 따른 분류
    • PK속성 FK속성, 일반속성

도메인(Domain)

  • 속성이 가질 수 있는 값의 범위

속성의 명명(Naming)

  • 용어사전: 속성이름을 정확하게 부여하고, 용어의 혼란을 없애기 위함
  • 도메인정의: 각 속성이 가지는 값의 범위를 명확하게 하기 위해
  • 속성명 부여 원칙
    • 해당 업무에서 사용하는 이름을 부여한다.
    • 서술식 속성명은 사용하지 않는다.
    • 가급적 약어사용은 제한한다.
    • 전체 데이터 모델에서 유일성을 확보하는 것이 좋다.

'SQLD' 카테고리의 다른 글

제 2절 엔터티(Entity)  (0) 2020.01.15