Является производство товаров или услуг с тре­


Глава 5 СУБД MICROSOFT ACCESS



бет4/12
Дата09.07.2016
өлшемі4.28 Mb.
#186483
1   2   3   4   5   6   7   8   9   ...   12
Глава 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

  1. Что такое импорт, экспорт и присоединение данных?

  2. Чем отличается импорт данных от присоединения данных?

  3. В каких случаях целесообразно применение импорта и в каких — присоединение данных?

  4. Что такое интеллектуальный анализ данных?

  5. В каких сферах деятельности применяют И АД?

  6. Каковы основные этапы процесса И АД?

  7. С какой целью проводится анализ информации?

  8. Для чего применяют технологию трансформации данных?




  1. Из каких операций состоит задача поиска закономерностей?

  2. Чем обусловлено появление ИАД?

Гла ва 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. Окно схемы данных с установленной связью один — ко многим

Ввод данных в таблицы производится двумя способами: непос­редственно в ячейки таблицы и через формы. При выборе способа ввода данных в таблицы необходимо руководствоваться следую­щими соображениями:


  • уменьшение вероятности ошибок оператора;

  • удобство организации самого процесса ввода данных.

Контрольные вопросы

  1. Из каких информационных блоков состоит конструктор таблиц и в какой последовательности следует их заполнять?

  2. Из скольких символов может состоять имя поля?

  3. Может ли имя поля начинаться с пробелов?

  4. Какие символы нельзя использовать при обозначении имени поля?

  5. В чем состоит отличие данных текстового типа отданных типа Мемо?

  6. В чем заключается различие числового и денежного типов данных?

  7. В каких случаях следует применять данные типа OLE?

  8. В каких случаях следует применять данные типа гиперссылки?

  9. В каких случаях полю присваивают свойство ключевого?




  1. Может ли ключевое поле иметь повторяющиеся значения данных в таблице БД?

  2. В каких случаях полю присваивают свойство обязательного?

  3. Какие таблицы называются главными и подчиненными?

  4. Что такое обеспечение целостности данных?

Гл а ва 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.

По окончании конструирования запрос необходимо закрыть, щелкнув по соответствующей кнопке окна конструктора. При этом

откроется диалоговое окно, в котором будет предложено задать имя запросу.



Правила составления условий отбора данных. При задании ус­ловий отбора данных необходимо соблюдать следующие правила:

  1. Перед вводимым значением текстового (символьного) поля должен стоять знак = .

  2. Вводимая строка символов должна заключаться в кавычки (если вы забыли данное правило, Access выполнит его сама).

  3. Математические условия выборки определяются известными операторами сравнения =, <>, <,>,<=,> = . Кроме того, могут применяться специальные операторы сравнения Between, In, Like.

  4. При составлении условий выборки в полях Дата/время могут применяться функции, приведенные в табл. 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. В чем состоит отличие постоянного запроса от запроса параметри­ческого?



  1. Каково назначение перекрестного запроса?

  2. Какие вы знаете типы запросов по выполняемым действиям?

  3. Какова последовательность действий при конструировании запро­сов в СУБД Access?

  4. Каковы правила ввода условий отбора данных в текстовые поля?

  5. В чем состоит различие между условиями отбора данных, связанных отношениями AND и OR?

  6. Укажите назначение следующих функций: Day, Month, Year, Date().

  7. В каких случаях в запросах создается расчетное поле?

10. Какова последовательность действий при создании расчетного поля
в запросе с применением построителя выражений?

П. Из каких слов состоит инструкция SELECT?

12. Из каких групп операторов состоит язык SQL?

13. Каково назначение следующих слов языка: FROM, WHERE.


GROUP BY, HAVING, ORDER BY?



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   12




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет