함수 종속성(Functional dependency)은 데이터베이스에서 중복을 피하기 위해 중요한 개념 중 하나입니다.
간단히 말해, 특정 속성 값의 변화가 다른 속성 값에 영향을 주는 관계를 나타내는 것입니다.
데이터베이스에서는 여러 개의 속성들로 구성된 릴레이션(Relation)을 가지고 작업하게 됩니다.
이 때, 한 속성의 값을 알면 다른 속성의 값을 유도할 수 있는 경우, 그 두 속성은 함수 종속성을 가진다고 할 수 있습니다.
함수 종속성은 X → Y 형태로 표현할 수 있습니다. 이때 X는 함수 종속성의 결정자(Determinant)라고 하며, Y는 결정자에 의해 결정되는 종속자(Dependent)입니다.
이를 해석하면, X 속성의 값이 결정되면 Y 속성의 값도 결정된다는 의미입니다.
예를 들어, 학생의 성적 데이터를 가지고 있는 릴레이션에서 학번 속성이 주어졌을 때, 이름과 전화번호를 알 수 있는 경우, 학번 → 이름, 학번 → 전화번호라고 할 수 있습니다.
이때, 학번이 결정자(Determinant)이며, 이름과 전화번호가 종속자(Dependent)입니다. 이러한 함수 종속성을 이용하여 데이터의 중복을 제거하고 데이터 일관성을 유지할 수 있습니다.
이러한 함수 종속성을 표로 나타내면 아래와 같이 나타낼 수 있습니다.
결정자(Determinant) | 종속자(Dependent) |
---|---|
학번 | 이름 |
학번 | 학과 |
과목 | 성적 |
위 표에서 학번이 결정자(Determinant)이 되어 이름과 학과에 영향을 주며, 과목이 결정자(Determinant)이 되어 성적에 영향을 주는 것을 확인할 수 있습니다.