[ SQLD : I. 데이터 모델링의 이해] 1-3. 속성(Attribute)

문지은·2023년 5월 31일
0

SQLD

목록 보기
3/30
post-thumbnail

속성(Attribute)

속성의 개념

  • 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
  • 엔터티를 설명하고 인스턴스의 구성요소가 됨

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

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

  • 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
  • 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
  • 한 개의 속성은 한 개의 속성 값을 갖는다.

속성의 표기법

  • 속성은 엔터티 내에 이름을 포함하여 표기한다.

속성의 특징

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

속성의 분류

속성의 특성에 따른 분류

  • 기본 속성(Basic Attribute)

    • 업무 분석을 통해 바로 정의한 속성
    • 코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 그리고 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성은 기본속성
    • 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성이 많은 경우에는 속성의 값이 원래 속성을 나타내지 못하므로 기본속성이 되지 않음.
  • 설계 속성(Designed Attribute)

    • 원래 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성
    • 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성
  • 파생 속성(Derived Attribute)

    • 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성
    • 다른 속성에 영향을 받기 때문에 프로세스 설계 시 데이터 정합성을 유지하기 위해 유의해야 할 점이 많으며 가급적 파생속성을 적게 정의하는 것이 좋음

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

  • PK(Primary Key) 속성 : 엔터티를 식별할 수 있는 속성
  • FK(Foreign Key)속성 : 다른 엔터티와의 관계에서 포함된 속성
  • 일반 속성 : 엔터티에 포함되어 있고 PK, FK에 포함되지 않은 속성

세부 의미를 쪼갤 수 있는지에 따라

  • 복합 속성(Composite Attribute) : 여러 세부 속성들로 구성될 수 있는 속성 (예 - 주소)
  • 단순 속성(Simple Attribute) : 더 이상 다른 속성들로 구성될 수 없는 단순한 속성 (예 - 나이, 성별)

가질 수 있는 값에 따라

  • 단일값(Single Value) 속성 : 속성 하나에 한 개의 값을 가지는 경우 (예 - 주민번호)
  • 다중값(Multi Value) 속성 : 여러 개의 값을 가지는 경우 (예 - 전화번호; 집, 휴대전화, 회사 전화번호..)

도메인 (Domain)

  • 각 속성이 가질 수 있는 값의 범위
  • 엔터티 내에서 속성에 대한 데이터타입과 크기 그리고 제약사항을 지정하는 것

속성의 명명

  • 해당업무에서 사용하는 이름을 부여한다.
  • 서술식 속성명은 사용하지 않는다.
  • 약어 사용은 가급적 제한한다.
  • 전체 데이터모델에서 유일성을 확보하는 것이 좋다.
profile
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈

0개의 댓글