2019. 11. 9. 00:59ㆍ데이터베이스
정규화의 개념
데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하여 릴레이션에 대한 데이터의 삽입/수정/삭제 연산을 수행할 때 부작용이 발생할 수 있다.
이런한 부작용을 이산(anomaly) 현상이라고 한다. 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해나가는 과정이 정규화다.
삽입 이상 |
새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 |
갱신 이상 |
중복 투플 중 일부만 변경하여 데이터가 불일지하게 되는 모순의 문제 |
삭제 이상 |
투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 |
정규화는 이상 현상이 발생하지 않도록, 릴레이션을 관련이 있는 속성들로만 구성하기 위해 릴레이션을 분해(decomposition)하는 과정이다.
정규화 과정에서 고려해야 하는 속성들 간의 관련성을 함수적 종속성(FD : Functional Dependency)이라고 한다
.
즉, 정규화를 시키면 릴레이션이 늘어난다.
릴레이션이 정규화된 정도는 정규형으로 표한한다.
(보통 실제론 제3 정규형까지 밖에 안쓰인다.)
제 1 정규형 |
릴레이션에 속한 모든 속성의 도메인이 원자 값(atomic value)으로만 구성되어 있으면 제 1 정규형에 속한다. |
위와 같이 취미 속성의 값이 다중 속성 값을 가지고 있다. 이 부분을 단일 값이 되게 투플의 수를 늘려주고 분리 시켜준다.
제 2 정규형 |
릴레이션이 제 1정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되면 제 2 정규형에 속한다. |
제 3 정규형 |
'데이터베이스' 카테고리의 다른 글
[데이터베이스] DBranking 2019 (0) | 2019.11.09 |
---|---|
[데이터베이스] 기본 용어 정리 (0) | 2019.11.09 |
[데이터베이스] oracle 테이블 생성 / 에러(ORA-01950) (0) | 2019.11.09 |
[데이터베이스] %2% 그룹 추가 에러 (0) | 2019.11.09 |
[데이터베이스] tomcat과 Oracle 연동 (0) | 2019.11.09 |