정규화
정의 :
관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다.
일반적으로 정규화란 크고, 제대로 조직되지 않은 테이블들과 관계들을 작고 잘 조직된 테이블과 관계들로 나누는 것을 포함한다.
관계 Schema의 데이터구조를 수학적 이론을 적용, 분석하여 보다 나은 데이터구조로 재구축하는 관계 Schema 설계방법론.
데이터베이스 정규화의 목표 :
이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다.
정규화의 목적 :
하나의 테이블에서의 데이터의 삽입, 삭제, 변경이 정의된 관계들로 인하여 데이터베이스의 나머지 부분들로 전파되게 하는 것이다.
▶ 정규화
제1 정규화 - 반복그룹제거
각 테이블에서 중복을 제거한다.
각각 관계된 데이터 모임을 위하여 분리된 테이블을 만든다.
각각 관계된 데이터 모임을 기본키로 식별한다.
제2 정규화 - 부분 함수적 종속성 - 키가 아닌 열이 합성키(집합키)의 일부 종속 제거
제3 정규화 - 이행적 함수적 종속성 - 키가 아닌 열이 키를 제외한 열에 종속 제거
제3 정규형은 추이 종속이 존재하지 않음을 요구한다.
▶ 데이터베이스 이상(Anomaly) 종류 및 개념
갱신이상 :릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입하는 현상
삽입이상 : 릴레이션에 데이터를 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄삭제현상
삭제이상 :
참고사이트: 위키피디아
'Back_end > -----------DB------------' 카테고리의 다른 글
[ DB/DBMS ] DB 와 DBMS (0) | 2018.07.28 |
---|