정처기 감자
데이터베이스물리DB 설계

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

데이터베이스 함수 종속성(Functional Dependency)

DB물리DB 설계정규화
읽는데 5분 소요
처음 쓰여진 날: 2025-09-21
마지막 수정일: 2025-10-18
조회수: —
선수학습(1개)
  • 데이터베이스 키(Key): 슈퍼키, 후보키, 기본키, 외래키

요약

데이터베이스 정규화의 핵심 개념인 함수 종속성에 대해 알아봅니다. 완전 함수 종속, 부분 함수 종속, 이행 함수 종속의 개념과 구체적인 예시를 통해 정규화 과정을 이해해봅니다.

함수 종속성(Functional Dependency)이란?

정규화를 이해하기 위해선 함수 종속성 개념을 먼저 알아야 합니다.

어떤 릴레이션에서 속성 A의 값이 속성 B의 값을 유일하게 결정할 때, "속성 B는 속성 A에 함수적으로 종속된다"고 말하며, A → B로 표기합니다. 여기서 A를 결정자(Determinant), B를 종속자(Dependent) 라고 합니다.

함수 종속성의 유형

함수 종속성은 영어와 한글을 둘다 알아두세요

완전 함수 종속 (Full Functional Dependency)

기본키 전체에 대해서만 종속되는 경우를 말합니다. 기본키의 일부에만 종속되어서는 안됩니다. 완전 함수 종속은 제2정규형(2NF)의 핵심 개념입니다.

완전 함수 종속
완전 함수 종속은 누가 어디에 사는지 알고 싶을때 해당합니다. 기본키가 아파트 단지, 동, 호수일때, 김철수가 사는 곳을 알려면 단지, 동, 호수가 전부 필요하죠.

부분 함수 종속 (Partial Functional Dependency)

기본키(복합 기본키12)34의 일부 속성에 종속되는 경우입니다. 이는 2NF에서 제거되어야 하는 종속성입니다.

부분 함수 종속 감자
부분 함수 종속은 아파트 관리인이 어느 단지를 관리하고 있는지 알고 싶을때 해당합니다. 기본키가 아파트 단지, 동, 호수일때, 아파트 관리인이 관리하는 단지를 알기 위해선 단지만 알면 그만입니다.

이행 함수 종속 (Transitive Functional Dependency)

A → B이고 B → C일 때, A → C가 성립하는 관계입니다. 쉽게 말하면, 키가 아닌 컬럼이 또 다른 키가 아닌 컬럼의 값을 알려주는 구조입니다. 예를 들어 학번 → 학과코드 → 학과명처럼 학과코드가 학과명을 결정하면 중간 단계가 생깁니다. 엄밀히는 중간에서 값을 알려주는 학과코드와 그 값인 학과명이 모두 어떤 후보키에도 포함되지 않는 속성일 때 이행 함수 종속이 됩니다. 이행 함수 종속은 제3정규형(3NF)에서 제거되어야 하는 종속성입니다.

학번이 학과코드를 거쳐 학과명을 결정하는 이행 함수 종속
중간 컬럼이 답을 대신 알려주면 3NF 위반

함수 종속성 예시

1. 기본적인 함수 종속성

학번이름입학년도
13-1001김철수2013
14-1002이영희2014
12-1003박민준2012
  • 학번 → 이름 : 학번이 결정되면 이름이 유일하게 결정됩니다.(학번 = 결정자, 이름 = 종속자)
  • 학번 → 입학년도 : 학번 앞 2자리가 입학년도(20xx년의 뒤 2자리)를 나타내므로 유일하게 결정됩니다.(학번 = 결정자, 입학년도 = 종속자)

2. 완전 함수 종속 vs 부분 함수 종속

[수강 테이블 - 기본키: (학번, 과목코드)]

학번과목코드과목명교수명성적
13-1001CS101자료구조김교수A+
13-1001CS202알고리즘이교수A0
14-1002CS101자료구조김교수B+
  • 완전 함수 종속: (학번, 과목코드) → 성적 - 기본키 전체에 종속
  • 부분 함수 종속: 과목코드 → 과목명, 과목코드 → 교수명 - 기본키 일부(과목코드)에만 종속

문제점: 부분 함수 종속으로 인해 이상 현상이 발생할 수 있습니다.

3. 이행 함수 종속

[학생 테이블]

학번이름학과코드학과명
13-1001김철수CS컴퓨터과학
14-1002이영희EE전자공학
12-1003박민준CS컴퓨터과학
13-1004김철수EE전자공학

함수 종속 관계:

  • 학번 → 학과코드: 학번이 정해지면 학과코드가 결정됩니다.
  • 학과코드 → 학과명: 학과코드가 정해지면 학과명이 결정됩니다. (후보키가 아닌 속성 → 후보키가 아닌 속성)
  • 이행 함수 종속: 학번 → 학과코드 → 학과명

문제점: 이행 함수 종속으로 인해 데이터 중복과 이상 현상이 발생할 수 있습니다.


함수 종속성과 정규화

함수 종속성은 각 정규형에서 다음과 같이 활용됩니다:

  • 2NF: 부분 함수 종속을 제거하여 완전 함수 종속만 남김
  • 3NF: 이행 함수 종속을 제거
  • BCNF: 모든 결정자가 후보키가 되도록 함

연습 문제


Footnotes

  1. 복합 기본키는 두 개 이상의 속성으로 구성된 기본키를 의미합니다. 예를 들어, (학번, 과목코드)가 기본키인 경우, 학번 또는 과목코드 중 하나만으로는 튜플을 유일하게 식별할 수 없습니다. ↩

  2. 당연하게도 기본키가 단일 속성인 경우는 일부 속성에 종속될 수 없기 때문에 부분 함수 종속이 발생하지 않습니다. ↩

  3. 학술적으로는 후보키의 일부 속성에 종속되면 모두 부분 함수 종속이라고 합니다.(위키피디아 - Second Normal Form 참고) ↩

  4. 하지만, 실무에서는 선택된 후보키(즉, 기본키)를 중심으로 정규화를 설명하는 경우가 많습니다. 따라서 기본키의 일부 속성에 종속되는 경우를 부분 함수 종속이라고 알고 계시는 것이 좋습니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(2개)
  • 데이터베이스 이상 현상(Anomaly)
  • 데이터베이스 정규화와 반정규화

추천 개념

Beta

관련 글

(14개)
제목태그업데이트시험
데이터베이스 이상 현상(Anomaly)
정규화DB물리DB 설계정규화
2026-04-15-
데이터베이스 정규화와 반정규화
정규화DB물리DB 설계정규화
2025-09-22-
데이터베이스 파일 구조 - 순차, 인덱스, 해싱 접근 방식
파일 구조DB물리DB 설계파일 구조
2025-10-22-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999