[1과목] 12. 속성

yeomss·2022년 3월 4일
0

SQLD

목록 보기
12/14
post-thumbnail

INDEX

속성의 개념


업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위

  • 사물의 성질, 특징 또는 본질적인 성질
  • 업무상 관리하기 위한 최소의 의미 단위
  • 업무에서 필요로 한다.
  • 의미상 더 이상 분리되지 않는다.
  • 엔터티를 설명하고 인스턴스의 구성요소가 된다.
예를 들어 생년월일은 하나로서 의미가 있다. 만약 이것을 생년, 생월, 생일로 구분한다면 이것은 사실상 하나의 속성을 관리목적에 따라 구분했다라고 이해할 수 있다. 이러한 이유로 인해 S/W 비용을 산정하는 기능점수(Function Point)를 산정할 때 이렇게 분리된 속성은 하나의 속성(DET)으로 계산하게 된다. 그러나 만약 서 로 관련이 없는 이름, 주소를 하나의 속성 ‘이름주소’로 정의하면 어떻게 될까? 이것은 하나의 속 성의 두 개의 의미를 갖기 때문에 기본속성으로서 성립하지 않게 된다.

엔터티, 인스턴스와 속성, 속성 값에 대한 내용과 표기법


엔터티, 인스턴스, 속성, 속성 값의 관계

  • 엔터티에는 두 개 이상의 인스턴스가 존재하고 각각의 엔터티에는 고유의 성격을 표현하는 속성 정보를 두 개 이상 갖는다.
  • 분석 단계에서 엔터티 내에 존재하는 여러 개의 인스턴스가 가지는 동일한 성격은 무엇인지를 파악하고 이에 이름을 부여하여 엔터티의 속성으로 기술하는 작업이 필요하다.
  • 각각의 인스턴스는 속성의 집합으로 설명될 수 있다.
  • 하나의 속성은 하나의 인스턴스에만 존재할 수 있다.
    • 하나의 인스턴스는 각각의 속성들에 대해 한 개의 속성값만 가질 수 있다.

      예 를 들면 사원의 이름은 홍길동이고 주소는 서울시 강남구이며,
      전화번호는 123-4567, 직책은 대리 이다.
      
      이름, 주소, 전화번호, 직책은 속성이고
      홍길동, 서울시 강남구, 123-4567, 대리는 속성값이다.
      
      그러므로 속성값은 각각의 엔터티가 가지는 속성들의 구체적인 내용이라 할 수 있다.
      
      사원이라는 엔터티에는 홍길동이라는 사람(엔터티)이 있을 수 있다.
      홍길동이라는 사람의 이름은 홍길동이고 주소는 서울시 강서구이며 생년월일 1967 년 12 월 31 일이다. 여기에 이름, 주소, 생년월일과 같은 각각의 값을 대표하는 이름들을 속성이라 하고 홍길동, 서울시 강서구, 1967 년 12 월 31 일과 같이 각각의 이름에 대한 구체적인 값을 속성 값(VALUE)이라고 한다.
  • 속성은 관계로 기술될 수 없고, 자신이 속성을 가질 수도 없다.
  1. 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
  2. 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
  3. 한 개의 속성한 개의 속성값을 갖는다.

속성의 표기법

  • 속성은 엔터티 내의 이름을 포함하여 표현하면 안된다.

속성의 특징


  1. 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
  2. 정규화 이론에 근간하여 정해진 주 식별자에 함수적 종속성을 가져야 한다.
  3. 하나의 속성에는 한 개의 속성 값만을 가진다.
    하나의 속성에 여러 개의 값이 있는 다중 값일 경우 별도의 엔터티를 이용하여 분리한다.

속성의 분류


속성의 특성에 따른 분류

  1. 기본 속성

    1. Basic Attribute
    2. 업무로부터 추출한 모든 속성이 여기에 해당된다.
    3. 가장 일반적이고 많은 속성을 차지한다.
    4. 몇 몇의 제외
      1. 코드성 데이터
      2. 엔터티를 식별하기 위한 일련 번호
      3. 다른 속성을 계산하거나 영향을 받아 생성된 속성
    5. 주의해야 할 것은 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성이 많다는 것.
      이러한 경우도 속성의 값이 원래 속성을 나타내지 못하므로 기본 속성이 되지 않는다.
  2. 설계 속성

    1. 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성
    2. 코드성 속성, 일련 번호
  3. 파생 속성

    1. 다른 속성에 영향을 받아 발생하는 속성
    2. 보통 계산된 값들
    3. 프로세스 설계 시 데이터 정합성을 유지하기 위해 유의해야 할 점이 많다.
    4. 가급적 파생 속성을 적게 정의하는 것이 좋다.
    5. 속성값의 검증 시 활용되기도 한다.
    6. 계산 방법에 의해 반드시 어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의가 되어야 한다.
    7. 속성 정의서에 파생 속성이 가지는 업무 로직을 기술하여 데이터의 정합성이 유지될 수 있도록 해야한다.
    8. 통계 관련 엔터티나 배치 작업이 수행되면서 발생되는 엔터티에서 많이 이용된다.

    엔터티 구성 방식에 따른 분류

    • 엔터티를 식별에 따라
      • PK 속성 : 엔터티를 식별할 수 있는 속성
      • FK 속성 : 다른 엔터티와의 관계에서 포함된 속성
      • 일반 속성 : 엔터티에 포함되어 있고, PK, FK 에 포함되지 않은 속성
    • 세부 의미 분류에 따라
      • 단순형
        • Simple Attribute
        • 더 이상 다른 속성들로 구성될 수 없는 단순한 속성
        • 예) 나이, 성별
      • 복합형
        • Composite Attribute
        • 여러 세부 속성들로 구성될 수 있는 속성
        • 예) 주소
    • 속성 값의 개수에 따라
      • 단일 값
        • Single Value
        • 예) 주민등록번호
      • 다중 값
        • Multi Value
        • 예) 전화번호 (휴대폰, 집, 직장)
        • 하나의 엔터티에 포함될 수 없으므로 1차 정규화를 하거나
        • 별도의 엔터티를 만들어 관계로 연결해야 한다.

도메인 (Domain)


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

    예를 들면 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0 에서 4.0 사이의 실수 값이며 주소라 는 속성은 길이가 20자리 이내인 문자열로 정의할 수 있다.
  • 각 속성은 도메인 이외의 값을 갖지 못한다.
  • 엔터티 내에서 속성에 대한 데이터 타입과 크기, 그리고 제약사항을 지정하는 것

속성의 명명


  • 속성명은 곧 사용자 인터페이스에 나타나기 때문에 업무와 직결되는 항목이다.
  • 속성 이름을 정확하게 부여하고 용어의 혼란을 없애기 위해 용어사전 이라는 업무 사전을 프로젝트에 사용하게 된다.
  • 각 속성이 가지는 값의 종류와 범위를 명화하게 하기 위해 도메인 정의를 미리 한다.
  • 용어사전과 도메인 정의를 사용하면 데이터 타입의 일관성을 확보할 수 있게 된다.

속성명 부여 원칙

  1. 해당 업무에서 사용하는 이름을 부여 한다.
  2. 서술식 속성명은 사용하지 않는다.
  3. 약어 사용은 가급적 제한한다.
  4. 전체 데이터 모델에서 유일성 확보하는 것이 좋다.
    • 반정규화를 적용할 때 속성명의 충동을 해결하여 안정적으로 반정규화를 적용할 수 있게 된다.

0개의 댓글