- •Архитектура приложений баз данных
- •Использование ado средствами Delphi
- •Набор данных в Delphi для работы с бд
- •Проектирование базы данных и редактирование данных
- •1) Наименования полей:
- •2) Типы данных:
- •3) Модификация структуры таблицы:
- •4) Определение характеристик таблицы:
- •Validity Checks (Проверка ввода значений)
- •1. Определение общего типа формы бд и источника данных
- •2. Выбор таблицы с данными
- •3. Выбор полей таблицы
- •4. Выбор способа размещения полей
- •5. Определение расположения названий полей
- •6. Размещение связанных полей
- •7. Характеристики окна формы бд
- •1.Запрос на выборку.
- •2.Запрос на добавление.
- •4.Запрос на удаление.
- •Проектирование отчетов
- •Использование запросов при проектировании приложений
- •1.Запрос на выборку.
- •2.Запрос на добавление.
- •4.Запрос на удаление.
- •Создание связей в Delphi
- •Поиск данных
Использование запросов при проектировании приложений
При работе с БД широко применяется понятие запроса к ней. Под запросом понимается требование совершить определенное действие с информацией из БД. Можно выбрать данные в соответствии с заданным условием и отобразить результат – запрос на выборку. Можно также вставить, удалить, обновить определенные записи в БД, используя соответствующие запросы. Такие требования формируются на специальных языках программирования QBE и SQL. SQL нашел более широкое распространение, в Delphi его можно использовать при создании приложения для работы с БД.
SQL-запрос
На языке SQL можно создать запросы различных типов:
запрос на выборку данных;
запрос на добавление;
запрос на обновление;
запрос на удаление.
SQL-запрос, созданный с помощью DBD, помещается в файл с расширением sql.
Каждый запрос на языке SQL состоит из нескольких частей, которые начинаются с определенного зарезервированного слова. При записи запросов можно использовать как прописные, так и строчные буквы. Информацию можно разбивать на строки произвольным образом, но желательно в отдельные строки помещать информацию, имеющую определенное смысловое назначение. Для разделения отдельных зарезервированных слов, идентификаторов, чисел, строк, знаков операций и т.д. следует использовать пробелы.
1.Запрос на выборку.
Он предназначен для извлечения данных, находящихся в определенных полях одной или нескольких таблиц и соответствующих задаваемым условиям. Конструкция запроса следующая:
SELECT [DISTINCT] <список выводимых полей>
FROM <список используемых таблиц>
[WHERE <условие отбора>]
[ORDER BY <порядок сортировки>]
[GROUP BY <порядок группировки>]
[HAVING <условие отбора групп>]
[UNION <объединяемый запрос на выборку>]
Рассмотрим подробнее отдельные части запроса.
DESTINCT – указывает, что в результате запроса не должно быть
повторяющихся значений.
<список выводимых полей>:
[<таблица>.]<поле>[AS <псевдоним>]{,[<таблица>.]<поле>[AS
<псевдоним>]}, где таблица – имя таблицы, если в запросе присутствует только одна таблица, его можно опустить; поле – имя поля; псевдоним – псевдоним для имени поля является локальным в запросе; AS – оператор, ставящий в соответствие конкретному полю псевдоним. Если требуется получить данные из всех полей таблицы, то достаточно указать * вместо перечисления всех имен полей.
<список используемых таблиц>:
“<файл с таблицей>” [<псевдоним>]{,”<файл с
таблицей>”[<псевдоним>]}.
WHERE – зарезервированное слово, с которого начинается оператор задания условий.
<условие отбора>:
Условие, устанавливающее объединение:
[(<таблицаM.поле1> <условие> <таблицаN.поле2>)]{AND|OR
(<таблицаI.поле1> <условие> <таблицаJ.поле2>)}, где таблицаM, таблицаN, таблицаI, таблицаJ – имена объединяемых таблиц; поле1, поле2 – имена полей в этих таблицах, по соответствию значений которых устанавливается взаимосвязь таблиц; условие – определяет соответствие значений в заданных полях двух таблиц, например: равенство, больше, меньше, не равно и другие операции сравнения; условий может быть несколько, в этом случае они объединяются при помощи круглых скобок и логических операций AND и OR. Если условие для объединения отсутствует, формируется результат, представляющий собой всевозможные объединения записей всех таблиц.
Условие на значение полей:
[[<таблица>.]<поле> <условие> <значение>]
{AND|OR [<таблица>.] <поле> <условие> <значение>}.
Помимо математических, используются также логические операторы сравнения, предикаты IN, LIKE и другие.
ORDER BY – зарезервированное слово, с которого начинается оператор задания порядка сортировки.
<порядок сортировки>:
[<таблица>.]<поле> [ASC|DESC] {,[<таблица >.]<поле> [ASC|DESC]}, где ASC (по умолчанию) или DESC – определяют порядок сортировки соответственно по возрастанию или убыванию.
GROUP BY – зарезервированное слово, с которого начинается оператор задания порядка группировки.
<порядок группировки>:
[<таблица>.]<поле> {,[<таблица>.]<поле>}.