DB2 – система управления реляционными базами данных. Заданное число упорядоченных столбцов и неупорядоченные строки

Страницы работы

Содержание работы

DB2 – система управления реляционными базами данных

·  В реляционной базе данных данные представляются конечному пользователю в виде таблиц.

·  База данных может содержать одну или несколько таблиц.

·  Каждая таблица содержит заданное число упорядоченных столбцов и неупорядоченные строки.

·  Каждый столбец в строке одним и тем же способом связан с остальными столбцами.

·  Порядок столбцов задается во время определения таблицы.

·  Максимальное число столбцов в таблице - 750

База данных DB2 включает также дополнительные структуры: табличные пространства, группы памяти, представления, индексы и другие элементы.

    
Как конечный пользователь видит данные

Как конечный пользователь DB2 “видит” данные, хранящиеся в базе данных?  Он видит таблицы и выполняет SQL-операторы относительно  этих таблиц. Он не “видит” других параллельно работающих пользователей (приложений) и не должен волноваться о целостности данных.


Типы конечных пользователей

Кроме “интерактивных” (или “динамических”) конечных пользователей, которые вводят SQL-операторы с терминалов, DB2 также поддерживает “статических” пользователей. Эти пользователи используют программы (транзакции), содержащие встроенные SQL-операторы.

Такие пользователи могут не знать SQL и могут даже не осознавать, что они получают доступ к данным, которые хранятся в DB2. Приложения, с которыми они работают, не ожидают ввода SQL-операторов с терминала. Они содержат встроенные SQL-операторы, для которых пользователь должен лишь указать недостающую информацию. Структура SQL-операторов определяется на этапе написания приложения.


Утилиты

-         работают на уровне объекта

-         выполняются в пакетном режиме

-         понимают "управляющие операторы", не SQL

Утилиты – специальные приложения, которые могут быть запущены с помощью JCL.  Они запускаются из пакетов и получают управляющую информацию с помощью управляющих выражений (control statements).

Утилиты работают на уровне объектов, а не на уровне строк и элементов данных. Они позволяют, например, создать резервную копию таблиц (утилита COPY), реорганизовать таблицу данных (утилита REORG) или загрузить данные из набора данных (утилита LOAD).


Взгляд на обращения к данным со стороны системы DB2

-  DB2 принимает множество запросов от многих пользователей, обращающихся к одним и тем же данным.

-  Кроме пользовательских программ, DB2 также принимает запросы от утилит.

Как это выглядит со стороны DB2?  Тысячи конкурирующих программ обращаются к одним и тем же данным.

Более того, DB2 принимает запросы из специальных программ (которые не используют SQL, но понимают так называемые “управляющие выражения”), называемых утилитами.


Логическая единица работы

Основная задача любого приложения – сгруппировать SQL-операции в логические единицы работы (LUW – Logical Units of Work) так, чтобы обозначить начало и конец логической единицы работы.

Приложение должно “сказать” системе, когда логическая единица работы начинается и заканчивается. Это - часть бизнес-логики. Типичная банковская транзакция (дебет/кредит) не имеет смысла, пока она не переведет деньги с одного счета на другой и, таким образом, обновит оба счета. Команда COMMIT сообщает DB2, что логическая единица работы завершилась успешно. Или, в случае некоторого сбоя, команда ROLLBACK сообщает DB2, что целая единица работы должна быть “откачена” назад.

Форма команды COMMIT зависит от среды выполнения приложения: EXEC SQL COMMIT – для TSO и пакетного режима, EXEC CICS SYNCPOINT – для CICS, GU IOPCB или CHKP-вызовы  – для IMS.

В DB2 для логической единицы работы используется термин единица восстановления (UR – Unit of Recovery).

Поддерживать данные в согласованном состоянии – задача DB2

Данные, модифицированные LUW, потенциально несогласованны и, поэтому, должны быть скрыты от других процессов до момента завершения единицы работы ( COMMIT или ROLLBACK). Модифицированные данные недоступны другим приложениям, и эти приложения должны будут ожидать завершения единица работы.

Когда единица работы завершится, DB2 “разбудит” спящие задачи и разрешит им доступ к данным.


Защита данных в DB2

Каждый SQL-запрос, каждый запрос на выполнение утилиты должен быть явно авторизован, иначе обращение будет отвергнуто. SQL-операторы GRANT и REVOKE позволяют управлять защитой данных в DB2.

Информация о защите данных (правах доступа) хранится каталоге DB2 (набор таблиц, содержащих управляющую информацию DB2).


Обеспечивать конкурентное обращение к данным – задача DB2

Для того, чтобы обеспечить параллельный доступ к данным и при этом обеспечить 100% согласованность данных, DB2 использует механизм “блокирования”.

Похожие материалы

Информация о работе