Адаплекс - Большая Энциклопедия Нефти и Газа, статья, страница 2
Скупой платит дважды, тупой платит трижды. Лох платит всю жизнь. Законы Мерфи (еще...)

Адаплекс

Cтраница 2


Мигры для перехода по ссылкам, а сами ссылки остаются скрытыми от прикладного программиста. Та же идея используется, конечно, и ь функциональной модели данных, но в схеме на Адаплексе ( см. рис. 10.3) функции, следующие по ссылкам от записи к записи, выглядят как обычные селекторы атрибутов записи, и там они перечислены все вместе, а не описаны каждая в отдельности.  [16]

Типы, включающие данный тип, называются его супертипами ] по аналогии с терминологией объектно-ориентированных языков включаемый тип уместно было бы назвать подтипом. Однако поскольку в Аде этот термин уже занят для обозначения другого отношения между типами данных, в Адаплексе включаемый тип сущности специального названия не получил.  [17]

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

Точно так же как в Адаплексе существует понятие атомарного оператора, в Галилео есть понятие транзакции. Это означает по отношению к базе данных, что если транзакция заканчивается нормальным образом, то все совершенные ею модификации базы данных приобретают силу, в противном случае база данных остается незатронутой транзакцией. Снова, как и в Адаплексе, если не поставлено специальных скобок, каждое выражение верхнего уровня считается отдельной транзакцией. Если же необходимо объединить в транзакцию несколько выражений, они заключаются в скобки transaction и end transaction. Поскольку каждая доступная пользователю операция может быть употреблена как простая транзакция, администратор базы данных при построении ее схемы, по существу, конструирует транзакции. Таким образом, действие, кажущееся атомарным на верхнем уровне, может быть разложено на составляющие поддействия, осуществляющие, например, пошаговое обновление базы данных. Аварийное окончание внутренней транзакции может быть замечено, в результате чего может быть запущена альтернативная транзакция для получения желаемого результата. В качестве примера может служить заказ билета в системе резервирования авиабилетов. Если на заказанный рейс билетов нет, может быть сделана попытка заказать билет на другой рейс или даже на другое число. Все эти действия могут рассматриваться как альтернативные внутренние транзакции, и тогда внешняя транзакция может считаться не исполнившейся, если только не исполнились все ее внутренние транзакции.  [19]

Задачу сохранения целостности базы данных Адаплекс возлагает на модуль базы данных, а не на прикладные программы. Основной угрозой целостности считаются ошибочные модификации данных прикладными программами и взаимные помехи между параллельно выполняющимися программами. Для обнаружения ошибочных модификаций в Адаплексе служат декларации целостности, специфицирующие некоторый инвариант базы данных, а взаимное вмешательство программ предотвращается путем заключения операций с базой данных в так называемые атомарные операторы ( некоторый аналог транзакций Тексиса - разд.  [20]

Язык Галилео ( Galileo) разработан в первой половине 80 - х гг. группой под руководством А. Первая публикация по нему [111] появилась в 1983 г., более подробная [112] и полное описание реализованной версии [ ИЗ ] - в 1985 г. Основная задача, ставившаяся авторами, заключалась в создании современного сильно типизированного языка программирования баз данных, основанного на семантической модели данных ( см. разд. По назначению - построение интерактивных систем - язык можно назвать близко примыкающим к Боязу, Плейну и Тексису, а по основному средству - семантическая модель данных - к Тексису и Адаплексу. В отличие от большинства предыдущих языков Галилео не опирается ни на один из известных языков программирования и вводит совершенно оригинальные конструкции и способы их выражения.  [21]

Для каждого класса С независимо от того, создан ли он пользователем или является системным классом, Орион неявно заводит еще один класс Setof С как подкласс класса Set. Классы Setof образуют решетку, параллельную решетке явных классов. В качестве примера на рис. 3.3, а изображена решетка явных классов некоторой базы данных, а на рис. 3.3, б - ее неявное расширение. Таким образом, так же как в Адаплексе с каждым определением типа сущности автоматически связывается описание соответствующей множественной переменной, в Орионе с каждым определением класса связывается описание соответствующего множественного класса.  [22]

Для каждого объекта записаны имена функций, которые на нем определены. Если это скалярные функции, то приводятся обычные определения типов в Паскале. Если функции однозначны, то в качестве типа функции указывается имя соответствующего объекта. Если же функции многозначны, то типом является множество значений атрибута ( set of entity name. В Адаплексе обратная функция указывается только в том случае, если она поддерживается непосредственно в базе данных с использованием индексов или специальных указателей, поскольку конструкция INVERSE OF в Адаплексе отсутствует.  [23]

Для каждого объекта записаны имена функций, которые на нем определены. Если это скалярные функции, то приводятся обычные определения типов в Паскале. Если функции однозначны, то в качестве типа функции указывается имя соответствующего объекта. Если же функции многозначны, то типом является множество значений атрибута ( set of entity name. В Адаплексе обратная функция указывается только в том случае, если она поддерживается непосредственно в базе данных с использованием индексов или специальных указателей, поскольку конструкция INVERSE OF в Адаплексе отсутствует.  [24]



Страницы:      1    2