YourLib.net
Твоя библиотека
Главная arrow Информатика (А.В. Терехов, А.В. Чернышев, В.Н. Чернышев) arrow 6.3. СУБД Access
6.3. СУБД Access

6.3. СУБД Access

6.3.1. СХЕМА РАБОТЫ С СУБД ACCESS

   Microsoft Access - программа для создания и редактирования баз данных, которая входит в состав пакета офисных программ Microsoft Offke.
   Каждая конкретная система управления базами данных (СУБД) имеет свои особенности, которые необходимо учитывать. Однако, имея представление о функциональных возможностях любой СУБД, можно представить обобщенную схему работы пользователя в этой среде.
   В качестве основных этапов работы с СУБД можно выделить следующие:
   - создание структуры таблиц базы данных;
   - ввод и редактирование данных в таблицах;
   - обработка данных, содержащихся в таблицах;
   - вывод информации из базы данных.
   Средствами Access проводятся следующие операции.
   1. Проектирование базовых объектов ИС - двумерных таблиц, с разными типами данных, включая поля объектов OLE (т.е. объектов, созданных другими приложениями).
   2. Установление связей между таблицами, с поддержкой целостности данных, каскадного обновления и удаления записей.
   3. Ввод, хранение, просмотр, сортировка, модификация и выборка данных из таблиц с использованием различных средств контроля информации, индексирования таблиц и аппарата логической алгебры (для фильтрации данных).
   4. Создание, модификация и использование производных объектов ИС (форм, запросов и отчетов), с помощью которых в свою очередь выполняются следующие операции:
   - оптимизация пользовательского ввода и просмотра данных (формы);
   - соединение данных из различных таблиц; проведение групповых операций (т.е. операций над группами записей, объединенных каким-то признаком), с расчетами и формированием вычисляемых полей; отбор данных с применением аппарата логической алгебры (запросы);
   - составление печатных отчетов по данным, которые содержатся в таблицах и запросах базы данных (БД).
   MS Access обладает мощными, удобными и гибкими средствами проектирования объектов. Это дает возможность пользователю при минимуме предварительной подготовки довольно быстро создать полноценную ИС - на уровне таблиц, форм, запросов-выборок и отчетов.
   Запуск и завершение работы с Access осуществляется любым из стандартных способов, предусмотренных в среде Windows (Ссылка на приложение Microsoft Access обычно находится в одном из подчиненных меню пункта Главного меню Windows).
   Объектом обработки MS Access является файл базы данных, имеющий произвольное имя и расширение .MDB. В этот файл входят основные объекты MS Access: таблицы, формы, запросы, отчеты, макросы и модули.
   После загрузки Access ожидает от вас одного из следующих распоряжений:
   - либо создать новую базу данных;
   - либо открыть существующую базу данных.
   Создание БД. После выбора команды Файл > Создать, на экране появляется стандартное окно, в котором надо указать имя и адрес создаваемой базы данных. Создав файл, Access раскрывает пустое окно базы данных, и в этом окне будут проводиться все операции над объектами БД.
   Открытие БД. После выбора команды Файл > Открыть, на экране появляется стандартное окно, в котором необходимо указать имя и адрес существующего файла базы данных. После чего раскрывается окно базы данных, которое обеспечивает доступ к уже созданным объектам БД и возможность создавать новые объекты.
   MS Access является многооконным приложением, однако в любой момент может быть открыта только одна база данных. Именно ее окно является главным окном документа в приложении Access.
   Однако это окно порождает множество дочерних окон (таблицы, запроса, формы, отчета и т.д.), и каждое такое окно может быть закрыто автономно (любым из стандартных способов Windows). Кроме того, не закрывая окна, можно сохранить объект, окно которого находится на экране, и присвоить ему имя, - точно так же, как это делается с файлами: командой Файл > Сохранить или Файл > Сохранить как.

