План – конспект учебного занятия на тему: «Использование триггеров и генераторов при работе с базой данных СУБД Borland Interbase».
план-конспект урока на тему

Зябухина Алла Владимировна

План – конспект  учебного занятия

Тема: «Использование триггеров и генераторов при работе с базой данных СУБД Borland Interbase».

МДК 02.01  «Информационные технологии и платформы разработки информационных систем»  ПМ 02. «Участие в разработке информационных систем»

Скачать:

ВложениеРазмер
Microsoft Office document icon plan_zanyatiyaitipris.doc64.5 КБ

Предварительный просмотр:

План – конспект  учебного занятия

Тема: «Использование триггеров и генераторов при работе с базой данных СУБД Borland Interbase».

МДК 02.01  «Информационные технологии и платформы разработки информационных систем»  ПМ 02. «Участие в разработке информационных систем»

Цели:

  • образовательная– получить практические навыки использования триггеров и генераторов при работе с БД СУБД Borland Interbase.
  • развивающие–формирование и развития у учащихся познавательных способностей; развитие познавательного интереса к учебной дисциплине; развитие умения оперировать ранее полученными знаниями; развитие умения планировать свою деятельность;
  • воспитательные– стимулирование интереса к изучаемой дисциплине; формирование способности к самостоятельной работе

Тип занятия: лабораторная работа.

Используемые технологии: технология информационных проектов, ИКТ, здоровьесберегающие

Оборудование: Персональные компьютеры, ОС Microsoft Windows XP, СУБД Borland InterBase 7.0,  методические указания к выполнению лабораторной работы.

Общее время занятия: 60 мин.

Ход занятия:

  1. Организационный момент - 2 мин. (Приветствие, проверка присутствующих, сообщение цели и плана урока).
  2. Постановка задачи преподавателем
  3. Выполнение задания:
  1. После запуска утилиты  IBConsole зарегистрироваться на сервере Local Server Interbase.
  2. Установить соединение с БД, созданной в ходе выполнения данного цикла лабораторных работ по модулю «Программное обеспечение ИС» МДК 02.01  «Информационные технологии и платформы разработки информационных систем».
  3. В ходе работы над информационным проектом по разработке структуры удаленной базы данных, для созданных ранее таблиц БД СУБД Borland Interbase в среде утилиты IBConsole  средствами  операторов языка SQL выполнить создание объектов в соответствии с заданием:

1) генератора;

2) создание триггера, позволяющего вызвать генератор;

3) триггера, позволяющего обеспечить каскадное удаление данных в связанных таблицах;

4) триггера, позволяющего обеспечить каскадное обновление данных в связанных таблицах;

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

  1. Оформить отчет.

Номер, тема и цель работы.

  • Задание.
  • Тексты составленных операторов в соответствии с заданием. Комментарии.
  • Вывод о проделанной работе.

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

Теоретические сведения:

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

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

С помощью языка SQL-сервера можно создать генератор и уста по нить ему начальное значение. Генератор создастся следующим оператором:

CREATE GENERATOR <Имя генератора>;

Начальное значение задается командой:

SET GENERATOR <Имя генератора> ТО <Начальное значение>;

Начальное значение представляет собой целое число, начиная с которого формируется числовой ряд.

Обращение к созданному генератору выполняется с помощью функции

GEN_ID(<ИМЯ ГЕНЕРАТОРА>,<ШАГ>);

Эта функция позволяет значение, увеличенное на целочисленный шаг относительно предыдущего значения генератора.

Пример создания генератора:

CREATE GENERATOR GenStore;

SET GENERATOR GenStore TO 1;

Использование триггеров. 

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

Триггер по своей сути похож па обработчики событии BeforeEdit, AfterEdit, BeforeInsert, AfterInsert, BeforeDelete, AfterDelete, связанных с модификацией таблиц. Триггер может вызываться при редактировании, добавлении или удалении записей до и/или после этик событий.

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

Создание и изменение триггера. Создание триггера выполняется оператором Create trigger, имени ним формат:

CREATE TRIGGER <Имя триггера> FOR <Имя таблицы>

[ACTIVE|INACTIVE]

{BEFORE|AFTER}

{UPDATE|INSERT|DELETE}

[POSITION <Число>]

AS <Тело триггера>

