- 테이블을 올바른 형태로 변경하고 분할하는 것, 규정된 올바른 형태로 개선해나가는 것
- 정규화 과정을 통해 관계형 데이터베이스가 효율적으로 동작하도록 만들 수 있음, 효율적인 데이터베이스 설계 가능
1. 정규화
: 대충 만들어진 데이터를 정규화 해 데이터베이스의 테이블로 만들 수 있음
2. 제1 정규형
- 관계형 데이터베이스의 테이블에는 하나의 셀에 하나의 값만 저장할 수 있다는 제약이 있음
- 제1 정규화의 제 1단계 : 하나의 셀에 하나의 값만 저장할 수 있고, 반복되는 부분을 세로(행) 방향으로 늘려나가는 것
* 반복되는 데이터를 가로(열 방향)가 아닌 세로(행 방향)로 늘리는 것이 제1정규화의 제1단계!
- 제1 정규와에서는 중복을 제거하는 테이블의 분할도 이루어짐
- ex) 주문 데이터를 주문 테이블과 주문상품 테이블로 분할
- 제1 정규화에서는 반복되는 부분을 찾아내서 테이블을 분할하고 기본키가 될 열을 작성할 수 있음
* 제1 정규화에서는 테이블 분할과 기본키 지정이 이루어짐!
3. 제2 정규형
- 제 2정규화에서 데이터가 중복하는 부분을 찾아내어 테이블로 분할해나감
- 기본키에 의해 특정되는 열과 그렇지 않은 열로 나누는 것으로 정규화가 이루어짐 / 기본키 중복이 없는지 조사
- 부분 함수 종속성을 찾아내서 테이블을 분할하는 것
- 함수종속성 : 키 값을 이용해 데이터를 특정지을 수 있는 것
4. 제3 정규형
- 중복하는 부분을 찾아내어 테이블을 분할하는 수법
- 기본키 이외의 부분에서 중복이 없는지 조사
- ex) 같은 사람이 여러 번 주문하는 경우, 고객번호를 기본키로 지정하여 고객테이블 작성
5. 정규화의 목적
- 중복하거나 반복되는 부분을 찾아내서 테이블을 분할하고 기본키를 작성해 사용하는 것이 기본 개념
- '하나의 데이터는 한 곳에 있어야한다.' 라는 규칙에 근거
* 정규화로 데이터 구조를 개선하는 것은 하나의 데이터가 한 곳에 저장되도록 하기 위함!
'데이터분석 > SQL' 카테고리의 다른 글
SQL 첫걸음 - 데이터베이스 설계 (0) | 2025.03.07 |
---|---|
SQL 첫걸음 - 관계형 모델 (0) | 2025.03.07 |
SQL 첫걸음 - 테이블 결합(JOIN) (0) | 2025.03.07 |
SQL 첫걸음 - 집합 연산 (0) | 2025.03.07 |
SQL 첫걸음 - 뷰 작성과 삭제 (0) | 2025.03.07 |