[정리 노트] 데이터베이스 DB 정규화

2023. 12. 4. 21:59· 데이터베이스
목차
  1. 기본 정규형 

정규화 = 이상 현상이 발생하지 않도록, 릴레이션을 분해하는 과정

- 릴레이션을 관련 있는 속성들로만 구성

- 관련 없는 함수 종속성은 별개의 릴레이션으로 표현

- 함수적 종속성을 판단하여 정규화 

 

함수적 종속성 (FD, Functional Dependency)

- 릴레이션 내 모든 투플에서 하나의 속성(X)가 다른 속성(Y)을 결정함

X -> Y 로 표현 (X = 결정자 / Y = 종속자)

- X값에 따라 Y값이 정해지는 것!


기본 정규형 

제 1정규형 (1NF)

= 릴레이션에 속한 모든 속성이 원자 값을 가져야함 

- 제 1정규형을 만족해야 관계 데이터베이스의 릴레이션이 됨 (관계 db는 다중값 허용X)

- 제 1정규형 만족함에도 이상 현상이 발생하는 이유: 기본키에 완전 함수 종속되지 못한 속성이 있기 때문 

 

제 2정규형 (2NF)

= 릴레이션이 제 1정규형에 속하고 + 기본 키가 아닌 모든 속성이 기본 키에 완전 함수 종속되야함

- 부분 함수 종속을 제거하고 모든 속성이 기본 키에 완전 함수 종속되도록 릴레이션 분해 

 

- 완전 함수 종속 (FFD) = 종속자 Y가 결정자 X 집합 전체에 종속됨

예) 당첨여부는 {고객 아이디, 이벤트 번호}에 완전 함수 종속

 

- 부분 함수 종속(PFD) = 종속자 Y가 결정자 X의 일부분에도 함수적으로 종속됨

예) 고객나이는 {고객 아이디, 이벤트 번호}에 부분 함수 종속

 

- 제 2정규형 만족함에도 이상 현상이 발생하는 이유: 이행적 함수 종속이 존재하기 때문 

 

제 3정규형 (3NF)

= 릴레이션이 제 2정규형에 속하고 + 기본 키가 아닌 모든 속성이 기본 키에 이행적 함수 종속이 되지 않아야함.

-  이행적 함수 종속 제거하기 위해 릴레이션 분해 

- 이행적 함수 종속 (transitive FD)= X > Y / Y > Z / X > Z (이행적 함수 종속)

 

보이스/코드 정규형 (BCNF)

= 릴레이션이 제 3정규형에 속하고 + 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키여야함. 

- 3.5 정규형 or 강한 제3규형으로 불림 : 후보키를 여러 개 가지고 있는 릴레이션에서 발생할 수 있는 해결하기 위해 제 3정규형을 보완함 

- 후보키가 아닌 결정자를 제거하기 위해 릴레이션을 분해 

*후보키 = 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합

 

 

 

 

 

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

[정리 노트] 관계형 데이터베이스 DB 설계 (개념적 설계, 논리적 설계)  (1) 2023.12.03
Mysql 맥북 설치/실행 방법 - vs code, 터미널  (0) 2023.11.07
  1. 기본 정규형 
'데이터베이스' 카테고리의 다른 글
  • [정리 노트] 관계형 데이터베이스 DB 설계 (개념적 설계, 논리적 설계)
  • Mysql 맥북 설치/실행 방법 - vs code, 터미널
하금12
하금12
개발 공부 블로그
Haeun's blog개발 공부 블로그
하금12
Haeun's blog
하금12
전체
오늘
어제
  • 모든 글 (16)
    • 웹개발 (9)
    • Git, Git hub (4)
    • 데이터베이스 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 데이터베이스
  • html공부
  • github
  • 코딩
  • 웹개발
  • 논리적설계
  • 생활코딩
  • 데이터모델링
  • DB설계
  • 기술블로그
  • 데이터분석
  • 데이터베이스설계
  • Git
  • 깃허브
  • CLI
  • 개념적설계
  • 정규화
  • 깃
  • css
  • 버전관리

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
하금12
[정리 노트] 데이터베이스 DB 정규화
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.