1. Key

  • 데이터베이스에서 검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 속성(Attribute)

* Key의 종류

1) 후보키(Candidate Key)

  • Tuple을 유일하게 나타낼 수 있는 속성들의 부분집합이다. 다음의 조건을 만족해야한다.

  • 유일성 : 해당 키(Key)로 하나의 Tuple을 유일하게 식별할 수 있어야함
  • 최소성 : 꼭 필요한 속성으로만 구성되어야함

2) 기본키(Primary Key)

  • 후보키 중 선택한 메인 키, 관계형 데이터베이스에서 관계(테이블)마다 한 설계자에 의해 선택ㆍ정의된 후보 키

* 기본키의 특징

  • Null 값을 가질 수 없음
  • 동일한 값이 중복될 수 없음

3) 대체키(Alternate Key)

  • 후보키 중에서 기본키를 제외한 나머지 키를 말한다. 보조키라고도 말한다.

4) 슈퍼키(Super Key)

  • 후보키의 특성 중 유일성은 만족하지만, 최소성은 만족하지 못하는 키

2. Join

  • 2개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법

  • 조인 조건은 일반적으로 각 테이블의 PK 및 FK로 구성된다.

* Join의 종류

  • Inner Join
  • Left Outer Join
  • Right Outer Join
  • Full Outer Join
  • Cross Join
  • Self Join

Inner Join

  • 가장 일반적인 JOIN이며 교집합
  • ON을 이용해서 조인의 조건을 따로 명시해줄 수 있다.

Outer Join

  • 어느 한쪽 테이블에는 해당하는 데이터가 존재하는데, 다른 쪽 테이블에는 데이터가 존재하지 않을 경우 그 문제점을 해결하기 위해 사용
  • 즉, 동일한 값이 없는 행도 반환할 때 사용하는 구문

Cross Join

  • 모든 경우의 수를 표현해주는 방식이다.
  • A 테이블의 Tuple이 3개, B 테이블의 Tuple이 5개면 3*5 = 15개의 데이터가 검색된다.