본문 바로가기
데이터베이스 DB

이상현상 종류, 정규화 목적, 종속성 화살표 표기법, 함수 종속성 규칙

by tovantablack 2021. 3. 3.
728x90
728x90

이상현상 종류

삭제 이상: 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 -> 연쇄 삭제 문제 발생

삽입 이상: 투플 삽입 시 특정 속성에 해당하는 값이 없어 null 값을 입력해야하는 현상 -> null 값 문제 발생

수정 이상: 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상 -> 불일치문제발생

 

정규화 목적

정규화는 데이터 구조의 안정성 최대화, 데이터 수정, 삭제 시 이상 현상 최소화, 데이터 불일치 위험 최소화를 위해 필요하다. 정규화의 목적은 하나의 릴레이션에 통합된 종속성을 각 릴레이션으로 분산시키는 것이다. 정규화를 거치지 않으면 여러 가지 상이한 종류의 정보가 하나의 릴레이션에 표현되기 때문에 릴레이션을 조작할 때 이상현상이 발생할 수 있다. 이상 현상은 속성 간에 존재하는 함수 종속성이 원인이다.

 

종속성 화살표 표기

속성 A의 값을 알면 속성 B의 값이 유일하게 정해지는 의존관계를 ‘A->B’, ‘BA에 종속한다.’ A = B의 결정자

릴레이션의 속성은 직사각형, 속성 간 함수 종속성은 화살표, 복합 속성은 속성들을 직사각형으로 묶어서 그린다.

 

함수 종속성 규칙(functional dependency rule)

X, Y, Z가 릴레이션 R에 포함된 속성의 집합이라고 할 때, 함수 종속성에 관한 다음과 같은 규칙이 성립

부분집합 규칙 : if Y X, then X Y //(학과, 주소) 학과

증가 규칙 : If X Y, then XZ YZ //(학생번호, 강좌이름) (학생이름, 강좌이름)

이행 규칙 : If X Y and Y Z, then X Z //학생번호 학과사무실

위 세 가지 규칙으로부터 부가적으로 다음의 규칙을 얻을 수 있음

결합 규칙 : If X Y and X Z, then X YZ //학생번호 (학생이름, 주소)

분해 규칙 : If X YZ, then X Y and X Z //학생번호 학생이름, 학생번호 주소

유사이행 규칙 : If X Y and WY Z, then WX Z //강좌이름, 학생이름) 성적

(증가 규칙에 의해 if X - >Y, then WX -> WY가 숨어있음 )

-기본키는 릴레이션의 모든 속성에 대해 결정자임

) 이름이 같은 학생이 없다고 가정하면, ‘이름 학과, 이름 주소, 이름 취득학점이므로 이름 이름, 학과, 주소, 취득학점이 성립한다. 즉 이름 속성이 학생 릴레이션의 전체를 결정함.

- 이상현상은 기본키가 아니면서 결정자인 속성이 있을 때 발생한다. 이단으로 뻗어지는 애들을 분리시키면 해결가능

 

728x90
728x90

댓글