Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие СУБД 2011.pdf
Скачиваний:
68
Добавлен:
10.06.2015
Размер:
2.75 Mб
Скачать

56

Как правило, триггер представляет собой последний рубеж обороны по поддержке бизнесправил базы данных.

CREATE TRIGGER имя_триггера ON имя_таблицы

FOR ([DELETE]| [INSERT] | [UPDATE])

AS инструкция_на_языке_SQL

В соглашении о SQL-92 нет чёткого описания синтаксиса создания триггера. Поэтому приводим достаточно условную синтаксическую конструкцию. Ключевые слова DELETE, INSERT, UPDATE указывают после какого события (удаления, вставки, редактирования) должен выполняться триггер.

В InterBase допускается использование ключевого слова BEFORE (например: BEFORE DELETE), говорящего, что событие происходит перед операцией (в данном случае удаления).

CREATE TRIGGER Delete_Book FOR Writer

ACTIVE BEFORE DELETE AS

DELETE FROM Book WHERE Book.Wrt_Key=Writer.Wrt_Key

Предложенный пример триггера (синтаксис InterBase) удаляет все книги из таблицы Book, написанные конкретным автором перед тем, как и сам автор будет удалён из таблицы

Writer.

Удаление триггера – DROP TRIGGER

DROP TRIGGER имя_триггера

Как и все операции удаления, операция удаления триггера начинается ключевым словом DROP, далее следует пояснение – какой объект из базы данных удаляется – TRIGGER, и в заключении через точку передаётся имя таблицы и имя триггера.

Задание

Используя изученные на занятии операторы SQL, подготовьте последовательность инструкций SQL позволяющих создать приведённые к четвёртой нормальной форме таблицы в соответствии с ER-моделью подготовленной вами на занятии IV. Модель “Сущ- ность-связь” (ER-модель). Предложите инструкции SQL, позволяющие реструктурировать имеющиеся таблицы (добавлять или удалять поля, изменять характеристики полей).

Ставропольский государственный университет, кафедра КБ

57

IX. Разработка отчётов БД в среде Access

Вид занятия – лабораторное занятие. Время занятия – 2 часа.

Программное обеспечение – среда Microsoft Access.

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

Средствами отчёта невозможно внести изменения в содержащиеся в БД данные.

Подготовка отчёта в среде Access

В среде Access отчёт может создаваться как на основе таблиц, так и на базе заранее подготовленных запросов. Допустим, что нам требуется подготовить отчёт по списочному составу студентов нашего ВУЗа. Разработаем простой объединяющий запрос:

SELECT Students.*, Spec.*

FROM Spec

INNER JOIN Students ON Spec.Spec_ID = Students.Spec_ID ORDER BY SurName, FName;

Сохраните вновь созданный запрос под именем “Report_StudentsList” и щёлкните по кнопке “Отчёты” на панели управления базой данных. Затем щелкните по кнопке “Создать” на панели инструментов. В окне “Новый отчёт” в качестве источника данных выберите недавно созданный запрос “Report_StudentsList”, вид отчёта – “Автоотчёт: ленточный” (рис. 9.1). После нажатия кнопки “OK” мастер самостоятельно разместит на форме отчёта элементы отображения данных, установит связи с соответствующими столбцами набора данных, подберёт размер, начертание и цвет шрифта (рис. 9.2). Вполне естественно, что подготовленный таким образом отчёт не будет иметь презентабельный вид. Он требует дополнительной творческой доработки.

Рисунок 9.1. – Мастер создания ленточных отчётов

© Осипов Д.Л., 2011

58

Рисунок 9.2. – Результат работы мастера отчётов

Для “ручной” настройки отчёта необходимо перейти в режим конструктора. Отчёт сразу “рассыпается” на пару десятков самостоятельных элементов управления. Здесь и обычные компоненты-метки (предназначенные для вывода вспомогательных надписей) и компоненты-поля (отвечающие за получение информации из результирующего набора данных).

Рисунок 9.3. – Открытие отчёта в режиме конструктора

Для настройки характеристик отдельного элемента выведите на экран его свойства (пункт “Свойства” контекстного меню). В рамках редактора свойств Вы сможете управлять всеми параметрами элемента управления.

Задание

В соответствии с полученными на занятии IV заданиями подготовьте 3-4 отчёта. Основной отчёт должен объединять в себе информацию из всех таблиц БД. Один из отчётов должен быть создан с помощью мастера отчётов Access.

Ставропольский государственный университет, кафедра КБ

59

X. Разработка интерфейса клиентского приложения БД в среде Access

Вид занятия – лабораторное занятие. Время занятия – 2 часа.

Программное обеспечение – среда Microsoft Access.

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

3-х уровневая архитектура ANSI-SPARC

Идея отделения пользователя от физических данных возникла не вчера. Уже в начале 70-х годов XX века предпринимались первые попытки стандартизации структуры СУБД. Так в 1975 году Комитетом планирования стандартов и норм SPARC (Standards Planning and Requirements Committee) Национального Института Стандартизации США

(American National Standard Institute – ANSI), ANSI/X3/SPARC (ANSI, 1975). Коми-

тет ANSI/SPARC при проектировании СУБД была признана необходимость использования трехуровневого подхода (рис. 10.1).

 

 

Пользователь

 

Пользователь

 

 

Пользователь

Внешний

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

уровень

 

Представление 1

 

Представление 2

 

Представление N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Концептуальный уровень

 

 

 

Концептуальная схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Внутренний уровень

 

 

 

Внутренняя схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Физическая организация данных

БД

Рисунок 10.1.- 3-х уровневая архитектура ANSI-SPARC

Цель трехуровневой архитектуры ANSI-SPARC заключается в отделении пользователь-

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

Для отделения пользователя от данных модель ANSI_SPARC рекомендовала введение трёх уровней: внешнего, концептуального и внутреннего. Внешний уровень отражает представление БД с точки зрения пользователей. Этот уровень описывает ту часть базы данных, которая относится к каждому пользователю. Концептуальный уровень формирует обобщающее представление БД. Этот уровень описывает то, какие данные хранятся в базе данных, а также связи, существующие между ними. Наконец внутренний уровень отвечает за физическое представление базы данных в компьютере. Этот уровень описывает, как информация хранится в базе данных.

На протяжении предыдущих занятий мы с Вами активно работали в рамках внутреннего и концептуального уровня архитектуры ANSI-SPARC, а на самой первой лабораторной работе (I. Файловый системы) даже прикоснулись к особенностям физической организации данных первых прототипов современных БД. Сегодня настал черёд разработки

Ставропольский государственный университет, кафедра КБ