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

       

Некоторые лингвистические аспекты


При применении описанного выше реляционного представления данных возникает возможность разработки некоторого универсального подъязыка выборки данных, основанного на исчислении предикатов второго порядка . Такой язык обеспечил бы мерило лингвистической мощности для всех других предлагаемых языков выборки данных и сам являлся бы серьезным кандидатом на встраивание (с соответствующей синтаксической модификацией) в разнообразные основные языки (языки программирования, командные или проблемно-ориентированные языки). Хотя целью этой статьи не является подробное описание такого языка, он обладал бы следующими основными чертами.

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

Класс выражений ограничения, которые можно использовать в спецификации требуемого набора данных, находится в точно заданном взаимнооднозначном соответствии с классом правильно построенных формул исчисления предикатов в предваренной нормальной форме [4]. Средствами H можно определить любую арифметическую функцию, и любую такую функцию можно вызвать средствами R. Специфицированный набор данных может только выбираться из базы данных или удерживаться для возможного выполнения изменений. Вставки новых данных выполняются в виде добавления новых элементов к объявленным отношениям безоотносительно к какому бы то ни было порядку, присутствующему в их машинном представлении. Удаления, которые воздействуют на все сообщество пользователей банка данных (а не на отдельных пользователей или часть их сообщества), выполняются в виде удаления элементов из объявленных отношений.
Некоторые удаления могут инициироваться другими удалениями, если средствами R объявляются зависимости по удалению между указываемыми отношениями.

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

Кроме того, если принять реляционное представление, в котором каждое n-арное отношение (n > 2) должно выражаться пользователем как вложенное выражение, включающее только бинарные отношения, то придется использовать 2n-1, а не n+1 имен, которых достаточно при использовании n-арной нотации, описанной в разд. 1. Например, 4-арное отношение ship с рис. 1, содержащее 5 имен в n-арной нотации, представлялось бы во вложенной бинарной нотации в форме

P ( supplier, Q ( part, R ( project, quantity ) ) ),

и в нем использовалось бы 7 имен.


Содержание раздела