6.3.2. ОБЪЕКТЫ MS ACCESS

   Access работает со следующими объектами: - таблицами;
   - формами;
   - запросами;
   - отчетами;
   - макросами;
   - модулями;
   - страницами доступа Интернет (только начиная с Access 2000).
   Макрос - это набор специальных макрокоманд (например, Открыть Форму, Печатать Отчет и т.п.).
   Модуль - это программа, написанная на языке Access Basic или VBA.
   Таблица является базовым объектом MS Access. Все остальные объекты являются производными и создаются на базе ранее подготовленных таблиц.
   Форма не является самостоятельным объектом Access: она помогает вводить, просматривать и модифицировать информацию в таблице или запросе.
   Запросы и отчеты выполняют самостоятельные функции: выбирают, группируют, представляют, печатают информацию.
   Каждый объект MS Access имеет имя. Длина имени любого объекта MS Access (таблицы, формы и т.д.) не более 64 произвольных символов (за исключением точки и некоторых служебных знаков). В имя могут входить пробелы и русские буквы.
   Работа с каждым объектом проводится в отдельном окне, причем предусмотрено два режима работы:
   1) оперативный режим - когда в окне решаются задачи ИС, т.е. просмотр, изменение, выбор информации;
   2) режим конструктора - когда создается или изменяется макет, структура объекта.
   Кроме этого, в файл базы данных входит еще один документ, имеющий собственное окно: Схема данных. В этом окне создаются, просматриваются, изменяются и разрываются связи между таблицами. Эти связи помогают контролировать данные, создавать запросы и отчеты.

6.3.3. ОКНО ПРИЛОЖЕНИЯ ACCESS И ОКНО БАЗЫ ДАННЫХ

   В окне базы данных (рис. 6.3.3) расположены три командные кнопки (Создать, Открыть и Конструктор) и вкладки (по числу объектов Access) с корешками: Таблица, Запрос, Форма, Отчет, Макрос и Модуль.

Рис. 6.3.3. Окно базы данных 

Рис. 6.3.3. Окно базы данных

   Если выбрана вкладка Таблица, в окне этой вкладки отображается список существующих таблиц данной БД.
   Чтобы открыть существующую таблицу, надо выделить ее имя в этом списке и нажать кнопку Открыть.
   Чтобы включить в БД новую таблицу, надо нажать кнопку Создать.
   Чтобы исправить макет существующей таблицы, надо выделить ее имя в списке и нажать кнопку Конструктор.
   Такие же операции выполняются со всеми другими объектами Access.
   Типы данных в MS Access
   В MS Access допускаются следующие типы данных: 1) текстовый - произвольная последовательность символов длиной до 255. Используется для текста и чисел, не участвующих в вычислениях;
   2) числовой - любое число. Используется для чисел;
   3) денежный - число, обрабатываемое с повышенной точностью;
   4) дата/время - используется для дат (в диапазоне лет от 100 до 9999) и времени суток;
   5) логический (TRUE или FALSE);
   6) счетчик - используется для автоматической последовательности идентификации записей;
   7) поле MEMO - используется для аннотации (текст и числа);
   8) поле объекта OLE - объект OLE, внедренный в базу данных Access.

