본문 바로가기
SQL

SQL 2강. KEY

by 5soonglee 2021. 4. 10.
반응형

이 글을 보고 파악하게 될 것

1) SQL에서 사용하게 되는 KEY에 대한 이해

 

1. Primary key

  • 테이블에서 하나의 row를 고유하게 식별할 수 있도록 해주는 column
  • 특정 column을 primary key로 설정하면 같은 값이 있는 row가 추가 되는 것을 DBMS가 자동으로 막아주기 때문에 중복된 row가 생길 위험성이 사라짐

2. Natural key

  • 실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼이 Primary key가 됐을 때 이를 Natural key라고 한다.
  • 예를 들면, 사람은 주민번호로 특정 인물을 식별할 수 있고 책은 ISBN이라고 하는 번호로 특정할 수 있다.

3. Surrogate key

  • 아래 그림에서 id column은 어떤 회원의 속성을 직접적으로 나타내는 column은 아니다. 단지 primary key로 사용하기 위해 인위적으로 생성한 컬럼이다.
  • 이처럼, 어떤 개체의 실제 속성은 아니지만 primary key로 쓰기 위해 추가한 컬럼을 Surrogate key로 지칭하는 거이다.

 

<예시 데이터>

# id column (primary key)

id column이 순차적으로 1씩 증가하기 때문에 특정 row 식별하므로  primary key의 역할을 할 수 있다.

 

보통 Primary key --> "Surrogate key"

Q) 왜 Natural key가 아닌 Surrogate key로 Primary key를 설정해야 할까요??

 

A) Natural key로 Primary key를 설정하게 된다면 그 값이 나중에 변경되면 모든 row의 값을 다시 수정해줘야 하기 때문입니다. 따라서 애초에 인위적으로 생성한 Surrogate key를 Primary key로 잡게 되는 것이죠!

 

반응형

댓글