brunch

You can make anything
by writing

C.S.Lewis

by imRachel Mar 01. 2023

[SQLD1] 2.2 속성의 특징, 분류

기획자의 데이터 공부 - 데이터 모델링의 이해

* 속성의 특징

- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다

- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속을 가져야 한다

- 하나의 속성에는 한 개의 값만 갖는다. 다중값일 경우 별도의 엔티티를 이용하여 분리한다.


* 속성의 특성에 따른 분류

- 기본속성 basic attribute : 업무분석을 통해 바로 정의한 속성

    업무 분석을 통한 속성이어도 이미 업무상 코드로 정의한 속성이 많음 -> 기본 속성이 아님

- 설계속성 designed attribute : 업무상 존재하지는 않지만 설계하면서 도출해내는 속성

    데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 만들거나 변형하여 정의

    코드성 속성은 변형하여 만든 설계 속성, 일련번호 같은 속성은 단일한 식별자 부여를 위해 정의하는 설계 속성

- 파생속성 derived attribute : 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성

    다른 속성에 영향을 받아서 프로세스 설계 시 데이터 정합성 유지를 위해 유의할 점이 맣음

    가급적 파생속성을 적게 정의하는 것이 좋음

e.g. 속성 : 이자 (원급 1000, 예치기간 5개월, 이자율 5.0%) -> 타 속성에 의해 영향을 받아 자신의 값이 변해 파생속성

    파생속성은 꼭 필요한 경우에만 정의, 업무 로직이 속성내부에 숨지 않도록 하는 것이 좋음

    속성 정의서에 파생속성이 갖는 업무로직을 기술해서 데이터 정합성이 유지되도록 해야 함

    파생속성은 통계관련 엔티티나 배치 작업 수행 시 발생되는 엔티티의 경우 많이 사용


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

- PK속성 primary key : 엔티티를 식별할 수 있는 속성

- FK속성 foreign key : 다른 엔티티와의 관계에서 포함된 속성

- 일반속성 : PK, FK에 속하지 않는 속성

* 쪼갤 수 있는지에 따라 분류

- 복합 속성 composite attribute : 여러 세부 속성들로 구성

- 단순 속성 simple attribute : 더 이상 다른 속성들로 나눌 수 없는 단순한 속성


속성은 하나의 값을 갖지만 그 안에 동일한 성질 여러 개의 값이 나타나는 경우

하나에 한 개의 값을 가지면 단일값 single value, 여러 개의 값을 갖는 경우 다중값 multi value

e.g. 주민등록번호 : 같은 속성은 반드시 하나의 값만 존재해서 단일 값 속성

        전화번호 : 집, 휴대전화 등 여러 값을 가질 수 있어서 다중 값 속성

        자동차 : 차체, 외부 색 등 여러 값을 가질 수 있어서 다중 값 속성

    다중 값 속성의 경우 하나의 엔티티에 포함될 수 없어서 1차 정규화를 하거나, 별도 엔티티를 만들어서 관계로 연결



[본 글은 SQLD 자격증 공부를 위해 아카이빙한 글입니다.

출처 - https://snnchallenge.tistory.com/184]

작가의 이전글 [SQLD1] 2.1 속성 개념, 표기법
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari