Проектирование информационных систем

Автор работы: Пользователь скрыл имя, 20 Октября 2009 в 15:59, Не определен

Описание работы

Загайнов И.А. Проектирование информационных систем: Конспект мультимедиа лекций для студентов специальностей 050704 – Вычислительная техника и программное обеспечение, 050703 – Информационные системы.

Файлы: 1 файл

kml_pis_2008.doc

— 2.82 Мб (Скачать файл)

    DO

    <  оператор>;

Оператор SUSPEND , возврат значений в вызываемую процедуру.  

      6.10 Операторы языка.

Оператор  WHILE ... DO 

    WHILE   (<условие>)   DO <оператор> 

Оператор EXIT 

Оператор POST _EVENT

    POST_EVENT  "Имя  события"; 

Оператор EXECUTE PROCEDURE

    EXECUTE PROCEDURE имя

    [параметр [, параметр ]]

    [RETURNING_VALUES параметр [, параметр ...]]; 

      6.11 Операторы OLD и NEW.

Оператор  версии значения OLD и NEW изменяемого поля (контекстные переменные), позволяют обрушатся к старому (хранящемуся в поле) значению и к новому, пришедшему в операторе. Например, при каскадном изменении связанных таблиц используется следующая конструкция: 

    IF   (OLD.ПoлeCвязиPoдитeля  <> NEW.ПолеСвязиРодителя)

    THEN UPDATE  ДочерняяТаблица

    SET ПолеСвязиДочернейТаблицы = NEW.ПолеСвязиРодителя

    WHERE ПолеСвязиДочернейТаблицы = OLD.ПoлeCвязиPoдитeля;  

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

      6.12 Терминатор.

Для работы в IB Console необходимо переопределять терминатор (символ, завершающий оператор программного кода).

Выполняется оператором: 

    SET TERM !! ;

    CREATE TRIGGER . . .

    . . .

    END !!

    SET TERM ; !!  

После кода триггера, значение терминатора  возвращается в предыдущее. Последний  оператор END тела триггера должен заканчиваться знаком терминатора !! 

      6.13 Создание в Expert.

Функция «Новый триггер», контекстного меню.

 

      6.14 Параметры.

Имя триггера.

Ассоциированная таблица.

Порядок, по умолчанию 0.

Тип действия.

Операторы тела. 

 

      6.15 Изменение триггера.

Изменить  существующий триггер можно при  помощи оператора  

    ALTER TRIGGER ИмяТриггера FOR ИмяТаблицы

    [ACTIVE | INACTIVE]

    {BEFORE | AFTER)

    {DELETE | INSERT | UPDATE}

    [POSITION номер] AS <тело триггера>  

Имя триггера должно совпадать с именем существующего  триггера базы данных. 

      6.16 Удаление триггера.

Для удаления триггера следует воспользоваться  оператором  

    DROP  TRIGGER ИмяТриггера  

      Триггеры, используемые для активных транзакций, не могут быть удалены, пока транзакция не завершена. 

      6.17 Примеры.

Для таблицы CREATE TABLE "NE1"("a1" INTEGER NOT NULL primary key,

    "a2" CHAR(10),  "a3" VARCHAR(10))

Создадим генератор: CREATE GENERATOR G1

Создаем триггер:

    CREATE TRIGGER TR1 FOR "NE1"

    ACTIVE BEFORE INSERT POSITION 0

    AS begin

    NEW."a1"= GEN_ID(g1,1);

    End

Проверяем работу генератора.

insert into ne1( "a2", "a3") values ('aa','фф')    или по всем полям

insert into ne1 values (1,'aa','фф')  

      6.18 Предустановленные значения.

Ведение архива изменений БД, предусматривает  задание пользователя, сделавшего изменения  и времени, когда совершалось  изменение.

Для определения  этих параметров на сервере определены специальные переменные:

    "NOW" и USER  

Для фиксирования значений таблицы архива должны содержать соответствующие поля:

    DAT_IZM       TIMESTAMP,

    USER_NAME    CHAR(15), 

Значение  текущей даты имеет универсальный формат для любого типа поля, например DATE или TIME. 

      6.19 Вопросы по 3 лабораторной.

