본문 바로가기

항해99 부트캠프/TIL

[TIL] 데이터베이스 - 정규화(Normalization)

정규형(Normal Form)

* 1NF, 2NF, 3F

* 부를 때는 제1정규형, 제2정규형, 제3정규형으로 부릅니다.

 

데이터베이스에는 중복된 데이터가 존재할 경우 이상현상이 발생하기 때문에

정규화의 목적은 가능한 한 중복을 제거하여, 삽입, 삭제, 갱신, 이상의 발생 가능성을 줄이는 것입니다.

 

정규화를 하지 않은 관계형 데이터베이스는 비정규형 릴레이션이라고 부릅니다.

 

출처: 유튜브 '온라인 코딩 스쿨 코드잇'

정규화 과정

 

 

1NF

 

2NF

 

3NF

이행적 함수적 종속을 제거해야 합니다.

이게 무슨 뜻인가 하면 한 가지 정보(기본 키, primary key)로 두 가지 정보를 알 수 있다면

테이블을 나누어서 정보를 정리해주는 것을 의미합니다.

 

 

굉장히 많은 정규형이 존재합니다.

하지만 대개 제3정규형까지만 갖추어도 정규화가 잘 된 데이터베이스라고 말합니다.

데이터베이스가 구현된 상태에서 정규화하는 것도 가능하지만,

더 어렵기 때문에 데이터베이스 구현 전에 정규화를 거치는 것이 보편적입니다.

 

 

 

참조: https://gyoogle.dev/blog/computer-science/data-base/Normalization.html

 

정규화(Normalization) | 👨🏻‍💻 Tech Interview

정규화(Normalization) Normalization 가장 큰 목표는 테이블 간 중복된 데이터를 허용하지 않는 것이다. 중복된 데이터를 만들지 않으면, 무결성을 유지할 수 있고, DB 저장 용량 또한 효율적으로 관리할

gyoogle.dev

https://www.youtube.com/watch?v=D3N_TJpdxzY