본문 바로가기

데이터 사이언스/SQL

[SQLD 학습 자료 요약] 데이터 모델링의 이해 1.3. 속성

본 문서의 내용은 한국데이터산업진흥원에서 펴낸 SQL 전문가 가이드를 기반으로 자격증 취득에 도움이 될 개념을 정리한 것입니다.

SQL 전문가 가이드
국내도서
저자 : 한국데이터산업진흥원
출판 : 한국데이터산업진흥원 2020.05.29
상세보기

 

3. 속성

1. 속성 (Attribute)의 개념

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

 

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

 


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

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

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

 

나. 속성의 표기법

엔터티 내에 이름을 포함하여 표현하면 된다.

IE/Barker 표기법에 따른 속성 표기법 (출처: SQL 전문가 가이드)

 


3. 속성의 특징

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

 


4. 속성의 분류

가. 속성의 특성에 따른 분류

  1. 기본 속성

    업무로부터 추출한 모든 속성, 가장 일반적이고 많은 속성을 차지한다.

  2. 설계 속성

    데이터 모델링을 위해, 업무를 규칙화하기 위해 새로 만들거나 변형하여 정의하는 속성이다. 코드성 속성이 이에 속한다.

  3. 파생 속성

    다른 속성에 영향을 받아 발생하는 속성으로서 보통 계산된 값들이 이에 해당된다. 데이터 정합성을 유지하기 위해 가급적 파생 속성을 적게 정의하는 것이 좋다. 그리고 계산방법에 대해서 반드시 정의되어야 한다.

 

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

  1. PK 속성

    엔터티를 식별할 수 있는 속성

  2. FK 속성

    다른 엔터티와의 관계에서 포함된 속성

  3. 일반 속성

    PK, FK에 포함되지 않은 속성

 

이외에도 단순형 혹은 복합형으로 분류할 수 있다. 예를 들면 주소 속성은 시, 구, 동, 번지 등과 같은 여러 세부 속성들로 구성될 수 있는데 이를 복합 속성(Composite Attribute)이라 한다. 또한 나이, 성별 등의 속성은 더 이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순 속성(Simple Attribute)이라 한다.

 

속성 하나에 한 개의 값을 가지는 경우를 단일값(Single Value), 그리고 여러 개의 값을 가지는 경우를 다중값(Multi Value) 속성이라 한다. 주민등록번호와 같은 속성은 반드시 하나의 값만 존재하므로 이 속성은 단일값 속성(Single-Valued Attribute)이라 하고, 어떤 사람의 전화번호와 같은 속성은 집, 휴대전화, 회사 전화번호와 같이 여러 개의 값을 가질 수 있다. 자동차의 색상 속성도 차 지붕, 차체, 외부의 색이 다를 수 있다. 이런 속성을 다중값 속성(MultiValued Attribute)이라 한다. 다중값 속성의 경우 하나의 엔터티에 포함될 수 없으므로 1 차 정규화를 하거나, 아니면 별도의 엔터티를 만들어 관계로 연결해야 한다.

 


5. 도메인 (Domain)

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

 

6. 속성의 명명

용어사전과 도메인 정의를 같이 사용하여 용어적 표준과 데이터 타입의 일관성을 확보해야 한다.

 

  1. 현업에서 사용하는 이름을 부여한다.
  2. 서술형보다 명사형을 이용하고 수식어가 많이 붙지 않도록 유의하여 작성한다.
  3. 약어 사용은 가급적 제한한다.
  4. 전체 데이터 모델에서 유일하게 작성하는 것이 좋다. 이는 데이터 정합성 유지와 반정규화 시에 속성명의 충돌을 해결하는 데에 도움이 된다.

 


↓SQL 전문가 가이드 요약 목록

더보기

 

따로 PDF 파일이 필요하신 분은 댓글을 통해 메일 주소 적어주시기 바랍니다.