반응형
이 글을 보고 파악하게 될 것
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로 잡게 되는 것이죠!
반응형
'SQL' 카테고리의 다른 글
SQL 6강. 데이터 어디까지 추출? LIMIT (0) | 2021.04.17 |
---|---|
SQL 5강. 대문자로만? 소문자로만? 바이너리(Binary) (0) | 2021.04.17 |
SQL 4강. 이스케이핑이란? (0) | 2021.04.17 |
SQL 3강. 문자열 패턴 & DATETIME 패턴 (0) | 2021.04.10 |
SQL 1강. DBMS란? SQL란? (0) | 2021.04.10 |
댓글