Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений

Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений

PDF-файл Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений Языки интернет-программирования (17396): Книга - 5 семестрБрешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений: Языки интернет-программирования - PDF (17396) - СтудИзба2017-12-28СтудИзба

Описание файла

PDF-файл из архива "Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

Министерство образования и науки Российской ФедерацииФедеральное агентство по образованиюГосударственное образовательное учреждение высшего профессиональногообразованияМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙУНИВЕРСИТЕТ ИМ. Н.Э. БАУМАНА(МГТУ им. Н.Э. Баумана)Факультет «Информатика и системы управления»Кафедра «Компьютерные системы и сети»Брешенков А.В., Волкова Е.А., Галямова Е.В.Разработка DB2 приложенийМетодические указаниядля выполнения лабораторной работы по курсу«СЕТЕВЫЕ БАЗЫ ДАННЫХ»2009 год,МоскваЛабораторная работа «Разработка DB2 приложений»АннотацияСистема управления базами данных СУБД DB2 компании IBM — этомощнаявысокопроизводительнаямногоплатформеннаяСУБД.Онапоставляется с целым набором клиентских инструментов, которые могутбыть использованы для выполнения операторов языка структурированныхзапросов SQL.База данных DB2 для z/OS отличается высокой степенью готовности,масштабируемостью и производительностью при обработке транзакций, внеё включена поддержка очень больших баз данных благодаря поддержке64-разрядныхвиртуальныхсистемхранения.Однакосуществуютнекоторые специфические особенности работы с СУБД на больших ЭВМкласса IBM мэйнфрейм System z, которым и посвящено данноеметодическое указание.В данном методическом указании изложены основы разработкиприложений для работы с базами данных DB2.

Дано краткое описаниекомпиляциипрограммвоперационнойсредеz/OS,особенностейподготовки программ в DB2, статических и динамических SQL-операторов.В практической части приведены примеры кода программ на языкахCOBOL и PL/1 и указаны настройки утилит DB2 для подготовки этихпрограмм к запуску.Цели лабораторной работы: Изучение функций DCLGEN; Разработка структуры программ, работающих с базами данных; Изучение этапов подготовки программы к запуску.21. Теоретическая часть1.1 Компиляция программ в z/OSФункция компилятора состоит в том, чтобы преобразовать исходныйкод в объектный модуль, который затем должен пройти обработкукомпоновщиком (или редактором связей), прежде чем его можно будетвыполнять. В процессе компиляции исходного модуля компиляторприсваивает относительные адреса всем инструкциям, элементам данных иметкам, начиная с нуля.

Адреса состоят из базового адреса и смещения.Это позволяет изменять расположение программ; другими словами, ихнеобязательно загружать в одно и то же место памяти при каждомвыполнении программ.Copybook – разделяемаяхранятбиблиотека,вкоторойпрограммистычасто используемые сегменты программРедактор связей преобразует объектныемодуливисполняемыезагрузочные модулиЛюбые ссылки на внешние программы и подпрограммы остаютсянеразрешенными. Эти ссылки либо разрешаются при компоновкеобъектного модуля, либо динамически разрешаются при выполнениипрограммы.Для компиляции программ в z/OS можно использовать пакетное заданиеили осуществлять компиляцию в TSO/E, используя команды, CLISTпрограммы или ISPF-панели.Программы на языке C можно компилировать в оболочке z/OS UNIXкомандой c89.

Программы на языке COBOL можно компилировать воболочке z/OS UNIX командой cob2.Длякомпиляциивпакетномзаданииz/OSвключаетнаборкаталогизированных процедур, позволяющих избежать ввода JCL-кода,которыйиначенужнобылобынабирать.Еслиниоднаизкаталогизированных процедур не соответствует вашим требованиям,3потребуется написать весь JCL-код для компиляции.На этапе компиляции нужно определить наборы данных, требуемые длякомпиляции, любые опциикомпилятора, необходимые длявашейпрограммы, и желательный формат вывода.1.2 Программирование приложений для DB2Язык SQL не является полным языком программирования, однако оннеобходим для доступа и управления данными в базе данных DB2. Онпредставляетсобойнепроцедурныйязык4-гопоколения(4GL),разработанный в середине 1970-х для использования в DB2.

Язык SQLможно либо использовать динамически в интерпретационной программевроде SPUFI, либо встраивать и компилировать или ассемблировать всоставеосновногоязыка.Таккакженаписатьприложение,осуществляющее доступ к данным в DB2?Для этого SQL встраивается висходный код языка программирования, такого как Java, Smalltalk, REXX,C, C++, COBOL, Fortran, PL/I и высокоуровневый ассемблер.СуществуетдвекатегорииSQL-операторов,которыеможноиспользовать в программе: статические и динамические.•Статические.Статическими SQL-операторами называются полные SQL-операторы,записанные внутри исходного кода.

В процессе подготовки программы,СУБД DB2 определяет пути доступа для операторов, и они записываются вDB2. Операторы SQL не изменяются от одного запуска программы кдругому; при этом используются одни и те же заданные пути доступа, такчто подсистеме DB2 не требуется создавать их повторно, что можетвызвать дополнительную нагрузку (Примечание. Все SQL-операторыдолжны иметь путь доступа).•Динамические.Динамическими SQL-операторами называются SQL-операторы, частично4или полностью неизвестные на момент написания программы.

