데이터베이스의 기능적 종속성은 속성 간에 제약 조건 집합을 적용합니다. 이것은 관계의 한 속성이 다른 속성을 고유하게 결정할 때 발생합니다. 이것은 A -> B로 쓸 수 있습니다. 이는 "B는 기능적으로 A에 종속적"이라는 의미입니다. 이를 데이터베이스 종속성이라고도 합니다.
이 관계에서 A는 B의 값을 결정하고 B는 A에 의존합니다.
데이터베이스 설계에서 기능적 종속성이 중요한 이유
기능적 종속성은 데이터의 유효성을 보장하는 데 도움이 됩니다. 사회 보장 번호(SSN), 이름, 생년월일, 주소 등의 특성을 나열하는 테이블 직원을 고려하십시오.
사회 보장 번호는 고유하지만 이름, 생년월일 또는 주소는 고유하지 않을 수 있기 때문에 속성 SSN은 이름, 생년월일, 주소 및 기타 값의 값을 결정합니다. 다음과 같이 작성할 수 있습니다.
SSN -> 이름, 생년월일, 주소
따라서 이름, 생년월일 및 주소는 기능적으로 SSN에 종속됩니다. 그러나 두 명 이상의 직원이 동일한 이름을 가질 수 있지만 동일한 SSN을 가질 수 없기 때문에 반대 진술(이름 -> 사회보장번호)은 사실이 아닙니다. 좀 더 구체적으로 말하자면 SSN 속성 값을 알면 이름, 생년월일, 주소 값을 찾을 수 있습니다. 그러나 name 속성의 값만 알면 SSN을 식별할 수 없습니다.
기능적 종속성의 왼쪽에는 둘 이상의 속성이 포함될 수 있습니다. 여러 위치에 비즈니스가 있다고 가정해 보겠습니다. 직원, 직위, 부서, 위치 및 관리자 속성이 있는 Employee 테이블이 있을 수 있습니다.
직원은 자신이 일하는 위치를 결정하므로 종속성이 있습니다.
직원 -> 위치
그러나 위치에 두 명 이상의 관리자가 있을 수 있으므로 직원과 부서가 함께 관리자를 결정합니다.
직원, 부서 -> 관리자
기능 종속성 및 정규화
기능 종속성은 데이터 무결성을 보장하고 데이터 중복을 줄이는 데이터베이스 정규화에 기여합니다. 정규화가 없으면 데이터베이스의 데이터가 정확하고 신뢰할 수 있다는 보장이 없습니다.