Fairy ' s
[SQL] 키 본문
키 (Key)
- 무언가를 식별하는 고유한 식별자(identifier)
- 행을 순서대로 정렬할 때 다른 행과 구별할 수 있는 유리한 기준이 되는 속성의 집합
- 데이터베이스에서 조건에 만족하는 관계의 행을 찾을 수 있다.
- 종류 : 기본 키(Primary key), 수퍼 키(Super key), 후보 키(Candidate key), 대체 키(Alternate key), 외래 키(Foreign key)
1. 기본 키 (Primary key)
- 후보 키들 중에서 하나를 선택한 '최소성'과 '유일성'을 만족하는 키
- 테이블에서 기본 키는 오직 1개만 지정할 수 있다.
- 테이블 안에서 유일하게 각 행들을 구별할 수 있도록 쓰인다.
- 기본 키는 각 행들을 구별하기 위해서 NULL 값을 가질 수 없고, 중복된 값도 가질 수 없다.
2. 수퍼 키 (Super key)
- 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합
- '유일성'만 만족하면 수퍼키가 될 수 있다. (어떤 속성끼리 묶던 중복이 안되면 가능)
3. 후보 키 (Candidate key)
- 테이블에서 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합
- 기본 키가 될 수 있는 후보들이며, 유일성과 최소성을 동시에 만족하면 기본 키가 될 수 있다.
4. 대체 키 (Alternate key)
- 후보 키가 두 개 이상일 경우 그 중에서 어느 하나를 기본 키로 지정하고 남은 후보키
5. 외래 키 (Foreign key)
- 테이블이 다른 데이블 데이터를 참조하여 테이블 간의 관계를 연결하는 키
- 다른 테이블의 데이터를 참조할 때 없는 값을 참조할 수 없도록 제약을 준다.
- 참조될 테이블이 먼저 만들어지고, 참조하는 테이블에 값이 입력되어야 한다.
- 외래 키는 참조되는 테이블의 기본 키와 동일한 속성을 가진다.
- 외래 키 관계에서 부모 테이블이 자식 테이블보다 먼저 삭제될 수 없다.
'Study > DB' 카테고리의 다른 글
[Oracle DB] 게시판 / #3 서브 쿼리, MP_MEMBER (0) | 2023.01.04 |
---|---|
[Oracle DB] 게시판 / 서브 쿼리, MP_REPLY, MP_FILE #2 (0) | 2023.01.03 |
[Oracle DB] 게시판 / 메인 쿼리, BOARD #1 (0) | 2023.01.03 |
[Oracle DB] 기본 명령어 (0) | 2023.01.03 |
Comments