티스토리 뷰
키(Key)
데이터베이스에서 키의 종류는 여러가지가 있다. 아래와 같은 3개의 릴레이션이 있다고 가정해보자.
학생 릴레이션
학번 | 이름 | 나이 | 학과 |
17-66503271 | 김다현 | 22 | 실용음악과 |
10-82765666 | 김고은 | 29 | 연극영화과 |
09-88754723 | 김태리 | 30 | 연극영화과 |
메뉴 릴레이션
번호 | 이름 | 가격 |
1 | 치즈돈까스 | 4000 |
2 | 라면 | 2000 |
3 | 김밥 | 1500 |
4 | 순대국밥 | 4000 |
주문 릴레이션
학번 | 번호 | 날짜 |
17-66503271 | 2 | 2019-03-17 |
17-66503271 | 3 | 2019-03-17 |
09-88754723 | 1 | 2019-03-17 |
10-82765666 | 4 | 2019-03-18 |
09-88754723 | 4 | 2019-03-18 |
슈퍼키 (Super key) | 유일성을 만족하는 속성들의 집합. 이 키로 검색을 하면 유일한 튜플이 나와야 한다. ex_학생 릴레이션에서 {학번, 이름}, {학번, 나이}, {학번, 이름, 나이, 학과} 등이 이에 속하지만 {학과}는 슈퍼키가 될 수 없다. |
후보키 (Candidate key) | 슈퍼키 중에서 유일성을 만족시킬 수 있는 최소한의 집합을 말한다. ex_학생 릴레이션에서 {학번}, {이름} 이 여기에 속한다. |
기본키 (Primary key) | 후보키 중에서 기본적으로 사용하는 키를 말한다. ex_학생 릴레이션에서 {학번}, {이름}이 후보키지만 {학번} 을 기본키로 사용하는것이 바람직한 선택이다. 기본키는 데이터베이스를 구축할 때 정책에 따라 다르게 선택될 수 있다. |
외래키 (Foreign key) | 다른 릴레이션의 기본키를 참조하는 속성들의 부분집합. 주문 릴레이션에서 {학번}, {번호}가 여기에 속한다. |
대리키 (Alternate key) | 후보키가 둘 이상일 때 기본키로 선택되지 못한 키들. 보조키라고도 한다. ex_학생 릴레이션에서 {학번}을 기본키로 선택했다면 {이름}이 여기에 속하게 된다. |
대체키 (Surrogate key) | 자연적인 값이 아니라 데이터베이스를 만들기 위해 임의로 만들어낸 값들을 말한다. ex_메뉴 릴레이션에서 {번호} 가 여기에 속한다. |
'Non-Programming > Database' 카테고리의 다른 글
SQL - Tutorial (0) | 2019.04.07 |
---|---|
데이터베이스 - 연산(Operation) (0) | 2019.03.25 |
데이터베이스 - 용어정리 (6) | 2017.03.09 |
데이터베이스 - 릴레이션(Relation) (0) | 2017.03.09 |
물리적 무결성 제약조건(Physical integrity Constraint) (0) | 2017.02.25 |
- Total
- Today
- Yesterday
- database
- 수학
- 국내여행
- SwiftUI
- ue4
- mongoDB
- C++
- ios
- DesignPattern
- Spring
- swift
- 운영체제
- 데이터베이스
- SOCKET
- Java
- OS
- JSP
- rxswift
- Git
- C/C++
- SHADER
- winsock
- C
- machine learing
- 알고리즘
- 자료구조
- scala
- Cocos2d-x
- 드라마
- game
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |