정보처리기사/Database

정처기 수준에서의 데이터베이스 - 함수적 종속성

mostlyjinsonit 2018. 10. 2. 19:38
반응형

보다 효율적인 데이터베이스 스키마 구축을 위해 정규화를 한다. 정규화라는 것은 테이블을 정해진 규칙 아래에서 테이블을 쪼개는 행위.

정규화 = 1. 키, 무결성의 개념 이해. 2. 이상현상 이해. 3. 함수적 종속성 이해. 4. 정규화 과정 이해.

 

이상(Anomaly) = 데이터 중복으로 인해 릴레이션 조작 시 예상하지 못한 곤란한 현상이 발생.

     이상은 속성들 간에 존재하는 여러 종류의 종속 관계를 하나의 릴레이션에 표현할 때 발생

    (개념적 설계 단계 -> 스키마 -> 구축) 설계를 잘못해서 생기는 현상!

 

이상의 종류 => 삽입 이상(Insertion Anomaly) / 삭제 이상(Deletion Anomaly) / 갱신 이상(Updating Anomaly)

 

==================================================================================================

 

함수적 종속성 X -> Y = X이면 Y이다 = X(결정자,Determinant) , Y(종속자Dependant)

X에 어떤 값을 입력시 출력이 딱 하나의 Y가 나와야지 X가 결정자이다!

기본키는 기본적으로 결정자 역할.

 

함수적 종속성 1. 완전 함수적 종속 2.부분 함수적 종속 3.이행 함수적 종속 4.다치 종속(MVD). 5.조인 종속. 

                      2 -> 1(2NF) -> 3(3NF) -> 4(4NF) -> 5(5NF)

 

2정규형 - 복합키가 기본키인 경우에서 복합키중 부분 함수적 종속이 있느냐? => YES => 쪼갠다 

3정규형 - A -> B -> C = (A -> B) 와 (B-> C) 로 분리.

4정규형 - A ->> B, A ->> C가 하나의 테이블 일때 쪼갠다 A->>B / A->>C

5정규형 - 테이블을 분해할때 무손실 분해 규칙을 꼭 지켜야한다. (다시 합쳤을 때 분해하기 전에 정보가 그대로 나와야함!) 

위조 튜플이 발생함! 하나를 더쪼갬! 

 

 

반응형