본문 바로가기
자격증/sqlp ( sql 전문과 과정 )

속성(Attribute) 개념 완벽 정리 : SQL 자격증·정보처리기사 대비

by Alan__kang__morlang 2025. 6. 18.
반응형

엔터티(Entity)가 무엇인지 이해했다면, 그 다음으로 중요한 것이 바로 속성(Attribute)입니다. 속성은 엔터티가 가지고 있는 세부 정보 항목이며, 데이터베이스에서는 각각 컬럼(Column)으로 구현됩니다.

 

  👉 엔터티에 대한 설명이 부족하다면 (클릭)

 

 

SQL 자격증·정보처리기사 대비: 엔터티(Entity) 개념 정리

데이터베이스 모델링에서 가장 핵심이 되는 개념 중 하나인 엔터티(Entity)는 테이블 설계의 출발점입니다. 이번 글에서는 실무와 시험 모두에 유용한 엔터티 개념을 예시와 함께 자세히 설명해

qkqtodn1.tistory.com

 

 

 

✅ 속성이란?

  • 정의: 엔터티가 가지고 있는 정보의 세부 항목들
  • DB 설계에서 속성은 테이블의 컬럼으로 구성됩니다

→ 예를 들어, ‘고객’ 엔터티라면 고객ID, 이름, 생년월일, 회원등급 등이 속성이 됩니다.

 

✅ 속성의 분류

  • 기본 속성 (Simple Attribute)
    - 분해되지 않는 가장 기본적인 속성
    예: 이름, 나이, 이메일, 전화번호 등
  • 식별 속성 (Key Attribute)
    - 엔터티의 유일한 인스턴스를 식별할 수 있는 속성 (보통 PK로 설정됨)
    예: 고객ID, 주문번호, 사원번호 등
  • 복합 속성 (Composite Attribute)
    - 두 개 이상의 속성으로 구성된 속성
    예: 주소(시 + 구 + 동), 이름(성 + 이름)
    → DB에서는 보통 분해해서 별개의 컬럼으로 저장함
  • 유도 속성 (Derived Attribute)
    - 다른 속성을 기반으로 계산된 속성
    예: 나이 = 현재날짜 - 생년월일
    → DB에는 저장하지 않고 쿼리 시 계산하는 경우가 많음

 

✅ 속성의 분류: 기본속성 / 설계속성 / 파생속성

 

1. 기본 속성 (Basic Attribute)

  • 정의:즉, 가장 기본적인 데이터의 형태로 원천 데이터라고도 합니다.
  • 현실 세계의 실체(사람, 사물 등)가 원래부터 가지고 있는 특성.
  • 특징:
    • 직접 관측하거나 기록할 수 있는 정보
    • 시스템이 따로 계산하지 않음
  • 예시:
    • 이름, 생년월일, 성별, 주소, 이메일, 연락처 등
    • 👉 고객의 “이름”, “나이”, “주민번호”, “우편번호” 등

 

2. 설계 속성 (Design Attribute)

  • 정의:현실 세계에는 없지만 DB 관리의 편의성이나 확장성을 위해 만든 속성입니다.
  • 시스템이 데이터 관리를 위해 설계상 추가한 속성.
  • 특징:
    • 논리적 또는 물리적 설계 시점에 개발자가 만든 필드
    • 주로 식별자, 코드, 구분값 등 시스템 구분용
  • 예시:
    • 고객ID(PK), 사용자 구분 코드(user_type), 삭제 여부 플래그(is_deleted)
    • 👉 “고객ID”는 현실에는 없지만, DB에서 고객을 유일하게 구분하려고 설계

 

3. 파생 속성 (Derived Attribute)

  • 정의: 다른 속성 값으로부터 계산되는 속성. 직접 저장하지 않아도 되는 경우가 많습니다.
  • 특징:
    • 시스템에서 계산으로 산출됨
    • 저장할 수도 있고, 필요할 때마다 계산할 수도 있음 (비정규화 고려)
  • 예시:
    • 나이 (= 오늘 날짜 - 생년월일)
    • 총 주문금액 (= 단가 × 수량)
    • 👉 “나이”는 생년월일로부터 계산 가능하므로 파생 속성
    • 👉 “총점”은 국영수 점수를 더해서 나올 수 있음

 

📌 추가 Tip (실무 기준)

항목저장 방식사용 목적

기본 속성 저장함 직접 사용
설계 속성 저장함 구분, 식별, 관리용
파생 속성 저장 or 계산 성능 및 조회 편의 목적

 

분류설명예시

기본 속성 현실 세계에 실존하는 정보 이름, 생년월일, 주소
설계 속성 DB 관리 및 운영을 위해 설계자가 추가한 속성 고객ID, 상태코드, 삭제여부
파생 속성 다른 속성값을 계산해서 산출 나이, 총점, 주문금액

 

✅ 예시: 고객 엔터티 속성 분석

속성명 종류 설명
고객ID 식별 속성 고객을 고유하게 구분하는 Primary Key
이름 기본 속성 고객의 실명
생년월일 기본 속성 고객의 출생일 (나이 유도 가능)
주소 복합 속성 시+구+동으로 구성된 주소 정보
나이 유도 속성 생년월일을 기반으로 계산됨 (DB에 저장하지 않을 수 있음)
회원등급 기본 속성 일반, VIP 등 고객 분류 정보

📌 비유:

엑셀 시트(=엔터티)에서 열(Column) 하나하나가 속성에 해당합니다.
예: “고객 정보” 시트의 ‘이름’, ‘전화번호’, ‘주소’ 등이 각각 속성입니다.

 

✅ 설계 시 주의할 점

  • 복합 속성은 가능한 한 분리해서 설계합니다 (정규화 관점에서도 중요)
  • 유도 속성은 꼭 필요한 경우만 물리적으로 저장 (중복 방지)
  • 식별 속성은 반드시 고유성과 무결성을 보장할 수 있어야 합니다
  • 속성의 타입, 제약조건(NOT NULL, UNIQUE 등)도 명확히 정의해야 합니다

 

📘 요약 정리

  • 속성은 테이블(Column)로 구현되는 데이터의 최소 단위
  • 식별/기본/복합/유도 속성으로 구분 가능
  • DB에서는 설계 시 속성 타입, 제약조건, 정규화 여부를 반드시 고려해야 함

 

반응형