Допустим, у меня есть две таблицы в базе данных:
[Movies] (Scheme: Automatic)
----------------------------
MovieID
Name
[Comments] (Scheme: Manual)
----------------------------
CommentID
MovieID
Text
Таблица «Фильмы» обновляется службой каждые 10 минут, а таблица «Комментарии» обновляется вручную пользователями базы данных.
Обычно вы просто создаете простое отношение внешнего ключа между двумя таблицами с каскадным обновлением и удалением, но в этом случае я хочу иметь возможность сохранять введенные вручную данные, даже если удаляется фильм, на который он ссылается ( служба обновлений не так надежна). Это должно быть проблемой только при переходе один-ко-многим из автоматического стола в ручной. Как бы вы разделили руководство и автоматически заполненные части базы данных?
Я планировал добавить внешний ключ, который не поддерживает ссылочную целостность и только каскадные обновления, а не удаления. Но есть ли какие-нибудь подводные камни, о которых я должен знать, делая это таким образом? Я имею в виду, за исключением того факта, что я мог бы получить некоторые ручные данные, которые на самом деле ни на что не ссылаются.
Редактировать / Уточнить:
Просто чтобы уточнить. Таблицы примеров полностью составлены. В действительности БД будет содержать такие объекты, как серверы, приложения, заметки о приложениях, номера версий и т. Д. Информация, относящаяся к серверу, будет заполняться автоматически, но некоторые детали приложения будут заполняться вручную. Это может быть информация, такая как специальные конфигурации и тому подобное. Даже если запись с сервера будет удалена, заметки приложения на этом сервере по-прежнему ценны и не должны быть удалены.