Тема 8


Системы управления базами данных Microsoft Access


  1. Базы данных: общие сведения

База данных — это средство сбора и организации информации. В базах данных могут содержаться сведения о людях, продуктах, заказах и т. д. Многие базы данных изначально представляют собой список в текстовом процессоре или электронной таблице. По мере того как список разрастается, в нем накапливаются излишние и противоречивые данные. В форме списка эти данные становится все труднее понять, а возможности поиска или извлечения подмножеств данных для просмотра весьма ограничены. Когда возникают подобные проблемы, полезно перенести информацию в базу данных, созданную с помощью системы управления базами данных (СУБД), например Office Access.

Компьютерная база данных представляет собой хранилище объектов. В одной базе данных может содержаться несколько таблиц. Например, система складского учета, в которой используются три таблицы, — это не три базы данных, а одна, содержащая три таблицы.

  1. СУБД Microsoft Access

Access 2010 — это средство проектирования и развертывания приложений баз данных, с помощью которого можно отслеживать важную информацию. Данные можно хранить на компьютере, а можно опубликовать их в Интернете, чтобы другие пользователи работали с базой данных в браузере. 

В базе данных Access таблицы сохраняются в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули, если только база данных не предназначена специально для использования данных или кода из другого источника. Базы данных, созданные в формате Access 2010, имеют расширение имени файла ACCDB, а базы данных, созданные в более ранних форматах Access, — расширение MDB. Приложение Access 2010 можно использовать для создания файлов в более ранних форматах файлов (например, Access 2000 и Access 2002-2003).

Приложение Access предоставляет следующие возможности:

  • добавление новых данных в базу данных (например, новой позиции в складскую опись);
  • изменение существующих данных в базе данных (например, изменение текущего размещения позиции на складе);
  • удаление сведений (например, если позиция продана или отбракована);
  • организация и просмотр данных различными способами;
  • совместное использование данных посредством отчетов, сообщений электронной почты, внутренней сети или Интернета.


  1. Основные объекты СУБД Microsoft Access

Access работает со следующими типами объектов: таблицы, запросы, формы, отчёты, макросы и модули. Все они сгруппированы по категориям и отображаются в области переходов базы данных. Данные – это представленные в цифровом виде сведения об объектах окружающего нас мира. Ниже дана краткая характеристика основным видам объектов (таблицы, формы, запросы, отчёты, макросы), с которыми придётся работать при изучении приёмов построения базы данных.

 Таблицы содержат данные, отображают в привычном формате строки и столбцы. В терминологии Access строки называют записями, а столбцы – полями. Поэтому все столбцы таблицы имеют наименования полей (первая строка таблицы). Строки содержат данные в тех форматах, которые назначает им разработчик. Поэтому при определении реляционной базы данных (табличной) говорят, что она представляется в виде совокупности однотипных записей. База данных обычно состоит из нескольких таблиц, объединённых посредством, так называемых связей. Благодаря связям информация из одной таблицы становится доступной для другой, что позволяет обеспечить целостность данных. 

 Формы – это вариант представления на экране компьютера одной записи, что даёт возможность пользователю просматривать последовательно сведения из таблицы, осуществлять поиск и быстрый доступ к любой записи, а также осуществлять операции коррекции данных в записях и создавать новые записи (пополнять таблицу). Фактически, форму можно рассматривать, как некий интерфейс пользователя при работе с таблицами.

  Запросы – есть не что иное, как инструмент для управления данными. С помощью запросов можно извлекать данные из одной или нескольких связанных таблиц, осуществлять логические и арифметические операции над данными, группировать данные в новые таблицы по определённым признакам.

  Отчёты – средство для подготовки выходных файлов. Следует отметить, что слово отчёт прочно ассоциируется со словом «печать», тем не менее, среда генерации отчётов в Access позволяет сформировать конечный продукт в виде виртуальной формы. Любая выходная форма может быть отражена на бумаге или на экране компьютера в удобном представлении данных с использованием средств их форматирования, подведения итогов, фильтрации и графического преобразования в гистограммы и диаграммы.

Макросы – это простейшие программы, которые позволяют при обращении к заранее созданным запросам, формам, отчётам, выполнять определённые действия. В Access макрос не создаётся с помощью макрорекордера,  а назначается разработчиком. Т. е. для создания макроса необходимо обратиться к режиму конструктора, в котором появляется возможность выбора действия и аргументов макроса.

