Введение

«DB2» — это аббревиатура «IBM Database 2». DB2 — подсистема операционной системы MVS[1]. Точнее, она представляет собой систему управления базами данных (СУБД) для этой операционной системы. Еще точнее, это долгожданная реляционная СУБД фирмы IBM для операционной системы MVS. DB2 является системой, которая позволяет любому числу пользователей MVS осуществлять доступ к любому числу реляционных баз данных с помощью реляционного языка, называемого SQL («Structured Query Language»).

Ряд программных продуктов фирмы IBM, предшествующих системе DB2, включает нереляционную (фактически иерархическую) СУБД для MVS, а именно систему IMS, и реляционную СУБД для операционных систем DOS/VSE и VM/CMS — систему SQL/DS. Однако в его составе не было предусмотрено каких-либо предложений относительно реляционной СУБД для MVS. (Мы должны будем позднее подробнее поговорить об IMS и SQL/DS.) В июне 1983 года была, однако, наконец объявлена реляционная система DB2 для операционной системы MVS. Цель настоящей книги — описать эту систему.

В чем смысл того факта, что некоторая система является реляционной? К сожалению, для правильного ответа на этот вопрос нужно сначала обсудить значительное количество предварительного материала. Поскольку такое обсуждение было бы неуместным в самом начале книги, отложим его на более позднее время (подробно этот вопрос рассматривается в разделе 1.4 и Приложении А). Однако, не дожидаясь такого обсуждения, попытаемся здесь дать ответ на поставленный вопрос «на скорую руку» в надежде, что такой ответ поможет снять те опасения, которые вначале испытывает читатель. Если говорить кратко, реляционной называется система, в которой:

а) пользователь воспринимает данныекак таблицы (и только кактаблицы);

б) операторы, имеющиеся в распоряжении пользователя (т. е. используемые для формулирования запроса), служат для генерации новых таблиц из старых. Например, будет иметься один оператор для выделения подмножества строк данной таблицы, а другой — для выделения подмножества столбцов. И, конечно, подмножество строк и подмножество столбцов некоторой таблицы в свою очередь сами являются таблицами Эти два момента иллюстрируются на рис 1.1. Данные (см. часть а) на рисунке) состоят из единственной таблицы, называемой ВИННЫЙ-ПОГРЕБ, с тремя столбцами и четырьмя строками. В части б) рисунка показаны два примера запросов — один из них имеет дело с операцией выделения подмножества строк, а другой — с операцией выделения подмножества столбцов.

Примечание. Эти два запроса являются фактически примерами предложения SELECT (выбрать) в структуризованном языке запросов SQL, упомянутом ранее. Язык SQL (обычно произносится «сиквел») представляет собой язык баз данных, поддерживаемый не только системой DB2, но и SQL/DS, а также несколькими программными продуктами, разработанными не фирмой IBM.

ВИННЫЙ_ПОГРЕБ ВИНО ГОД КОЛИЧЕСТВО_БУТЫЛОК
  Цинфандель Чардоней Каберне Рислинг    

а) Заданная таблица

1. Подмножество строк

SELECT FROM WHERE ВИНО, ГОД, КОЛИЧЕСТВО_БУТЫЛОК ВИННЫЙ-ПОГРЕБ ГОД = 82;
РЕЗУЛЬТАТ: ВИНО ГОД количество_бутылок
  Чардоней Рислинг    

2. Подмножество столбцов

SELECT FROM ВИНО, КОЛИЧЕСТВО_БУТЫЛОК ВИННЫЙ_ПОГРЕБ,
РЕЗУЛЬТАТ: вино КОЛИЧЕСТВО_БУТЫЛОК
  Цинфандель Чардоней Каберне Рислинг  

б) Операторы (примеры)

Рис. 1.1. Структура данные и операторы в реляционной системе (примеры)

