데이터 베이스에는 여러개의 테이블이 있고, 이 테이블들은 서로의 관계가 정의되어 있습니다.
1대 1관계: 테이블을 두 개의 테이블로 나누어 테이블의 구조를 더 이해하기 쉽게 만들어줍니다.
1대 N관계: 한 개의 개체가 다른 많은 개체를 포함하는 관계입니다.
N대 M관계: 테이블 두개를 직접적으로 연결해서 구축하지는 않고 1:N, 1:M이라는 관계를 갖는 두 개의 테이블로 나누어서 설정합니다.
위의서 설정한 테이블 간의 관계를 조금 더 명확하게 하기 위해서 테이블 자체의 인덱스를 위해 설정된 장치로 기본키, 외래키, 후보키, 슈퍼키, 대체키가 있습니다.
PK 혹은 프라이머리 키라고 부르며 유일성과 최소성을 만족하는 키값입니다. 테이블의 데이터 중 고유하게 존재하는 속성이며 중복이 되면 안됩니다. 여러가지를 이용해서 복합키를 기본키로 설정할 수 있지만 이는 최소성을 만족하지 않습니다.
FK 라고도 하며, 다른 테이블의 기본키를 그대로 참조하는 값으로 개체와의 관계를 식별하는 데 사용이 되며 이는 중복이 허용이 됩니다.
기본키가 될 수 있는 후보들이며 유일성과 최소성을 동시에 만족하는 키입니다.
후보키가 두 개이상일 경우 어느 하나를 기본키로 지정하고 남은 후보키를 이야기합니다.
각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키입니다.