파게로그
정규화(normalization) 본문
www.youtube.com/watch?v=RXQ1kZ_JHqg
1정규화에 대한 설명이 제각각 달라서 찾아보다가 접하게 되었는데, 내가 애매하다고 생각했던 부분이 실제로도 논란이 되었다는 사실을 소개해주어서 좋았다.
정규화(normalization)
- 결과적으로는, 테이블 분해의 과정
정규화의 목적
- 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성 확보
- 데이터 모델의 독립성 확보
- 삽입, 수정, 삭제 이상 등 이상현상(anomaly)의 해결
정규화의 절차
- 제1정규화
- 함수적 종속성을 근거로 함
- PK를 잡는 것
- attribute의 원자성(atomicity)이란, 실로 single-value로 해석하는 편이 적절함 - 제2정규화
- 부분 함수 종속성 제거
- 기본키가 단일 식별자라면(하나의 칼럼으로 이루어진다면) 제2정규형이다. - 제3정규화
- 이행 함수 종속성 제거
- A→B & A→C는 가능, A→B & B→C는 제거 - BCNF
- "모든 결정자는 후보키이어야만 한다" - 제4정규화
- 다치 종속성 제거 - 제5정규화
- 조인 종속성을 근거로 함
- 조인 종속성을 갖는 속성은 후보키이어야 한다
'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글
반정규화(de-normalization) (0) | 2021.03.16 |
---|---|
정규화와 성능 (0) | 2021.03.16 |
엔티티 식별자(entity identifier) (0) | 2021.03.15 |
관계(relationship) (0) | 2021.03.15 |
속성(attribute) (0) | 2021.03.15 |
Comments