Mathlife
Mathlife의 학습 노트
Mathlife
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS
      • 알고리즘
      • 자료구조
      • 운영체제
      • 네트워크
      • 데이터베이스
    • 프로그래밍 언어
      • Java
      • JavaScript
      • C·C++
      • Python
    • Backend
      • Spring
    • Frontend
      • HTML
      • CSS
    • Math
      • Linear Algebra
      • Calculus
    • AI
      • ML
      • DL
      • RL
    • Git

블로그 메뉴

  • 홈
  • 관리
  • 글쓰기
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Mathlife

Mathlife의 학습 노트

CS/데이터베이스

Key

2023. 1. 10. 01:06

super key

각 레코드를 유일하게 식별할 수 있는 컬럼의 집합.

 

수학적인 정의는 다음과 같다.

 

$K \subset \{A_1, \dots, A_n \}$ is a super key of relation r if

$\forall t_1, t_2 \in r, \quad t_1.K = t_2.K \implies t_1 = t_2$.

 

candidate key (후보키)

각 레코드를 유일하게 식별할 수 있는 최소한의 속성의 집합.

candidate key는 minimal super key이다. 즉, candidate key의 어떤 진부분집합도 super key가 아니다.

 

primary key (기본키)

candidate key 중 table을 대표하는 키로 선택된 키.

 

alternate key (대체키)

candidate key 중 primary key가 아닌 키.

 

composite key (복합키)

두 개 이상의 컬럼으로 구성된 candidate key.

 

foreign key (외래키)

다른 테이블의 primary key를 참조하는 key.

어떤 키 K가 테이블 r의 foreign key가 되기 위해서는 해당 테이블의 임의의 레코드를 가져와서 K값을 확인했을 때 이것이 다른 테이블의 PK값으로 존재해야 한다.

 

수학적인 정의는 다음과 같다.

 

$K \subset \{A_1, \dots, A_n \}$ is a foreign key from $r_1$ referencing $r_2$ if

$\forall t_1 \in r_1, \quad \exists t_2 \in r_2 \quad\text{s.t.}\quad t_1.K = t_2.PK(r_2)$.

'CS > 데이터베이스' 카테고리의 다른 글

Query Processing  (0) 2023.01.12
Relational Model  (0) 2023.01.10
    'CS/데이터베이스' 카테고리의 다른 글
    • Query Processing
    • Relational Model
    Mathlife
    Mathlife

    티스토리툴바