Классика баз данных - статьи



         

Реляционные инварианты - часть 8


Однако, если разрушен кузов, то и автомобиль обычно также считается разрушенным. Поскольку на подобные вопросы относительно удаления можно отвечать только в рамках семантики более высокого уровня, необходимо оставить открытым решение вопроса о том, как поддерживать инвариант (i). Когда проектируются транзакции, программист может выбрать, какая альтернатива в наибольшей мере соответствует тем ограничениям целостности, которые он желает поддерживать.

Аналогичные соображения применимы к инварианту (iv). Пусть мы имеем общий класс объектов x, который включает все объекты из более специального класса y. Вопрос состоит в том, следует ли удалять объект из x, когда он удаляется из y. Допустим, например, что некоторый объект прекращает быть автомобилем Форд. Поскольку изменение изготовителя – не слишком осмысленное действие, естественно предположить, что объект вообще перестает быть "автомобилем". С другой стороны, допустим, что некоторый объект прекратил быть "красным автомобилем". Поскольку достаточно легко перекрасить красный автомобиль в голубой цвет, можно предположить, что этот объект по-прежнему остается "автомобилем". Следовательно, решение о том, как следует поддерживать инвариант (iv) при операциях удаления, должно приниматься на более высоком уровне моделирования.

Из предыдущего обсуждения должно быть ясно, что процедуры поддержки инвариантов в предназначены для того, чтобы отражать абстрактную структуру реального мира. Поэтому, в принципе, безотносительно к тому, какая реляционная модель рассматривается, запускаемые последовательности операций обновления должны отражать "естественные" побочные эффекты первоначального определенного пользователем обновления. Если же, однако, мы игнорируем свою интерпретацию реального мира и рассматриваем этот вопрос формально, то вовсе не легко проверить, что последовательности запускаемых обновлений будут обязательно вести себя правильно.

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


Содержание  Назад  Вперед