Материал: 2110

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

4.Создать системный триггер на уровне схемы, который будет фикси- ровать в отдельно организованной таблице информацию о пользова- телях и объектах, структуру которых создают.

Вариант 18

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

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

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

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

Вариант 19

1.Создать строковый триггер, который будет фиксировать в отдельно организованной таблице данные о лекарстве, которые удаляются.

2.Создать строковый триггер, который будет фиксировать в отдельно организованной таблице номера чеков и наименования лекарства при добавлении записи в таблицу СОСТАВ ЧЕКА с условием, что коли- чество проданного лекарства больше 10.

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

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

Вариант 20

1.Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию об исполнителе, при измене- нии даты приема на работу.

85

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

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

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

Лабораторная работа №7

СОЗДАНИЕ КЛИЕНТСКОЙ ЧАСТИ ПРИЛОЖЕНИЯ ДЛЯ ПРОСМОТРА, РЕДАКТИРОВАНИЯ ДАННЫХ БД. ВЫЗОВ ХРАНИМЫХ ПРОЦЕДУР ИЗ КЛИЕНТСКОЙ ЧАСТИ

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

Содержание работы:

1.Выполнение всех заданий по ходу лабораторной работы.

2.Выполнение индивидуальных заданий.

Пояснения к выполнению работы

Для создания клиентского приложения в Delphi 7 используем пример базы данных в табличном пространстве DB_Books, которая была создана в лабораторной работе №1.

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

В данной работе при создании клиентского приложения будем исполь- зовать встроенные инструменты для работы с данными (в Delphi 7 – вклад-

ка Data Controls).

Если данный проект был выполнен в лабораторной работе с СУБД MS SQL Server, то в нем необходимо лишь перенастроить свойство Connection String на соединение с Oracle согласно пункту 4 и перекомпилировать проект.

ВDelphi 7:

1.В новом проекте создадим модуль данных (меню File – New – DataModule). Переименуем форму в DM (свойство Name – DM).

86

2.В основной форме (например, Form1, переименовать ее в MainForm) в коде добавить описание модуля DM, для этого после ключе- вого слова USES в конце списка поставить запятую и дописать название программного модуля, например UNIT2, который соответствует созданной форме DM.

3.На форму DM с вкладки ADO добавить компонент ADOConnection (название, например ADOConnection1), 5 компонентов типа ADOTable (переименовать компоненты в ADOPurchases, ADOBooks, ADOAuthors, ADODeliveries, ADOPublish), с вкладки Data Access 5 компонентов типа DataSource (переименовать компоненты в DataPurchases, DataBooks,

DataAuthors, DataDeliveries, DataPublish).

4. У компонента ADOConnection1 настроить свойства:

Connected String = нажать кнопку Build\ выбрать Поставщик

данных – Microsoft OLE DB Provider for Oracle

Источник данных – ORCL Пользователь – ADMIN_BOOKS

Пароль – worlds

Получится в результате – Provider=MSDAORA.1;User ID=ADMIN_BOOKS;Data Source=Orcl;Persist Security Info=False

LoginPrompt = True; Connected = True.

5. У ADOAuthors изменить следующие свойства:

Connection на ADOConnection1;

TableName на Authors; Active на True.

6. У DataAuthors изменить следующие свойства (это будет ссылка на таблицу):

DataSet на ADOAuthors.

7. У ADOPurchases изменить следующие свойства:

Connection на ADOConnection1; TableName на Purchases;

Active на True.

8. У DataPurchases изменить следующие свойства (это будет ссылка на таблицу):

DataSet на ADOPurchases.

9. У ADOBooks изменить следующие свойства:

Connection на ADOConnection1;

TableName на Books; Active на True.

10. У DataBooks изменить следующие свойства (это будет ссылка на таблицу):

87

DataSet на ADOBooks.

11. У ADODeliveries изменить следующие свойства:

Connection на ADOConnection1; TableName на Deliveries;

Active на True.

12. У DataDeliveries изменить следующие свойства (это будет ссылка на таблицу):

DataSet на ADODeliveries.

13. У ADOPublish изменить следующие свойства:

Connection на ADOConnection1; TableName на Publishing_house;

Active на True.

14. У DataPublish изменить следующие свойства (это будет ссылка на таблицу):

DataSet на ADOPublish.

15.На основной форме (MainForm) добавить компонент Меню с вкладки Standart. В редакторе меню сделать первый пункт «Работа с таб- лицами» и в подменю пункты «Авторы», «Книги», «Издательства», «По- ставщики», «Поставки».

16.Создать пять форм, каждую из которых назвать (изменить свойство

Name): FormAuthors, FormPurchases, FormBooks, FormDeliveries, FormPublish. В главной форме, в коде добавить описание этих форм, для этого после ключевого слова USES в конце списка через запятую дописать названия программных модулей, которые соответствуют описанным фор- мам. В каждой из созданных форм в коде добавить описание модуля DM, для этого после ключевого слова USES в конце списка поставить запятую и дописать название программного модуля, например UNIT2, который со- ответствует созданной форме DM.

17. На основной форме в подпунктах меню в соответствующих мето- дах Click вызвать соответствующие формы с помощью кода:

для FormAuthors: DM.ADOAuthors.Open;

FormAuthors:=TFormAuthors.Create(Application);

FormAuthors.Show; для FormPurchases:

DM.ADOPurchases.Open;

FormPurchases:=TFormPurchases.Create(Application);

FormPurchases.Show; для FormBooks:

DM.ADOBooks.Open;

FormBooks:=TFormBooks.Create(Application);

FormBooks.Show;

88

для FormDeliveries: DM.ADODeliveries.Open;

FormDeliveries:=TFormDeliveries.Create(Application);

FormDeliveries.Show; для FormPublish:

DM.ADOPublish.Open;

FormPublish:=TFormPublish.Create(Application);

FormPublish.Show;

18.На формы FormAuthors, FormPurchases, FormBooks, FormDeliveries, FormPublish добавить с вкладки Data Controls по паре компонент типа

DBGrid и DBNavigator. Настроить у DBGrid и DBNavigator свойство

DataSource для связи с соответствующим источником данных.

19.Проверить работу приложения.

20.На форму FormBooks с вкладки Data Controls добавить 3 компонен-

та типа DBEdit, 2 компонента типа DBLookupComboBox.

У1-го компонента DBEdit изменить свойства:

Name на DBE_Code_Book; DataSource на DM.DataBooks; DataField на Code_book.

У 2-го компонента DBEdit изменить свойства:

Name на DBE_Title_book; DataSource на DM.DataBooks; DataField на Title_book.

У 3-го компонента DBEdit изменить свойства:

Name на DBE_Pages; DataSource на DM.DataBooks;

DataField на Pages.

У 1-го компонента DBLookupComboBox изменить свойства:

Name на DBL_Code_author; DataSource на DM.DataBooks; DataField на Code_author; ListSource на DM.DataAuthors; ListField на name_author; KeyField на Code_author.

У 2-го компонента DBLookupComboBox изменить свойства:

Name на DBL_Code_Publish; DataSource на DM.DataBooks; DataField на Code_publish; ListSource на DM.DataPublish;

ListField на Publish;

KeyField на Code_publish.

89