-2

Я прошу помощи специалиста, вероятно, разработчика базы данных или администратора.

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

Это пример того, что я хочу сделать:

  • Я создаю таблицы, одна из которых называется «Склад» и предназначена для хранения товаров или аксессуаров, имеющихся в магазине, а другая таблица называется «Customer_Details».
  • Я хочу установить поле в обоих полях (то есть поле с именем «доступность»), которое будет иметь тип данных Да / Нет, это поле должно присутствовать в обоих полях
  • Каждый раз, когда клиент приобретает конкретный аксессуар, выбранный из таблицы «Акции», он автоматически изменит значение поля «доступность» на складе,

Все, что я знаю и пытаюсь сделать, это установить ссылочную целостность в окне отношений, но, к сожалению, это не сработает,

Я любезно ищу кого-то, кто может объяснить мне, как это сделать, поскольку я новичок в доступе к 2007 году.

1 ответ1

0

«Проблема, с которой я сталкиваюсь, заключается в том, что, когда я закончу установку этой ссылочной целостности, он не разрешит пустые значения в другой таблице»

Допустимы значения Nul , но есть ограничения:

Однако вы можете ввести значение NULL во внешнем ключе. Это указывает, что записи не связаны. Например, у вас не может быть заказа, назначенного несуществующему клиенту. Однако вы можете получить заказ, который никому не назначен, введя нулевое значение в поле CustomerID.


Источник Как определить отношения между таблицами в базе данных Access

Ссылочная целостность

Ссылочная целостность - это система правил, которую Access использует, чтобы удостовериться, что отношения между записями в связанных таблицах действительны, и что вы случайно не удаляете и не изменяете связанные данные. Вы можете установить ссылочную целостность, когда выполняются все следующие условия:

  • Соответствующее поле из первичной таблицы является первичным ключом или имеет уникальный индекс.
  • Связанные поля имеют одинаковый тип данных. Есть два исключения. Поле AutoNumber может быть связано с полем Number, в котором для свойства FieldSize задано значение Long Integer, а поле AutoNumber, в котором для свойства FieldSize задано значение Replication ID, может быть связано с полем Number, в котором для свойства FieldSize задано значение Replication ID.
  • Обе таблицы принадлежат одной и той же базе данных Access. Если таблицы являются связанными таблицами, они должны быть таблицами в формате Access, и вы должны открыть базу данных, в которой они хранятся, чтобы установить ссылочную целостность. Ссылочная целостность не может быть обеспечена для связанных таблиц из баз данных в других форматах.

При использовании ссылочной целостности применяются следующие правила:

  • Вы не можете ввести значение в поле внешнего ключа связанной таблицы, которое не существует в первичном ключе первичной таблицы. Однако вы можете ввести значение NULL во внешнем ключе. Это указывает, что записи не связаны. Например, у вас не может быть заказа, назначенного несуществующему клиенту. Однако вы можете получить заказ, который никому не назначен, введя нулевое значение в поле CustomerID.
  • Вы не можете удалить запись из первичной таблицы, если в связанной таблице существуют соответствующие записи. Например, вы не можете удалить запись сотрудника из таблицы "Сотрудники", если в таблице "Заказы" назначены сотруднику заказы.
  • Вы не можете изменить значение первичного ключа в первичной таблице, если эта запись имеет связанные записи. Например, вы не можете изменить идентификатор сотрудника в таблице "Сотрудники", если в таблице "Заказы" назначены этому сотруднику заказы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .