-
[SQL] 정규화 정리SQL 2023. 11. 7. 16:43
SQL 정규화
- 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 일어나서 이를 해결하거나 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러개로 분리하는 과정
- 자료의 중복성 감소
- 독립적인 관계는 별개의 릴레이션으로 표현
- 각각의 릴레이션은 독립적인 표현이 가능해야한다.
데이터베이스 이상현상
- 1개의 필드에 1개의 값이 존재해야하지만 여러개의 값이 동시에 들어간다.
- 삭제할 때 필요한 데이터가 같이 삭제된다.
- 데이터 삽입 시, 하나의 필드에 null이 되어 삽입이 안된다.
제1정규형
- 더 이상 분해될 수 없는 원자 값으로만 구성이 되어야 한다.

제2정규형
- 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적이어야한다. (부분 함수의 종속성 제거)
- 동등한 릴레이션으로 분해하고, 정보 손실이 없어야한다.

제3정규형
- 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태
- 이행적 함수 종속
- A -> B와 B- > C가 존재하면 A -> C이다. (C가 A에 이행적으로 함수 종속되어 있다.)

보이스/코드 정규형
- 결정자가 후보키가 아닌 함수 종속 관계를 제거해 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키인 상태

출처)
책 : 면접을 위한 CS 전공지식 노트
'SQL' 카테고리의 다른 글
[SQL] 키 정리 (0) 2023.11.07 [SQL] 관계선 정리 (0) 2023.11.07 sql html 태그 제거 쿼리문 (0) 2023.09.30 SQL UNION 간단하게 알아보기 (0) 2023.09.30 SQL JOIN 총정리 (0) 2023.09.30