[TIL][Database][2024-01-08] RDBMS의 정규화
2024. 1. 8. 23:56ㆍTIL/Database
RDBMS의 정규화란?
RDBMS의 정규화는 데이터베이스 설계를 향상하기 위한 과정이다.
이를 통해 중복데이터를 최소화하고 데이터의 일관성과 무결성을 유지한다.
정규화 과정은 여러 단계로 나눠지고 각 조건을 만족해야 한다.
1차 정규화 (1NF)
테이블의 모든 열이 원자 값을 가져야 한다.
즉, 각 열에는 중복되지 않는 단일 값만 있어야 한다.
2차 정규화 (2NF)
부분적 종속성을 제거하는데 초점을 맞춘다.
부분적 종속성이란 기본 키가 아닌 부분집합의 열이 기본 키에 종속되는 경우를 말한다.
이를 해결하기 위해 테이블을 적절히 분리하여 각 테이블이 한 개의 주제에 집중하도록 한다.
3차 정규화 (3NF)
이행적 종속성을 제거하는데 초점을 맞춘다.
이행적 종속성이란 A - B, B - C 의 관계에서 A - C의 관계가 성립되는 경우를 말한다.
이를 해결하기 위해 중복을 피하고 각 테이블이 독립적으로 유지되도록 한다.
BCNF 정규화 (Boyce-Codd 정규형)
모든 결정자가 후보 키인 상태를 말한다.
이는 3차 정규화를 더욱 강화한 개념으로, 3차 정규화에서 발생하는 일부 문제를 해결한다.
4차 정규화 (4NF) 이상
특정 복잡한 종속성을 제거하는데 초점을 맞춘다.
이는 특정 상황에서 추가적인 정규화가 필요한 경우에 적용된다.
'TIL > Database' 카테고리의 다른 글
[TIL][Database][2023-01-09] Primary Key, Foreign key (0) | 2024.01.10 |
---|---|
[TIL][Database][2024-01-05] RDBMS 와 NoSQL (2) | 2024.01.06 |