본문 바로가기
Tech/DB Design

속성이란

by Augustine™ 2026. 8. 2.

속성이란 무엇인가?

지난 글까지 엔터티와 식별자에 대해 알아봤다.

엔터티가 무엇을 관리할 것인가를 정의하는 것이라면, 식별자는 그 엔터티를 어떻게 구분할 것인가를 정의하는 것이었다.

이번에는 속성(Attribute)에 대해 이야기해 보려고 한다.

모델링을 처음 배우는 사람에게 속성이 무엇인지 물어보면 대부분 이렇게 대답한다.

“속성은 엔터티의 컬럼 아닌가요?”

틀린 말은 아니다.

하지만 이렇게 이해하면 속성을 너무 단순하게 생각하게 된다.

속성은 단순히 컬럼이 아니라 엔터티를 설명하는 정보이다.

예를 들어 회원 엔터티를 생각해 보자.

회원이라는 엔터티만 덩그러니 존재한다면 우리는 그 회원에 대해 아무것도 알 수 없다.

회원을 설명하기 위해서는 이름, 생년월일, 이메일, 휴대폰번호 같은 정보가 필요하다.

이런 정보들이 바로 속성이다.

즉, 속성은 엔터티를 구체적으로 표현하기 위한 정보라고 이해하는 것이 더 정확하다.


모든 정보가 속성이 될 수 있을까?

그렇다면 이름, 주소, 전화번호처럼 회원을 설명하는 정보는 모두 속성이 될까?

겉으로 보기에는 맞는 것 같다.

하지만 조금만 더 생각해 보면 의문이 생긴다.

회원이 휴대폰을 두 대 가지고 있다면?

집 주소와 회사 주소를 모두 가지고 있다면?

이름이 개명되었다면?

처음에는 하나의 속성처럼 보였던 정보가 실제 업무에서는 하나의 값으로 표현되지 않는 경우가 생각보다 많다.

즉, 무엇을 속성으로 정의할 것인가는 단순히 컬럼을 나누는 문제가 아니라 업무를 이해하는 과정이기도 하다.

그래서 좋은 모델링은 ERD를 그리는 것보다 업무를 이해하는 것에서 시작된다고 말하는 것이다.


속성과 식별자는 무엇이 다를까?

초보 모델러가 가장 많이 헷갈리는 부분 중 하나가 식별자와 속성의 관계다.

회원번호도 속성이고,

이름도 속성이다.

둘 다 회원 엔터티를 구성하는 데이터라는 점에서는 차이가 없다.

하지만 식별자는 여러 속성 중에서도 엔터티를 유일하게 구분하는 특별한 속성이다.

즉,

  • 모든 식별자는 속성이다.
  • 하지만 모든 속성이 식별자는 아니다.

이 차이를 이해하면 데이터 모델을 훨씬 쉽게 이해할 수 있다.


 

마무리

속성은 단순히 테이블의 컬럼을 의미하지 않는다.

속성은 엔터티를 설명하는 정보이며, 어떤 정보를 속성으로 정의하느냐에 따라 데이터 모델의 품질이 달라진다.

처음에는 모든 정보가 속성처럼 보일 수 있다.

하지만 실제 모델링에서는 어디까지를 하나의 속성으로 볼 것인지를 판단해야 하는 순간이 자주 찾아온다.

다음 글에서는 좋은 속성은 어떤 조건을 갖춰야 하는지에 대해 이야기해 보려고 한다.

'Tech > DB Design' 카테고리의 다른 글

식별자 설계 - 4  (0) 2026.08.02
식별자 설계 - 3  (0) 2026.08.02
식별자 설계 - 2  (0) 2026.07.15
정규화-3  (0) 2026.07.08
정규화-2  (0) 2026.07.08

댓글