Важно: Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.
Предполагаемое действие:
Правила целостности ссылочных данных
Использование правил целостности данных предотвращает случайное нарушение соответствия между связанными столбцами.
Предположим, в базе данных «Книги» имеются две таблицы — «Названия» и «Авторы». У каждой книги есть только один автор, но каждый автор может иметь несколько книг — это называется связью «один-ко-многим». Таблица на стороне «один» называется родительская таблица. Таблица на стороне «многие» — дочерняя таблица.
Чтобы собрать сведения о каждой книге и ее авторе, в запросах используются ключи для связи каждой книги в таблице «Названия» с ее автором в таблице «Авторы». В родительской таблице («Авторы») должен быть первичный ключ, однозначно определяющий каждую строку. В таблице «Названия» должен быть столбец, содержащий значение «КодАвтора» для каждой книги. Этот столбец называется внешний ключ. Первичный ключ определяет каждого автора, а внешний ключ — книги, написанные этим автором.
Если значение «КодАвтора» в родительской таблице будет изменено, а его обновление в таблице «Названия» выполнено не будет, книги в таблице «Названия» будут отображены с неверным автором.
Вместо изменения значения «КодАвтора» в обеих таблицах можно установить правила целостности данных по выполнению нужных действий. Можно выбрать вариант, при котором в модели базы данных будут выполнены определенные действия в случае изменения или удаления ключа в родительской таблице.
Примечание: Термины родительской и дочерней используются для означает, что-то совсем в категории, которые создаются с фигурами родительской категориям, категории и категории к дочернему. Дополнительные сведения о категории отображается Определение категорий в схеме модели базы данных.
Установка действий для обеспечения целостности данных
-
Дважды щелкните связь, для которой требуется установить действие.
-
В окне «Свойства базы данных» в группе Категории выберите вариант Действие ссылочной целостности.
-
Выберите действие, которое база данных должна выполнить с соответствующим значением в дочерней таблице:
-
Без действия При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы остается без изменений.
-
Каскад При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы изменяется или удаляется, чтобы совпадать с первичным ключом.
-
Присвоить пустое значение При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы будет NULL.
-
По умолчанию При изменении или удалении значения в первичном ключе родительской таблицы соответствующему значению во внешнем ключе дочерней таблицы будет задано значение по умолчанию.
-
Не обеспечивать Это действие отключает правила целостности данных для этой связи.
-
Примечание: Если параметры Присвоить пустое значение и По умолчанию недоступны, вероятно, для связи выбран параметр «Необязательный» на вкладке Прочее окна «Свойства базы данных».
Задание значения по умолчанию для столбца
Чтобы воспользоваться действием По умолчанию, для столбца необходимо задать значение по умолчанию.
-
Дважды щелкните таблицу в схеме, чтобы открыть окно «Свойства базы данных».
-
В группе Категории выберите вариант Столбцы, выделите столбец, для которого требуется создать значение по умолчанию, а затем нажмите кнопку Изменить.
-
На вкладке Определение диалогового окна Свойства столбца введите значение по умолчанию.
Отображение целостности данных с помощью нотации
Можно выбрать параметры документа, отображающие или скрывающие нотацию целостности данных рядом с линиями связи в модели.
Что означают буквы в нотации целостности данных
В нотации целостности данных связи отображаются двумя буквами, разделенными двоеточием, в виде: [выполненное действие в родительской таблице]:[результат в дочерней таблице]. Например, «d:C» означает удаление какого-либо элемента в родительской таблице, что приведет к каскадным изменениям в дочерней таблице.
Действия в родительской таблице обозначаются строчными буквами.
-
u Данные в родительской таблице обновлены.
-
Данные в родительской таблице d будут удалены.
Результаты в дочерней таблице обозначаются прописными буквами.
-
R (без действия) Изменение дочерней таблицы не требуется.
-
C (каскад) Повторение изменения в дочерней таблице.
-
D (по умолчанию) Вставка значения по умолчанию, заданного ранее для этого столбца в дочерней таблице.
-
N (присвоить пустое значение) Задание дочерней таблице значения NULL.
-
(Пусто) Не следить за целостностью данных этой связи.
Примечание: Эти параметры оказывают влияние на действия в фактической базе данных, а не в модели. В модели, реконструированной из существующей базы данных, можно видеть, каким образом база данных разработана с учетом целостности данных. В модели, созданной с нуля, эти параметры можно использовать для описания функционирования моделируемой базы данных.
Отображение целостности данных
-
В меню База данных выберите пункт Параметры, а затем — команду Документ.
-
На вкладке Отношение в группе Показывать установите флажок Действия ссылочной целостности.