Толькопосле запуска программы подсистема DB2 знает, какие операторы будутиспользоваться, и способна определить требуемые пути доступа. Путидоступа не сохраняются, так как операторы могут изменяться от одногозапуска программы к другому. Примером такой программы является SPUFI.Утилита SPUFI в действительности представляет собой приложение,принимающее динамические SQL-операторы. Это те операторы, которыевводятся во входном файле. При каждом запуске SPUFI, SQL-операторымогут быть разными, поэтому в приложение встраиваются специальныеподготовительные SQL-операторы.1.3 Подготовка программы в DB2: алгоритмТрадиционный процесс подготовки программы, состоящий из компиляциии редактирования связей, при подготовке SQL-кода должен включатьдополнительные этапы, так как компиляторы не распознают SQL. Этиэтапы, наряду с компиляцией и редактированием связей, можно выполнятьчерез панель DB2I, хотя весь процесс, за исключением вызова DCLGEN,обычно выполняется в одном потоке заданий JCL.

При чтении объясненийсм. рис. 1.1.3.1 DCLGENУтилита DCLGEN предоставляет способ автоматического генерированияисходных определений для объектов DB2, используемых в программе. Онисоздаются в разделе библиотеки DCLGEN, которую можно включить ввашу исходную программу. Если ее не включить, необходимо составлятьопределения вручную. Администратор базы данных DB2 обычно создаетих на основе правил компании. На этом этапе необходима работающаясистема DB2, так как определения берутся из каталога DB2.51.3.2 ПрекомпиляцияТак как компиляторы не могут обрабатывать SQL-код, на этапепрекомпиляции SQL-выражения заключаются в комментарии, подставляяоператор CALL обращения к DB2.

Он передает некоторые параметры,например, адреса переменных основного языка (для извлечения данных),номера операторов и (что очень важно) измененную отметку времени,называемуюмаркеромсогласованности(consistencytoken;частоназывается просто отметкой времени). На этом этапе не требуется запусксистемы DB2; все выполняется без доступа к DB2.Прекомпиляторопределяет SQL-код по специальным флагам начала и конца, которыедолжны быть включены для каждого SQL-оператора. Во всех языкахпрограммирования используется одинаковый флаг начала – EXEC SQL.Флаги конца различаются. В языке COBOL используется END-EXEC.(точка), тогда как в C и других языках используется точка с запятой. Нижеприведен пример на языке COBOL:EXEC SQLSELECT EMPNO, LASTNAMEINTO :EMPNO, :LASTNAMEFROM EMPEND-EXEC.В этом примере, значения EMPNO и LASTNAME извлекаются впеременные основного языка, перед которыми указывается двоеточие.Переменными основного языка являются переменные, определенные наосновном языке (COBOL, PL/1 и т.

д.) – языке включающем SQL-код. Наэтапе вызова DCLGEN также происходит определение этих переменных. Вданном случае имя переменной основного языка соответствует именистолбца, что не является обязательным требованием; можно использоватьлюбое имя с типом данных, совместимым с типом данных столбца.После прекомпиляции программа разделяется на две части.6•Измененный исходный код; представляет первоначальный исходныйкод, в котором SQL-код заключен в комментарии и замещен операторамиCALL.•Модуль запросов базы данных (database request module, DBRM),который обычно представляет собой раздел библиотеки PDS и содержитSQL-операторы программы.Измененный исходный код передается компилятору для компиляции иредактированиясвязей,вследствиечегосоздаетсяисполняемыйзагрузочный модуль, как для любой другой программы, не содержащейSQL.Кстати, можно вставить в программу любой тип SQL-кода: DML, DDLи DCL, если только не нарушаются правила авторизации.1.3.3 СвязываниеВ DB2 связывание можно рассматривать как аналог процесса компиляциидля DBRM.Связывание выполняет три операции.•Выполняет проверку синтаксиса на наличие ошибок.•Выполняет проверку полномочий.•Что важнее всего, определяет пути доступа для операторов.

DB2содержит компонент, называемый оптимизатором (optimizer), которыйрассматривает различные способы осуществления доступа к данным, такиекаксканированиецелойтаблицы,использованиеиндекса,выбориспользуемого индекса и т. д. Он определяет показатели стоимостикаждого пути доступа и выбирает путь доступа с наименьшей стоимостью.Такой оптимизатор называется оптимизатором на основе стоимости (вотличие от оптимизатора на основе правил).Код SQL вместе с путемдоступа (и маркером согласованности – отметкой времени) хранится какпакет в оглавлении DB2. Другая информация, в частности информация опакете и действительный SQL-код, хранится в каталоге.

При связывании7создается исполняемый SQL-код для одного приложения в пакете. ТеперьDB2 имеет всю информацию, необходимую для получения запрашиваемыхданныхдляданнойпрограммы.Частопрограммывызываютподпрограммы, которые также содержат SQL-вызовы. Каждая из этихподпрограммтакжеимеетпакет.Необходимосгруппироватьвсюинформацию DB2 вместе. Для этого необходим еще один этап: еще односвязывание, но на этот раз предназначенное для создания плана (plan).Дажеесли подпрограмма не используется, все равно требуется создать план.План может содержать не только информацию о программе, но и другуюинформацию. Это представляет обычную практику: план содержит всепакеты одного проекта, и при каждом запуске используется один и тот жеплан.Для полноты следует добавить, что изначально DBRM связывалисьнепосредственно в планы (они назывались встроенными DBRM).

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее