Это разумная идея
Проблема заключается в следующем.Так как данные не связаны, вы можете удалить что-то из таблицы сотрудников и по-прежнему иметь ссылки в UserLog.После удаления информации о сотруднике у вас нет возможности узнать, с чем связаны данные журнала.Это нормально?Технически да.Ничто не мешает вам сделать это, но тогда почему вы храните данные в первую очередь?Вы также не можете гарантировать, что данные в таблице на самом деле относятся к сотруднику.Кто-то может случайно ввести неверный EmployeeID в таблицу, которая никому не принадлежит.Ключи помогают предотвратить повреждение данных.Всегда лучше иметь дополнительные данные, чем плохие.
Я обнаружил, что вы никогда не хотите удалять данные, когда это возможно.Пространство дешево, и вы можете добавить флаги и т. Д., Чтобы показать, что запись не активна.Да, это требует больше работы (это можно быстро исправить, создав представление, отображающее только активных сотрудников) и сказав, что вы никогда не должны удалять данные, которые извлекаются далеко, но вы начинаете связывать данные вместе.Удаление становится очень сложным.Если вы не добавляете FK просто для того, чтобы удалять записи, это говорит о том, что вам нужно пересмотреть свою стратегию.
Использование Cascade Delete также может быть очень опасным.Модель, которую вы заявляете, заключается в том, что в любое время, когда вы не хотите удалять данные, вы должны знать, чтобы не добавлять FK в эту таблицу, которая связывает ее с пользователями.Это не займет много времени, чтобы забыть об этом.