Описатели active и inactive определяют активность триггера сразу после его создания. По умолчанию действует active, и созданный триггер активен, т. е. при наступлении соответствующего события будет выполняться. Если триггер неактивен, то при наступлении соответствующего события он не вызывается. Ранее созданный триггер можно активизировать иди, наоборот, деактивизировать.

Описатели before и after задают момент начала выполнения триггера до или после наступления соответствующего события, связанного с изменением записей.

Описатели UPDATE, INSERT и DELETE определяют, при наступлении какого события вызывается триггер — при редактировании, добавлении или удалении записей, соответственно.

Для одного события можно создать несколько триггеров, каждый из которых будет автоматически выполнен (если находится в активном состоянии). При наличии нескольких триггеров порядок их вызова (выполнения) определяет число, указанное в операнде position. Триггеры выполняются в порядке возрастания этих чисел.

Созданный триггер можно удалить или изменить. Удаляется триггер оператором

DROP TRIGGER <Имя триггера>

Изменение триггера выполняется оператором alter trigger, формат которого не отличается от формата оператора создания триггера. После выполнения оператора alter trigger предыдущее описание триггера с указанным именем заменяется на новое.

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

OLD. <Имя столбца >

NEW. <Имя столбца >

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

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

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

В связи е тем, что INRER Base не поддерживает автоинкрементные ноля, при создании ключевого столбца, требуются уникальности значений, рекомендуется поступать следующим образом:

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

Следующий пример иллюстрирует описанную последовательность действий:

/*Создание таблицы*/

CREATE TABLE Store

(S_Code INTEGER NOT NULL,

Name VARCHAR(20),

PRIMARY KEY (S Code) ) ;

/*Создание генератора*/

CREATE GENERATOR GenStore;

SET GENERATOR GenStore TO 1;

/*Создание триггера*/

CREATE TRIGGER CodeStore FOR Store

ACTIVE

BEFORE INSERT

AS

BEGIN

NEW.S_Code=GEN_ID(GenStore,1);

END

После добавления к таблице store ноной записи ключевому столбцу  этой записи автоматически присваивается уникальное значение. Это обеспечивается обращением GEN_ID к генератору GenStore, который создается отдельно от триггера.

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

Выполняется это следующим образом:

CREATE TABLE Store

(S_Code INTEGER NOT NULL,

PRIMARY KEY (S_Code));

CREATE TABLE Cards

(C_Code INTEGER NOT NULL,

C_Code2 INTEGER NOT NULL,

PRIMARY KEY (C_Code));

CREATE TRIGGER DeleteStore FOR Store

ACTIVE

AFTER DELETE

AS

BEGIN

DELETE FROM Cards WHERE Store.S_Code=Cards.C_Code2;

END

Аналогичным образом можно реализовать и обновление столбцов стили (ключевые столбцов) связанных таблиц, заключающееся в том, что при изменении значения столбца связи главной таблицы соответственно изменяю/ген значения столбца связи всех связанных записей' подчиненной таблицы. Например:

CREATE TRIGGER ChangeStore FOR Store

ACTIVE

BEFORE UPDATE

AS

BEGIN

IF (OLD.S_Code<>NEW.S_Code)

THEN UPDATE Cards

SET C_Code2=NEW.S_Code

WHERE C_Code2=OLD.S_Code;

END

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

Контрольные вопросы:

1. Объясните назначение генератора.

2. Приведите пример SQL-оператора для создания генератора. Поясните.

3. Каким образом можно обратиться к генератору?  Приведите пример и поясните его.

4. Что такое триггер?

5. Объясните на примере SQL-оператора правила создания триггера.

6. Каким образом можно с помощью триггера организовать каскадное удаление и каскадное обновление данных в связанных таблицах?  Какие требования к таблицам при этом излагаются? Поясните на примере.


По теме: методические разработки, презентации и конспекты

План-конспект занятия на тему «Профилактика и методы борьбы со стрессом»

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

Учебное пособие "Работа в базах данных Access"

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

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ к выполнению практических работ по дисциплине ЕН.02 Информатика Система Управления Базами Данных (СУБД) Microsoft Access

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ к выполнению практических работ по дисциплине ЕН.02  Информатика Система Управления Базами Данных (СУБД) Microsoft Acce...

Работа с базами данных и библиотекой Excel в .NET С#

Работа с базами данных и библиотекой Excel в .NET С#...

Работа с базами данных в .NET С#

Работа с базами данных в .NET С#...