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)
- 일반 속성
③ 분해 여부에 따른 분류
| 구분 | 설명 | 예시 |
|---|---|---|
| 단일 속성 | 하나의 값 | 이름, 가격 |
| 복합 속성 | 분해 가능 | 주소 |
| 다중값 속성 | 여러 값 | 전화번호 |
