- •Иерархическая модель данных.
- •Постреляционные модели данных. Описание моделей данных
- •Системы управления базами данных (субд). Функции субд.
- •Логическая и физическая структура базы данных.
- •Трехуровневая архитектура системы управления базами данных.
- •Современные инструментальные средства разработки схемы бд.
- •Понятия и определения архитектуры удаленных бд.
- •Отличия и преимущества удаленных бд от локальных бд.
- •Технологии доступа к удаленным бд. Объектные модели доступа к удаленным бд.
- •Универсальная стратегия доступа к данным odbc. Технологии ado, bde, com, corba.
- •Разработка и управление бд средствами языка sql.
- •Элементы и конструкции языка sql. Управление данными с помощью языка sql.
- •Создание хранимых процедур
- •Для разработки схем триггеров используется следующий алгоритм:
- •Основные элементы клиентских программ
- •Методы сортировки, поиска и фильтрации данных.
- •Управление транзакциями, кеширование памяти, перехват исключительных ситуаций и обработка ошибок.
- •Формирование и вывод отчетов. Назначение и виды отчетов.
- •Идентификация и аутентификация пользователей.
- •Антивирусная защита данных. Технические методы и средства защиты бд.
- •Создание хранимых процедур
Методы сортировки, поиска и фильтрации данных.
Сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в нем значений. Сортировку можно выполнять и по нескольким полям. Например, при сортировке по двум полям записи сначала упорядочиваются по значениям первого поля, а затем группы записей с одинаковым значением первого поля сортируются по второму полю.
Сортировка наборов данных Table и Query выполняется различными способами.
В отличие от набора данных Table, средствами языка SQL можно выполнять сортировку для набора данных Query и по неиндексированным полям. Однако по индексированным полям таблицы сортировка выполняется быстрее. При этом состав полей индекса должен соответствовать списку полей, указанных в операнде ORDER BY.
При разработке приложения управление сортировкой осуществляется посредством различных элементов формы, например, кнопок и переключателей.
Когда в SQL-запросе отсутствует параметр ORDER, по умолчанию записи упорядочиваются по первому полю. Поэтому в рассматриваемом примере отсутствие сортировки и сортировка по полю Name приводят к одинаковому результату.
Поиск — это нахождение записи, удовлетворяющей определенным условиям, и возврат значений ее полей с возможным переходом на найденную запись. Отметим, что поиск можно вести по одним полям, а возвращать значения других полей. Составы полей для поиска и для возврата значений в общем случае не совпадают.
При организации поиска записей важное значение имеет наличие индекса для полей, по которым ведется поиск. Индексирование значительно повышает скорость обработки данных, кроме того, ряд методов может работать только с индексированными полями.
R средствам поиска можно отнести методы FindFirst, FindLast, FindNext и FindPrior, осуществляющие переход на записи, удовлетворяющие условиям фильтра.
Фильтрация — это задание ограничений для записей, отбираемых в набор данных. Напомним, что набор данных представляет собой записи, выбранные из одной или нескольких таблиц. Состав записей в наборе данных в данный момент времени зависит от установленных ограничений, в том числе и от фильтров. Система Delphi дает возможность осуществлять фильтрации записей:
1. по выражению;
2. по диапазону.
По умолчанию фильтрация записей не ведется, и набор данных Table содержит все записи связанной с ним таблицы БД, а в набор данных Query включаются все записи, удовлетворяющие SQL-запросу, содержащемуся в свойстве SQL.
Фильтрация похожа на SQL-запросы, но является менее мощным средством. По сравнению с SQL-запросами фильтрация менее эффективна, т. к. ограничивает количество записей, видимых в наборе.
Построение запросов к БД с помощью языка SQL.
Рассматриваются особенности вызова запросов к БД из приложения. Различают три вида запросов:
- статические запросы – текст запроса полностью формируется на этапе разработки приложения;
- параметрические запросы – текст запроса формируется на этапе разработки приложения и содержит несколько параметров, во время выполнения приложения можно задавать значения параметров;
- динамические запросы – текст запроса полностью формируется на этапе выполнения приложения.
При использовании технологии BDE для выполнения запросов применяется компонент TQuery. При использовании технологии ADO для выполнения запросов могут применяться следующие компоненты:
- компонент TADOQuery – аналог компонента TQuery. Является наи-более универсальным. Позволяет выполнять любые SQL запросы, включая операторы SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, EXECUTE и др. Текст запроса размещается в свойстве SQL. Содержит свойство Active логического типа, позволяющее выполнить запрос, возвращающий набор данных (оператор SELECT). Метод ExecSQL позволяет выполнить запрос, не возвращающий набор данных.
- компонент TADODataSet – специализированный компонент для ор-ганизации запросов на выборку с использованием оператора SELECT. Компонент не позволяет выполнять операторы, не возвращающие наборы данных, такие как: INSERT, UPDATE, DELETE, CREATE TABLE и т.п. Содержит удобный редактор, упрощающий конструирование запросов на выборку. Для вызова редактора используется свойство CommandText. Для выполнения запроса используется свойство Active.
- компонент TADOCommand – специализированный компонент для организации запросов, не возвращающих набор данных, таких как: INSERT, UPDATE, DELETE, CREATE TABLE и т.п. Компонент не позволяет выполнять оператор SELECT. Метод Execute позволяет выполнить запрос.[6]
В данном проекте используется параметрический запрос. Для того чтобы создать приложение, позволяющее выполнять параметрический запрос, например, вывести всю информацию о сотруднике с заданной фамилией, необходимо выполнить следующее:
- поместить на форму компоненты TADOConnection, TADOQuery, TDataSource и TDBGrid, TEdit и TButton задать им соответствующие имена;
- связать их между собой;
- связать компонент ADOConnection с БД
- задать свойство SQL компонента TADOQuery, введя в него текст за-проса на выборку, которая показана на рисунке 2.2:
