삽질의 현장/- DataBase

[삽잡이::sql] Primary Key 그리고 Unique Key

shovelman 2016. 6. 14. 21:32


오늘은 어떤 제목을 쓸까 하다가.....

Primary Key 그리고 Unique Key라고 작성했습니다.


이와 비슷하게 

'소호대' 의 사랑 그리고 추억이라는 노래가 있군요.



(출처_ youtube)

푸하하 그러면 신나게 한번 알아봅시다


DB안에 있는 테이블에는 컬럼과 값들로 가득(?)합니다.



이런식으로 데이터들이 저장되어있습니다.


여기서 Primary Key란, 

Key에 해당하는 컬럼을 의미합니다.


만능 열쇠 키~



예 맞습니다. 그 유명한 만능 열쇠 키는

테이블의 각 레코드를 구별할 수 있는 역할을 하고 있습니다.


세계적인 Foot Ball Club!

Shovel FC가 있다고 해봅시다.


예 그렇습니다. shovel은 우리나라 말로 을 말하죠 하하하


아무튼....

소속팀에 등번호가 중복되는 팀은 없을 것입니다.

동일한 이름이 있어도 등번호를 통해 구분할 수 있지요.



(출처_ 피파코리아)


이렇게 각 레코드를 구분해줄 수 있는 조건이 된다면 

Primary Key가 될 수 있는 자격이 됩니다.


즉, 유일성을 보장해준다는 뜻인데요

다른 레코드들과 서로 다르다는 사실을 

확인할 수 있도록 도와주는 역할을 합니다.


이와 같이 유일성을 보장해주기 위해서는 

Unique 해야하며, NULL 이면 안됩니다(NOT NULL)


어느 컬럼이던지 반드시 해당 컬럼 값은 존재해야하며 유일해야한다는 것입니다.


그렇다면, 

Unique Key는 자연스레 감으로 느끼실 수 있습니다.

예 맞습니다. 정확합니다. 그렇습니다!!!



여러분이 예상하신대로

테이블 내 항상 유일해야하는 값을 Unique Key라고 합니다.

즉, 중복을 허용하지 않는 컬럼이라고 할 수 있습니다.


유일해야하는 값이 레코드당 하나일 필요는 없겠지요.

즉, 한 테이블에 여러개 설정이 가능하다는 소리입니다.

또한 Null 값도 입력이 가능하지요.


이 여러개의 Unique Key에는 

Primary Key도 포함이 되겠지요.


Primary Key와 Unique Key를 구분 지을 필요는 없습니다.

여러 Unique Key들중에서 

Primary Key가 될 수 있는 컬럼들이 있을 수 있고

단, NOT NULL 이어야 되는 것이지요 :)


굳~