Модуль – содержит одну или несколько процедур, написанных на языке Visual Basic for Application. С помощью модулей можно решить широкий класс задач по поиску и преобразованию информации в базе данных.

  1. Проектирование базы данных

            Перед тем, как воспользоваться приложением Microsoft Access для разработки базы данных, необходимо осуществить постановку задачи, определить потенциального пользователя и его потребности, провести сбор необходимых сведений о содержании и наименований полей таблиц, провести нормализацию таблиц, продумать интерфейс готового продукта и наименования типовых отчётов для распространения. В данном учебном материале основной акцент сделан на изучении возможностей Access 2010 и приёмах организации создания таблиц, поиска информации по запросам, отображения интерфейсов пользователя, а также правил пополнения базы данных и внесения в неё изменений. Поэтому, читателю пособия предлагается ознакомиться с подходом создания базы данных «с нуля», хотя, существует и другой подход проектирования базы данных Access – создание с использованием шаблонов (об этом будет сказано в конце пособия). Следует напомнить, что по ходу разработки базы данных создаются новые объекты (таблицы, запросы, формы, отчёты, макросы), ссылки на которые добавляются в область переходов. Тем не менее, все объекты будут сохраняться в одном файле с расширением .accdb, поэтому работа с данными в Access начинается с создания файла базы данных (задаётся имя файла базы данных и место его расположения).

            Предположим, что имеется некоторая фирма, которой требуется вести учёт сотрудников фирмы, сведения о которых будут использоваться несколькими подразделениями, например, отделом кадров, плановым отделом, бухгалтерией, канцелярией, руководством. Это говорит о том, что информация о сотруднике фирмы является разноплановой, а анализ сведений о сотруднике требует использования дополнительных материалов. Например, при формировании приказа о начислении заработной платы, потребуется учитывать дополнительные надбавки, в зависимости от стажа работы на предприятии сотрудника, его категории. Кроме того, сотрудники получают дополнительные льготы в виде доплат, в соответствии с приказом руководства. Льготы обычно назначаются, исходя из существующих нормативных документов, которые должны присутствовать в базе данных. Таким образом, можно сделать некоторые выводы. Во-первых, для каждого подразделения потребуется иметь различные выходные формы, которые основаны на запросах. Во-вторых, помимо сведений о сотрудниках в базе данных должны присутствовать материалы, относящиеся к фирме и нормативным документам. В-третьих, Все данные должны быть сгруппированы таким образом, чтобы имелась возможность одноразового их преобразования и корректировки.

В общем виде представим себе схему (рис. 1) взаимодействия потенциальных пользователей с базой данных «Сотрудники фирмы», из которой можно видеть, какие шаги следует предпринять при разработке этой базы данных средствами Access 2010.

Рис. 1. Схема взаимодействия пользователей с базой данных

 


  1. Типы данных и их представление

            В Access 2010 существует 11 основных типов данных, а для некоторых из них введены подтипы данных, перечень типов данных приведён ниже.

 Текстовый. Этот тип данных предназначен для обработки любых алфавитно-цифровых символов (включая числа), одиночных или собранных в строку. Максимальная длина строки не должна превышать 255 символов. Поэтому, при использовании данных типа текстовый целесообразно для каждого поля задавать его размер в символах (для экономии общего объёма памяти). По умолчанию всем полям таблицы в Access 2010 задаётся именно этот тип данных.  

 Поле МЕМО. Это текстовое поле очень большой длины. Обычно используется для хранения абзацев текста, резюме, кратких описаний и т.п. При использовании этого типа нет необходимости заботиться об указании длины записи, которая будет храниться в памяти машины. Для поля с типом данных МЕМО выделяется ровно столько памяти, сколько требуется для конкретной записи.

 Числовой. СУБД Access позволяет выполнять над полями такого типа вычисления. Чтобы указать конкретный способ хранения данных в полях числового типа, предусмотрено несколько подтипов:

1.             Байт – занимает 1 байт.

2.             Целое – занимает 2 байта.

3.             Длинное целое – занимает 4 байта.

4.             Одинарное с плавающей точкой – занимает 4 байта.

5.             Двойное с плавающей точкой – занимает 8 байт.

