Астрид - Большая Энциклопедия Нефти и Газа, статья, страница 1
Опыт - это замечательная штука, которая позволяет нам узнавать ошибку, когда мы опять совершили ее. Законы Мерфи (еще...)

Астрид

Cтраница 1


Астрид включает в себя дополнительно некоторые другие операции, главными из которых являются Extend ( расширение) и Group-By ( группировка), предназначенные для получения вычисляемых данных. Аналогичные операции, такие, как встроенные функции для SQL и QBE - были добавлены к основанным на исчислении языкам, что было показано в гл.  [1]

Система Астрид реализует операции реляционной алгебры путем генерации и модификации программ. Каждое отношение представляется одной или несколькими траверсалями, которые работают как его генераторы. В основном эти траверсали состоят из некоторого количества циклов, которые осуществляют доступ к полям якорной записи и записей, связанных с ней. Для каждого отношения в схеме есть одна траверсаль, начинающаяся от якорной записи, и по одной альтернативной траверсали, начинающейся от каждого ее владельца.  [2]

Итак, по методу системы Астрид, как и по методу Заниоло, мы имеем для каждого типа записи одно отношение, образованное миграцией достаточного для правильного синонима количества значений. Такие отношения являются объектными, и мы можем исключить те из них, которые получаются как проекции других объектных отношений, для которых они поставляют мигрирующие ключи. Нам нужно также одно дополнительное связное отношение для каждого из тех типов наборов, которые подобно набору Мифы не поставляют мигрирующий синоним своего владельца для объектного отношения. Вместо миграции всей информации о владельцах в единственный реляционный кортеж, как в методе Заниоло, мы образуем несколько отдельных отношений, являющихся на самом деле его проекциями; это делает менее вероятным наличие в них нуль-значений и способствует более легкому рассмотрению альтернативных путей доступа, которые не ведут к ненужной информации о владельцах.  [3]

Последний оказал сильное влияние на проект Астрид [46], который включал в себя полную реляционную алгебру и использовался в разных организациях в течение ряда лет.  [4]

В следующем разделе мы будем рассматривать другой метод ( системы Астрид), где вместо выполнения операций над потоками значении данных пытаются модифицировать текст порождающей подпрограммы так, чтобы она получилась более эффективной за счет использования указателей кодасиловских наборов. Оказывается, что модификация программы для эффективного выполнения операции соединения обычно работает хорошо, потому что кодасиловские наборы были спроектированы для быстрого получения ответов на часто задаваемые вопросы; это выглядит так, как будто информация о соответствии кортежей при некоторых часто выполняемых операциях соединения заранее вычислена и сохранена в цепочках кодасиловских указателей. Когда это не удается, система отступает и порождает сопрограмму ( см. ниже), которая работает с потоками кортежей обычными методами. Другое преимущество метода модификации программ состоит в том, что он дает возможность использовать описанное ранее очень общее отображение системы Астрид, которое представляет отношения кусками программ, их порождающими.  [5]

Формально проекция записывается следующим образом: R projected to имя-атрибута имя-атрибута синтаксис Астрид R [ номер-атрибута номер-атрибута ] синтаксис Кодда где список имен-атрибутов означает имена сохраняемых столбцов. Синтаксис Кодда вместо имен атрибутов использует их номера.  [6]

Изучив конкретные примеры, можно сформулировать общий алгоритм трансляции из QBE в обозначения Астрида.  [7]

О том, как Ингигерд, дочь шведского конунга Олава Эй-рикссона ( правившего с 995 по, вероятно, 1021 г.) и Астрид ( вероятно, происходившей из балтийско-славянского племени вендов), стала женой русского князя Ярослава Владимировича Мудрого ( великого князя киевского 1016 - 1018, 1019 - 1054 гг.), говорится в значительном числе древнескандинавских источников конца XII - первой трети XIII в.  [8]

Белл и Грэй [7] разработали отображение, которое позволяет для кодасиловской базы данных получать ответ на любой запрос, сформулированный в реляционной алгебре системы Астрид.  [9]

Чтобы лучше разобраться в смысле этого запроса, дадим название каждому промежуточному результату и запишем запрос поэтапно, что можно сделать в системе языка Астрид. Имена отношений появляются сразу же, как только они были введены, и могут быть использованы впоследствии в любых выражениях.  [10]

Реляционная алгебра работает на множествах кортежей и выдает множества в качестве результатов, она замкнута относительно своих операций. Астрид, содержащий операции расширения и группировки, может быть использован для того, чтобы сформулировать любой запрос, выраженный на SQL; для предложенной Коддом алгебры это не так. Квантор общности можно выразить, используя встроенную функцию ALL совместно с группировкой или же используя операцию разности множеств. Возможность поименовать промежуточные отношения облегчает использование языка для сложных запросов, а также позволяет определять представления.  [11]

В отношениях могут быть дополнительные атрибуты, получаемые по якорной записи способами 4 и 5 Кея. В нынешней реализации Астрида порождается подходящая подпрограмма. Эта подпрограмма всякий раз, будучи вызвана для доступа к якорной записи данного типа, вычисляет значения этих дополнительных атрибутов и помещает их в область памяти COMMON, которая трактуется так, как если бы она была частью пользовательской рабочей области.  [12]

Мы видели, что реляционная алгебра в обозначениях Астрид имеет аппликативный синтаксис, использующий инфиксные операции. Мы также видели, каким образом можно подставлять выражения вместо поименованных промежуточных отношений; это допустимо, поскольку язык обладает ссылочной прозрачностью. В связи с этим можно вместо существующих выражений подставлять их эквиваленты, не меняя значения результата.  [13]

Здесь не требуется явно указывать UNIQUE, потому что Астрид автоматически удаляет дубликаты.  [14]

Чтобы работать с этой информацией, нам придется все время осуществлять соединение этих отношений по значениям атрибута ISGN, и поскольку система Астрид, порождает в обоих случаях одни и те же программы, лучше оставить меньшее количество отношений ( ИГРЫ и РАЗМ СТАДИОНОВ); при этом мы сэкономим на времени трансляции и получим более понятное представление пользователя.  [15]



Страницы:      1    2