[Database] 함수적 종속 (Functional Dependency)

2020. 6. 12. 23:59·데이터베이스

 

 

 

 

완전 함수 종속 (Full Functional Dependency)


키가 아닌 값들은 모두 기본키에만 종속이 되도록 합니다.

 

예를들어, 카페 발주 시스템의 릴레이션이 있습니다.

 

이름

가격

카테고리

원두

5000

커피

컵

4000

재료

냉동딸기

4500

봄시즌재료

딸기원액쥬스

3500

봄시즌재료

 

기본키는 '이름'으로 합니다.

재료 이름을 알아야 가격을 알 수 있고 '카테고리' 값 또한 알 수 있습니다.

 

이러한 경우를 완전 함수적 종속이라고 합니다.

 

 

 

 

 

부분적 함수 종속 (Partial Functional Dependency)


키가 아닌 값들이 기본키가 아닌 다른 속성에 종속이 되거나 복합키의 일부에 종속되는 것입니다.

 

이름

가격

카테고리

컵

3000

재료

냉동딸기

6000

봄시즌재료

냉동딸기

3000

봄시즌재료

 

발주 사이트에서 이미지를 통해 냉동딸기 100g과 300g을 구별하고 릴레이션의 '이름'에서는 구별하지 않습니다.

값들을 구별하려면 '이름' + '가격' 복합키로 정하게 됩니다.

 

키에 해당하지 않는 '카테고리'는 '이름'을 알면 구분할 수 있지만 '가격'을 안다고 구별을 할 수 없습니다.

 

이러한 경우를 부분 함수적 종속이라고 합니다.

 

 

 

 

이행적 함수 종속 (Transitive Functional Dependency)


A 속성을 B를 통해 알 수 있고, B의 값은 C 속성을 통해 알 수 있는 경우 A속성을 C를 통해 알 수 있는경우를 말합니다.

 (A -> B, B -> C, A -> C)

 

이름

카테고리

판매여부

원두

커피

Y

컵

재료

Y

냉동딸기

봄시즌재료

N

 

재료의 '이름'을 통해 해당 재료가 어떠한 '카테고리'에 속하는지 알 수 있습니다.

또한, '카테고리'를 통해 맞는 계절이 아닌 재료들은 '판매여부'를 결정할 수 있습니다.

 

그리고 '이름'을 통해 '판매여부'를 알 수 있습니다.

 

이러한 경우를 이행적 함수 종속이라고 합니다.

'데이터베이스' 카테고리의 다른 글

[Database] 정규화 (Normalization)  (0) 2020.06.09
관계 데이터 모델의 개념  (0) 2020.05.31
1. 데이터베이스의 개념  (0) 2020.05.31
트랜잭션(Transaction)  (0) 2020.03.28
[Database] RDBMS, NoSQL, In-memory Database  (0) 2020.03.10
'데이터베이스' 카테고리의 다른 글
  • [Database] 정규화 (Normalization)
  • 관계 데이터 모델의 개념
  • 1. 데이터베이스의 개념
  • 트랜잭션(Transaction)
나는 유찌
나는 유찌
쩌리쨩
  • 나는 유찌
    유찌 개발 일기
    나는 유찌
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 사이드 프로젝트
        • 게시판
        • 블로그(Spring boot + React.js ..
      • 데이터베이스
        • SQLD
      • 이슈 해결
      • Front
        • Javascript
        • Vue.js
        • HTML+CSS
      • Backend
        • Spring
        • ORM
        • JAVA
      • 공부
        • HTTP
        • OOP
        • 이것저것
        • 코딩테스트 | 알고리즘
      • Computer Science
        • Computer architecture
        • 데이터베이스
        • 운영체제
      • 일상
        • 독서
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    권한 scope 처리
    독서
    Kotlin AccessDecisionManager
    JWT이란?
    redis 분산락
    mssql
    jwt 로그인 구현
    추리소설
    spring 격리수준
    AccessDecisionVoter
    LeetCode
    Spring Security AccessDecisionManager
    Access token 재발급
    한국소설
    phantom read
    Spring boot에서 JWT 구현
    AntPathMatcher
    pessimisticlock
    히가시노 게이고
    spring
    role scope
    Access Token Refresh Token
    refresh token
    mysql 격리수준
    Kotlin AntPathMatcher
    Spring Boot
    웹 개발
    access token
    jwt
    DIRTY READ
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
나는 유찌
[Database] 함수적 종속 (Functional Dependency)
상단으로

티스토리툴바