원본 : http://realcrazi.springnote.com/pages/3258808
이상 (anomaly)
-
이상의 정의
- 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 발생
- 데이터의 중복으로 인하여 관계연산을 처리하기 곤란한 현상
-
이상의 종류
- 삽입 이상 : 데이터를 삽입할 때 불필요한 데이터가 함께 삽입되는 현상
- 삭제 이상 : 한 튜플을 삭제함으로써 연쇄 삭제 현상으로 인한 정보의 손실
- 갱신 이상 : 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
정규화 개요
- 현실 세계를 정확하게 표현하는 관계 스키마를 설계하는 작업으로 개체, 속성, 관계성들로 릴레이션을 만드는 과정에 관한 것
- 정규화 되지 못한 릴레이션의 조작 시 발생하는 이상 현상의 근본적인 원인은 여러 가지 종류의 사실들이 하나의 릴레이션에 표현되기 때문
- 정규화가 잘못되면 데이터의 불필요한 중복을 야기하여 릴레이션 조작 시 문제를 일으킴
- 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
- 좋은 데이터베이스 스키마를 생성해 내고 불필요한 데이터의 중복을 방지하여 정보 검색을 용이하게 할 수 있도록 허용
- 레코드들의 관련 속성들 간의 종속성을 최소화하기 위한 구성 기법
- 정규화는 논리적 처리 및 품질에 큰 영향을 미침
- 정규형에는 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형 등이 있음
정규화의 목적
- 가능하다면 모든 객체간의 관계를 표현하기 위해
- 정보의 중복을 피하기(최소화) 위해
- 정보의 검색을 보다 용이하게 하기 위해
- 삽입, 삭제, 갱신 이상의 발생을 방지
- 효율적인 데이터를 조작
정규화 과정
비정규 Relation
제1정규형
부분 함수 종속 제거(no partial dependencies)
제2정규형
이행적 함수 종속 제거(no transitive dependencies)
제3정규형
결정자이면서 후보키가 아닌 것 제거 (Every deteminant is a candidate key)
BCNF정규형
다치 종속 제거(no multi-value dependencies)
제4정규형
제5정규형
정규형(Normal Form)
-
제1정규형
- 어떤 릴레이션에 속한 모든 도메인이 원자값(atomic value)만으로 되어 있는 릴레이션
-
제2정규형
- 릴레이션 R이 제1정규형을 만족하면서, 키가 아닌 모든 속성이 기본 키에 완전 함수 종속인 릴레이션
-
제3정규형
- 릴레이션 R이 제2정규형을 만족하면서, 키가 아닌 모든 속성들이 기본 키에 이행적으로 함수 종속되지 않는 릴레이션
- 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF 설계를 얻을 수 있음
-
BCNF정규형
- 릴레이션의 모든 결정자가 후보키인 릴레이션
- 모든 BCNF(Boyce-Codd Normal Form)가 종속성을 보존하는 것은 아님
- 모든 BCNF 스킴은 3NF에 속하게 되며, 따라서 BCNF가 3NF보다 한정적 제한이 더 많은
-
제4정규형
- 종속성들의 집합 F에 대한 F+의 모든 있는 다치 종속성 X->>Y에 대해, X가 릴레이션 스키마 R의 슈퍼키이면 R은 F에 대한 제4정규형, 여기서 F는 함수적 종속성과 다치 종속성을 포함함
-
제5정규형
- 어떤 릴레이션 R에 존재하는 모든 조인 종속성이 릴레이션 R의 후보키를 통해서만 성립
-
함수적 종속성
- 어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이라고 할 경우, 애트리뷰트 X의 값 각각에 대하여 시간에 관계없이 항상 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속이라함, X->Y로 표현함
- A->B는 애트리뷰트 A의 값 각각에 대해 애트리뷰트 B의 값이 반드시 하나만 연관된다는 뜻임
-
이행적 함수 종속
- A->B 이고 B->C 일때 A->C 를 만족하는 관계
-
완전 함수적 종속
- 복합 속성 X에 대하여 R.X->R.Y가 성립할 때 X에 포함된 속성 K가 R.K->R.Y를 만족하는 K가 존재하지 않는 것
- 만약 위를 만족하는 K가 존재하면 부분 함수 종속 이라함
-
다치 종속 함수적 관계
-
- A->>B의 의미는 R의 애트리뷰트 A가 애트리뷰트 B의 값의 집합을 결정한다는 것
- 릴레이션 R(A,B,C)에서 종속 A->>B가 성립할 때, 릴레이션 R에서 다치종속 A->>B가 성립하므로 A->>C도 성립함
-
릴레이션 R은 언제든지 프로젝션을 통해 R1(A,B)과 R2(A,C)로 무손실 분해할 수 있음
댓글 없음:
댓글 쓰기