본문 바로가기
DB

[DB] 무결성과 정합성

by 대우니 2024. 9. 16.
728x90
반응형

ACID 중, Consistency는 정합성에 해당한다. 이 정합성과 무결성이 헷갈리는 거 같아서 간단하게 이를 정리하고자 블로그에 작성했다.

정합성

데이터들의 값이 서로 일치하는 상태

정합성 훼손 예시

Before

주문 정보 테이블

고객 번호 주문 번호 주문 금액 ....
1 1 2000  
1 2 3000  

고객 정보 테이블

고객번호 고객 이름 ....
1 대우니  

 

After

주문 정보 테이블

고객 번호 주문 번호 주문 금액 ....
1 1 2000  
1 2 3000  

고객 정보 테이블

고객번호 고객 이름 ....
2 대우니  

 

고객 정보 테이블의 고객번호를 1에서 2로 변경했지만, 주문 정보 테이블에는 고객번호가 변경되지 않았을 때, (데이터의 값이 서로 일치하지 않는다.)

데이터 정합성이 훼손되었다고 볼 수 있다.

무결성

데이터 값이 컬럼 저장 조건에 알맞게 정확한 상태

Before

주문 정보 테이블

고객 번호 주문 번호 주문 금액 ....
1 1 2000  
1 2 3000  

고객 정보 테이블

고객번호 고객 이름 ....
1 대우니  

 

After

주문 정보 테이블

고객 번호 주문 번호 주문 금액 ....
-1 1 2000  
-1 2 3000  

고객 정보 테이블

고객번호 고객 이름 ....
-1 대우니  

 

무결성 훼손 예시

고객 정보 테이블의 고객번호를 1에서 -1로 변경했으며, 주문정보 테이블에서 고객번호가 모두 -1로 반영되었다. (데이터의 값이 일치한다.)

그러나 고객번호는 반드시 1 이상의 값을 가져야 한다. (데이터의 값이 정확하지 않다.)

이런 상황에는 데이터 정합성은 이상이 없으나, 데이터 무결성은 훼손되었다고 볼 수 있다.

반응형

'DB' 카테고리의 다른 글

[트랜잭션] 정의 및 ACID  (5) 2024.09.16