SQLD
SQL 이론 - 1과목 2장 (2)
Poorm 푸름
2023. 6. 17. 21:13
1. 정규화
- 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치
- 테이블 데이터 용량 최소화
- 1차 정규화 : 같은 내용 중복일 때 중복제거
- 2차 정규화 : 함수종속 관계일 때 테이블 분리
- 3차 정규화 : PK가 아닌 일반 컬럼에 의존하는 컬럼 분리 (일반속성끼리 종속)
* 칼럼 = 열, 로우 = 행
* 정규형 = 정규화를 완료한 상태
- 1NF (제 1정규형) : 모든값이 원자값 (더이상 쪼개지지 않는 값)
- 2NF (제 2정규형) : 부분함수 종속 제거 (PK가 2개 이상일 때)
- 3NF (제 3정규형) : 이행함수 종속 제거
2.정규화의 성능
- 정규화는 입력/수정/삭제의 성능 향상
- 반정규화는 조회의 성능 향상
- 그러나 정규화로 조회 성능이 향상되는 경우 O (반정규화만 조회 성능을 향상시키는 것은 NO)
3.정규화 예시
: 학번을 알면 학생명과 학년을 알 수 있다
( = 식별자 중 일부가 다른함수 결정)
: 2차 정규화 필요해
: 학생 테이블 따로 만들고 원래있던 테이블과 연결
4. 함수적 종속성(Functional Dependency)
- 함수의 종속성
: 데이터들이 어떤 기준값에 의해 종속되는 현상
: 기준값을 결정자, 종속되는 값을 종속자