개발바닥 아방수

기본키가 다중컬럼으로 이루어져있을때 본문

데이터베이스

기본키가 다중컬럼으로 이루어져있을때

앙큼아기 2022. 11. 23. 11:12

되게 간단한건데 오늘 새롭게 알게되서 정리한다.

난 여태 한 테이블에 기본키가 2개 이상의 컬럼으로 이루어져있으면

그게 각각의 키로 인식해서 두 컬럼 모두 개별적으로 중복이 되면 안되는줄알았다.

그래서 두테이블간에 관계를 맺을때 식별자와 비식별자관계가 무슨 차이인지 잘 몰랐는데

2개 이상의 컬럼을 개별적으로 보는게 아니라 모두 합쳤을때 중복이 되면 안되는거였다.

 

즉, A컬럼과 B컬럼이 기본키로 잡혀있다고 가정할때 내가 여태 잘못알고있던 방식은 A는 A끼리 중복이 되면 안되고 B는 B끼리 중복이 되면 안되는줄알았는데 그게 아니고 [A = 1 B = 1], [A = 1, B = 2] 와 같이 두 컬럼 모두 중복이 아니라면 이 데이터는 무결성 원칙을 지키는 것이다.

 

A컬럼과 B컬럼이 같이 기본키일때

 

B컬럼만 기본키일때

 

 

첫번째 모습에서는 A컬럼의 값이 바뀌면 B컬럼은 다시 1부터 시작하지만 두번째 모습은 B컬럼만 기본키이기때문에 A컬럼의 값이 바뀐다 하더라도 B컬럼은 중복이 되면 안된다.

 

(참고출처) https://multifrontgarden.tistory.com/15