본문 바로가기
IT/SQL

[SQL] - 데이터베이스 데이터 정규화, 이상 현상(Anomaly)이란 ?(1NF-1차 정규화, 2NF-2차 정규화, 3NF-3차 정규화)

by 차이나는 개발자 2020. 7. 30.
728x90
반응형

#데이터베이스 데이터 정규화, 이상 현상(Anomaly)이란 ? (1NF-1차 정규화, 2NF-2차 정규화, 3NF-3차 정규화)

 

 

#정규화

-중복의 제거가 목적입니다.

중복되는 데이터가 많으면 이상현상이 발생합니다.
-저장하는 공간이 낭비됩니다.

 

#릴레이션

-논리(추상)적 개념입니다.

 

#테이블

-물리(구체)적 개념입니다.

 

#릴레이션&테이블

1. 모든 테이블은 릴레이션은 아닙니다.

2. 모든 릴레이션은 모든 테이블입니다.

-테이블이 조금 더 큰 개념이고, 릴레이션은 데이터베이스에서 사용되기 위한 조건입니다.

 


#1NF-1차 정규화


#열은 원자적 값만 포함합니다.

-원자적 : 더 이상 나누어질 수 없는 단위입니다.


#같은 데이터가 여러 열에 반복되지 말아야 합니다.★
-동일한 정보를 나타낼 때 필드를 무작성 생성하면 안 됩니다.
-어떠한 필드의 데이터를 사용하는 목적이 무엇이냐에 따라 구분이 되어야 합니다.

e.g.) 배달->주소(시, 구 , 동) 분할되면 비효율적입니다.
        공인중개사-> 주소(시, 구, 동)가 분할될 필요성이 있습니다.

 

 

#2NF-2차 정규화


#완전 함수 종속 구현(P.K)★
-테이블은 기본키의 일부분에 종속적이면 안됩니다.
기본키 전체에 종속적이어야 합니다.

 

-종속성 : 무엇인가 바뀌면 따라서 바뀝니다.


#부분 함수 종속 제거★
-기본키를 구성하는 일부의 열에 종속되면 안 됩니다.

#PK가 복합키일때 발생합니다.

#하나의 속성으로 PK가 구성된 경우 이미 2NF에 만족합니다.

 


#3NF-3차 정규화


#이행적(추이적)함수 종속 제거★
-테이블의 모든열은 무조건 기본키에만 종속적이어야 합니다.

#이상현상

-데이터베이스를 잘못 설계하면 불필요한 데이터 중복으로 인한 부작용입니다.

 

삽입 이상

-새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제를 삽입이상 이라고 합니다.

-불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능합니다.

 

갱신 이상

-반복된 데이터 중에 일부를 갱신할 시 데이터의 불일치가 발생합니다.

-중복된 튜플(행) 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제가 발생합니다.

 

삭제 이상

-필요한 정보를 함께 삭제하지 않고서는 어떤 정보를 삭제하는 것이 불가능합니다.

-튜플(행)을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제가 발생합니다.

 

 

 

728x90
반응형

댓글