6.3.4. СОЗДАНИЕ ОБЪЕКТОВ В MS ACCESS

   Любой объект (таблицу, запрос, форму, отчет) можно создать либо вручную (с помощью режима Конструктора), либо с помощью Мастера.
   Самый быстрый способ создания объектов возможен с помощью Мастера. Этот способ позволяет создавать новые объекты на базе одного или нескольких готовых объектов. При работе с мастером необходимо лишь следовать его указаниям.
   Рассмотрим последовательность шагов при создании в базе данных новой таблицы с помощи Конструктора.
   1. В окне базы данных щелкните на вкладке Таблицы, а затем на кнопке Создать. В окне диалога Новая таблица выберите вариант Конструктор, после чего щелкните на кнопке ОК.
   2. В столбце Имя поля введите имя нового поля, нажмите клавишу Tab и укажите для него тип в столбце Тип данных.
   3. В столбце Описание введите информацию, которая будет отображаться в строке состояния, когда точка вставки располагается в этом поле таблицы. На вкладке Общие укажите Размер поля, т.е. число символов; Формат поля и Маску ввода, т.е. метод отображения и допустимые символы; Подпись для режима таблицы; Значение по умолчанию, Условие на значение и другие свойства.
   Для текстового и числового поля желательно указать размер поля, иначе размер поля будет максимально допустимым для данного типа, что скажется не в лучшую сторону на скорости работы с базой данных.
   Для поля Дата/время обязательно надо указать формат, чтобы система знала, как обрабатывать вводимые данные. Например, если выбрать Краткий формат даты, система будет ожидать от вас ввода именно даты (в русской версии - ДД.ММ.ГГГГ), а если выбрать Краткий формат времени, в этом поле придется набирать ЧЧ:ММ (часы и минуты).
   В качестве значения свойства Условие на значение вы можете указать правило верификации, т.е. логическое выражение, которое должно принимать значение TRUE (Истина) при вводе данных в это поле.
   В свойстве Обязательное поле можно указать Да (пустые значения не допускаются) или Нет (пустые значения допускаются).
   4. Щелкните на первой пустой строке таблицы полей и создайте следующее поле базы данных, затем повторите действия 2 и 3. Чтобы вставить поле между двумя существующими, щелкните на кнопке Добавить строки панели инструментов Конструктор таблиц.
   5. Чтобы выделить то поле таблицы, которое нужно сделать ключевым, щелкните на селекторе, расположенном левее имени поля. После этого нужно щелкнуть на кнопке Ключевое поле панели инструментов.
   6. Щелкните на кнопке Сохранить панели инструментов Конструктор таблиц, введите имя в текстовое поле Имя таблицы окна диалога Сохранение, после чего щелкните на кнопке ОК. Access создаст новую таблицу и запишет ее на диск.
   Работа с таблицей. После того, как таблица создана, ее необходимо заполнить данными. Ввод данных в таблицу или форму осуществляется так же, как и ввод данных в лист Excel или таблицу Word.
   1. Откройте форму или таблицу и перейдите к нужной записи. Если необходимо создать новую запись, щелкните на кнопке Новая запись панели инструментов.
   2. Введите данные в поле. Если необходимо добавить объект OLE, вставьте данные из другого источника или дайте команду Объект меню Вставка и выберите тип объекта и его имя в соответствующих окнах диалога. Если данные являются элементами предопределенного набора, выбирайте нужный вариант в раскрывающемся списке.
   3. Нажмите клавишу Tab для перехода к следующему полю. Повторяйте действие 2 и нажимайте Tab для каждого поля. При необходимости перехода к предыдущему полю нажмите клавиши Shift + Tab.
   По достижении последнего поля записи очередное нажатие клавиши Tab переместит точку ввода в первое поле следующей записи.
   Если вам не нравится ширина столбца таблицы (например, она слишком велика или, наоборот, мала и скрывает часть данных), ее можно уменьшить или увеличить, точно так же, как вы изменяли ширину столбца в Excel.
   Перемещение па таблице. В строке состояния указывается общее число записей в таблице и номер текущей записи. Текущая запись отмечается стрелкой в левой части окна (в области маркировки записей). Для перемещения по таблице служат кнопки переходов в строке состояния (слева направо, переход к первой записи таблицы, к предыдущей записи, к следующей записи и к последней записи таблицы).
   Чтобы переместить текстовый курсор в произвольную ячейку таблицы, можно просто щелкнуть на ячейке мышью.
   Кроме того, по таблице можно перемещаться с помощью клавиш Tab, Shift + Tab, стрелок курсора.
   Редактирование таблицы. При вводе данных используется основной стандарт редактирования. Закончив ввод или модификацию данных в конкретном поле, нажмите Tab или Enter (или щелкните мышью в другой ячейке таблицы).
   Для ввода (внедрения) объекта OLE надо щелкнуть правой кнопкой на его поле и выбрать OLE-сервер из списка. (После внедрения OLE-объекта отображаемым в таблице значением его поля будет название соответствующего OLE-сервера (например, Microsoft Word). Чтобы просмотреть или отредактировать объект (или, скажем, чтобы воспроизвести звукозапись) надо, как всегда, дважды щелкнуть на этом названии).
   Фильтр. Работая с таблицей в оперативном режиме, вы можете установить фильтр, т.е. задать логическое выражение, которое позволит выдавать на экран только записи, для которых это выражение принимает значение TRUE (Истина).
   Фильтр набирается в окне фильтра. Чтобы установить (или изменить фильтр), выберите команду Записи > Изменить фильтр..., отредактируйте фильтр и выберите команду Записи > Применить фильтр. Чтобы восстановить показ всех записей, выберите команду Записи > Показать все записи.
   Операции с записями и столбцами. С помощью команд меню и кнопок панели инструментов вы можете проводить множество стандартных операций с записями и столбцами: вырезать и копировать в буфер, удалять записи, скрывать столбцы и т.д.

