키(Key)는 데이터베이스에서 조건을 만족하는 로우(row)를 찾거나 순서대로 정렬할 때 로우들을 서로 구분할 수 있는 기준이 되는 속성을 말한다.
기본키(Primary Key)는 테이블 안에서 특정 행을 찾는데 이용되고, 테이블과 테이블 간의 관계를 연결할 수 있게 해준다.
기본키의 특징은 다음과 같다.
1. 고유한 값을 가져야 한다.
2. NULL 값은 허용하지 않는다.
3. 키 값의 변동이 일어나지 않아야 한다.
4. 최대한 적은 수의 속성을 가진것이어야 한다.
5. 향후 키를 사용하는데에 있어 문제 발생 소지가 없어야 한다.
외래키(Foreign Key)는 다른 릴레이션의 기본키를 참조하는 속성을 말한다.
(Customer ID, FirstName, LastName)을 키로 갖는 테이블과 (OrderID, CustomerID, OrderAmount)을 키로 갖는 테이블의 관계를 보면 첫번째 테이블의 기본키인 Customer ID를 두번째 테이블이 외래키로 가지고 있다.
CustomerID | FirstName | LastName |
1 | Bob | Davis |
2 | Natalie | Lopez |
3 | Connie | King |
OrderID | CustomerID | OrderAmount |
1 | 1 | 50.00 |
2 | 1 | 60.00 |
3 | 2 | 33.50 |
4 | 3 | 20.00 |
이같은 테이블간 관계 연결이 중요한 이유는 데이터의 중복을 줄여 자원을 절약할 수 있기 때문이다.