6.             Действительное – занимает 12 байт.

 Денежный. В таком поле хранятся данные, представленные согласно правилам бухгалтерии (обозначение валюты, разделение числа на разряды), хотя, с такими данными выполняются все арифметические и логические операции, как с типом данных – числовой. В памяти отображение записи такого типа занимает 8 байт.

 Дата и время. Это специальный тип данных, в котором хранятся значения даты или времени, или и того и другого. Для разнообразного отображения даты и времени существуют специальные форматы в виде шаблонов, что позволяет проводить вычисления над этими данными. В памяти машины такой тип данных занимает 8 байт.

 Счётчик. Тип данных, который используется для идентификации записи в базе данных. Обычно счётчик используют в качестве ключевого поля в таблицах, поэтому он представляется в виде целого числа.

 Логический. Такие поля содержат значения: Да\Нет, Истина\Ложь, Вкл.\Выкл. и т.п. Фактически, в этом поле 1 интерпретируется как Да, а 0 – как Нет.

 Гиперссылка. Обеспечивает связь с Web-страницей или каким-либо файлом. При выборе этого типа данных Access автоматически запускает приложение, в котором можно отобразить этот файл, например Web-браузер для отображения Web-страницы или программный модуль с расширением .exe.      Поле объекта OLE (Object Linking and Embedding – связывание и внедрение объекта). В поле могут быть размещены рисунки, электронные таблицы, видеофильмы в двоичном формате. Такой тип данных сохраняет данные объёмом до 1 Гбайт.

 Вложение. Тип данных, который появился в Access 2007|2010 для хранения непосредственно в базе данных файлов больших размеров (рисунков, приложений MS Office и других видов) в сжатом виде размером до 2 Гбайт.            Мастер подстановок. Это свойство поля, а не настоящий тип данных используется в Access 2010 в качестве средства для более эффективного и корректного ввода данных. При выборе этого типа данных запускается мастер подстановок, который создаёт поле в том формате и того типа, которое будет позаимствовано из другой таблицы или списка, обычно этот тип данных занимает 4 байта.

В Access 2010 предусмотрены варианты задания форматов полей таблицы непосредственно при её создании. Когда открывается режим создания таблицы, то можно сразу задавать необходимый формат полю. На рисунке 2 показано, что при нажатии на стрелку  в строке с наименованием полей таблицы, будет раскрыт список с видами форматов, которые можно установить (по умолчанию формат поля таблицы задаётся, как – Текст).

Рис. 2. Список с наименованием форматов для поля таблицы


  1. Создание и изменение таблиц

            По внешнему виду таблица базы данных сходна с электронной таблицей, в которой данные располагаются в строках и столбцах. Поэтому электронные таблицы обычно легко импортируются в таблицы базы данных. Основное различие между хранением данных в электронной таблице и в базе данных — способ организации данных.

Чтобы обеспечить наибольшую гибкость базы данных, необходимо распределить данные по таблицам так, чтобы избежать их избыточности. Например, если в базе хранятся сведения о сотрудниках, каждого из них следует один раз внести в таблицу, которая предназначена исключительно для хранения данных о сотрудниках. Данные о продуктах будут храниться в отдельной таблице, а данные о филиалах — в другой. Эта процедура называется нормализацией.

Каждую строку в таблице называют записью. Запись — это место хранения отдельного элемента информации. Каждая запись состоит из одного или нескольких полей. Поля соответствуют столбцам таблицы. Например, в таблице с именем «Сотрудники» каждая запись (строка) может содержать сведения об определенном сотруднике, а каждое поле (столбец) — сведения определенного типа, например имя, фамилию, адрес и т. п. Поля должны быть определены как конкретный тип данных: текст, дата или время, число или какой-либо иной тип.

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

В приложении Access 2010 создание таблиц осуществляется тремя способами: строят таблицу вручную, формируют таблицу на основе шаблона, строят таблицу в режиме конструктора. Далее рассмотрим на конкретных примерах, указанные варианты. Конечно, в первую очередь следует понять, чем эти варианты отличаются. При создании таблицы вручную разработчик может самостоятельно вводить наименование полей, а затем наполнять таблицу данными. Создание таблицы в режиме конструктора заключается в том, что разработчик сначала создаёт перечень полей, определяет их форматы, а затем осуществляет наполнение таблицы данными в режиме таблица. Тем не менее, в режиме конструктора можно управлять всеми полями и свойствами таблицы. Используя шаблоны таблиц, разработчик получает определённый набор полей, который можно дополнять новыми полями, производить переименования названия полей, а при необходимости удалять или переставлять их местами в таблице. Существенно то, что при выборе шаблона, форматы полей уже заданы.


