Базы данных сами по себе не имеют ключей, но их составные таблицы могут. Я предполагаю, что вы имеете в виду, но на всякий случай ...
В любом случае, таблицы с большим количеством строк должны обязательно иметь первичные ключи; Таблицы с несколькими строками не нуждаются в них, но не причиняют вреда. Это зависит от использования и размера стола. Пуристы будут помещать первичные ключи в каждую таблицу. Это не так; и ни один не пропускает PK в маленьких таблицах.
Отредактировано для добавления ссылки на мою запись в блоге по этому вопросу, в которой я обсуждаю случай, когда сотрудники администрации базы данных не считают необходимым включать первичный ключ в конкретную таблицу. Я думаю, что это адекватно иллюстрирует мою точку зрения.
Сообщение в блоге Cyberherbalist о первичных ключах