6.3.5. СВЯЗЬ МЕЖДУ ТАБЛИЦАМИ И ЦЕЛОСТНОСТЬ ДАННЫХ

   Между одноименными полями двух таблиц в MS Access можно устанавливать связь. Это означает, что при формировании запроса к этой паре таблиц Access сможет объединить строки таблиц, в которых значения поля совпадают. В общем случае допускается связь по двум, трем и более одноименным полям (кроме того, Access позволяет вручную установить связь между таблицами по разноименным полям, однако этой возможностью лучше не пользоваться).
   Целостность данных. Итак, если установлена связь между двумя таблицами (автоматически или вручную), данные из обеих таблиц можно объединять. Иногда этого достаточно, однако при создании серьезных баз данных придется позаботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы.
   Механизм, который обеспечивает согласованность данных между двумя связанными таблицами, называется так: поддержка целостности данных.
   Если пользователь включил механизм поддержки целостности, он должен одновременно указать тип связи: Один-к- Одному или Один-ко-Многим.
   Целостность данных означает:
   1) в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы;
   2) из главной таблицы нельзя удалить запись, у которой значение связанного поля совпадает хотя бы с одним значением того же поля в подчиненной таблице.
   При попытке нарушить эти запреты, MS Access выдает сообщение об ошибке.
   Каскадное обновление и удаление записей. Включив механизм поддержки целостности, вы можете (но не обязаны) потребовать, чтобы при модификации данных система запускала следующие процессы:
   • каскадное обновление связанных полей;
   • каскадное удаление связанных записей.
   Каскадное обновление означает, что изменение значения связанного поля в главной таблице автоматически будет отражено в связанных записях подчиненной таблицы.
   Каскадное удаление означает, что при удалении записи из главной таблицы, из подчиненной таблицы будут удалены все записи, у которых значение связанного поля совпадает с удаляемым значением.
   Порядок создания связей между таблицами. Когда между двумя таблицами устанавливается связь, величины одной таблицы ставятся в соответствие величинам из другой таблицы. Чтобы создать связь, в одной или обеих таблицах должно быть поле, принимающее уникальные значения во всех записях. В родительской таблице поле связи обычно индексировано (как правило, оно является ключевым полем), и в соответствие ему ставится поле дочерней таблицы (оно называется внешний ключ).
   Создавая связь, необходимо в окне диалога Связи настроить режим, обеспечивая целостности данных. Обеспечение целостности позволяет избежать наличия несвязанных данных в дочерней таблице, которые образуются в том случае, когда для какой-либо записи нет соответствия в поле родительской таблицы. Если установлен флажок Каскадное обновление связанных полей, то при изменении величины связанного поля в родительской таблице изменяются величины полей и во всех соответствующих записях дочерней таблицы. Если установлен флажок Каскадное удаление связанных записей, то при удалении записи в родительской таблице будут удалены и соответствующие записи в дочерней таблице. Если эти флажки не были установлены, а обеспечение целостности данных, тем не менее, было включено, то вы не сможете изменить идентификационное поле родительской таблицы, а также не сможете удалить в ней запись, если в дочерней таблице имеются связанные с этой записью данные.
   Для создания связей между таблицами необходимо выполнить следующие действия.
   1. Активизировав окно базы данных, щелкните мышью на кнопке Схема данных панели инструментов, чтобы открыть окно Схема данных или выполните команду Сервис > Схема данных.
   2. Щелкните на поле родительской таблицы и с помощью мышки «дотяните» связь от него до поля дочерней таблицы.
   3. Откроется окно диалога Связи. В его нижней половине при необходимости включите режим обеспечения целостности данных и настройте правила обновления дочерней таблицы.
   4. Для завершения процесса создания связи щелкните на кнопке ОК и закройте окно Схема данных.
   Связь отображается в виде линии, соединяющей две таблицы. Любую связь можно выделить и удалить нажатием клавиши Delete. Кроме того, можно щелкнуть на линии правой кнопкой мыши, чтобы раскрыть контекстное меню, а затем выбрать команду Изменить связь, чтобы открыть окно диалога Связи. Кнопка окна диалога Связи позволяет настроить тип объединения. Можно щелкнуть на этой кнопке, чтобы настроить для запросов применяемый по умолчанию метод объединения.

