관계의 집합이다.
테이블 간의 관계들이 모인 것이다.
릴레이션의 구성요소는 아래와 같다.

스키마
릴레이션의 이름을 명세한다. 각 컬럼의 타입과 이름 그리고 제약 조건들을 통합한다.
인스턴스
테이블이다.
열과 행으로 이루어져 있다.
튜플의 집합이다.
카티션 프로젝트의 부분집합
릴레이션 스키마 + 릴레이션 인스턴스
한 애트리뷰트 내의 값들은 모두 같은 유형
애트리뷰트의 순서는 중요하지 않다.
튜플들의 순서도 중요하지 않다.
동일한 튜플이 두 개 이상 존재하지 않는다.
키가 존재한다.(값을 구별하고 값을 찾는데 사용한다)
한 튜플의 각 애트리뷰트는 원자값을 가져야 한다.
릴레이션의 키
각 튜플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트의 모임.
슈퍼키, 후보키, 기본키, 대체키, 외래키가 있다.
슈퍼 키
한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합
튜플들을 고유하게 식별하는데 꼭 필요하지 않은 애트리뷰트를 포함할 수 있다.
후보 키
각 튜프을 고유하게 식별하는 최소한의 애트리뷰트들의 모임
유일성, 최소성을 만족해야 한다.
모든 릴레이션에는 최소 한 개 이상의 후보 키가 있다.
후보 키도 두 개 이상의 복합 애트리뷰트로 이루어질 수 있다.
기본 키
한 릴레이션에 후보 키가 두 개 이상 있으면 설계자 또는 데이터베이스 관리자가 이들 중에서 하나를 기본 키로 선정함.
자연스러운 기본 키를 못 찾으면 레코드 번호와 같이 인위적인 애트리뷰트를 만들면 된다.
기본 키는 Null 값을 가질 수 없다.
대체 키
후보 키 중에 기본 키가 아닌 키
외래 키
어떤 다른 릴레이션의 기본 키를 참조하는 애트리뷰트
관계 데이터베이스에서 릴레이션들 간의 관계를 나타내기 위해서 사용됨.
외래 키 애트리뷰트는 참조되는 릴레이션의 기본 키와 동일한 도메인을 가져야 함.
자신이 속한 릴레이션의 기본 키의 구성요소가 되거나 되지 않으 수 있음.
자신의 릴레이션의 기본 키를 참조하는 외래키도 존재할 수 있음.
Query Languages
데이터베이스로부터 데이터를 가져오거나 조작하게 해줌.
최적화도 도움. (같은 결과에 대해 연산에 따라 최적화 가능)
직관적으로 쓰이며 DBMS가 효율적인 평가에 책임이 있음.
두 개의 수학적 언어가 있다.
관계 대수
관계 해석
관계 대수
절차적, 절차를 보여주는데 유용하다.
관계 해석
비절차적, 어떤 결과를 원하는지 보여주는데 유용하다.
데이터 검색
SELECT ~ FROM ~ WHERE ~
데이터 삽입
INSERT INTO ~ VALUES
데이터 삭제
DELETE FROM ~ WHERE ~
TRUNCATE TABLE
데이터 갱신
UPDATE ~ SET ~ WHEERE
IC
데이터베이스의 어떤 인스턴스든 참이 되어야 하는 조건
스키마가 만들어질 때 정의되며 릴레이션이 변경될때 조건을 체크한다.
값들은 IC를 모두 만족해야 릴레이션에 존재할 수 있다.
Entity Integrity
기본 테이블의 기본 키를 구성하는 어떤 속성도 NULL값을 가질 수 없다.
PRIMARY KEY(...)
Referential Integrity
외래 키 값은 NULL이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.
즉, 릴레이션은 참조할 수 없는 외래 키 값을 가질 수 없다.