💡 핵심 인사이트
함수적 종속성( $X \rightarrow Y$ )이라는 권력 관계에서, **자신의 고유한 값을 무기로 남의 값을 100% 확정 지어버리는 주도권을 가진 갑(甲)의 속성을 '결정자(X)'**라고 부르며, 그 결정자의 지시에 따라 **끌려다니며 수동적으로 값이 매겨지는 을(乙)의 속성을 '종속자(Y)'**라고 부릅니다.
Ⅰ. 권력의 배분: 결정자(Determinant)
결정자는 테이블 내에서 혼란을 잠재우고 특정 데이터를 정확히 조준(식별)할 수 있는 막강한 권한을 가진 속성(열)입니다.
- 성질: $X \rightarrow Y$ 에서 왼쪽 화살표의 출발점인 X입니다.
- 자격: 결정자가 되려면 테이블 내에서 값이 중복되지 않고 유일해야 합니다. 따라서 십중팔구 테이블의 **기본 키(Primary Key)**나 **후보 키(Candidate Key)**들이 이 결정자의 역할을 도맡아 합니다.
- 예시:
사번,주민등록번호,학번등. (사번 1001을 입력하면 무조건 홍길동이라는 특정 인물이 강제로 결정됨).
Ⅱ. 수동적인 존재: 종속자 (Dependent)
종속자는 스스로는 아무것도 결정할 수 없고, 오직 결정자의 값에 기생하여 자신의 값이 결정되는 나약한 일반 속성(컬럼)들입니다.
- 성질: $X \rightarrow Y$ 에서 화살표의 도착점(화살을 맞는 쪽)인 Y입니다.
- 자격: 주로 테이블에서 PK를 제외한 일반적인 텍스트나 숫자 데이터들입니다. 동명이인이 존재할 수 있는 컬럼들이 이쪽에 속합니다.
- 예시:
이름,나이,주소,성별등. ('홍길동'이라는 이름(종속자)을 아무리 불러도, 이 사람이 사번 1001인지 1005인지 거꾸로 결정할 수는 없습니다.)
Ⅲ. 복합 컬럼의 결정자 역할
결정자는 반드시 단일 컬럼 1개일 필요는 없습니다. 2개, 3개의 컬럼이 힘을 합쳐 하나의 결정자 연합을 구축할 수도 있습니다.
[ 수강 릴레이션의 예 ]
- 속성:
(학번, 과목코드, 기말성적, 교수이름) - 여기서
학번혼자서는기말성적을 결정할 수 없습니다. 홍길동이 3과목을 들어서 성적이 3개가 나오기 때문입니다. - 마찬가지로
과목코드혼자서도기말성적을 결정할 수 없습니다. (DB 과목을 듣는 학생이 100명이면 성적도 100개가 나옴). - 결론: 오직 **
{학번, 과목코드}이 두 개의 콤비(복합키)가 똘똘 뭉쳐서 하나의 강력한 결정자(X)**로 거듭납니다. 그래야만 비로소기말성적(Y)이라는 종속자 값을 단 1개(A+)로 멱살 잡고 끌어낼 수 있습니다.
📢 섹션 요약 비유: 결정자와 종속자의 관계는 자판기의 **'돈 투입구(버튼)'와 '떨어지는 캔 음료'**의 관계입니다. 사용자가
콜라 버튼(결정자 X)을 누르면 기계는 반드시콜라 캔(종속자 Y)을 떨어뜨려야 합니다. 버튼이 캔의 운명을 지배합니다. 하지만 떨어진 콜라 캔(종속자)을 손에 쥐었다고 해서, 이 캔이 1번 자판기에서 나왔는지 2번 자판기에서 나왔는지 역으로 자판기 번호를 확정 지을 수는 없는 일방통행의 권력 구조입니다.