[데이터베이스 모델링] 함수 종속성과 이행성

2025. 11. 14. 00:47·데이터 분석/06. 데이터 모델링

1. 함수 종속성이란?

: 테이블  안 attribute들 사이에서 생기는 관계입니다

이런 user 테이블이 있다고 합시다

email name age gender
chaewon.kim@... 김채원 19 f
soojee.lee@... 이수지 15 f
yoo.hm93@... 유하민 25 m
chae.bg00@... 채봉구 28 m

 

유저의 이메일을 알고 있으면 name,age,gender 값이 결정 된다고 볼 수 있습니다

이런 관계가 성립될 때 user 테이블에서 name, age, gender는 email에 함수 종속성이 있다고 할 수 있죠

반면 name, age, gender의 값을 안다 하더라도 나머지 값이 결정되지 않습니다 

 

아래 테이블은 review에 대한 테이블입니다

여기서는 size와price가 product에 대한 함수 종속성이 있습니다.

user product size price score
김채원 장갑 90 27000 5
이수지 나시세트 95 23000 4
유하민 목걸이 110 35000 5
채봉구 abc후드티 100 40000 2

 

또한 함수 종속성은 반드시 하나의 컬럼에만 있어야하는 것은 아닙니다

한 유저가 한 상품에 대한 평가 점수를 알기 위해서는 user와 product를 알아야 score를 알 수 있습니다

따라서 score는 user와 product의 쌍에 대한 함수 종속성이 있다고 할 수 있는거죠!


2. 이행성

: 함수 종속성의 속성

user product score brand brand_country
김채원 장갑 5 SQLL 미국
이수지 나시세트 4 구지 일본
유하민 목걸이 5 BOB 프랑스
채봉구 abc후드티 3 PATH 한국

 

여기서 brand와 brand_country는 product에 의해서 결정되기 때문에 

product에 대한 함수 종속성이 있습니다

 

하지만 attribute마다 보면 brand는 product에 의해서 결정되고 brand_country는 brand에 의해서 결정됩니다

이렇게 하나 이상의 attribute를 건너서 함수 종속성이 있는 경우에 함수 종속성이 넘어갔다 

즉, 이행됐다고 해서 brand_country는 product에 대한 이행적 함수 종속성이 있다고 할 수 있습니다

'데이터 분석 > 06. 데이터 모델링' 카테고리의 다른 글

[데이터베이스 모델링] 정규화(2NF,3NF)  (0) 2025.11.14
[데이터베이스 모델링] Candidate Key  (0) 2025.11.14
[데이터베이스 모델링] 정규화  (0) 2025.11.14
카디널리티를 적용한 ERM 초안 수정  (0) 2025.09.29
카디널리티 관계 유형  (0) 2025.09.29
'데이터 분석/06. 데이터 모델링' 카테고리의 다른 글
  • [데이터베이스 모델링] 정규화(2NF,3NF)
  • [데이터베이스 모델링] Candidate Key
  • [데이터베이스 모델링] 정규화
  • 카디널리티를 적용한 ERM 초안 수정
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    ROW_NUMBER
    Reset
    DENSE_RANK
    cross_join
    solvesql
    윈도우함수
    AARRR
    SQL
    tableau
    프로그래머스
    git
    코딩테스트
    코드잇스프린트후기
    revert
    이행성
    tableaubootcamp
    rank
    쿼리테스트
    streamlit
    코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
[데이터베이스 모델링] 함수 종속성과 이행성
상단으로

티스토리툴바