💡 핵심 인사이트
속성(Attribute)은 릴레이션(테이블)에서 데이터의 특징을 나타내는 **세로 방향의 기둥(열, Column)**입니다.
사람으로 치면 '이름', '키', '혈액형' 같은 고유한 성질을 의미하며, 한 릴레이션 안에 있는 **속성의 총개수를 차수(Degree)**라고 부릅니다.
Ⅰ. 속성(Attribute)의 개념
데이터베이스에서 개체(Entity)의 성질, 분류, 수량, 상태 등을 나타내는 가장 작은 논리적 단위입니다. 엑셀 스프레드시트로 치면 1행에 적어두는 '머리글(열 제목)'에 해당합니다.
[ 학생 릴레이션 ]
┌───── 속성1 ────┬───── 속성2 ────┬───── 속성3 ────┐
│ 학번(Hakbun) │ 이름(Name) │ 전공(Major) │ ◀── 속성 (Attribute)
├───────────────┼───────────────┼───────────────┤
│ 2023001 │ 김철수 │ 컴퓨터공학 │
│ 2023002 │ 이영희 │ 경영학 │
└───────────────┴───────────────┴───────────────┘
Ⅱ. 속성의 주요 특징
- 원자성 (Atomicity): 가장 중요한 규칙(제1정규형)입니다. 하나의 속성(열) 아래에 있는 특정 셀에는 무조건 '쪼갤 수 없는 단 하나의 값'만 들어가야 합니다.
전화번호속성에010-1111, 010-2222처럼 리스트로 들어가면 안 됩니다. - 이름의 유일성: 하나의 릴레이션(테이블) 내에서 속성의 이름은 절대 중복될 수 없습니다. (예: 똑같은 테이블에 '전화번호'라는 열이 2개 있을 수 없음. '집전화', '휴대폰'으로 구분해야 함.)
- 무순서성: 속성들이 배치된 좌우 순서는 논리적으로 아무런 의미가 없습니다. '학번, 이름, 전공' 순서로 보든 '이름, 전공, 학번' 순서로 보든 똑같은 릴레이션입니다.
Ⅲ. 차수 (Degree / Arity)
- 정의: 하나의 릴레이션이 가지고 있는 속성(열)의 총개수를 나타내는 수학적 용어입니다.
- 특징:
- 위 [학생 릴레이션]의 차수는 3 (학번, 이름, 전공)입니다.
- 릴레이션 스키마가 변경되지 않는 한(ALTER TABLE로 열을 추가/삭제하지 않는 한) **차수는 항상 고정(Static)**되어 변하지 않습니다.
- 아무리 데이터(행)가 없어도 속성은 최소한 1개 이상 존재해야 하므로, 유효한 릴레이션의 차수는 $Degree \ge 1$ 입니다.
📢 섹션 요약 비유: 속성(Attribute)은 경찰서에서 범인을 식별할 때 쓰는 **'몽타주 항목표'**입니다. '키', '몸무게', '흉터 위치' 하나하나가 속성이며, 이 항목표에 적어야 할 **항목의 총개수(빈칸의 개수)가 바로 차수(Degree)**입니다. 범인이 새로 잡혀오든 말든 이 양식지의 항목 개수(차수)는 쉽게 변하지 않습니다.