Читайте также:
|
|
СУБД ADABAS (Adaptable Data Base System) разработана и развивается Американо-германским предприятием Software AG of North America (SAG) и представляет собой систему программирования ИС классической структуры [31].
ADABAS — постреляционная система управления базами данных компании, работает в приложениях, которые предполагают обработку больших объемов данных, а также большое количество одновременно работающих пользователей (Online Transaction Processing — OLTP:). ADABAS является одной из наиболее распространенных СУБД на мэйнфреймах (больших ЭВМ).
ADABAS работает на платформах Windows NT, Unix, Open VMS, AS/400, BS2000, MVS, VSE, VM, OS/390 и др. Он поддерживает различные механизмы параллельной обработки, в частности SMP (Symmetric Multi-Processing) и Sysplex-архитектуру фирмы IBM.
ADABAS разработан и оптимизирован таким образом, чтобы обеспечить максимальную производительность для критически важных приложений, используя относительно небольшое количество вычислительных ресурсов. ADABAS разработан для средних и больших предприятий, которым требуется СУБД, позволяющая работать тысячам пользователей при необходимости быть в рабочем состоянии 24 ч в сутки 7 дней в неделю (24x7) с минимальным временем простоя.
Иллюстрацией может служить Европейское правительственное агентство, где с одной ADABAS-системой одновременно работают К) 000 пользователей, используя мощное финансовое приложение, которое обрабатывает около 200 млн. запросов в день.
Основные конструктивные особенности, обеспечивающие высокую эффективность СУБД ADABAS:
• вложенные отношения позволяют уменьшать схему базы данных и увеличивать количество данных, передаваемых за одну
операцию ввода-вывода;
• автоматическое не зависимое от платформы сжатие данных
требует меньшего объема памяти для хранения и позволяет
оптимизировать процедуры ввода-вывода информации;
• обусловленное спецификой приложений использование раз
личных типов памяти ЭВМ сокращает время обработки данных и уменьшает число операций ввода-вывода;
• использование многопроцессорных систем позволяет увеличить производительность;
• блокировки доступа к данным на уровне строки (записи) в
многопользовательском режиме снижают коллизии доступа к
базам данных и улучшают условия для параллельной обработки данных.
Подобно РСУБД, ADABAS хранит данные в таблицах, где строкам соответствуют отдельные записи, а столбцам — поля.
Отличия ADABAS от РСУБД заключаются в следующем:
• отношения могут храниться как вложенные отношения/таблицы, что приводит к сокращению использования ресурсов ЭВМ по сравнению с традиционными РСУБД;
• поддерживаются иерархические поля с возможностью иметь до
200 экземпляров значений такого поля внутри одной записи.
Способы хранения и доступа к данным в ADABAS отделены от особенностей конкретных физических носителей, что делает его гибким и эффективным.
Технология, лежащая в основе ADABAS, прекрасно соответствует новым требованиям, например, в области мультимедиа-данных, в области управления документами и других. ADABAS поддерживает различные модели и структуры данных, которые могут быть специально спроектированы для работы с разными видами приложений. Модуль ADABAS Text Retrieval (TRS) предназначен для хранения и поиска свободных, неформатированных текстов. ADABAS SQL Server дает возможность использовать ADABAS в рамках стандарта ANSI SQL. Доступ к данным, хранящимся в ADABAS, можно осуществлять с помощью:
• Natural (4GL — язык 4-го поколения) в случае OLTP-приложений (основной метод);
• SQL в случае не-OLTP-приложений;
• ODBC в случае Windows-приложений;
• JDBC для Java-приложений.
Приложения, разработанные на Natural, легко масштабируются и переносятся на другие платформы. Natural является прекрасным средством для разработки распределенных приложений. С помощью Natural удобно работать не только с ADABAS, но и со всеми основными СУБД на мэйнфреймах, Unix и Windows-системах. Natural поддерживает стандарт SQL2 и имеет возможность использовать диалекты основных РСУБД.
Для упрощения интеграции серверов приложений с персональными компьютерами NaturalX поддерживает технологию DC0M фирмы Microsoft, что делает возможным использование компонентного подхода при разработке информационных систем. Созданные ранее приложения могут быть снабжены DCOM-интерфейсами и использованы в качестве компонентов при разработке новых информационных систем. Кроме того, к приложениям, написанным на Natural, можно получить доступ через Web и Интернет.
Логическая структура БД ADABAS. База данных ADABAS может рассматриваться как в логическом, так и в физическом аспектах (рис. 2.4, табл. 2.2). На логическом уровне БД представляет собой совокупность логических файлов, содержащих записи, включающие поля различных типов.
Логический файл (ADABAS-файл) — набор данных, состоящий из записей одинакового формата, в совокупности с описанием этих данных и их взаимосвязей. Файлу соответствует уникальный номер.
Запись — совокупность логически связанных данных, ISN (Internal Sequence Number, или ВНЗ — внутренний номер записи) — уникальный для данного файла номер записи, который СУБД назначает всякой новой записи.
Рис. 2.4. Структура БД: а — логическая; б — физическая
Поле записи — низший уровень, на котором данные определяются в записях логических файлов.
Имя поля (внутреннее имя поля) — двухсимвольный идентификатор, уникальный для файла.
Групповое поле — последовательность нескольких рядом расположенных полей, определенных как целое, с одним именем.
Периодическая группа — групповое поле, допускающее повторение. Каждая реализация группы (либо элементарного поля, входящего в группу) идентифицируется индексом.
Периодическая группа может включать множественные поля.
Множественное поле — поле, содержащее более чем одно значение.
Дескриптор (обычный дескриптор) — поле, содержание которого инвертируется, запоминается в Ассоциаторе и используется в командах FIND, READ LOGICAL, HISTOGRAM.
Субдескриптор — определенная часть, порция поля, содержимое которой инвертировано и хранится в Ассоциаторе.
Супердескриптор — соединенные вместе определенные порции нескольких полей, образующие некоторое значение, которое инвертируется. Поля, не являющиеся дескрипторами, могут являться источниками супердескрипторов и субдескрипторов.
Связанные файлы — в системе может быть реализовано физическое связывание ADABAS-файлов, после осуществления которого появляется возможность «связанного поиска», при котором в поисковом критерии используются поля нескольких файлов (см. find... coupled в описании Natural).
Перечисленные выше понятия относятся к физическому уровню доступа к данным по номеру файла и внутреннему имени поля, осуществляемому обращением к БД через ядро из программы пользователя. Средства обрамления ядра используют в своей работе те или иные разновидности словаря данных.
Словарь данных — описание на логическом уровне файлов, полей и форматов с целью управления представлением данных и обращения к ним в средствах обрамления ядра.
Физическая структура БД ADABAS. Физически БД включает пять наборов данных на МД: три обязательных (ASSO, DATA, WORK) и два вспомогательных, используемых утилитами системы.
Ассоциатор (ASSO) — часть физической БД, используемая ядром системы для определения адресов записей. Ассоциатор включает следующие компоненты: 1. Ассоциативную сеть, или группу инвертируемых списков, каждый из которых представляет собой совокупность внутренних номеров записей (ISN), построенную для одного значения поискового инвертированного поля (дескриптора), т. е. перечень записей данного файла, имеющих определенное значение некоторого дескриптора. Доступ к инвертируемым спискам осуществляется по имени и значению дескриптора посредством многоуровневой индексной таблицы. Индексная таблица ассоциатора ведется автоматически, корректируясь при каждом изменении значений дескрипторов в файлах, добавлении и удалении записей;
2. Конвертор адресов, вычисляющий по ISN физический адрес
блока хранения записей в области DATA.
3. Таблицу описания полей (ТОП — FDT) — средство определения структуры записи файла СУБД, такая информация о полях, как
имя, длина, тип, вводится и запоминается при первоначальной загрузке файла.
3. Область хранения данных (DATA) — часть БД, используемая
для размещения хранимых записей. Записи хранятся в сжатом фор
мате, в виде строк переменной длины. Сжатие данных скрыто от
пользователя, поскольку СУБД выдает поля в представлениях пользователя. Принцип упаковки данных: исключение замыкающих
пробелов в текстовых полях и ведущих нулей в текстовых полях.
4. Рабочую область (WORK) — используется для размещения
промежуточных результатов при работе Ядра системы.
5. Временные необязательные наборы (TEMP и SORT) используются для сортировки дескрипторов и размещения промежуточных
данных при работе утилит.
Форматы языка Natural. Пользователю Natural предоставляется в распоряжение язык программирования (часто именуемый также Natural), позволяющий готовить исходные программные модули, работающие с БД и реализуемые в пакетном или диалоговом режимах. Пользователь может выполнять отдельные команды (операторы) в режиме транзакций.
Конструкции языка Natural строятся с использованием операндов и операторов.
Операндами могут быть:
• файлы и поля БД;
• системные переменные: *.isn (номер обрабатываемой записи),
^number (число записей, выбранных операторами find,
histogram) и др.;
• стандартные системные функции: max, min, count, aver
(максимальное, минимальное, среднее значение арифметического поля или переменной по всем или части прочитанных
записей), *date, *time (текущая дата, время) и др.;
• числовые, символьные, шестнадцатеричные строки и константы;
• числовые, символьные, шестнадцатеричные переменные, объявленные программистом.
Операторы языка разделяются на следующие группы:
• спецификация режима работы — set globals;
• выбор данных из БД — find, read, histogram;
• ВВОД/ВЫВОД — INPUT, REINPUT, WRITE, DISPLAY, NEWPAGE,
Skip и пр.;
• управление программой — accept/reject, end, for, loop,
do/doend;
• условия — at break of, at start/end of data, if, at
TOP/END PAGE;
• арифметика/назначения — compute, compress, reset, move
и пр.;
• модификация БД — delete, update, store, а также ряд
других.
Ниже приведены краткие описания форматов языка с использованием IBM-нотации: квадратные скобки [ ] означают необязательность присутствия указанного в них элемента конструкции; фигурные { } — обязательность выбора одной из альтернатив; многоточие... — повторение элемента.
Оператор set globals управляет установкой глобальных опций программы. Основные из них:
• LS (LineSize)— размер строки выходного отчета (1 — 132);
• Мт (MaxTime)— максимальное процессорное время, используемое программой (с);
• SF (SpaceFactor) — расстояние между колонками выходного отчета;
• PS (PageSize) - размер страницы отчета (1—250);
• lt (LimiT) — максимальное число записей, считываемых командами READ, FIND ИЛИ HISTOGRAM И Др.
Выборка записей:
Оператор считывает значения «дескриптора» из «файла» и определяет частоты этих значений (при необходимости они могут быть извлечены и обработаны); количество значений регулируется так же, как и в READ:
Форматы «критерия-поиска» являются стандартными для всех интерфейсов ADABAS и отражают логику работы Ядра:
Оператор read задает считывание записей из «файла» в физическом (по возрастанию ISN) или логическом (по возрастанию значений «дескриптора») порядке в интервале от «поле-1» до «поле-2»; при необходимости число обрабатываемых записей задается «ограничением».
Оператор инициирует цикл обработки, заканчивающийся либо с исчерпанием всех записей «файла», удовлетворяющих «критерию поиска» и/или «логическому критерию» как в основном («файл-1») гак и в зависимом («файл-2») файле (если в БД существуют связанные файлы). При необходимости записи сортируются по 1—3 дескрипторам «файла-1» по возрастанию или убыванию значений. Если и «файле-1» нет соответствующих значений, может предусматриваться выполнение «оператора».
«Логический критерий» является обобщением «критерия-поиска» и разрешает присутствие в правой части выражения не только «дескриптора», но и простого «поля» или переменной пользователя. Кроме того, этот тип логического выражения допускает сканирование или маскирование (поиск в левой части выражения строки, содержащейся в левой части).
Кроме оператора find «логический критерий» используется в конструкциях if.
Ввод/вывод данных (рассматриваются только некоторые операторы вывода и управление ими).
Оператор format устанавливает опции отчета:
• ES (EmptySuppress) — подавление печати пустых строк;
• IS (identicalSuppres) — заполнение пробелами идентичных значений в столбце;
• МР (MaxPages) — максимальное число страниц в отчете;
• ZP (ZeroPress) — подавление печати нулей;
• AL, NL (AlphabeticLehgth, NumericLength) — задание ширины колонки отчета для символьных и численных данных.
Оператор display имеет следующий основной синтаксис:
Здесь — «опции-отчета» и «опции-поля» в основном совпадают с опциями оператора format, однако они распространяются на данный отчет и/или конкретные поля; Операторы notitle, nohdr запрещают печать заголовка отчета и столбцов соответственно; пХ, пТ управляют пропуском n символов и табуляцией до позиции n;
«текст», помещенный непосредственно перед «полем», переопределяет заголовок столбца (HDR);
«/» задает перевод строки и соответственно вертикальную печать значений полей в столбце. Модификация write отличается от оператора display тем, что разрешает переполнение строки отчета и не обеспечивает автоматическую генерацию заголовка, write title /trailer задает печать выводимых строк в начале/конце каждой страницы отчета (рис. 2.5).
Управление программой. Оператор end задает конец программы и закрывает все незакрытые циклы, loop — закрывает
Рис. 2.5. Основные понятия, связанные со структурой страницы отчета. Здесь HDR — или «текст» из оператора DISPLAY, или название переменной или имя поля из Словаря Данных
соответствующий цикл, группа do/doend задает блок связанных операторов:
DO "оператор -1",…...,. "оператор-N" DOEND.
accept/reject IF "логич. критерий" — продолжение/прекращение обработки записи.
Оператор for имеет следующий формат:
Операторы условий:
IF "логич. критерий" [THEN] "оператор" — основной условный оператор;
перед считыванием первой записи цикла или после считывания последней записи;
вий при прерывании, т. е. изменении значения «поля» или «переменной» при сортировке записей или чтении в логическом порядке.
Арифметика и пересылки:
reset — инициализация полей;
compute "переменная" = "выражение" — вычисление и присвоение значения «выражения» «переменной». При построении выражения используются знаки (,), +, —, * (умножение), ** (возведение в целую степень), и функция SQRT (извлечение квадратного корня).
Оператор compress имеет формат:
и осуществляет пересылку (сжатие) нескольких операндов в алфавитно-цифровое поле. Опция leaving NO SPACES подавляет разделение операндов пробелом. Оператор redefine:
используется для переопределения левого оператора по байтам слева направо с помощью оператора списка правой части. Для обозначения символов-заполнителей, которые в переопределяемом поле должны пропускаться, используется запись nХ.
Дата добавления: 2015-07-20; просмотров: 661 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Табличные базы данных | | | Системы программирования dBase, Clipper, FoxBASE, FoxPro |