
- •1. Базы данных. Основные понятия и определения
- •1.2. Основные определения.
- •2. Нормализация баз данных
- •2.1. Задача нормализации бд
- •2.2. Первая нормальная форма (1нф)
- •2.3. Вторая нормальная форма (2нф)
- •2.4. Третья нормальная форма (3нф)
- •3. Отношения между таблицами
- •3.1. Связи между таблицами
- •3.2. Отношение "Один-к-одному"
- •3.3. Отношение "Один-ко-многим"
- •3.4. Отношение "Многие-ко-многим"
- •4. Субд Microsoft Access
- •4.1. Особенности субд Microsoft Access
- •4.2. Объекты ms Access
- •4.3. Режимы работы с объектами ms Access
- •5. Таблицы ms Access
- •5.1. Создание таблиц
- •5.3. Создание связей между таблицами в ms Access
- •6. Запросы ms Access
- •6.1. Что такое запросы
- •6.2. Краткие сведения об sql
- •6.3. Создание запросов
- •6.4. Условия отбора записей
- •6.5. Запросы-действия
- •6.6. Запросы sql
- •7. Формы ms Access
- •7.1. Общие сведения
- •7.2. Создание форм
- •7.3. Элементы управления
- •7.4. Кнопочные формы
- •8. Отчеты ms Access
- •8.1. Общие сведения
6. Запросы ms Access
6.1. Что такое запросы
Основное назначение таблицы в MS Access - хранение внесенных данных. При этом она играет роль пассивного хранилища, т. е. сама не может инициировать ни процесс запроса новых записей, ни передачу информации конечному потребителю. Для этого в СУБД служат другие объекты - запросы.
Все запросы делятся на запросы-выборки и запросы-действия.
После выполнения запроса-выборки СУБД создает виртуальную таблицу, в которую заносит выбранную информацию и хранит ее до тех пор, пока сгенерированная таблица не будет закрыта. Когда этот запрос закрывается, полученная таблица уничтожается, освобождая занимаемую память.
В отличие от запроса-выборки, запрос-действие вносит изменения в существующие данные. При помощи запроса-действия можно автоматически создать новую таблицу, внести данные в уже имеющуюся таблицу, а также удалить или изменить какой-либо набор записей из существующей таблицы.
Любой вновь создаваемый запрос в MS Access автоматически считается запросом-выборкой. В том случае, когда пользователю или разработчику нужно получить запрос-действие, следует специально это указать. Это помогает избежать случайных действий с данными, которые нельзя отменить.
Фактически, запрос в MS Access является инструкцией на языке SQL (Structured Query Language), который является на сегодняшний день основным средством составления запросов в наиболее распространенных реляционных СУБД. Посредством механизма SQL становится возможным как обращаться к содержимому баз MS Access из других приложений (в том числе и приложений от других производителей), так и получать данные для MS Access из внешних приложений, поддерживающих SQL.
Запросы в MS Access доступны в трех режимах: табличном, в котором запрос выглядит так же, как обычная таблица, режиме конструктора, где запрос предстает в виде схемы связанных объектов, и в виде инструкций SQL.
6.2. Краткие сведения об sql
Структурированный язык запросов (Structured Query Language) - это язык запросов, ориентированный специально на реляционные базы данных. SQL был разработан в 70-е годы фирмой IBM и стандартизован ANSI (American National Standards Institute). Поэтому его часто также называют ANSI-SQL. Одно из достоинств SQL - его широкое распространение. При этом следует помнить, что на различных СУБД диалект SQL может отличаться от стандарта ( ANSI SQL89 и ANSI SQL92). Диалект SQL, используемый в MS Access, называется Jet SQL.
Небольшой набор команд SQL и определенный синтаксис составления выражений позволяет совершать сколь угодно сложные операции. Самой распространенной из них является выборка связанных данных из одной или нескольких таблиц при помощи оператора SELECT, однако в случае необходимости SQL может вносить информацию, корректировать хранящиеся записи и создавать новые объекты базы данных. SQL применяется не только в MS Access, но и во всех современных СУБД.
SQL-запросы построены на лексическом диалекте, основанном на семантике обычного языка (английского). При создании языка предполагалось, что конструкцию на нем сможет написать любой неподготовленный пользователь, руководствуясь исключительно своими потребностями и исходя из существующей структуры данных. Среди базовых инструкций, на которых основываются запросы, стоит выделить следующие наиболее распространенные команды:
SELECT - предназначается для выборки из базы данных набора записей, соответствующих указанному критерию. В качестве входных параметров инструкции передаются названия полей таблиц, которые должны быть внесены в результирующий набор.
UPDATE - служит для редактирования записей (одной или нескольких). Пользователь указывает названия полей таблиц и их новые значения.
DELETE - инструкция, полностью удаляющая из базы данных все указанные записи (а не только значения отдельных полей).
CREATE - позволяет создавать новые объекты базы данных.
Вспомогательные конструкции языка, например, WHERE задает критерий уточняющего поиска среди отобранных записей.
В языке запросов, реализованном в Microsoft Access, поддерживаются четыре дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос). В качестве функции могут быть использованы итоговые функции SQL, например такие, как AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR или VARP. Кроме того, в качестве функции могут применяться встроенные функции MS Access и встроенного языка VBA.