지지 On Air

1-1-3. 속성 (Attribute) [ SQLD / SQLP / SQL 가이드 ] 본문

개발/SQL [SQLD&SQLP]

1-1-3. 속성 (Attribute) [ SQLD / SQLP / SQL 가이드 ]

슈스 지지 2022. 7. 8. 23:49
반응형

과목 I. 데이터 모델링의 이해
  - 제 1장 데이터 모델링의 이해
    > 제 3절 속성

1. 속성의 개념

속성(Attribute)은 업무에서 피룡로 하는 인스턴스에서 관리하고자 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위를 말한다.

엔터티는 속성들에 의해 설명든다. (예를들면, '강사'엔터티에서 속성은 '이름','주소','생년월일' 등이 될 수 있다.

  • 업무에서 필요로 한다.
  • 의미상 더 이상 분리되지 않는다.
  • 엔터티를 설명하고 인스턴스의 구성요소가 된다.

 

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

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

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

속성의 표기법

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

 

3. 속성의 특징

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

 

4. 속성의 분류

속성의 특성에 따른 분류

속성은 업무 분석을 통해 바로 정의한 속성을 기본속성, 원래 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성을 설계속성, 다른 속성으로부터 계산,변형,생성되는 속성을 파생속성 이라고 한다.

  • 기본속성 : 업무로부터 추출한 모든 속성이 여기에 해당한다. 
  • 설계속성 : 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화 하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성이다.
  • 파생속성 : 다른 속성에 영향받아 발생하는 속성으로, 보통 계산된 값들이 이에 해당된다.

예를들면 제품과 관련된 속성의 경우 다음과 같다.

기본 속성 : 제품이름, 제조년월, 제조원가 (원래 있던 속성)

설계 속성 : 제품코드 (1:1 치환)

파생 속성 : 전체 제품의 수, 제품의 총 금액 (계산된 값)

 

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

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

 

또한 속성은 그 안에 세부 의미를 쪼갤 수 있는지에 따라 단순형 혹은 복합형으로 분류할수있다.

예를 들어 주소 속성은 시,구,동,번지 같은 여러 세부 속성들로 구성될 수 있고, 이를 복합속성 이라고 한다.

나이, 성별 등의 속성은 더이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순속성 이라고 한다.

 

 

5. 도메인 (Domain)

도메인이란 각 속성이 가질수 있는 값의 범위를 말하는 것으로, 엔터니 내에서 속성에 대한 데ㅔ이터타입과 크기,제약사항을 지정하는 것이다.

 

6. 속성의 명명

  • 해당 업무에서 사용하는 이름을 부여한다.
  • 서술식 속성명은 사용하지 않는다.
  • 약어사용은 가급적 제한한다.
  • 전체 데이터 모델에서 유일성을 확보하는 것이 좋다.

 


속성도 엔터티와 마찬가지로 내용은 어렵지 않으나 주관식 문제로 출제될 가능성이 있습니다.

제가 봤던 회차의 SQLD 시험에서도 주관식 문제중 하나의 답이 '속성' 이었던것 같네요 :)


본 포스팅은 '한국데이터산업진흥원' 에서 발행한 'SQL 전문가 가이드' 를 참고/인용 하였음을 밝힙니다.
반응형
Comments