[SQL] 함수 종속성 규칙

함수 종속성 규칙

데이터베이스를 설계할 때 중요한 개념 중 하나인 함수 종속성에 대해 알아보겠습니다. 이 개념을 이해하면 데이터베이스를 더 잘 설계할 수 있어요. 예시를 통해 쉽게 설명해 드릴게요!

기본 정의

함수 종속성에서 X → Y라는 표현은 X와 Y가 속성 집합이라는 뜻입니다. 쉽게 말해, X값이 같으면 Y값도 항상 같다는 것을 의미해요.

예를 들어,
학생 테이블에서 학번 -> 이름이라는 함수 종속성이 있다면, 동일한 학번을 가진 학생은 항상 동일한 이름을 가집니다. 즉, 학번이 같으면 이름도 같다는 것이죠.


함수 종속성의 종류

함수 종속성에도 종류가 있습니다. 각각의 특성을 예시와 함께 살펴보죠.

 

1. 완전 함수 종속성

완전 함수 종속성은 Y가 X 전체에 종속적일 때 성립합니다. 즉, X의 일부가 아니라 전체에 의해 결정되는 경우를 말해요.

예를 들어,
(학번, 과목코드) → 성적은 완전 함수 종속성입니다. 왜냐하면 성적은 학번과 과목코드를 모두 알아야 결정되기 때문이죠.


2. 부분 함수 종속성

부분 함수 종속성은 Y가 X의 일부에 의해서만 결정될 때를 말합니다. 이 경우는 제2정규형(2NF)에서 제거됩니다.

예를 들어,
(학번, 과목코드) → 교수 관계에서 학번 → 교수라면, 과목코드 없이도 교수가 결정됩니다. 따라서 이는 부분 함수 종속성이에요.


3. 이행적 함수 종속성

이행적 함수 종속성은 X → Y이고 Y → Z일 때, X → Z가 성립하는 것을 말합니다. 이는 제3정규형(3NF)에서 제거됩니다.

예를 들어,
학번 → 학과이고 학과 → 학과장일 때, 학번 → 학과장이 성립합니다. 즉, 학번을 알면 학과를 알 수 있고, 학과를 알면 학과장을 알 수 있는 상황이죠. 이는 이행적 함수 종속성입니다.

이렇게 함수 종속성에 대해 알아보았습니다. 데이터베이스를 설계할 때, 이런 규칙들을 잘 이해하고 적용하면 더 안정적이고 효율적인 시스템을 구축할 수 있습니다. 다음에도 더 유익한 정보로 찾아오겠습니다!