Задать вопрос
@beetlezilla

На сколько необходимы внешние ключи в базах данных?

Некоторое непродолжительное время работаю в одной компании. Имеется база данных с 1000+ таблиц. Смутило меня то, что не смотря на наличие полей с названием ключевого поля другой таблицы, между этими таблицами отсутствует связь и внешние ключи. Иными словами очень много внешних ключей не помечены внешними ключами. С моего маленького опыта это кажется очень странным и отсюда у меня несколько вопросов возникает:
  1. Всегда ли необходимы внешние ключи?
  2. Чем чревато отсутствие внешних ключей? (Про каскадное обновление и удаление знаю, именно поэтому и возник этот вопрос)
  3. Какие могут быть причины для отсутствия внешних ключей в этой базе?
  • Вопрос задан
  • 587 просмотров
Подписаться 3 Простой Комментировать
Ответ пользователя Максим Федоров К ответам на вопрос (5)
qonand
@qonand
Software Engineer
1. Все зависит от организации проекта, если например у Вас база данных шардированная - то внешнее ключи как бы Вы не сделаете, или например если Вы хотите избежать проверок на целостность данных при каждом изменении данных, а проводить их самостоятельно раз в сутки. В общем внешние ключи крайне желательны, но бывают ситуации когда стоит их не использовать
2. Не консистентными даными
3. В пункте 1 привел некоторые примеры
Ответ написан