관계형 데이터 모델을 기반으로 설계된 데이터베이스 관리 시스템으로 2차원 테이블의 모음이다.
테이블은 2차원 표 형태의 데이터 저장 공간으로 행과 열로 이루어져 있다.
데이터 모델링 단계에서 릴레이션은 엔티티로부터 도출되는데,
엔티티는 학생/교수 같은 사람이 될 수도 있고, 주문/배송 같은 사건이 될 수도 있다. 그 외에도 사물, 장소, 개념 등이 될 수 있다.
테이블에서 행은 저장하려는 하나의 개체이다.
마찬가지로 데이터 모델링 관점에서 보았을 때, 튜플은 엔티티의 인스턴스에 해당한다.
예를 들어, 릴레이션이 학생이라고 했을 때, 릴레이션의 각 튜플들은 학생들 개개인이다.
각 튜플은 테이블 내에서 중복되면 안된다.
속성은 더 이상 분리할 수 없는 최소의 데이터 단위이다.
예를 들어, 학생이 가질 수 있는 속성으로는 이름, 학번, 생년월일, 과목 등이 있는 데 업무상 필요한 것들만 선별하여 속성으로 정의한다.
이때, 속성이 여러 개의 값을 가지는 다중 값 속성인 경우 별도의 테이블로 분리해야 한다.
예를 들어, 학생 테이블에 과목이라는 속성이 있을 때, 학생 개개인은 과목이라는 속성에 대해 여러 개의 값을 가질 수 있다. 이를 다중 값 속성이라고 하며 별도의 테이블로 분리하여야 한다. 이는 1차 정규화와 관련이 있다.
속성의 이름은 테이블 내에서 유일해야 하며 허용되는 값의 범위/타입/제약사항을 도메인이라고 한다.
속성들 중 각 튜플들을 유일하게 식별하는 속성을 키로 설정한다.
키는 하나 또는 여러 개의 속성으로 이루어질 수 있는데, 하나의 속성으로 이루어진 키는 단일키, 복수의 키로 이루어진 키는 복합키라고 부른다.
기본키는 유일성, 불변성, 존재성, 최소성을 가져야 한다.
튜플을 식별해야 하므로 유일한 값을 가져야 하며, 변하지 않아야 하고, NULL값이 올 수 없으며, 불필요하게 많은 수의 속성을 사용하지 않아야 한다.
속성들 중 테이블과의 연관관계를 나타내는 키로 외부 테이블을 참조 할 수 있다. 또는 자신의 테이블을 참조할 수도 있다.
보통 기본키 또는 unique key를 가져와 외래키로 설정한다.