Объяснить необходимость обязательного определения  первичного ключа в таблице.

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

Операторы определения ссылочной целостности данных, каскадного обновления и удаления.

SQL - оператор создания триггеров, алгоритмический язык проектирования триггеров.

Формат  заголовка триггера, определение  очередности срабатывания.

Формат  определения старых и новых значений полей ассоциированной таблицы.

Определение тела триггера для заполнения автоинкрементного  поля значением генератора.

Организация каскадных воздействий в таблицах при помощи триггеров.

Использование механизма триггеров для ведения  архивов изменений в таблицах базы данных.  

      6.20 Задания СРСП.

1. Защита  выбора механизма каскадного  ведения данных.

2. Выбор  и защита сложного бизнес –  правила, реализуемого триггером.

3. Ответить  на контрольные вопросы третьего  модуля [1];

4. Провести  отладку SQL – кода спроектированных триггеров;

5. Защитить  отчет по третьей лабораторной  работе;

6. Защитить  отчет по разделу 3.3 курсовой  работы [2];

7. Тест  первого рубежного контроля.

8. Разработать  пример вопроса тестового задания  по теме раздела. 

      6.21 Задания СРС.

1. Изучить  методические указания к третьей  лабораторной работе [1];

2. Ответить  на примеры тестовых заданий  к третьему модулю [1];

3. Изучить  SQL - код триггеров, используемых в учебной БД (FONEBOOK.GDB);

4. Проектирование  и использование генераторов;

5. Изучение  системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE TRIGGER, ALTER TRIGGER, DROP TRIGGER, CREATE GENERATOR, SET GENERATOR, INSERT, UPDATA, DELETE;

6. Изучить конспект 5,6 лекций [3];

7. Среда управления SQL – сервера - IBExpress.  

      6.22 Демонстрация.

Создание  триггера в среде IB Console.

Создание  триггера заполнения автоинкрементного  поля.

Оператор  INSERT в таблицу с автоинкрементным полем.

Демонстрация  изменения триггера.

Примеры реализации сложных бизнес правил.

Пробное тестирование. 

      6.23 Правила электронного тестирования.

1. Можно  пропустить (не заполнять ячейку) несколько (2-3) вопроса для обсуждения  на апелляции, нельзя пропускать 40-ой вопрос.

2.  Если  Вы не успели ответить на  вопрос, но у Вас осталось время,  можно в присутствии преподавателя вернуться к пропущенному вопросу, для проставления ответа.

3.  При  тестировании нельзя прокручивать  список вопросов в обратную  сторону. 

4. Для  перехода вперед, не дожидаясь  срабатывания таймера достаточно  кликнуть мышкой или нажать  «стрелку вниз».

5.  Ответы  проставляются сразу в лист  ответов без промежуточной записи.  

      6.24  Тренировочный тест, 10 вопросов. 

Ответы

1 2 3 4 5 6 7 8 9 10
                   

 

7 ХРАНИМЫЕ ПРОЦЕДУРЫ

 

      7.1 Механизм хранимых процедур (Stored Procedures).

Определение и назначение.

Формат  оператора создания объекта.

Преимущества  использования.

Алгоритмический язык.

Проектирование  в среде IBExpert.

Примеры реализации.

Вызов хранимых процедур в приложении.

Компоненты  Delphi для работы с хранимыми процедурами.

IBStoredProc – вызов ХП действия.

IBQuery – вызов ХП выбора.

Совместимость переменных SQL – сервера и среды разработки Delphi.

Тренировочный тест к рубежному контролю. 

      7.2 Определение.

Хранимая  процедура (Stored procedures) - это модуль, написанный на процедурном языке и хранящийся в базе данных как метаданные.

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

      7.3 Типы процедур.

Процедуры выбора могут возвращать более одного значения. В приложении имя хранимой процедуры выбора подставляется в оператор SELECT вместо имени таблицы или просмотра.

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

      Хранимым  процедурам можно передавать данные и получать обратно значения параметров, измененные в соответствии с алгоритмами  работы хранимых процедур.  

      7.4 Преимущества.

Преимущества  использования хранимых процедур:

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

Информация о работе Проектирование информационных систем