728x90
데이터베이스 정규화(Database Normalization)는 데이터베이스 설계에서 데이터를 구조화하여 데이터 중복을 최소화하고 무결성을 유지하는 프로세스를 말합니다. 이를 통해 데이터베이스를 더 효율적으로 관리하고, 데이터 일관성을 유지하며, 변경 시 오류를 줄일 수 있습니다. 정규화는 여러 단계로 이루어지며, 각 단계는 정규형(Normal Form)이라는 특정한 조건을 충족합니다. 아래에 각 정규형에 대해 쉽게 설명하겠습니다.
1. 제1정규형(1NF: First Normal Form)
조건: 모든 열이 원자값(더 이상 나눌 수 없는 값)을 가져야 한다.
2. 제2정규형(2NF: Second Normal Form)
조건: 제1정규형을 만족하고, 기본키의 모든 부분집합이 결정자가 되는 부분 종속성을 제거해야 한다.
3. 제3정규형(3NF: Third Normal Form)
조건: 제2정규형을 만족하고, 비기본 속성이 기본키가 아닌 다른 비기본 속성에 종속되지 않아야 한다.
4. 보이스-코드 정규형(BCNF: Boyce-Codd Normal Form)
조건: 제3정규형을 만족하고, 모든 결정자가 후보키(candidate key)여야 한다.
이러한 정규화를 통해 데이터베이스를 구조화하면 데이터의 무결성을 유지하고, 중복을 최소화하며, 효율적인 데이터 관리가 가능합니다.
5. 제4정규형(4NF: Fourth Normal Form)
조건: 다치 종속(Multi-valued Dependency, MVD)이 없는 정규형. 즉, 하나의 테이블에 다치 종속성이 존재하면 안 된다.
6. 제5정규형(5NF: Fifth Normal Form, 5NF or PJNF)
조건: 조인 종속(Join Dependency)이 없는 정규형. 즉, 데이터가 여러 테이블로 분할된 경우, 그 분할된 테이블들이 다시 원래 테이블로 무손실하게 조인될 수 있어야 한다.
728x90
'STUDY > DB SQL' 카테고리의 다른 글
[MyBatis] Oracle Clob Select String 마이바티스 오라클 clob 출력 (0) | 2024.08.12 |
---|---|
[SQL] 오라클 삭제한 데이터 복구 (0) | 2024.07.30 |
[MyBatis] <trim> 사용법 (0) | 2024.04.29 |
[MyBatis] LIKE + % 문자열 검색 DBMS별 SQL문 (0) | 2024.04.24 |
[SQL] MariaDB 계정추가, 권한설정(외부접속허용), 권한부여 (0) | 2024.04.24 |