Правила создания таблицы вручную в режиме Таблица

 Этот режим удобен тем, что разработчик задаёт наименования полей, а затем может вводить данные. Кроме того, в Access 2010 при создании таблицы вручную имеется возможность задавать типы полей. Для начала создадим простую таблицу, чтобы в дальнейшем использовать, полученные навыки при разработке более сложных таблиц. Предположим, что отдел кадров предприятия разработал градацию поощрения сотрудников, в зависимости от стажа их работы на предприятии, т.е. независимо от занимаемой должности, каждый сотрудник получит дополнительное денежное вознаграждение. Такие приёмы поощрения сотрудников широко распространены на фирмах и предприятиях, что позволяет заинтересовывать их в работе на данном предприятии. Разработанная градация поощрений сотрудников используется в бухгалтерии при начислении общей заработной платы

  1. Создание запросов


С помощью конструктора можно создать следующие виды запросов:

  Простой

  По условию

  Параметрические

  Итоговые

  С вычисляемыми полями

Чтобы вызвать Конструктор запросов, необходимо перейти в окно базы данных. В окне база данных необходимо выбрать вкладку Запросы и дважды щелкнуть на пиктограмме Создание запроса в режиме конструктора. Появится активное окно Добавление таблицы на фоне неактивного окна «Запрос: запрос на выборку».

В окне Добавление таблицы следует выбрать таблицу – источник или несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, окно «Запрос: запрос на выборку» станет активным.

Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список таблиц – источников и отражает связь между ними.

В нижней части окна находится Бланк построения запроса QBE (Query by Example), в котором каждая строка выполняет определенную функцию:

  Поле – указывает имена полей, которые участвуют в запросе

  Имя таблицы – имя таблицы, с которой выбрано это поле

  Сортировка – указывает тип сортировки

  Вывод на экран – устанавливает флажок просмотра поля на экране

  Условия отбора  - задаются критерии поиска

  Или – задаются дополнительные критерии отбора


 В окне  «Запрос: запрос на выборку» с помощью инструментов формируем бланк запроса:

  Выбрать таблицу – источник, из которой производится выборка записей.

  Переместить имена полей с источника в Бланк запроса. Например, из таблицы Группы студентов отбуксировать поле Название в первое поле Бланка запросов, из таблицы Студенты отбуксировать поле Фамилии во второе поле Бланка запросов, а из таблицы Успеваемость отбуксировать поле Оценка в третье поле и из таблицы Дисциплины отбуксировать поле Название в четвертое поле Бланка запросов.

  Задать принцип сортировки. Курсор мыши переместить в строку Сортировка для любого поля, появится кнопка открытия списка режимов сортировки: по возрастанию и по убыванию. Например, установить в поле Фамилия режим сортировки – по возрастанию.

  В строке вывод на экран автоматически устанавливается флажок просмотра найденной информации в поле.

  В строке "Условия" отбора и строке "Или" необходимо ввести условия ограниченного поиска – критерии поиска. Например, в поле Оценка ввести  - "отл/A", т.е. отображать все фамилии студентов, которые получили оценки отл/A.

  После завершения формирования запроса закрыть окно Запрос на выборку. Откроется окно диалога Сохранить – ответить Да (ввести имя созданного запроса, например, Образец запроса в режиме Конструктор) и щелкнуть ОК и вернуться в окно базы данных.


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





  1. Проектирование форм с помощью Мастера

Access предоставляет возможность вводить данные как непосредственно в таблицу, так и с помощью форм. Форма в БД - это структурированное окно, которое можно представить так, чтобы оно повторяло форму бланка. Формы создаются из набора отдельных элементов управления.

Внешний вид формы выбирается в зависимости от того, с какой целью она создается. Формы Access  позволяют выполнять задания, которые нельзя выполнить в режиме таблицы. Формы позволяют вычислять значения и выводить на экран результат. Источником данных для формы являются записи таблицы или запроса.

Форма предоставляет возможности для:

  ввода и просмотра информации базы данных

  изменения данных

  печати

  создания сообщений


