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




Сложность данных в именах. - часть 2


Возвращаясь к ложной идее "РМД требует, чтобы предметная область была описана как множество отношений", попытаемся вообразить себе аналогичное требование: "арифметика требует, что бы предметная область была описана как множество чисел". Не получилось? До кучи можно добавить следующее: "Исходя из арифметики, все данные в системе должны быть описаны только как значения числовых переменных" и "Арифметика предполагает, что некоторые числовые переменные являются хранимыми, а некоторые – вычисляемыми". Абсурд? Конечно абсурд! Но представьте на секунду, что к таким требованиям люди относятся серьезно, считая их чуть ли не аксиомами, – получилось ли бы у них создать ОО-языки в том виде, в котором они существуют сейчас? Нет, у них было бы возможно только "x+y". И тот факт, что такая система являлась бы правильной реализацией арифметики, вряд ли бы сделал более легким её использование в качестве инструмента описания предметной области. К величайшему сожалению, дело с реляционной моделью данных обстоит сейчас именно таким образом.

Вспомним еще раз, что модель данных – это:

  • коллекция типов, где тип – это множество значений,

  • коллекция возможных операций над экземплярами этих типов и

  • коллекция применимых к ним ограничений целостности.

    Здесь нет ни слова о предметной области – модель данных формальна и бессмысленна. Также здесь нет ни слова о возможных реализациях, о переменных и о языке.

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

    созданные переменные отношений (во многих реализациях называемые таблицами).




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