티스토리 뷰
- 기본 키는 테이블의 고유 식별자 필드로 구성된 하나 이상의 열이다.
- 대부분의 기본 키는 단일 열로 구성되지만 여러 열로 구성될 수도 있다.
- 기본 키 필드에 저장된 모든 값은 해당 레코드에 고유하다.
- 다른 레코드에는 해당 값이 없다. 값은 고유 식별자이다.
PK 기본 키 예시
고유 식별자는 종종 증가하는 숫자 (예 : 1, 2, 3…)이지만 필수 사항은 아니다. 고유 식별자는 고유 한 문자열이면 된다. 예를 들어 기본 키 필드는 다음과 같다.
- 자동생성 번호
- 이메일 주소
- 자동차 번호
- 면허번호
- 고유한 문자열
PK 기본 키 필요한 이유
몇 가지 (인수 가능한) 예외를 제외하고 관계형 데이터베이스의 모든 레코드에는 기본 키가 있어야 한다.
기본 키 필드가 없으면 관계형 데이터베이스 쿼리에 문제가 발생한다. 사실, 기본 키는 관계형 데이터베이스 관리 시스템의 필수 부분이다. 이를 통해 반환된 모든 데이터가 정확하다는 확신을 가지고 여러 테이블에서 관련 데이터를 쿼리 할 수 있다.
예를 들어 고객 번호가 고유하고 필드가 기본 키로 정의되어 있으면 고객 번호 "101"이 구입 한 모든 제품을 쉽게 찾을 수 있다. 고유하지 않은 경우 두 명 이상의 고객이 “101”이라는 숫자를 가질 수 있다. 이 경우 어떤 고객이 어떤 제품을 구매했는지 알 수 없다.
그리고 기본 키로 정의되지 않은 경우 관계의 기본 키 / 외래 키 부분에서 사용할 수 없다. 관계는 외래 키가 다른 테이블의 기본 키에 연결되어 작동한다. 테이블 B의 외래 키 값이 테이블 A의 기본 키 값과 동일하기 때문에 테이블 B의 전체 레코드가 테이블 A의 전체 레코드와 관련되어 있음을 알고 있다.
따라서 기본 키는 관계형 데이터베이스 관리 시스템에서 관계의 필수 부분이다.
후보 키
고유성을 보장할 수 있는 모든 열을 후보 키라 고한다. 하지만 후보 키라고 해서 반드시 기본 키인 것은 아니다. 모든 후보 키를 먼저 기본 키로 지정해야 한다. 따라서 테이블에서 둘 이상의 열이 고유성을 보장할 수 있지만 그중 하나만 기본 키로 정의될 수 있다.
복합 키
복합 키는 둘 이상의 열에 의해 정의된 후보 키이다. 따라서 기본 키는 둘 이상의 열로 구성될 수 있다. 둘 이상의 열을 기본 키로 지정할 수 있다. 이 경우 이러한 열의 값이 결합되어 고유 한 식별자를 만든다. 각 열이 반드시 고유성을 보장하는 것은 아니지만 열이 결합될 때 기본 키로 사용되는 경우 고유성을 보장해야 한다.
'데이터베이스 > SQL' 카테고리의 다른 글
[SQL] Database (0) | 2021.01.28 |
---|---|
[SQL] FK(Foreign Key) 외래 키 (0) | 2021.01.28 |
[SQL] 디자인의 3가지 관계 유형 (0) | 2021.01.27 |
[SQL] MySQL 엔진, 데이터베이스, 테이블 용량 확인 (0) | 2021.01.26 |
[SQL] Mybatis를 활용한 페이징 (0) | 2021.01.22 |
- 프로그래머스
- 리액트 16
- SQL
- 이직
- 제주도 3박4일 일정
- 성능분석
- 오라클
- React
- sort algorithm
- Eclipse
- Collection
- 자바
- 회고
- spring
- effective java
- Tomcat
- Maven
- javascript
- 자바스크립트
- 정렬 알고리즘
- 프로그래머
- Java
- 리눅스 명령어
- 개발환경
- 제주도 여행
- 경력관리
- 리액트
- 오라클 내장 함수
- 소프트웨어공학
- Linux 명령어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |