6~8. DB정규화

greenerous·2022년 2월 5일
0

신입면접대비

목록 보기
6/12

자료의 손실이나 불필요한 정보의 도입 없이
데이터의 일관성,
데이터 중복을 최소화하고
최대의 데이터 안정성 확보를 위한
안정적 자료구조로 변환하기 위해서, 하나의 테이블을 둘 이상으로 분리하는 작업

  • 목적
    • 자료 저장에 필요한 저장 공간을 최소화
    • 자료의 삽입, 갱신, 삭제에 따른 이상현상을 제거 (데이터 무결성 유지)
    • 자료구조의 안정성 최대화

상세설명

데이터베이스 정규화(Database Nomalization)는
논리적 데이터베이스 설계에 있어서 테이블들을 구조화하는 기법 중 하나다.
어느 테이블이든 어느 정도는 정규화 될 수 있는데 데이터베이스 이론에서는 테이블의 정규화된 정도를 정규형(Normal Form) 이라는 용어를 써서 표현합니다.

보통 많이 쓰는 정규형을 순서로 나열하면 다음과 같다.

정규형설명
제 1정규형(First Normal Form, 1NF)테이블의 각 셀의 값은 단일값을 가진다.
제2정규형(2NF)주키가 합성키며 부분종속(Partial Dependence)이 존재할 경우 2차 정규형의 대상이 된다.
제 3정규형비주키 속성간에 발생하는 함수적 종속(이전종속)이 발생하면 3차 정규형의 대상이 된다. 이전 종속(Transitive Dependence)이 존재하지 않는 관계를 말한다.

정규형 차수가 높을수록
데이터베이스의 무결성을 저해할 수 있는 다양한 종류의 논리적 모순이 존재할 가능성과
데이터가 중복으로 존재할 가능성을 줄여 준다.

높은 차수의 정규화는 보통 테이블의 개수를 많아지게 하고 많은 수의 JOIN을 창출합니다.

이것은 데이터베이스 성능을 저해할 수도 있습니다.
그 결과,
차수가 높게 정규화된 테이블들은 고립 시킬 수 있는 트랜잭션들을 많이 쓰는 데이터베이스 (예 :자동입출금기기 시스템)에 많이 쓰이고,
차수가 낮게 정규화된 테이블들은 읽기 동작이 대부분인 데이터베이스(예:리포트)에 많이 쓰입니다.

profile
손이 바빠야해

0개의 댓글

관련 채용 정보