728x90
정규화란?
이상 현상을 제거하기 위해서 데이터베이스를 올바르게 설계해 나가는 과정
정규화 종류
제1정규형
테이블의 컬럼이 원자값을 갖도록 분해하는 것
제2정규형
제1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것
완전 함수 종속->기본키의 부분집합이 결정자가 되어서는 안된다는 것
제3정규형
제2정규화를 진행한 테이블에 대해 이행적 함수 종속을 없애도록 테이블을 분해하는 것
이행적 함수 종속-> A->B,B->C가 성립할 때 A->C가 성립되는 것을 의미한다.
BCNF정규형
제3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것
정규화의 장단점
장점
DB 변경 시 이상현상문제 해결.
불필요한 쿼리 제거로 성능 향상
단점
릴레이션의 분해로 인해 릴레이션 간의 연산(JOIN)연산이 많아진다. ->응답시간이 느려진다.
.
역정규화
데이터 조회 성능 향상을 위해 데이터 중복을 허용하며 릴레이션을 합치는 과정
읽기 작업이 많이 필요한 DB의 전반적인 성능을 향상시키기 위해 사용한다.
이상현상
테이블을 설계할 떄 데이터를 삽입,삭제,수정할 시 생기는 논리적 오류
이상현상 종류
삽입이상
->자료를 삽입할 떄 특정 속성에 해당하는 값이 없어 NULL을 입력해야되는 현상
갱신이상
->중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
삭제이상
->어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상
728x90
'데이터베이스' 카테고리의 다른 글
w3school sql연습사이트 (0) | 2024.02.09 |
---|---|
키의 종류와 기능 (0) | 2024.01.18 |
데이터베이스의 무결성이란? (0) | 2024.01.17 |
DML, DDL, DCL이란? (2) | 2024.01.11 |
index란 무엇인가? (0) | 2023.12.27 |
댓글