Презентация по МДК.02.02. Технология разработки и защита баз данных на тему Фильтрация записей в наборах данных
Тема: Создание клиентской части приложений в Delphi c использованием сервера InterBase. Фильтрация данныхПрактическая работа №10.
Актуализация знаний Задание. Указать правильные ответы в тестовых заданиях по теме «Транзакции и целостность БД»1. Что понимается под целостностью БД? а) Правильность и непротиворечивость его содержимого. б) Противоречивость его содержимого. в) Неправильность его содержимого. г) Чтение, удаление, вставка и модификация содержимого БД.
2. Как называется неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными? а) Язык SQL. б) Целостность БД. в) Ключ. г) Транзакция.
3. Какими способами может завершиться автоматическое выполнение транзакции? а) Инструкция BEGIN TRANSACTION, которая сообщает о начале транзакции. б) Инструкцией COMMIT, которая выполняет завершение транзакции: изменения, внесенные в БД, становятся постоянными, а новая транзакция начинается сразу после инструкции COMMIT. в) Инструкция ROLLBACK, которая отменяет выполнение текущей транзакции и возвращает БД в состояние начала транзакции, новая транзакция начинается сразу после инструкции ROLLBACK. г) Инструкция SAVE TRANSACTION, которая позволяет создать внутри транзакции точку сохранения и присвоить сохраненному состоянию имя точки сохранения, указанному в инструкции.
4. Какая инструкция отменяет выполнение текущей транзакции и возвращает БД в состояние начала транзакции? а) ROLLBACK. б) BEGIN TRANSAKTION. в) SAVE TRANSACTION. г) COMMIT TRANSACKTION.
5. Какие модели транзакций используются в большинстве коммерческих СУБД? а) Модель автоматического выполнения транзакции. б) Модель управляемого выполнения транзакций. в) Модель языка SQL. г) Модель целостности БД.
6. Укажите уровень изоляции от других транзакций (операнд ISOLATION LEVEL), принимающий значение чтения только подтвержденных изменений в записях:а) READ COMMITED.б) SHAPSHOT TABLE STABILITY.в) COMMITED.г) SHAPSHOT.
7. Укажите блокирование таблиц, указанных в списке операнда RESERVING, для других транзакций, для которых разрешены чтение и модификация записей:а) PROTECT ED REАD. б) SHARED REАD.в) PROTECT ED WRITE.г) SHARED WRITE.
Фильтрация записей в наборах данных Свойство Filter позволяет указать условия фильтрации. В этом случае НД будет отфильтрован, как только его свойство Filtered станет равным True. Синтаксис похож на синтаксис предложения WHERE SQL-оператора SELECT: имена переменных программы указывать нельзя, можно указывать имена полей и литералы.
Можно применять операторы отношения:< Меньше чем> Больше чем>= Больше или равно<= Меньше или равно= Равно<> Не равноа также использовать логические операторы AND, NOT и OR.
Пример.procedure TForm1.CheckBox1Click (Sender: TObject) ;beginTable1.Filter := Edit1.Text;Table1.Filtered := CheckBox1.Checked; end;
Задание. Если указать Table1.Filter = [Doljnost] = ‘системный программист ‘ и установить Table1.Filtered := True, то какие записи будут показаны в результирующем наборе данных. Что произойдёт, при установке Filtered:= False?
Событие OnFilterRecord Событие OnFilterRecord возникает, когда свойство Filtered устанавливается в True и имеет два параметра: имя фильтруемого набора данных и var Accept, указывающий условия фильтрации записей в НД. В отфильтрованный НД включаются только те записи, для которых параметр Accept имеет значение True.
При указании условий фильтрации НД в обработчике OnFilterRecord, в нем последовательно перебираются все записи БД при анализе их на предмет соответствия условию фильтрации. Пример. Отфильтровать ТБД "Сотрудники" согласно условию "Показать всех операторов":procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin Accept := DataSet['Doljnost'] = ‘оператор'; end;
Задание. Отфильтровать ТБД "Сотрудники" по условию "Показать всех сотрудников с табельным номером (TabNum), вводимым в Edit1, и с вхождением в ФИО (FIO) символов, вводимых пользователем в Edit2:procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin Accept := (DataSet['TabNum'] = Edit1.Text)) AND (Pos(Edit2.Text,DataSet['FIO']) = 0); end;
Выполнение практической работы.Задание. Произвести фильтрацию данных в приложении.
Содержание отчета:- тема и цель работы;- задание;- ход работы с поясняющими текст окнами;- листинг и результаты;- выводы.
Домашнее заданиеПодготовить отчёт по практической работе.