IT 관련/Database

Primary Key vs Unique Index

nullzone 2017. 12. 27.
반응형


Primary Key vs Unique Index


Primary Key = Unique Index + Not null


위의 말이 틀린 것은 아닙니다만...

저 등식 자체가 성립되지 않습니다. 


이산화탄소( CO2) = 탄소(C) + 산소(O) * 2

위의 공식이 일견 틀린 것 같지는 않지만, 왠지 부적절해 보이는 것과 마찬가지 입니다. 


Primary Key라고 하는 것은 논리적인 개념이라고 이해 하셔야 합니다. 

일반적인 프로그램밍에서 두 객체가 동일한 것인지 알아 보기 위해 객체의 해시값을 확인하듯이 

Primary Key도 자신과 다른 레코드가 서로 다른 인스턴스임을 확인할 수 있게 해 주는 역할을 합니다. 

즉,  레코드의 해시 값(고유한 값)입니다.  


DBMS 입장에서 보면 Primary Key Column은 레코드의 고유값을 나타내므로 이를 효율적으로 처리하려고,  Index를 만들며, 당연히 Null 값을 허용하지 않습니다.


내부적으로 빠른 데이터 억세스, 처리를 위해  Primary Key 를 최우적으로 이용합니다. 


DB 입장이 아닌 단순 개발자거나, 사용자라면 Primary Key 또는 Unique Index+ Not null constraint는 똑같습니다만,

DBMS가 설계된 목적에 부합하도록 Primary Key를 이용하시는게 좋습니다.


간혹 Unique Index 가 Primary Key 보다 편하다 하시는 분들이 계신데 

모두 Primary Key 대신 Unique Index를 사용하는게 좋은지 되묻고 싶습니다.







반응형

댓글