Брешенков А.В., Волкова Е.А., Галямова Е.В. - Знакомство с СУБД DB2. Язык DDL
Описание файла
PDF-файл из архива "Брешенков А.В., Волкова Е.А., Галямова Е.В. - Знакомство с СУБД DB2. Язык DDL", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Министерство образования и науки Российской ФедерацииФедеральное агентство по образованиюГосударственное образовательное учреждение высшего профессиональногообразованияМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙУНИВЕРСИТЕТ ИМ. Н.Э. БАУМАНА(МГТУ им. Н.Э. Баумана)Факультет «Информатика и системы управления»Кафедра «Компьютерные системы и сети»Брешенков А.В., Волкова Е.А., Галямова Е.В.Знакомство с СУБД DB2.
Язык DDLМетодические указаниядля выполнения лабораторной работы по курсу«СЕТЕВЫЕ БАЗЫ ДАННЫХ»2009 год,МоскваЛабораторная работа «Знакомство с СУБД DB2. Язык DDL»АннотацияСистема управления базами данных DB2 (СУБД DB2) компании IBM— это мощная высокопроизводительная многоплатформенная СУБД. Онапоставляется с целым набором клиентских инструментов, которые могутбыть использованы для выполнения операторов языка структурированныхзапросов SQL.База данных DB2 для z/OS отличается высокой степенью готовности,масштабируемостью и производительностью при обработке транзакций, внеё включена поддержка очень больших баз данных благодаря поддержке64-разрядныхвиртуальныхсистемхранения.Однакосуществуютнекоторые специфические особенности работы с СУБД на больших ЭВМкласса IBM мэйнфрейм System z, которым и посвящено данноеметодическое указание.В данном сборнике изложены основы реализации баз данных DB2 намэйнфрейме.
Дано краткое описание архитектуры СУБД DB2,компонентовязыка SQL, способов доступа к DB2 для z/OS, а также процессавыполнения скриптов.В практической части приведены примеры sqlскриптов и указаны настройки утилиты SPUFI для их запуска.Цели лабораторной работы: Изучение интерфейса ISPF (Interactive System ProductivityFacility) для работы с СУБД DB2;использование утилиты SPUFI (SQL Processor Using File Input)для выполнения скриптов; создание и заполнение объектов DB2; изучение влияния ссылочной целостности с использованиемутилиты SPUFI.21. Теоретическая часть1.1 База данных DB2.
Общие сведения.Система управления реляционнымибазамиданныхDB2(реляционная СУБД, Relational Database Management System - RDBMS)являетсясоставнойчастьюсемействапродуктовIBMInformationManagement. Считается, что DB2 была первой реляционной СУБД, вкоторой начали использовать SQL (язык, который обеспечивает интерфейск реляционным СУБД). В ней поддерживаются все 3 категории языка SQL:Язык DML – Data Manipulation Language – используется длячтения и изменения данных.
Используются 4 оператора: SELECT,UPDATE, INSERT, DELETE;Язык DDL – Data Definition Language – используется длясоздания, изменения и удаления объектов. Используются 3 оператора:CREATE, ALTER, DROP;Язык DCL – Data Control Language – используется для выдачи иотмены авторизации, имеет 2 оператора: GRANT и REVOKE.Управление базой возможно из разных точек. Если она установленана ОС Windows, Linux или Unix, то она имеет графический интерфейс,который в свою очередь, имеет удобный конструктор запросов и окнопросмотрасодержимогобазы,такжевграфическоминтерфейсепредусмотрен и ручной ввод запросов на языке SQL. На этих ОСпредусмотрен и вариант работы через командную строку, который такжепозволяет вводить запросы, просматривать журналы базы и производить ееобслуживание – архивацию, резервное копирование и т.п.Если база установлена на мейнфрейм, то в z/OS предусмотрена целаяподсистема работы с DB2 – SPUFI (Главное меню интерфейса SPUFIпоказано на рисунке 1).3Логическая организация данных также стандартная: база данных, а вней таблицы.
В таблице – поля и ключевые поля для объединения таблиц.Укаждойтаблицыестьидентификатор–схема,позволяющаягруппировать таблицы по их владельцам. На физическом уровне всегораздо сложнее, поэтому описанию физического устройства DB2посвящен раздел 1.2.Сервер базы данных может быть установлен как на локальноймашине, так и на удаленной. Доступ осуществляется через сетевыепротоколы (если используется ОС Windows, то это протокол TCP/IP, порт50000, а если используется ОС z/OS – то это протоколы SNA и TCP/IP, порт446).К системным ресурсам DB2 требовательна, хотя работа в целомзависитотпоставленнойзадачи.Наилучшаяпроизводительностьдостигается путем установки на мейнфрейм.1.2Физическое устройство DB2Элементы физического уровня базы данных DB2 можно разделить на2 группы:Структуры данных: используются для организации данныхпользователя иСтруктуры системы: управляются самой DB2.Рассмотрим подробнее структуры данных и структуры системы,специфичные для DB2.1.2.1 Структуры данных DB2Структуры данных также можно разбить на 2 типа:Базовыеструктуры(виды,пространства, группы жестких дисков);4табличныеииндексныеСтруктуры схем (типы данных, функции, триггеры, большиеобъекты и хранимые процедуры).Структуры схем – это новый тип объектов, который ввели вмейнфрейм для совместимости с семейством DB2 для ОС Windows, Linuxи Unix.
Схема – это логическое объединение этих новых объектов.Базовые структурыВиды (Views)Вид является альтернативным способом представления данных,содержащихся в одной или нескольких таблицах. Можно создать видтаблицы, в котором видна часть полей и разрешить работу и их изменениеодной группе пользователей. Таким образом, эти пользователи не имеютдоступа ко всей таблице, а могут видеть и работать только с конкретнымвидом таблицы. Таким образом, виды используются в целях безопасности.Также можно обезопасить работу с базой, запрещая полностью прямуюработу с таблицами – для этого работа с базой и таблицами ведется толькос использованием видов.
Вид можно использовать для упрощения сложныхзапросов для начинающих пользователей – запрос к реальной базе будетсоздан автоматически – пользователь об этом даже не узнает.Табличные пространства (Table spaces)Таблица – это логическая структура. Она хранится в физическомнаборе данных (data set) – в табличном пространстве.
Табличноепространство – структура на физическом диске, может хранить одну илинесколько таблиц. Имя табличного пространства состоит из имени базыданныхиизнепосредственноименитабличногопространства:PAYROLL.ACCNT_RECV (PAYROLL – имя базы данных, а ACCNT_RECV– имя табличного пространства). Табличные пространства бывают 3хтипов: Простые (Simple), Сегментированные (Segmented) и Библиотечные(Partitioned).База данных DB2 использует наборы данных с виртуальным методом5доступа VSAM, т.е. каждый сегмент – это набор данных VSAM.Индексные пространства (Index Spaces)Индексное пространство – другая структура данных, которая хранитодин индекс.
Стоит отметить, что при создании индекса DB2 сама создаетдля него индексное пространство.Группы жестких дисков (Storage Groups)Хранят набор томов на дисках DASD, которые, в свою очередь,непосредственно хранят таблицы и индексы.Нарисунке2приведенаиерархияструктурданных,иллюстрирующая все вышесказанное.Структуры схемТип данных, определяемый пользователем (User-Defined DataType – UDT)С помощью UDT можно создавать пользовательские типы данных,еслиестьтакаянеобходимость.Однако,UDTбазируютсянасуществующих типах. Пример – валюта, можно создать тип EURO,основанный на типе decimal – десятичное число и тип US_DOLLAR. Врезультате мы не можем складывать евро с долларами.Функция, определяемая пользователем (User-Defined Function –UDF)Функцию UDF можно легко задать на основе уже существующихфункций базы DB2, таких как округление, определение среднего значенияи т.п.
или функцию можно написать с использованием SQL-запроса, этоможет быть даже небольшое приложение. Продолжая прошлый примерможно написать функцию конвертации валюты.Триггер (Trigger)Триггеропределяетнабордействий,которыедолжныбытьвыполнены по наступлению события – при вставке строки, при изменении6таблицы и т.п. Это фактически макрос (аналогичен макросу MS ACCESS)Большой объект (Large Object – LOB)Этот тип предназначен для обработки неструктурированных данных.Существуют 3 типа больших объектов:Двоичные – для мультимедиа данных;Символьные – для больших текстовых документов;Двухбайтовые символьные (Double Byte Character) – длябольших текстовых документов, написанных на азиатских языках (2байта на символ).Большие объекты хранятся в специальных дополнительных таблицахи используются специальные пространства – LOB Table Spaces.
Присоздании строки– большого объекта в таблице базы данных – происходитавтоматическая ассоциация с таблицей и табличным пространством LOB.Хранимые процедуры (Stored Procedures)Хранимая процедура – пользовательское приложение для работы сбазой данных, которое обычно хранится и выполняется на сервере (такжеможет выполняться для локальных целей). Разработаны специально дляклиент-серверной технологии. Программа хранится на сервере, а клиент еетолько вызывает. Программа взаимодействует с базой и возвращаетрезультат клиенту.
Таким образом, снижается сетевой трафик – передаетсяменьше запросов и т.п.1.2.2 Системные структурыКаталог и директорияБаза данных DB2 самостоятельно обслуживает набор таблиц,которые хранят служебные метаданные – данные обо всех объектахподсистемы DB2. Каталог хранит информацию обо всех объектах:таблицах, видах, индексах и т.п. Директория же хранит информацию о7приложениях. Каталогу можно отправить запрос на получение информацииоб объектах, а директории нет.При создании пользовательской таблицы, база автоматическизаписываетвсеатрибуты–имятаблицы,владельца,табличноепространство и т.п. и сохраняет в таблицу каталога SYSIBM.SYSTABLES.ВсеполятаблицыSYSIBM.SYSCOLUMNS.автоматическиСписокзаписываютсяавторизованныхвтаблицупользователей,способных просматривать и изменять таблицу, хранится в таблицеSYSIBM.SYSTABAUTH.Всеиндексыпользовательскойтаблицызаписываются в таблицу SYSIBM.SYSINDEXES.Пулы буферовПредназначены для временного хранения страниц табличныхпространств и индексов.
Выполняют роль кэш-памяти между базой DB2 ифизическим диском. Ускоряют работу базы данных.Активные и архивные журналыБаза данных записывает любые изменения данных и другиезначимые события в журнал событий. Эта информация используется длявосстановленияданныхприсбоях,либодляосуществлениязапланированного отката.