Для базы данных я хочу иметь некоторую блокировку, когда родитель имеет отношение к дочернему элементу, где дочерний элемент имеет значение. Если у родителя нет ссылки, он может удалить ее. Но я не могу выяснить, как мне нужно установить его во всплывающем окне отношений в VB.
В этом примере у меня есть таблица с именем Grandparent
, а grandparentID
связана с GrandparentID
в таблице Parents
. Из таблицы Parents
parentID
связан с таблицей Children
и их ParentID
. Из таблицы Children
ChildrenID
связан с childrenID
в таблице Grandchildren
.
Теперь, если, например, у дедушки нет ссылки на Родителя, то у Родителя нетссылка на детей, а также нет на внуков. Таким образом, этот родитель я хочу иметь возможность удалить, когда есть ссылка на детей, то он должен быть заблокирован от удаления.
Однако в любой момент я смогу удалить данные, удалив назад, сначала внуков, детей, родителей, а затем дедов.
Как установить это в SQL Server? Нужно ли устанавливать правило удаления-удаления как None, Cascade или SetNull? Также для правила Принять / Отклонить, как установить?
Также нужно ли иметь эти отношения в качестве ограничения, когда отношения создаются только между значениями int?