Глава 5 СУБД MICROSOFT ACCESS
5.1. Назначение и область применения СУБД Microsoft Access
Microsoft Access — это программная среда, разработанная фирмой Microsoft, которая предназначена для создания систем управления реляционными базами данных с достаточно большими объемами информации (сотни Мбайт).
Система управления базами данных Microsoft Access предоставляет пользователю все необходимые средства для автоматизации создания и обработки данных, а также управления данными при работе.
Система Microsoft Access обеспечивает разработку информационных систем в различных сферах производства и бизнеса. И хотя иногда ее называют настольной СУБД, она обладает характеристиками, позволяющими применять ее для решения таких сложных многопользовательских задач, как разработка систем автоматизированного проектирования или автоматизированных экспертных систем.
Например, фирма «Топ-Системы» разработала с применением Microsoft Access систему автоматизированного проектирования технологических процессов изготовления деталей «Техно-Про», интегрированную в систему параметрического черчения «T-flex-CAD».
На кафедре «Технологии производства приборов и систем управления летательных аппаратов» МАТИ — РГТУ им. К.Э. Циолковского разработаны САПР технологических процессов сборки «Лазер 2000» и экспертная система оценки ожидаемых затрат на изготовление новых приборов «Класс—Эксперт».
СУБД Access имеет характеристики, ставящие ее вне конкуренции при обучении методологии разработки информационных систем на основе баз данных:
-
простота освоения специалистами, не владеющими языками программирования, что обеспечивает сокращение времени на проектирование и затрат на разработку;
-
совместимость с приложениями Windows;
-
возможность создания БД со вставкой графических и мультимедийных объектов;
-
возможность работы в локальных и глобальных сетях;
-
возможность использования таблиц БД, разработанных другими программными системами.
69
5.2. Импорт, присоединение и экспорт данных
Одним из достоинств СУБД Access является возможность работы с данными, разработанными с применением других программных продуктов, т. е. импорт или экспорт данных.
Access взаимодействует с данными, разработанными другими приложениями Windows (текстовыми, графическими, электронными таблицами), а также с базами данных, разработанными с использованием специальных языков программирования dBASE, Paradox, Btrive, SQL.
Все действия с информацией в СУБД Access — чтение, вставка, удаление данных и другие выполняются с помощью команд, написанных на структурированном языке запросов — SQL, который должен быть утвержден международной организацией стандартов ISO в качестве официального стандарта реляционных баз данных.
Модификации языка SQL применяются в структуре практически всех реляционных СУБД. В структуре СУБД Access содержится драйвер Open Database Connectivity (ODBC — открытый доступ к данным), обеспечивающий взаимодействие с другими базами данных.
Импорт и присоединение данных. При создании таблиц в Access обеспечивается возможность импорта данных из файлов с различными форматами, разработанными с помощью других программных продуктов, посредством копирования.
Присоединение данных — это возможность обращения из одной базы данных к информации, имеющейся в других базах данных (таблицам), которые могут находиться как в том же компьютере, так и в других компьютерах, объединенных сетью.
Импорт данных предпочтителен в следующих ситуациях:
-
необходимые данные находятся в файле небольшого размера (Кбайты);
-
необходимые данные находятся в файле, содержание которого пользователем меняется достаточно редко;
-
при замене версии Access файлы прежнего формата в новой версии использоваться не могут.
Присоединение данных предпочтительно в следующих ситуациях:
-
требуемый файл по размеру больше максимально возможного размера БД в Access (1 Гбайт);
-
данные файла часто меняются пользователем;
-
данные файла используются при работе в режиме коллективного доступа.
Технология импорта файлов:
=> открыть базу данных, в которую будет импортироваться файл;
=> активизировать меню Файл и команду Импорт;
70
=> в появившемся диалоговом окне Импорт выбрать из предложенного списка формат импортируемого файла. При этом Access откроет диалоговое окно Выбор файлов;
=> в окне Выбор файлов выбрать импортируемый файл.
В процессе импорта происходит преобразование типов полей импортируемых данных в форматы данных Access.
Аналогично производится импорт данных и из других БД, разработанных в среде Access.
Например, при импортировании текстовых файлов в таблицы Access их необходимо соответствующим образом структурировать: либо текст оформить в виде таблиц, либо использовать в тексте разделители, отличающие начало и конец абзаца. Такими разделителями могут служить запятая, пробел, табуляция.
Технология присоединения таблиц:
=> открыть базу данных, в которую будет импортироваться файл;
=> активизировать меню Файл и команду Присоединитьтаблицу,
=> в появившемся диалоговом окне Присоединение таблиц выбрать из предложенного списка формат импортируемого файла, Access откроет диалоговое окно Выбор базы данных;
=> в окне Выбор базы данных выбрать имя БД, Access откроет диалоговое окно со списком таблиц выбранной БД;
=> выбрать нужную таблицу и активизировать команду Присоединить.
Экспорт данных. Технология экспорта таблиц из одной БД в другие практически аналогична импорту.
5.3. Публикация данных в сетях Internet и Intranet
Современные компьютерные технологии, применяемые в производстве и бизнесе, ориентируются на широкие возможности применения локальных и глобальных вычислительных сетей — Intranet и Internet, т.е. передачу или получение графической и текстовой информации (чертежей деталей, узлов, технологической документации, данных о финансовой деятельности фирмы и др.) удаленными пользователями. СУБД Microsoft Access 2000 предоставляет пользователю все необходимые средства для выполнения этих операций.
Для информационного обмена через Internet в СУБД Access 2000 предусмотрено создание так называемых страниц доступа к данным (Data Access Pages), представляющих собой специальные формы, с которыми можно работать в Web-броузерах, например Internet Explorer. По сути страница доступа к данным — это Web-страница, разработанная в виде формы, позволяющей вводить, Просматривать и делать выборки информации в базе данных. Страницы доступа к данным, в отличие от форм хранятся в виде от-
71
дельных файлов вне файла базы данных и могут публиковаться на Web-серверах.
Фактически страницы доступа к данным позволяют создавать и хранить информацию в формате HTML.
Одним из достижений современных информационных технологий является возможность совместной работы специалистов в локальных (в пределах предприятия) компьютерных сетях Intranet. В этом случае Access 2000 позволяет организовать эффективную работу с базами данных по архитектуре клиент—сервер, т.е. создать специальный файл проекта с расширенным ADP, в котором хранятся объекты интерфейса пользователя — формы, отчеты, макросы, модули. Все объекты базы данных — таблицы, запросы разрабатываются на языке SQL и хранятся в виде файлов SQL-Server, а клиентская часть разрабатывается в среде Access 2000. В этом случае обеспечиваются централизованное создание баз данных и эффективный доступ к этим данным различными пользователями. Такие базы данных иногда называют корпоративными.
5.4. Интеллектуальный анализ данных
В настоящее время получает развитие новое направление компьютерных информационных технологий — интеллектуальный анализ данных (ИАД), основное назначение которого — повышение эффективности принимаемых решений.
Системы ИАД реализуют новый интеллектуальный подход к применению СУБД, а именно поиск и выявление закономерностей в различных сферах деятельности. Так, еще при использовании СУБД «Ребус» (dBase-Ill) разрабатывались базы данных для учета и последующего анализа причин отказов изделий в процессе производства и эксплуатации. В настоящее время с развитием СУБД это направление разработки БД стало использоваться при анализе бизнес-процессов в самых ответственных сферах деятельности — маркетинге, производстве, обслуживании.
Развитие ИАД обусловлено следующими техническими и социально-экономическими факторами:
-
появлением относительно дешевых и достаточно объемных устройств хранения информации (до 100 Гбайт), созданием компьютеров с параллельной архитектурой и развитием сетевых технологий;
-
стандартизацией средств СУБД на основе SQL-запросов;
-
обострением конкурентной борьбы за сферы влияния на потребителей продукции и услуг;
-
переходом от массового обслуживания потребителей к индивидуальному.
Различают следующие этапы процесса ИАД:
72
=> выбор данных;
=> трансформация данных;
=> анализ информации.
Как правило, для решения конкретной задачи требуется не вся информация, содержащаяся в БД, т.е. из имеющихся таблиц требуется выбрать записи с определенной номенклатурой полей.
Технология выбора данных для ИАД:
=> создание таблицы (Анализ данных) с требуемой структурой (составом полей из имеющихся таблиц БД);
=> создание запросов на выбор требуемой информации из таблиц и ее добавление в таблицу Анализ данных.
После создания таблицы для анализа данных иногда проводится упорядочивание информации (трансформация) — удаление дублирующих записей, приведение данных в полях к единому формату и др.
Для непосредственного анализа информации с целью получения определенных закономерностей применяются известные методы математической статистики. При этом процесс анализа информации сводится к двум основным процедурам: проверке гипотез и поиску закономерностей.
Для проверки гипотезы представляют информацию, содержащуюся в таблице Анализ данных, в виде отчета (таблицы, графика, диаграммы), причем результаты этого отчета могут подвергаться статистическому анализу с применением различных математических методов.
Поиск закономерностей сводится к следующим операциям: прогнозному моделированию; анализу связей; сегментации БД; идентификации отклонений.
Цель прогнозного моделирования заключается в создании обобщенной модели поведения анализируемой системы данных на основе построения и анализа математических моделей.
Зависимости (связи) между отдельными записями БД определяются классическими методами корреляционного и регрессионного анализа.
Целью сегментации БД — разбиения записей на группы с целью сужения областей анализа данных — является создание отчетов с группировкой данных.
Целью идентификации отклонений является выявление записей, не входящих в установленные группы, и проведение математической обработки данных, т. е. установление, являются ли эти отклонения «шумом» или же они представляют собой закономерный процесс.
Контрольные вопросы
1. Какие характеристики СУБД Access сделали ее одной из самых популярных программных систем?.
73
-
Что такое импорт, экспорт и присоединение данных?
-
Чем отличается импорт данных от присоединения данных?
-
В каких случаях целесообразно применение импорта и в каких — присоединение данных?
-
Что такое интеллектуальный анализ данных?
-
В каких сферах деятельности применяют И АД?
-
Каковы основные этапы процесса И АД?
-
С какой целью проводится анализ информации?
-
Для чего применяют технологию трансформации данных?
-
Из каких операций состоит задача поиска закономерностей?
-
Чем обусловлено появление ИАД?
Гла ва 6 ТЕХНОЛОГИЯ РАЗРАБОТКИ ТАБЛИЦ БАЗ ДАННЫХ
6.1. Разработка физической модели данных
Прежде чем включить компьютер и запустить Access, необходимо установить обязательные характеристики объектов БД — физическую модель данных, т.е. номенклатуру признаков описания объекта (состав и число полей) и характеристики каждого поля таблицы, а результаты оформить в табличном виде (рис. 6.1).
Затем можно приступить к созданию таблицы в среде Access. Во всех имеющихся версиях этой системы последовательность действий практически одинакова. Существует лишь некоторая разница в оформлении диалоговых окон. Рассмотрим примеры создания таблиц с использованием версии Microsoft Access 2000.
6.2. Создание таблицы с помощью конструктора таблиц
Для создания таблицы необходимо выполнить следующие действия:
=> включить компьютер и загрузить программное обеспечение — Windows и Access;
=> в появившемся диалоговом окне дважды щелкнуть кнопкой мыши по меню Файл и выбрать команду Создать;
=> в диалоговом окне Создание (рис. 6.2) активизировать переключатель Базы данных и щелкнуть мышью по кнопке [ОК];
=> в диалоговом окне Файл новой базы данных (рис. 6.3) присвоить имя файлу, указав при этом имя директории (папки), гДе будет храниться БД, и щелкнуть мышью по кнопке Создать;
75
=> в диалоговом окне База данных активизировать закладку Таблица и выбрать команду Создать в режиме конструктора;
=$ в появившемся диалоговом окне конструктора таблиц (рис. 6.4) создать структуру таблицы в соответствии с установленными составом и характеристиками полей.
Конструктор таблиц содержит четыре информационных блока: Имя поля; Тип данных; Описание; Свойства поля.
В блоке Свойства поля имеются два окна (закладки) — Общие и Подстановка. Общие свойства поля заполняются обязательно. В окне Подстановка можно задать список значений, который при вводе данных будет выводиться непосредственно в таблицу, В этом случае пользователь должен будет лишь щелкнуть мышью по нужному значению. Такие поля называют полями со списком.
При задании имени полю таблицы необходимо руководствоваться следующими рекомендациями:
-
имя поля не должно начинаться с пробела;
-
несмотря на то что имя поля может содержать до 64 (Access 2000) символов, его следует задавать минимальным числом символов с целью обеспечения минимизации объема памяти и времени поиска информации;
-
желательно, чтобы имя поля представляло собой аббревиатуру названия признака объекта, который будет вводиться в ячейки поля;
77
• в имени поля не должно быть знаков препинания, скобок,
восклицательных знаков;
• не допускается повторение имен в таблице.
Технология занесения данных в строки информационных бло
ков конструктора таблиц аналогична технологии работы с табли
цами в текстовом редакторе Word. Причем заполнение информа
ционных блоков следует производить последовательно для каждо
го поля в следующем порядке:
=> ввести имя поля;
=> выбрать тип данных;
=> ввести в строку блока Описание комментарий, поясняющий характер вводимых значений в ячейку данного поля (в дальнейшем при заполнении таблицы этот комментарий выводится в строку подсказки в нижней части экрана);
=> задать свойства поля;
=> повторить указанные действия для всех остальных полей таблицы.
В конструкторе таблиц Microsoft Access выбор типа данных можно осуществить через список. Приведем типы данных, входящих в этот список.
Текстовый. Поле данных этого типа может содержать до 255 любых символов, в том числе и цифры. В такое поле данных могут также вводиться одни цифры, если с ними не предполагается производить вычислений.
Мемо. Поле данных этого типа, называемое полем текстовых примечаний, предназначено для содержания текстовой информации длиной более 255 символов; в Access 2000 — до 65 535 символов. Этот тип данных отличается от текстового тем, что представляет собой не сами данные, а ссылки на соответствующие блоки данных, хранящиеся отдельно, что значительно ускоряет обработку таблиц. При этом поля данных типа Мемо не могут быть ключевыми или индексными.
Числовой. Данные этого типа предназначаются для характеристики объектов базы данных, которые могут участвовать в математических расчетах.
Дата/время. Данные такого типа предназначены для указания даты или времени, характеризующих конкретную запись таблицы, например даты поступления товара на склад или времени начала и окончания работы пользователя в сети Internet. В поле данных этого типа можно вводить даты с 100 по 9999 годы.
Денежный. Данные этого типа аналогичны данным числового типа и отличаются от них только характеристиками вводимых чисел. Точность числа данных такого типа не превышает четырех знаков после запятой, а целая часть может содержать до 15 десятичных разрядов. В конце числа может быть проставлено обозначение валюты.
78
Счетчик. Поле содержит уникальный (не повторяющийся) но-дер записи таблицы БД. Значения этого поля не обновляются. Таблица Access 2000 может содержать 2 млрд записей.
Логический. Параметры поля данных этого типа могут принимать только два значения, интерпретированные как Да/Нет, Истина/Ложь, Включено/Выключено. Поля данных логического типа не могут быть ключевыми, но могут быть индексными.
OLE (OLE-объект). В ячейки поля данных этого типа вводятся ссылки на приложения, разработанные для Windows. Это могут быть текстовые, графические и мультимедийные файлы. Объем хранимых данных такого типа в ячейках поля ограничен только дисковым пространством компьютера.
Гиперссылка (Hyperlink). Позволяет вставлять в поле адрес, с помощью которого можно ссылаться на любой файл или фрагмент любого файла, находящегося в том же компьютере, где находится таблица БД, или в любом компьютере локальной сети или в сети Internet.
Гиперссылка состоит из трех частей: адреса, указывающего путь к файлу, дополнительного адреса, указывающего положение фрагмента внутри файла или страницы текста, и отображаемого текста. Каждая часть гиперссылки может содержать до 2048 символов.
Мастер подстановок. Позволяет создавать фиксированные списки значений, которые могут принимать данные, заносимые в ячейки поля.
После установления имени и типа данных курсор помещают в соответствующую строку блока Описание и создают комментарий, позволяющий пользователю правильно вводить информацию при заполнении таблицы.
Рекомендуется обязательно вводить комментарий, особенно в тех случаях, когда в обозначении имени или подписи поля содержится недостаточно информации для правильного ввода данных. Например, при вводе характеристик технологического оборудования в поле Z)max (см. рис. 4.3) пользователь должен знать, что максимальный диаметр заготовки, которая может быть обработана на станке данной модели, указан в миллиметрах, т.е. в этом случае в строке блока Описание можно сделать следующий комментарий: максимальный диаметр заготовки в мм.
После ввода комментария необходимо перейти к блоку Свойства поля в разделе Общие и задать полю требуемые свойства. В конструкторе таблиц каждому полю в зависимости от типа данных автоматически (по умолчанию) задается определенный набор свойств. Конструируя таблицу, эти свойства изменяют в соответствии с конкретными требованиями к данным.
На рис. 6.5 показан фрагмент структуры таблицы, созданной в режиме конструктора, с описанием свойств одного из полей.
79
После описания характеристик (свойств) всех полей таблицы конструктор закрывают, при этом открываются диалоговые окна, в которых предлагается задать имя таблицы и установить ключевые поля, если они не были заданы ранее.
При задании имени таблицы необходимо учитывать следующие рекомендации:
-
имя должно отражать содержание данных в таблице (класс объектов);
-
в имени не должно быть знаков препинания и скобок;
-
имя не должно начинаться с пробела;
-
в одном файле БД не должно быть таблиц с одинаковыми именами.
Ключевые поля устанавливаются в тех случаях, когда данные одной таблицы БД должны быть связаны с данными других таблиц. При этом ключевое поле должно однозначно определять каждую запись в таблице, а его значения не должны повторяться.
Ключевым может быть любое поле таблицы, значения данных которого однозначно определяют всю запись. Если запись нельзя однозначно определить по значением данных одного поля, устанавливают несколько ключевых полей. В качестве ключевого можно выбрать поле данных Счетчик, которое однозначно определяет каждую запись таблицы.
80
Ключевое поле создается при описании свойств полей в конструкторе таблиц, для чего следует выделить необходимое поле и на панели инструментов щелкнуть мышью по соответствующей кнопке.
При создании нескольких таблиц, содержащих одинаковые характеристики объектов, следует применять технологию копирования данных. Для этого необходимо выполнить следующие действия:
=> открыть созданную ранее таблицу в режиме Конструктор;
=> выделить поле, которое повторяется в другой таблице;
=> скопировать выделенное поле (со всеми его свойствами) в буфер обмена;
=> вставить из буфера обмена характеристики поля в соответствующую строку конструктора таблиц.
Когда структуры таблиц БД созданы, для обеспечения целостности данных необходимо установить связи между связанными таблицами.* Целостность данных гарантирует защиту информации от случайных изменений в связанных таблицах.
В связанных таблицах одна таблица является главной, а вторая — подчиненной. Главная таблица должна обязательно содержать ключевое поле, а подчиненная — аналогичное поле, которое не является ключевым.
Для установления связей между таблицами необходимо выполнить следующие действия:
=> на панели инструментов окна базы данных соответствующим значком активизировать команду Схема данных (рис. 6.6);
=> в открывшееся окно построителя схемы данных (рис. 6.7) ввести главную и подчиненные таблицы;
=> связать таблицы по одинаковому полю.
На рис. 6.8 показано окно построителя схемы данных, в котором установлена связь один — ко многим между двумя таблицами САПР ТП «ЛАЗЕР 2000». В процессе создания связи включен параметр Обеспечение целостности данных, при котором не допускается произвольное удаление или изменение записей в главной таблице.
Если установить (включить) параметры связи между таблицами Каскадное обновление связанных полей и Каскадное удаление связанных записей, то при любых изменениях данных в главной таблице произойдет автоматическое изменение связанных данных в подчиненной таблице.
Итак, состав таблиц базы данных установлен, структура каждой таблицы разработана, определены и установлены связи между таблицами. Можно приступать к заполнению таблиц данными.
* В информационной системе могут быть таблицы, не связанные с другими таблицами БД.
81
82
Рис. 6,8. Окно схемы данных с установленной связью один — ко многим
Ввод данных в таблицы производится двумя способами: непосредственно в ячейки таблицы и через формы. При выборе способа ввода данных в таблицы необходимо руководствоваться следующими соображениями:
-
уменьшение вероятности ошибок оператора;
-
удобство организации самого процесса ввода данных.
Контрольные вопросы
-
Из каких информационных блоков состоит конструктор таблиц и в какой последовательности следует их заполнять?
-
Из скольких символов может состоять имя поля?
-
Может ли имя поля начинаться с пробелов?
-
Какие символы нельзя использовать при обозначении имени поля?
-
В чем состоит отличие данных текстового типа отданных типа Мемо?
-
В чем заключается различие числового и денежного типов данных?
-
В каких случаях следует применять данные типа OLE?
-
В каких случаях следует применять данные типа гиперссылки?
-
В каких случаях полю присваивают свойство ключевого?
-
Может ли ключевое поле иметь повторяющиеся значения данных в таблице БД?
-
В каких случаях полю присваивают свойство обязательного?
-
Какие таблицы называются главными и подчиненными?
-
Что такое обеспечение целостности данных?
Гл а ва 7
ТЕХНОЛОГИЯ РАЗРАБОТКИ ЗАПРОСОВ В СУБД MICROSOFT ACCESS
7.1. Виды запросов при работе сданными
Основное назначение любой информационной системы состоит в предоставлении пользователю необходимой и достоверной информации, и базы данных в большей степени отвечают этому назначению.
Обработка информации, содержащейся в таблицах БД, осуществляется с помощью запросов, которые представляют собой некоторый набор команд, предназначенных для поиска и обработки информации в таблицах по заданным пользователем условиям (значениям полей). В системе Access в зависимости от выполняемых действий можно создавать следующие виды запросов: на выполнение действий (выборку); обновление; добавление; удаление; создание таблицы.
Виды запросов могут различаться технологией создания и формой представления информации. В зависимости от технологии создания запросы разделяют на постоянные и параметрические. В постоянных запросах условия выбора информации не меняются в течение длительного времени. В параметрических запросах параметры выбора информации меняются.
В результате выполнения запросов получают динамические таблицы, которые по своей форме могут быть двух видов: со структурой, соответствующей исходной таблице (таблицам) БД, и со структурой, отличающейся от исходной таблицы (таблиц) БД, которые называются кроес-таблицами.
В отличие от исходной таблицы БД заголовками столбцов в кросс-таблице являются не имена, а значения выбранных полей. Кросс-таблицы формируются с помощью особых видов запросов — перекрестных, т.е. запросов, которые применяются для выбора информации с одновременным группированием данных по значениям отдельных полей.
7.2. Способы создания запросов
В системе Access пользователю предлагается два способа создания запросов:
-
конструирование в режиме Меню;
-
программирование в режиме SQL.
84
Создание запроса в режиме Меню выполняется с помощью системы мастеров.
В этом случае пользователь, указав параметры запроса в окне конструирования, использует предоставляемые мастером возможности.
Система Access в этом случае автоматически формирует код программы в виде специальной последовательности команд на структурированном языке формирования запросов — SQL.
При программировании в режиме SQL пользователь должен описать все выполняемые при запросе действия с помощью соответствующих команд на языке SQL.
Возможности конструирования запросов в режиме Меню достаточны для решения практически любых задач обработки информации в таблицах БД.
Технологию конструирования запросов рассмотрим на примере СУБД Access 2000, в которой проектирование запроса может выполняться двумя способами: самостоятельно и с помощью мастеров. При любом способе проектирования необходимо открыть окно Запросы объектов БД (рис. 7.1), активизировав кнопку [Запросы]*.
* Все рассмотренные далее примеры основаны на базе данных, разработанной для составления и анализа нагрузки преподавателей.
85
Рис. 7.2. Окно начального диалога при создании запроса
Пользователь может выбрать следующие варианты конструирования запросов:
щелкнуть мышью по кнопке [Создать] в строке меню окна элементов БД;
щелкнуть мышью по значку [Создание запроса в режиме конструктора] ;
щелкнуть мышью по значку [Создание запроса с помощью мастера].
При выборе первого способа открывается окно создания запроса (рис. 7.2), в котором пользователю предлагаются Самостоятельное создание нового запроса и Создание запроса с помощью конструктора в режимах: Простои запрос; Перекрестный; Повторяющиеся записи; Записи без подчиненных.
7.3. Создание запросов с помощью конструктора
запросов
При создании запросов с помощью конструктора запросов (рис. 7.3) необходимо выполнить следующие действия:
=> открыть конструктор запросов;
=* в открывшемся окне Добавление таблицы выбрать таблицу или таблицы, на основе которых составляется запрос (посред-
86
ством команды Добавить). Выбор осуществляется щелчком мыши по имени соответствующей таблицы.
При этом в окне конструктора появится таблица с именами полей (на рисунке выполнение этих действий показано сплошными стрелками);
=* после ввода таблицы (таблиц) щелкнуть мышью по кнопке [Закрыть];
=> переместить необходимые для запроса поля таблицы в поля окна конструктора запросов (на рисунке выполнение этих действий показано пунктирными стрелками), после чего продолжить конструирование по условиям выполнения запроса;
=3- установить порядок сортировки записей по значениям каких-либо полей (например, в алфавитном порядке по полю ФИО);
=> в случае необходимости вывода на экран значений полей соответственно щелкнуть мышкой по квадратику в строке Вывод на экран,
=> ввести в строку Условие отбора соответствующие значения полей, по которым производится отбор данных из таблиц.
На рис. 7.4 показан вид разработанного запроса, по которому Должен производится отбор записей из таблицы Нагрузка для выбора преподавателей (поле ФИО), имеющих в весеннем семестре (поле Семестр) по дисциплинам (поле Предмет) курсовые проекты (поле КРП). При этом фамилии преподавателей должны вы-
87
водиться в алфавитном порядке, а значение поля Семестр не должно выводиться на экран.
Для выполнения заданных условий при конструировании введены следующие параметры запроса:
в строке Сортировка для поля ФИО — порядок сортировки «по возрастанию*;
в строке Условие отбора для поля Семестр — условие «весенний»;
в строке Условие отбора для поля КРП' — условие «>0», означающее, что в этом поле число часов, отводимых на выполнение курсовой работы, должно быть больше нуля;
в строке Вывод на экран отменен вывод значений поля Семестр-
В процессе конструирования запроса можно производить проверку его выполнения. Для этого достаточно щелкнуть мышью по кнопке выполнения запроса на панели инструментов.
Мы рассмотрели технологию создания запроса на выборку. Технология проектирования других видов запросов аналогична. Окно для выбора вида запроса показано на рис. 7.5.
По окончании конструирования запрос необходимо закрыть, щелкнув по соответствующей кнопке окна конструктора. При этом
откроется диалоговое окно, в котором будет предложено задать имя запросу.
Правила составления условий отбора данных. При задании условий отбора данных необходимо соблюдать следующие правила:
-
Перед вводимым значением текстового (символьного) поля должен стоять знак = .
-
Вводимая строка символов должна заключаться в кавычки (если вы забыли данное правило, Access выполнит его сама).
-
Математические условия выборки определяются известными операторами сравнения =, <>, <,>,<=,> = . Кроме того, могут применяться специальные операторы сравнения Between, In, Like.
-
При составлении условий выборки в полях Дата/время могут применяться функции, приведенные в табл. 7.1, которые при составлении запроса вводятся как вычисляемые поля.
Если необходимо выбрать записи, отвечающие одновременно Нескольким параметрам, т.е. значениям нескольких полей, что соответствует логическому условию И (AND), то соответствующие значения вводятся в строку Условие отбора. Если выбор записей необходимо произвести по значениям нескольких полей, связанным исключающим отношением ИЛИ (OR), то соответствующие значения вводятся в ячейки строки Или.
Ввод условий отбора данных непосредственно в строки конструктора запросов рекомендуется производить при конструирова-
89
Таблица 7,1
нии постоянных запросов. При конструировании параметрических запросов ввод условий отбора данных рекомендуется производить через формы.
Конструирование перекрестных запросов. Перекрестные запросы, результатом выполнения которых являются кросс-таблицы, целесообразно создавать для анализа числовых полей. Например, необходимо разработать запрос, который позволил бы на основе таблицы, структура которой показана на рис. 7.6, посмотреть число часов лабораторных работ, проводимых в различных группах каждым преподавателем.
В результате выполнения запроса получают динамическую таблицу (рис. 7.7), в которой в ячейках столбца ФИО записаны фамилия и инициалы преподавателя, число столбцов Группа 1 ... Группа N соответствует числу групп в таблице, приведенной на рис. 7.6, а подпись каждого столбца — наименованию группы. Таким образом, поле ФИО в обеих таблицах имеет одинаковое назначение. Значения этого поля в кросс-таблице называют заголовком строки.
Названия столбцов кросс-таблицы являются значениями поля Группа на рис. 7,6. В ячейках столбцов кросс-таблицы записаны часы,
90
т.е. значения, которые для каждого преподавателя указаны в поле Лабы. Учитывая, что число записей для каждого преподавателя в таблице Нагрузка соответствует количеству читаемых им дисциплин, необходимо в ячейки кросс-таблицы записать суммарное число лабораторных занятий, проводимых в каждой группе по всем дисциплинам.
Последовательность создания перекрестного запроса практически не отличается от технологии конструирования запросов, описанной ранее. Для начала проектирования такого запроса необходимо выбрать режим его создания, например Конструктор или Перекрестный запрос.
91
При выборе режима Конструктор необходимо в меню Запрос Щелкнуть мышью по кнопке Перекрестный, при этом окно конструктора запроса примет вид, показанный на рис. 7.8.
92
Обратим внимание на то, что в перекрестном запросе должны быть три поля. Одно поле представляет собой заголовки строк, второе поле определяет заголовки столбцов, а третье поле должно содержать значение соответствующего поля исходной таблицы. В рассмотренном примере для первых двух полей в строке конструктора Групповая операция выбран параметр Группировка, а для третьего поля Лабы задан параметр Sum (суммирование).
На рис. 7.9 показан результат выполнения этого запроса. Число строк в запросе равно числу значений поля ФИО. Обратим внимание на следующее. В исходной таблице Нагрузка число записей для одного преподавателя может быть больше единицы и зависит от числа читаемых дисциплин. При выполнении групповой операции Группировка все записи формируются по фамилиям преподавателей в одну строку. Аналогичные действия производятся для поля Группа.
7.4. Автоматизация расчетов с помощью запросов
Одним из примечательных свойств СУБД Access является возможность автоматизации различного рода вычислений. Например, процесс пересчета цены товара в рублях на денежные эквиваленты в иностранных валютах. Такие расчеты необходимы в торговой и финансовой деятельности предприятий. Процесс вычислений с применением запросов основан на создании специального расчетного поля при конструировании запроса.
Этот способ следует применять в тех случаях, когда в исходной таблице не предусмотрено расчетное поле. Такое поле можно создать при конструировании запроса в режиме Конструктор, для чего необходимо выполнить следующие действия:
=> составить запрос в режиме Конструктор;
=> установить курсор в последнюю ячейку строки Поле и активизировать контекстное меню, щелкнув правой кнопкой мыши
=^ в появившемся окне активизировать команду Построить, в результате выполнения которой откроется окно построителя выражений, на основании указаний которого строится выражение для расчета.
Пусть, например, нужно вычислить запланированную нагрузку преподавателя по предметам за весенний семестр (рис. 7.10). В этом запросе из таблицы выбираем только три поля: ФИО, Семестр, Предмет. Далее, поместив курсор в строку Поле четвертого столбца конструктора, зададим имя расчетному полю: Кол. часов по предмету. Затем, вызвав построитель выражений (рис. 7.1 [), составим расчетную формулу, суммирующую значения всех числовых полей. Эту формулу поместим в расчетное поле запроса.
На рис. 7.12 показан результат выполнения запроса.
93
94
Таким образом, в результате выполнения запроса рассчитано суммарное количество часов по каждому предмету, который ведет конкретный преподаватель. Обратите внимание, что в выведенной на экран динамической таблице отсутствует поле Семестр, так как в окне конструктора запросов была сделана соответствующая отмена.
7.5. Общие сведения о структурированном языке запросов SQL
Мы рассмотрели технологию создания различных запросов с применением конструктора запросов. Однако выполнение любого запроса осуществляется SQL-программой, которая автоматически создается в процессе конструирования. Чтобы понять, что представляет собой эта программа, достаточно просмотреть запрос не в режиме Конструктор, а в режиме SQL.
В качестве примера рассмотрим запрос на формирование нагрузки преподавателя с расчетными полями по итогам и ставке (рис. 7.13). На рис. 7.13, а показана часть запроса с условием отбора данных по значению поля ФИО из формы, а на рис. 7.13, б — Часть запроса с расчетными полями,
Если просмотреть этот запрос в режиме SQL, то в окне конструктора запроса появится текст SQL-программы (рис. 7.14).
95
96
Инструкция (оператор) SELECT является ядром языка. Она применяется для выбора полей из таблицы БД. В данном примере перечислены все поля таблицы Нагрузка (см. рис. 7.6), которые были введены в запрос.
Предложение FROM является частью инструкции и служит для определения источника данных запроса (таблицы или запроса). В данном случае это таблица Нагрузка.
Предложение WHERE устанавливает условия отбора данных при выполнении запроса. В данном предложении указано, что условием отбора данных является значение поля ФИО, равное значению, введенному в ПолеСоСпискомО формы Нагрузка кафедры.
В общем виде синтаксис инструкции SELECT можно описать следующим образом:
SELECT [ALL] (список полей таблицы или запроса);
FROM (список таблиц или запросов, на основе которых формируется запрос);
WHERE (условия отбора данных);
GROUP BY (список полей, выводимых в результат выполнения запроса);
HAVING (условия для группировки данных в запросе);
ORDER BY (список полей, по которым упорядочивается вывод данных в запросе).
В рассмотренной структуре инструкции SELECT:
Фуфоеи
97
ALL — ключевое слово, которое означает, что в результирующий набор записей включаются все записи таблицы или запроса, которые удовлетворяют условиям запроса;
DISTINCT — ключевое слово, которое означает, что в результирующий набор записей не включаются повторяющиеся записи таблицы или запроса.
Таблица 7.2
98
99
Ключевые слова могут отсутствовать в запросе.
Структурированный язык запросов SQL является обычным языком программирования, состоящим из операторов и правил «грамматики». В табл. 7.2 ... 7.7 приведены группы операторов SQL в зависимости от характера выполняемых действий.
Контрольные вопросы
1. Каковы назначение и виды запросов, разрабатываемых в СУБД Access? 1. В чем состоит отличие постоянного запроса от запроса параметрического?
-
Каково назначение перекрестного запроса?
-
Какие вы знаете типы запросов по выполняемым действиям?
-
Какова последовательность действий при конструировании запросов в СУБД Access?
-
Каковы правила ввода условий отбора данных в текстовые поля?
-
В чем состоит различие между условиями отбора данных, связанных отношениями AND и OR?
-
Укажите назначение следующих функций: Day, Month, Year, Date().
-
В каких случаях в запросах создается расчетное поле?
10. Какова последовательность действий при создании расчетного поля
в запросе с применением построителя выражений?
П. Из каких слов состоит инструкция SELECT?
12. Из каких групп операторов состоит язык SQL?
13. Каково назначение следующих слов языка: FROM, WHERE.
GROUP BY, HAVING, ORDER BY?
Достарыңызбен бөлісу: |