Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отчет о выполнении работы




Задание

Модифицируемые представления

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

Содержимое представления может изменяться командами модификации, которые будут автоматически перенаправлены к базовой таблице. Чтобы представление было модифицируемым, оно должно быть создано на основе одной таблицы (или другого модифицируемого представления), а запрос, на котором основано представление, не должен содержать подзапросов, агрегатных функций, UDF, хранимых процедур, предложений DISTINCT, GROUP BY и HAVING. Если выполняются все эти условия, то представление


автоматически становится модифицируемым, т.е. для него можно выполнять запросы DELETE, INSERT и UPDATE, которые будут изменять данные в таблице-источнике.

Чтобы сделать модифицируемым представление, которое нарушает любое из вышеперечисленных условий, применяется механизм триггеров. Триггеры для модификации представления должны срабатывать при событиях BEFORE DELETE, BEFORE UPDATE и BEFORE INSERT. В теле триггеров необходимо описать, что должно происходить с данными при удалении, изменении и вставке.

 

 

Лабораторную работу следует выполнять в следующем порядке:

1. Создать аналогично предыдущим лабораторным работам рабочую папку и назвать ее "ЛР8".

2. Скопировать в эту папку файл сценария, созданный при выполнении предыдущей лабораторной работы.

3. Открыть в приложении "IB Expert" этот сценарий.

4. Исправить текст комментариев и сделать, чтобы база данных теперь создавалась в папке "ЛР8".

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

6. Выполнить сценарий и сохранить его в папке "ЛР8".

7. Зарегистрировать созданную базу данных в программе "IB Expert" и подключиться к ней.

8. Создать в своей базе данных еще одно представление в диалоговом режиме, которое не должно быть модифицируемым. Оно должно называться "TestView" и основываться, например, на нескольких таблицах или других представлениях. Добавить в диалоговом режиме к этому просмотру триггеры для разрешения выполнения обновления. Перенести в сценарий операторы создания этого представления и триггеров, которые автоматически сгенерирует "IB Expert".

9. Создать в папке "ЛР8" резервную копию базы данных.

10. Создать и сохранить в папке "ЛР8" файл с отчетом о выполнении лабораторной работы.

 

1. 8.6. Ход работы

Для создания представлений в диалоговом режиме программы "IB Ex-pert" необходимо выполнить следующие действия:

 

1. Подключиться к базе данных и выполнить команду главного меню "Database®New View". В результате откроется окно "View", в котором будет содержаться заготовка оператора создания представления (рис. 25).

 

Рис. 25. Окно ввода оператора создания представления

 


 

2. Изменить в поле на вкладке "SQL" текст оператора создания представления для создания нужного представления, а затем нажать кнопку [Compile] (Ctrl+F9). В результате откроется диалоговое окно (рис. 26), в котором надо подтвердить (кнопка [Commit]) или отменить (кнопка [Rollback]) выполнение операции.

 

 


 

Рис. 26. Диалог создания представления


 

3. Представление, команда создания которого приведена на рис. 26 не является модифицируемым. Чтобы сделать его модифицируемым, создадим для него триггер позволяющий изменять поле "Name" (изменять поле "NameCount" не имеет смысла).

4. Чтобы создать триггер у имеющегося представления, необходимо в окне "View" перейти на вкладку "Triggers", нажать правую кнопку мыши на типе события, при котором должен срабатывать триггер, и в контекстном меню выбрать команду "New Trigger" (рис. 27). В результате откроется окно "Trigger", в котором будет находиться заготовка оператора создания триггера. Используя эту заготовку, следует ввести правильный оператор создания триггера и нажать кнопку [Compile Trigger] (Ctrl+F9).

 

 


 

 

Рис. 27. Окно создания триггера для представления

 

 


Пример триггера, которые для представления "TestView" позволяет модифицировать поле "Name" приведен на рис. 28.

 

 

 

Рис. 28. Триггер, позволяющий модифицировать представление

 


 

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

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

2. Краткое описание запросов с использованием всех созданных представлений. Распечатка этих запросов с указанием количества возвращенных ими строк.

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

 





Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.