티스토리 뷰
*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*
데이터 베이스 키(Key)란?
-데이터베이스에서 키는 각 레코드(행)을 구분하고 식별할 수 있는 값입니다. 이 키는 데이터베이스 내에서 데이터를 찾을때 사용이 됩니다.
-슈퍼 키
테이블에서 데이터를 유일하게 식별할 수 있는 모든 조합의 집합입니다.슈퍼키는 집합이기 때문에 여러가지 값이 나올 수 있으며 중복된 값도 나올 수 있습니다.(유일성을 만족하면서 최소성은 만족하지 않는 키)
-후보 키
테이블에서 데이터를 유일하게 식별할 수 있는 최소한의 집합입니다. 슈퍼키의 부분집합이며 슈퍼키 중에서 최소성 조 건 을 만족하는 키가 후보키가 됩니다. 후보키도 여러개가 존재 할 수 있습니다. (유일성과 최소성을 모두 만족하는 키)
-기본 키
테이블에서 데이터를 구별하기 위해 사용되는 유일한 식별자입니다. 하나의 테이블엔 반드시 하나의 기본키가 존재해야 하며 널값이면 안되고 중복도 안됩니다.(후보키 중에서 선택된 키)
-외래 키
다른 테이블에서 기본키로 사용되는 필드를 자신의 필드로 사용하여 두 테이블간의 관계를 맺을 때 사용합니다.
학번 | 이름 | 주민등록번호 | 이메일 | 학년 |
테이블에 다음과 같은 칼럼이 존재 한다고 했을때, 각 칼럼은 다음과 같은 특성을 가집니다.
학번-학생의 번호,한 학교에선 중복x
이름-학생의 이름, 중복될 수 있음
주민등록번호-중복x
이메일-중복될 수 있음
학년-중복될 수 있음
여기서 슈퍼키는 다양합니다. 몇개만 뽑아 보자면 {학번,이름,주민등록번호} , {주민등록번호, 이메일,학년} . {학번,주민등록번호},{학번} 등이 있을 수 있습니다.
후보키는 슈퍼키에서 가장 최소한의 값을 고르면되는데 여기서는 학번, 주민등록번호가 있습니다.(조건에따라 2개 이상의 집합이 될 수도 있습니다.)
기본키는 이제 후보키에서 유일성과 최소성을 만족하는 키를 고르면되는데 여기선 학번,주민번호가 만족하기에 후보키에서 하나를 고르면 됩니다.
즉, 슈퍼키 > 후보키 > 기본키 조건이 성립합니다.
'DB' 카테고리의 다른 글
추가 관계 대수 (0) | 2023.03.27 |
---|---|
기본 관계 대수 (0) | 2023.03.27 |
관계형 데이터베이스 제약조건 (Constraint) (0) | 2023.03.26 |
관계형 모델의 기본 (모델, 키, 무결성) (2) | 2023.03.26 |
데이터베이스란? (0) | 2023.03.24 |
- Total
- Today
- Yesterday
- 네트워크
- 웹소켓
- 보안
- 문법
- 테이블
- sql
- nat
- 포트포워딩
- 자동화
- 컨테이너
- 데이터
- 쿼리
- 소프트웨어공학
- 깃
- 파인튜닝
- 스프링
- JPA
- IP주소
- 클라우드
- 데이터베이스
- 인공지능
- 프로토콜
- 자바
- DB
- 도커
- 서버
- 배포
- 깃허브
- 메세지큐
- 컴퓨터구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |