본문 바로가기
🌈 백엔드/데이터베이스

DB_데이터베이스_정규형과 DB 설계

by 개발자 알마 2023. 4. 24.
반응형

 

 

[1] 정규화 이론


(1) 이상 현상

1. 정의

  • 의도와 다르게 데이터 오류가 발생되는 이상 현상
  • 릴레이션 조작에 예기치 못한 문제 발생

 

 

2. 이상현상 종류 

  • 삭제 이상 : 삭제시 삭제되면 안되는 데이터도 삭제되는 현상
  • 삽입 이상 : 필요하지 않는 데이터가 의도와 상관없이 데이터가 추가되는 현상
  • 갱신 이상 : 갱신 시 일부 또는 전체가 누락되어 정보의 모순이 발생되는 현상 

 

(2) 정규화

1. 정규화 정의

  • 이상현상이 있는 릴레이션을 분해하여 이상 현상을 없애는 과정 
  • 데이터의 중복을 최소화하여 데이터를 구조화 하는 프로세스 
  • 릴레이션에 속성이 혼합되면서 데이터가 중복저장되어 이상현상이 발생된것을 해결하기 위해 진행한다

 

2. 정규화 원칙 = 스키마 변환과정

  • 무손실의 원칙 
  • 중복 감소의 원칙
  • 분리의 원칙 

 

3. 정규화 목적

  • 모든 릴레이션을 데이터 베이스 내에서 표현 가능하게 한다 
  • 검색 알고리즘을 효과적으로 만들수 있음
  • 이상 현상이 발생하지 않도록 방지
  • 데이터 추가시 릴레이션 재구성 과정을 줄일수 있다 

4. 정규형 NF 종류

기본정규형 제 1 정규형 INF
제 2 정규형 2NF
제 3 정규형 3NF
보이스-코드 정규형 BCNF
고급정규형 제 4 정규형 4NF
제 5 정규형 5NF

 

5. 함수 종속 FD 

- 정의

  • 릴레이션 R에서 X, Y를 R의 부분 집합으로 본다 
  • X값에 의해 Y 값이 유일하게 정해지는 관계이다 ;
  • X (결정자)→ Y (종속자)
  • 속성 X의 값 각각에 대해 항상 속성 Y의 값이 오직 하나라면 Y는 X에 함수 종속되었다 

-  종류 

  • 완전 함수 종속 : 기본키로 된 모든속성에 포함되는경우 
  • 부분함수종속 : 기본키를 구성하는 속성의 일부에 종속되거나 기본키가 아닌 다른 속성에 종속되는 경우
  • 이행적함수종속 : X →Y, Y→ Z 일때  X → Z 성립된다 

 

(3) 정규형 종류 및 특성 ★어려움

1. 제 1 정규형 INF

  • 목표 : 모든 속성의 값은 원자값만 갖도록 갖도록 릴레이션을 분리한다. 
  • 기본키는 중복되지 않는 유일한 값을 의미한다 : 학번 , 과목번호 
  • 부분함수종속은 이상현상이 발생할수 있음 

 

2. 제 2 정규형 2NF

  • 목표 : 부분 함수 종속을 제거하도록 릴레이션을 분리한다. 
  • 기본키의 부분집합이 결정자가 되면 안된다 
  • 학번과 강좌이름 부분에 대한 부분함수적종속을 릴레이션을 분리하여 완전함수종속으로 종속 형태를 수정한다 
  • 학번 >  이름, 학과, 대학은 부분함수종속과 이행적함수종속으로 인해 이상현상이 발생할수 있다 

 

 

3. 제 3 정규형 3NF

  • 목표 : 이행적 함수 종속을 제거하도록 릴레이션을 분리한다.
  • 학번 부분에 대한 부분함수적종속을 제거하여 완전함수종속으로 릴레이션을 분리하여 종속 형태를 수정한다 

4. 보이스-코드 정규형 BCNF

  • 목표 : 모든 결정자는 후보키가 되도록 릴레이션을 분리한다. 
  • 다치종속을 가지고 있긴 하지만 2개 이상의 칼럼이 하나의 칼럼에 다치 종속되지 않는다 

5. 제 4 정규형 4NF

  • 목표 : 다치 종속성을 갖도록 릴레이션을 분리한다. 
  • 다치 종속 MVD : 2개의 독립된 애트리뷰트(속성)가 1: N 관계로 대응하는 관계 

6. 제 5 정규형 5NF

  • 목표 : 조인 종속성을 가지도록 릴레이션을 분리한다 
  • 조인 종속성 JD : 릴레이션 스키마의 모든 올바른 릴레이션 상태가 분해될때 비부가적 조인분해, 무손실 분해를 가져야한다 

 

[2] 데이터베이스 설계


(1) 데이터베이스 설계 과정

 

1단계 계획 설정  
2단계 요구사항 분석 사용자 요구사항 분석
분석서 
3단계 개념적 설계 DBMS 독립적 개념 스키마 설계
트랜잭션 모델링
개념적 스키마 ERD
4단계 논리적 설계 목표 DBMS에 적합한 스키마 설계
트랜잭션 인터페이스 설계
논리적 스키마
5단계 물리적 설계 목표 DBMS에 적합한 물리적 스키마 설계
트랜잭션 세부 설계
물리적 스키마 
6단계 구현  

 

(2) 데이터 베이스 설계 시 고려사항

  • 무결성 : 연산 후에도 데이터 값이 변화없음
  • 일관성
  • 회복 : 장애 발생시 이전 단계로 복구 가능
  • 보안
  • 효율성
  • 확장 

 

반응형

댓글