CS

[SQLD] 속성(Attribute)

2026년 02월 09일 11:08

SQLD 1과목 – 속성(Attribute)

속성(Attribute)이란?

속성(Attribute) 은 엔터티가 가지는 고유한 성질이나 특징으로,

👉 데이터 모델에서는 컬럼(Column) 으로 표현된다.

  • 업무에서 관리하고자 하는 정보 중
  • 더 이상 분리되지 않는 최소 단위의 데이터
  • 인스턴스를 구성하는 요소

예시

  • 엔터티: 학생
  • 속성: 학번, 이름, 학과
  • 인스턴스:
  • 학번=2021001, 이름=홍길동, 학과=컴퓨터공학

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

  • 하나의 엔터티는 2개 이상의 인스턴스로 구성
  • → 테이블은 2행 이상
  • 하나의 엔터티는 2개 이상의 속성을 가짐
  • → 테이블은 2컬럼 이상
  • 하나의 속성은 각 인스턴스마다 1개의 속성값만 가짐
  • → 한 컬럼에 여러 값 ❌

속성의 특징 ⭐

속성은 다음 조건을 만족해야 한다.

① 업무적으로 필요하고 관리할 가치가 있음

  • 의미 없는 데이터 ❌

② 주식별자에 함수적으로 종속

  • 주식별자 값이 정해지면
  • 속성 값은 하나로 결정

③ 단일값(Atomic)이어야 함

  • 더 이상 쪼갤 수 없는 값
  • 여러 값 저장 ❌

④ 다중값 속성은 별도 엔터티로 분리

  • 전화번호 여러 개 → 전화번호 엔터티 분리

⑤ 인스턴스마다 반드시 하나의 값

  • NULL 허용 여부는 도메인 문제
  • 구조적으로는 1값 원칙

원자성(Atomicity)

원자성이란 하나의 속성은 더 이상 분해되지 않는 하나의 값만 가진다는 성질

도메인(Domain)

도메인은 속성이 가질 수 있는 값의 범위

  • 데이터 타입
  • 길이
  • 허용 값
  • 제약 조건 (NOT NULL, CHECK 등)

함수적 종속성 (FD: Functional Dependency)

① 함수적 종속이란?

  • 어떤 속성 A의 값이 정해지면
  • 다른 속성 B의 값이 유일하게 결정

표현: A → B

예시

  • 학번 → 이름
  • 주민번호 → 생년월일

② 완전 함수적 종속 (Full FD)

  • 복합키 전체에 의해 결정

  • PK: 주문번호 + 제품번호

  • 수량은 주문번호 그리고 제품번호가 모두 있어야 결정됨

👉 완전 함수적 종속

③ 부분 함수적 종속 (Partial FD)

  • 복합키의 일부에 의해 결정

  • PK: 학번 + 과목

  • 강사는 과목만으로 결정됨

👉 부분 함수적 종속

키(Key) 관련 개념 정리

키(Key)

  • 인스턴스를 유일하게 식별하는 속성 또는 속성 집합

기본키(PK)

  • 각 인스턴스를 유일하게 구분
  • NULL ❌, 중복 ❌

복합키(Composite Key)

  • 2개 이상의 속성 조합으로 하나의 행 식별

속성의 분류 ⭐⭐⭐

① 속성의 특성에 따른 분류

기본 속성

  • 업무에서 원래부터 존재
  • 사용자가 직접 입력
  • 계산 ❌

예: 이름, 생년월일, 원금

설계 속성

  • 시스템 설계/운영을 위해 생성
  • 현실 세계에는 없음
  • 자동 생성되는 경우 많음

예: 삭제여부, 상태코드, 구분코드

파생 속성

  • 다른 속성으로 계산·추론
  • 저장 안 해도 계산 가능

예: 나이, 이자, 총판매액

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

  • 기본키 속성(PK)
  • 외래키 속성(FK)
  • 일반 속성

③ 분해 여부에 따른 분류

구분설명예시
단일 속성하나의 값이름, 가격
복합 속성분해 가능주소
다중값 속성여러 값전화번호