Блокировать родительский от удаления, когда дочерний элемент доступен в SQL Server - PullRequest
0 голосов
/ 23 октября 2019

Для базы данных я хочу иметь некоторую блокировку, когда родитель имеет отношение к дочернему элементу, где дочерний элемент имеет значение. Если у родителя нет ссылки, он может удалить ее. Но я не могу выяснить, как мне нужно установить его во всплывающем окне отношений в VB.

В этом примере у меня есть таблица с именем Grandparent, а grandparentID связана с GrandparentID в таблице Parents. Из таблицы Parents parentID связан с таблицей Children и их ParentID. Из таблицы Children ChildrenID связан с childrenID в таблице Grandchildren.

Теперь, если, например, у дедушки нет ссылки на Родителя, то у Родителя нетссылка на детей, а также нет на внуков. Таким образом, этот родитель я хочу иметь возможность удалить, когда есть ссылка на детей, то он должен быть заблокирован от удаления.

Однако в любой момент я смогу удалить данные, удалив назад, сначала внуков, детей, родителей, а затем дедов.

Как установить это в SQL Server? Нужно ли устанавливать правило удаления-удаления как None, Cascade или SetNull? Также для правила Принять / Отклонить, как установить?

Также нужно ли иметь эти отношения в качестве ограничения, когда отношения создаются только между значениями int?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...