Смекни!
smekni.com

Проектирование информационных систем 3 (стр. 9 из 17)

Реализация бизнес – правил на стороне сервера.

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

IB Expert (Эксперт) – профессиональная графическая среда управления и администрирования SQL – серверов InterBase и FireBird.

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

Встроенный графический дизайнер реляционной диаграммы БД.

Генератор тестовых наборов данных.

5.3 Инсталляция IB Expert.

1. Дистрибутив:

ibet_2.5.0.14_full.exe

2. Каталог.

C:\Program Files\HK-Software\IB Expert 2.0

3. Запуск Эксперта.

«Пуск\Программы\IB Expert 2.0\IBExpert».

Демонстрация инсталляции и настройки.

5.4 Структура среды IB Expert.

Главное окно приложения:

5.5 Определение языка.

Русификация:

Options | Environment Options | Interface Language – выбрать русский:

Остальные функции – настройка интерфейса пользователя Эксперта оставить по умолчанию.

5.6 Создание БД.

Создание файла базы данных «База данных\Создать БД»

5.7 Регистрация БД.

Выбор пункта «Зарегистрировать базу» в меню «База данных» или из всплывающего меню, вызываемого правым кликом на поле окна «Редактора БД». Для регистрации задается следующая информация:

5.8 Основные функции.

Вызов всех основных функций работы с БД правый клик на отмеченной базе.

5.9 Просмотр объектов.

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

5.10 Резервное копирование.

Меню «Службы\Резервирование БД»

5.11 SQL - редактор.

Выполнение SQL – операторов производится в окне редактора

«Инструменты\SQL редактор»

5.12 Пользователи.

Определение пользователей SQL - сервера «Инструменты \ Менеджер пользователей»

5.13 Создание объектов.

Создание доменов.

Создание таблиц.

Создание ограничений.

Определение первичного (уникального) ключа.

Определение внешнего ключа.

Все объекты метаданных создаются выбором функции «Новый объект» контекстного меню, вызываемого правым кликом, на объекте дерева БД Expert, или выбором соответствующей функции меню, или выбором соответствующей пиктограммы в панели управления.

5.14 Управление свойствами.

Управление свойствами объектов, например, полей, выполняется выбором требуемой функции контекстного меню.

5.15 Определение внешнего ключа.

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

Определение внешнего ключа производится из меню «Ограничения» выбором пункта «2 Внешние ключи»:

5.16 Формат оператора.

Добавление внешнего ключа производится оператором

ALTER TABLE Имя_Таблицы

ADD

FOREIGN KEY (<список столбцов внешнего ключа>)

REFERENCES <имя родительской таблицы>

[<список столбцов родительской таблицы>]

[ON DELETE (NO ACTION | CASCADE | SET DEFAULT | SET NULL}]

[ON UPDATE {NO ACTION | CASCADE I SET DEFAULT | SET NULL}]

Параметры:

ON DELETE:

ON UPDATE

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

Вопрос.

Сколько внешних ключей необходимо для организации связи один к одному между двумя таблицами?

1. Один в дочерней таблице.

2. По одному в дочерней и в родительской.

3. Два ключа в дочерней таблице.

4. Такая связь не допустима.

5. Для организации такой связи внешние ключи не используются.

5.18 Реляционная диаграмма.

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

Надписи на связях определяются именами оператора

[CONSTRAINT <имя ссылочной целостности>]

5.19 Проверка зависимости.

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

INSERT, UPDATE, DELETE

над родительской или дочерней таблицей.

Подготавливать набор данных для операторов можно с использованием окна свойств таблиц со встроенным навигатором:

5.20 Генератор.

Механизм генераторов предназначен для формирования автоинкрементных значений целочисленных полей.

CREATE GENERATOR G_EMP;

SET GENERATOR G_EMP TO 100;

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

Функция обращения к значению генератора

GEN_ID(Имя_Генератора, Шаг_приращения);

Может использоваться с операторами присвоения значений

INSERT, SET, UPDATE.

5.21 Вопрос.

Поле первичного ключа таблицы SQL – сервера, определенное типом данных INTEGER и заполняемое генератором БД, стартующим с 0, может обеспечить запись следующего количества уникальных значений:

A) 2 15.

B) 2 16.

C) 2 32.

D) 1024.

E) 32000.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

Инсталляция среды IB Expert.

Задание параметров.

Создание и регистрация БД.

Создание объектов метаданных.

Просмотр свойств объектов.

Редактирование свойств объектов БД.

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

6 ТРИГГЕРЫ

6.1 Механизм триггеров.

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

Формат оператора создания триггера.

Основные свойства конструкции.

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

Особенности создания триггеров в IB Console.

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

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

Триггер - это процедура базы данных, написанная на специальном алгоритмическом языке и автоматически вызываемая SQL-сервером при обновлении, удалении или добавлении новой записи в таблицу БД. Триггеры всегда ассоциируется с действием по отношению к таблице. Запуск триггера связан с выполнением одного из операторов управления данными (INSERT, UPDATE, DELETE) к определенной записи таблицы. Любой пользователь, имеющий определенные привилегии на таблицу, автоматически имеет права выполнять связанные с ней триггеры. Непосредственно из программы к триггерам обратиться нельзя. Нельзя и передавать им входные параметры и получать от них значения выходных параметров.

6.3 Назначение.

Обычно триггера используются для:

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

6.4 Формат.

Формат оператора создания триггеров:

CREATE TRIGGER name FOR table

[ACTIVE | INACTIVE]

{BEFORE | AFTER}

{DELETE | INSERT | UPDATE}

[POSITION number]

AS

DECLARE VARIABLE variable <datatype>;

[DECLARE VARIABLE variable <datatype>; ...]

BEGIN

<тело_триггера>

END

6.5 Параметры.

Оператор [ACTIVE | INACTIVE] определяет активность триггера.

По отношению к событию {BEFORE | AFTER}, влекущему их вызов, триггеры различаются на: выполняемые до наступления события, и выполняемые после наступления события.

По событию изменения таблицы БД {DELETE | INSERT | UPDATE} триггеры различаются на вызываемые при: удалении записи, добавлении новой записи, изменении существующей записи.