Способы создания форм:

  Конструктор форм (предназначен для создания формы любой сложности)

  Мастер форм (позволяет создавать формы различные как по стилю, так и по содержанию)


Алгоритм создания форм следующий: 

  Открыть окно БД

  В окне БД выбрать вкладку Формы

  Щелкнуть на пиктограмме Создать, расположенной на панели инструментов окна БД

  В появившемся диалоговом окне «Новая форма» Выбрать способ создания формы и источник данных

  Щелкнуть на кнопке ОК


Вызвать Мастер форм можно несколькими способами. Один из них – выбрать Мастер форм в окне диалога Новая форма и щелкнуть на кнопке ОК. Откроется окно диалога Создание форм, в котором необходимо отвечать на вопросы каждого текущего экрана Мастера и щелкать на кнопке Далее.


В первом окне необходимо выбрать поля из источника данных (таблиц или запросов). Для этого надо открыть список Таблицы и запросы, щелкнув на кнопку, справа. Затем  доступные поля требуется перевести в Выбранные поля, выделив их и щелкнув на кнопку  >>. 


Например, выберем источник – таблицу Студенты и все ее поля, а затем необходимо щелкнуть на кнопке Далее.



В этом окне надо выбрать внешний вид формы, например в один столбец и щелкнуть Далее.


После выбора стиля формы (например, официальный), требуется перейти в последнее окно, щелкнув на кнопке Далее. В последнем окне Мастера требуется ввести имя формы и указать дальнейшие действия: Открыть форму для просмотра и ввода данных; Изменить макет формы.

После ввода имени формы (например, Студенты), выбора режима: «Открыть форму для просмотра и ввода данных» и щелчка на кнопке Готово, получим следующую форму для ввода и просмотра записей в таблицу Студенты.


  1. Создание формы с помощью Конструктора

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

1. Запустить программу Microsoft Access и открыть БД

2. В окне БД выбрать вкладку Формы. Выполнить щелчок по кнопке Создать. Появится диалоговое окно Новая форма. В этом окне необходимо выбрать из списка пункт Конструктор. Затем в списке "Выберите в качестве источника данных таблицу или запрос" выбрать имя таблицы (например, Студент). Выполнить щелчок по кнопке ОК. На экране появится окно Форма 1.

3. Если на экране отсутствует список полей выбранной для построения формы таблицы, выбрать пункт меню Вид / Список полей. 

4. Поля из списка переместить на форму (по одному или предварительно выделив с использованием клавиши Shift и мыши, для выделения всех полей выполнить двойной щелчок мышью на заголовке окна Список полей) 

5. Разместить поля на форме в нужных местах по разработанному образцу 

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

  Выделить объект (поле с именем) щелчком мыши. Вокруг него появятся маркеры перемещения и изменения размеров. Перемещать поле можно вместе с привязанным к нему именем или отдельно от него. 

  Для перемещения поместить указатель мыши на квадратик, находящийся в левом верхнем углу элемента. Указатель мыши в виде ладони позволяет перемещать объект вместе с привязанным к нему именем, в виде ладони с вытянутым указательным пальцем - перемещает один объект

  Нажать кнопку мыши и, удерживая ее, буксировать поле или его имя в нужное место в форме. Затем отпустить кнопку мыши.

  Для изменения надписи, связанной с полем необходимо выполнить на ней двойной щелчок мышью. В открывшемся диалоговом окне Надпись выбрать вкладку Макет и выполнить необходимые изменения. Затем закрыть окно.

  Для изменения размеров поместить курсор на размерные маркеры, при этом курсор примет вид двунаправленной стрелки. Нажать кнопку мыши, буксировать в нужном направлении, затем отпустить кнопку мыши.

  Для удаления поля выделить его, нажать клавишу Delete или выбрать команду Правка / Удалить.

7. Сохранить форму, выбрав из меню Файл команду Сохранить как, и в открывшемся окне выбрать режим сохранения «в текущей базе данных», затем щелчок по кнопке ОК. 

8. Просмотреть форму в режиме Конструктора, выполнив щелчок по кнопке Открыть. 

9. Если вид формы не удовлетворяет, открыть форму в режиме Конструктор и внести необходимые изменения, затем сохранить форму Файл — Сохранить или выполнить щелчок по пиктограмме Сохранить.