Далее, цель этой книги заключается в том, чтобы предоставить учебное и справочное пособие по реляционной системе DB2 и, в меньшей степени, по сопутствующим ей программным продуктам — QMF и DXT (см раздел 1 3), с углубленным рассмотрением материала. Она предназначена для конечных пользователей, прикладных программистов, администраторов баз данных и, вообще, для каждого, кто желает понять основные концепции системы DB2. Книга не предназначена для замены системной документации, предоставляемой фирмой IBM. Но она является исчерпывающим и удобным однотомным руководством по использованию этого программного продукта. Как отмечалось в предисловии, особое значение, несомненно, придается пользователю и, следовательно, внешним, а не внутренним характеристикам этого продукта, хотя время от времени обсуждаются также и различные внутренние его аспекты. Предполагается, что читатель имеет общее представление о структуре и целях систем баз данных, но от него не требуется каких-либо специальных знаний, в частности, знаний о реляционных системах. Все относящиеся к делу реляционные понятия вводятся в тексте там, где они необходимы. Кроме того, в Приложении А дается более формальная сводка этих понятий для справочных целей.

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

ВАРИАНТЫ ОПЕРАЦИОННОЙ ОБСТАНОВКИ СИСТЕМЫ DB2

Система управления базами данных DB2сконструирована для совместной работы с тремя другими подсистемами MVS — IMS, CICS и TSO[2]. На рис 1.2 показана эта совокупность программных компонентов.

Рис. 1.2. Варианты операционной обстановки системы DB2

Этот рисунок можно интерпретировать следующим образом:

1. Любое заданное приложение (прикладная задача) DB2, т. е. любая прикладная программа, которая осуществляет доступ к одной или более базам данных DB2, будет исполняться под управлением в точности одной из трех подсистем IMS, CICS или TSO Иначе говоря, в точности одна из трех подсистем будет ответственной за обеспечение определенных необходимых системных услуг (которые обсуждаются в главе 11). Следовательно, можно разделить приложения DB2 на три непересекающиеся категории, а именно—на приложения IMS, CICS и TSO соответственно.

2. Вообще, любое заданное приложение (DB2 или иное) может факультативно использовать средства передачи данных IMS, CICS или TSO, когда они применимы, для связи с одним или более терминалами. Если это имеет место, такое приложение называется интерактивным (работающим в режиме On-line), в противном случае—пакетным (работающим в пакетном режиме). Приложения, исполняемые под IMS или CICS, должны быть интерактивными(см. п. 4 ниже). Приложения DB2, исполняемые под TSO, могут быть либо интерактивными, либо пакетными[3].

3. Приложение DB2, исполняемое под IMS или CICS (ноне TSO), может, помимо базы (баз) данных DB2, факультативно осуществлять доступ к одной или более базам данных IMS.

4. Пакетныеприложения, исполняемые не под TSO, вообще не могут осуществлять доступа к базам данных DB2, как уже отмечалось выше в п. 2.

5. Приложения TSO вообще не могут осуществлять доступ к базам данных IMS, как уже отмечалось выше в п. 3.

6. Все приложения IMS, CICS и TSO могут исполняться параллельно и даже могут совместно использовать одну и ту же базу данных (одни и те же базы данных) DB2.

Читателей, не знакомых с IMS и/или с CICS и/или с TSO, мы хотим ободрить следующим: для того чтобы понимать возможности DB2, нет необходимости в знакомстве с этими подсистемами. Достаточно понимать, что программа, использующая возможности DB2, должна функционировать под управлением в точности одного из компонентов — IMS, CICS или TSO, а не их совокупности. Заметим, однако, что приложение TSO может исполняться как пакетное приложение TSO в одном случае и как интерактивное приложение TSO — в другом. Предложения ввода/ вывода в программе могут быть связаны с обычными наборами данных в одном случае и с терминалом — в другом, если, конечно, программа записана таким образом, что она готова к любой из этих возможностей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: