본문 바로가기
CS/데이터베이스

데이터베이스 4주차 - 정규화

by DenverAlmighty 2024. 11. 18.

1. 정규화 (Normalization)

: 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 고나계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정. 데이터베이스 논리적 설계 단계에서 수행한다. 

1) 정규화의 목적

  • 데이터 구조의 안정성을 최대화한다.
  • 어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
  • 효과적인 검색 알고리즘을 생성할 수 있다.
  • 중복을 배제하여 삽입, 삭제, 갱신 이상을 방지한다
  • 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.

 

 

2. 이상(Anomaly)의 개념 및 종류

1) 이상이란?

: 정구화를 거치지 않은 데이터베이스내에 데이터들이 불필요하게 중복되어 릴레이션 ㅅ조작 시 발생하는 예기치 못한 곤란한 상황

2) 이상 종류

  • 삽입 이상 : 릴레이션에 데이터를 삽입할 때 의도와는 관계없이 원하지 않은 값들도 삽입되는 현상
  • 삭제 이상 : 릴레이션에서 한 튜플을 삭제할 때 의도와는 관계없는 값들도 함꼐 삭제되는 연쇄 살제 현상
  • 갱신 이상 : 리레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 저보만 갱신되어 정보에 모순이 생기는 현상

 

 

3. 정규화 과정

제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형이있으며, 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어난다.

1) 종속

1) 함수적 종속 관계

릴레이션 R에서 X와 Y를 각각 R의 어트리뷰트 집합의 부분집합이라고 할 경우, X의 값 각각에 대해 시간ㄱ에 관계 없이 항상 Y의 값이 오직 하나만 연관되어있을 때 Y는 X에 한수 종속적이라고함. X->Y 로 표시

2) 이행적 종속 관계

A->B이고 B->C 일 떄 A->C만족하는 관계

3) 완전 함수적 종석

4) 부분 함수적 종속