Главная страница
Навигация по странице:

  • 4.2 ЗАДАНИЯ К РАБОТЕ И ПОРЯДОК ВЫПОЛНЕНИЯ Задание 1.

  • 4.3 СОДЕРЖАНИЕ ОТЧЁТА

  • 4.4 КОНТРОЛЬНЫЕ ВОПРОСЫ

  • РБД_Лаб_2021. Распределенные базы данных


    Скачать 1.79 Mb.
    НазваниеРаспределенные базы данных
    Анкор13235
    Дата04.12.2022
    Размер1.79 Mb.
    Формат файлаdoc
    Имя файлаРБД_Лаб_2021.doc
    ТипДокументы
    #827617
    страница4 из 6
    1   2   3   4   5   6

    Лабораторная работа №4
    СОЗДАНИЕ ПАКЕТОВ



    Цель работы. Продолжить осваивать работу с языком PL/SQL; научиться создавать пакеты (Package).
    4.1 КРАТКАЯ ТЕОРИЯ
    4.1.1. Структура пакетов
    PL/SQL позволяет объединить логически связанные типы, программные объекты и подпрограммы в пакет. В любом пакете можно легко разобраться, а интерфейсы между пакетами являются простыми, ясными и четко определенными, что очень полезно при разработке приложений.

    Пакеты обычно состоят из двух частей: спецификации и тела. Спецификацияэто интерфейс для приложений: здесь объявляются типы, константы, переменные, исключения, курсоры и подпрограммы, которыми можно пользоваться. Телоопределяет курсоры и подпрограммы и таким образом реализует спецификацию. В следующем примере «пакетируются» две процедуры по найму служащих:
    PACKAGE emp_actions IS -- спецификация пакета

    PROCEDURE hire_employee (empno NUMBER, ename CHAR, ...);

    PROCEDURE fire_employee (emp_id NUMBER);

    END emp_actions;
    PACKAGE BODY emp_actions IS -- тело пакета

    PROCEDURE hire_employee (empno NUMBER, ename CHAR, ...) IS

    BEGIN

    INSERT INTO emp VALUES (empno, ename, . . . ) ;

    END hire_employee;
    PROCEDURE fire_employee (emp_id NUMBER) IS

    BEGIN

    DELETE FROM emp WHERE empno = emp_id;

    END fire_employee;

    END emp_actions;
    Прикладным программам видимы и доступны только объявления в спецификации пакета. Детали реализации в теле пакета скрыты и недоступны.

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

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

    Скрытие информации для алгоритмов реализуется в методе разработки сверху вниз. Когда определяется назначение процедуры нижнего уровня и спецификации ее интерфейса, можно игнорировать детали реализации. Они являются скрытыми для верхних уровней. Например, реализация гипотетической процедуры с именем raise-salary является скрытой. Все, что нужно знать, – это то, что процедура увеличит оклад данного служащего на указанную величину. Любые изменения в определении raise-salary прозрачны для вызывающих программ.

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

    В пакетах PL/SQL можно указать, являются ли типы, программные объекты и подпрограммы приватными или общедоступными. Таким образом, пакеты навязывают инкапсуляцию данных, предлагая помещать объявления типов в черный ящик. Приватное определение типа является скрытым и недоступным. Если определение изменится, это затронет только пакет (но не вашу прикладную программу), что упрощает сопровождение и совершенствование программ.
    4.2 ЗАДАНИЯ К РАБОТЕ И ПОРЯДОК ВЫПОЛНЕНИЯ
    Задание 1. Разработать пакеты (спецификацию и тело) для своей базы данных.

    Порядок выполнения задания 1.

    1. Для каждой таблицы создается пакет с именем:

    A_Имя таблицы.

    Методы (процедуры) пакета должны выполнять следующие действия с одноименными таблицами:

    Add_Имя таблицы(…) – добавление записи

    Remove_Имя таблицы(…) – удаление записи

    Change_ Имя поля(…) – изменение значения для поля таблицы (кроме ключевых и системных – ID_CRE и DAT_CRE). Должны быть созданы для каждого неключевого и несистемного поля).

    2. В окне навигатора на пункте Packages правой клавишей мыши вызывается контекстное меню. В нем выбирается пункт New Package…

    3. После описания пакета и его успешной компиляции создается тело пакета.

    4. Для создания тела пакета в окне навигатора выбирается созданный ранее пакет и в контекстном меню для него выбирается пункт Create Body.

    5. Заполняется и компилируется тело пакета.


    4.3 СОДЕРЖАНИЕ ОТЧЁТА
    Готовится один отчёт на бригаду в печатном виде. Он должен содержать следующие разделы:

    - задание;

    - описание созданных пакетов (тела и спецификации) совместно с текстом PL/SQL реализации пакетов.

    Приём отчёта осуществляется в индивидуальном порядке. Ответы на контрольные вопросы даются устно.
    4.4 КОНТРОЛЬНЫЕ ВОПРОСЫ


    1. Для чего предназначены пакеты?

    2. Описать характеристики заголовка и тела пакета.

    3. Подробно пояснить действия процедур пакета.



    1   2   3   4   5   6


    написать администратору сайта