6.3.6. ЗАПРОС-ВЫБОРКА В MS ACCESS

   В общем случае запрос - это вопрос о данных. Существуют разные типы запросов (на добавление записей, изменение, объединение), рассмотрим наиболее употребляемый запрос-выборку.
   Запрос-выборка - это производная таблица, которая содержит те же структурные элементы, что и обычная таблица (столбцы-поля и строки), и формируется на основе фактических данных системы. При создании макета запроса (т.е. производной таблицы) в общем случае необходимо выполнить четыре базовые операции:
   1) указать системе, какие поля и из каких таблиц мы хотим включить в запрос;
   2) описать вычисляемые поля, т. е. поля, значения которых являются функциями значений существующих полей;
   3) описать групповые операции над записями исходных таблиц (например, нужно ли объединить группу записей с одним и тем же кодом клиента в одну и просуммировать стоимость заказанной им продукции);
   4) указать условие отбора, т.е. сформулировать логическое выражение, которое позволит включить в выборку только записи, удовлетворяющие какому-то условию.
   В общем случае для создания произвольного запроса используется универсальный язык SQL. Однако в реальности пользоваться этим языком могут только специалисты (или очень грамотные пользователи). А для обычных пользователей разработчики предложили упрощенный механизм создания запроса, называемый QBE (Query By Example - Запрос по образцу). Вам предлагают бланк QBE - некую модель, заготовку запроса, и на этом бланке, пользуясь определенными соглашениями, вы сообщаете системе о своих планах: помечаете поля, вводите выражения, значения и т.п. На основании заполненного вами бланка система сама выполняет запрос.
   Создать новый запрос можно либо с помощью мастера Создание простых запросов, либо в окне конструктора запросов. Оба эти способа достаточно просты, однако мастер Создание простых запросов выполняет пошаговое формирование запроса. Мастер позволяет настроить дополнительные параметры.
   Создание запроса на выборку с помощью конструктора потребует следующих операций.
   1. Щелкните на ярлычке Запросы в окне базы данных, затем щелкните на кнопке Создать. В окне диалога Новый запрос выберите вариант Конструктор, после чего в окне диалога Добавление таблицы дважды щелкните на именах нужных таблиц, а затем на кнопке Закрыть.
   При добавлении связанных таблиц Access автоматически создает линию объединения между этими таблицами.
   Чтобы создать связь между двумя таблицами, перетащите ключевое поле родительской таблицы на связываемое поле дочерней таблицы.
   2. В списках полей таблиц дважды щелкните на тех полях, которые нужно использовать в качестве элементов запроса.
   3. В столбцах всех полей, которые нужно сортировать, щелкните на строке Сортировка и выберите вариант По возрастанию или По убыванию.
   Поля сортируются в указанном порядке справа налево. Самое левое сортируемое поле является ключевым полем сортировки. Чтобы изменить порядок расположения полей, перетащите заголовки столбцов.
   4. Если какие-либо поля запроса должны быть скрыты, сбросьте для них флажки в строке Вывод на экран.
   Такие поля будут использоваться в запросе, но не будут отображаться на экране.
   5. Введите необходимые выражения в качестве условий отбора полей. Щелкните на кнопке Сохранить панели инструментов мастера запросов. Введите имя формы в текстовое поле Имя запроса окна диалога Сохранить объект и щелкните на кнопке ОК.

6.3.7. ОТЧЕТЫ В ACCESS

   Отчет - это особая форма представления данных, предназначенная для вывода на печать. Как правило, для формирования отчета создают запрос, в котором собирают данные из разных таблиц, с включением вычисляемых полей, группировкой, условиями отбора (любая операция необязательна). Далее, по общим правилам MS Access, на базе такого запроса проектируют отчет, который позволяет:
   - представить данные в удобной для чтения и анализа форме;
   - сгруппировать записи (по нескольким уровням) с вычислением итоговых и средних значений;
   - включить в отчет и напечатать графические объекты (например, объекты OLE - рисунки, фотографии, диаграммы).
   Быстрее всего отчет создается с помощью инструмента Автоотчет. Если щелкнуть на кнопке Создать на вкладке Отчеты, пользователю станут доступны две модификации этого инструмента: Автоотчет: в столбец и Автоотчет: ленточный. Отчет типа «в столбец» выводит записи по одной в строке, а ленточный отчет отображает каждое поле записи на отдельной строке рядом с подписью. Отчет в столбец намного более распространен, чем ленточный отчет.
   В редких случаях может оказаться необходимым создать отчет непосредственно в режиме конструктора на основе пустого бланка. Однако, поскольку процесс добавления элементов управления достаточно утомителен, удобнее сформировать автоотчет, а затем удалить ненужные элементы. Альтернативным способом является использование мастера отчетов. Если нужно сделать отчет с небольшим числом элементов управления или если он должен содержать только подчиненные отчеты, воспользуйтесь конструктором отчетов.
   Действия при работе с инструментом Автотчет следующие.
   1. Перейдите на вкладку Отчеты окна базы данных и щелкните на кнопке Создать.
   2. В окне диалога Новый отчет в поле со списком выберите в качестве источника данных отчета таблицу или запрос.
   3. Дважды щелкните на строке Автоотчет: в столбец или Автоотчет: ленточный. Access сформирует отчет, расположит в нем все необходимые поля и выведет его на экран в режиме предварительного просмотра.
   4. Чтобы изменить структуру отчета, перейдите в режим конструктора. Чтобы сохранить отчет, выберите команду Сохранить меню Файл.

 
< Пред.   След. >