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

📊 데이터베이스(mySQL) - 7 정규화

by 정람지 2024. 5. 28.

출처 : MySQL로 배우는 데이터베이스 개론과 실습(2판)


 

잘못 설계된 테이블을 수정하여 

데이터의 무결성과 일관성을 회복시키는 프로세스


📊 이상현상

- 연쇄삭제 문제 

- Null 값 문제

- 일관성 없음 문제


📊 함수 종속성

어떤 속성 A의 값을 알면 속성 B가 유일하게 정해지는 의존 관계

: A -> B

: 속성 B는 속성 A에 종속한다

: 속성 A는 속성 B를 결정한다

: A는 B의 결정자 

 

<함수 종속성 규칙>

- 부분집합 규칙

- 증가 규칙

- 이행 규칙

- 결합 규칙

- 분해 규칙

- 유사이행 규칙 

 

+  자기 자신에 대한 종속관계 (X->X)

 

<함수 종속성과 기본키>

기본키 : 릴레이션의 모든 속성에 대한 결정자 

 

<이상현상과 결정자>

이상현상은

기본키(후보키)가 아니면서 결정자인 속성이 있을 떄 발생 : ( 비후보키 결정자 속성 )

 

분해하기 : 부분 릴레이션의 결정자를 원래 릴레이션에 남기기 ( 새로 생성된 릴레이션과 관계를 맺을 수 있도록 )


📊 정규화 

이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정 "정규화"

 

< 정규화 과정>

 

정규형이 높을 수록 이상현상이 감소

 

<제 1 정규형>

릴레이션이 갖춰야 할 기본적인 성질

: 릴레이션 R이 모든 속성값이 원자값을 가짐

 

<제 2 정규형>

 

<제 3 정규형>