СОВРЕМЕННАЯ СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ MS ACCESS.

Основные понятия, связанные с базами данных

База данных (БД) – это именованная совокупность структурированных данных, относящихся к определенной предметной области.

Система управления базами данных (СУБД) – это комплекс программных средств, необходимых для создания баз данных и организации поиска в них необходимой информации.

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

Таблицы реляционных БД состоят из столбцов, называемых полями, и строк, называемых записями.

Реляционная таблица обладает следующими свойствами:

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

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

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

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

Создать новый файл с таблицами MS Access можно с помощью команды Файл/Создать/Приложение XP. После выбора этой команды появляется диалоговое окно (т.н. файлер), с помощью которого можно задать имя создаваемой БД, или оставить имя db1.mdb, даваемое программой MS Access автоматически. После задания имени создаваемой базы данных появится окно База данных. Работа с любыми объектами Access начинается с этого окна. База данных включает в себя семь типов объектов, с которыми производится определенная работа.

Объекты MS Access.

  1. Таблицы – это основной объект базы данных. Все, что хранится в базе, хранится в ее таблицах. Для создания новой базы данных нужно выбрать этот объект.
  2. Запросы – основной объект для работы с наполненной базой данных. Запросы – это специальные объекты, позволяющие делать сложные выборки данных из взаимосвязанных таблиц базы и представлять их в виде результирующих таблиц.
  3. Формы – удобный для пользователя интерфейс для ввода данных в таблицу, их исправления и просмотра. Представьте себе, что база данных – это огромная таблица. На нее наложили чистый лист, в котором прорезали несколько отверстий, и разрешили оператору вводить данные только в эти отверстия. Такой лист с отверстиями и есть форма.
  4. Отчеты очень похожи на формы, но служат только для выдачи результатов, причем выдача происходит либо на экран, либо на печатающее устройство. В формах тоже можно выводить результаты, но только на экран.
  5. Макросы – это средство для автоматизации работы с базой.
  6. Модули – это программы, написанные на языке программирования Visual Basic for Applications. Если нужно, чтобы СУБД выполняла какие-либо сложные операции, для этого создают специальные модули.
  7. Страницы – страницы для удаленного доступа к данным через корпоративную сеть или Интернет.

Создание базы данных.

В окне База данных нужно выбрать объект Таблицы и щелкнуть на кнопке Создать (подстрокой заголовка) – откроется диалоговое окно Новая таблица. В этом диалоговом окне приведены пять возможных способов создания таблицы:

  1. Режим таблицы – таблица создается обычным способом путем ввода имен полей в заголовках столбцов.
  2. Конструктор – таблица создается составлением списка имен полей и заданием свойств каждого поля.
  3. Мастер таблиц – таблица создается автоматически с помощью программы-мастера, которая предлагает выбрать поля из списка и содержит заготовки более чем ста различных видов таблиц.
  4. Импорт таблиц – таблица создается путем импорта данных из другой базы или электронной таблицы.
  5. Связь с таблицами – таблица создается путем установления связи с таблицей, существующей в другой базе данных.

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

Первый столбец в этом окне называется Имя поля. В первую ячейку этого столбца нужно ввести имя первого поля (столбца) создаваемой таблицы. Второй столбец рассматриваемого диалогового окна озаглавлен Тип данных и содержит информацию о типе данных, которые могут быть введены в каждое из полей. Нужно щелкнуть на заголовке Тип данных, после чего щелкнуть на появившейся рядом с заголовком раскрывающей кнопке, и появится окошко со списком для выбора типа данных этого поля. После выбора типа для данных этого поля нужно нажать клавишу <Enter>, и затем перейти на следующую пустую строку для ввода информации, относящейся к следующему полю создаваемой таблицы.

В MS Access существует девять типов данных, которые представлены в упомянутом окошке:

1)  текстовый. По умолчанию полю назначается именно этот тип;

2)  поле Мемо – текстовое поле, используемое для ввода очень больших текстов. В отличие от текстового поля здесь на самом деле хранится не текст, а только метка, указывающая на то, где этот текст на самом деле находится;

3)  числовой;

4)  дата/время. Служит для ввода даты и времени в разных форматах;

5)  денежный. Служит для ввода значений денежных величин;

6)  счётчик. Автоматически заполняемое числовое поле. Его часто используют в качестве поля первичного ключа;

7)  логический. Данные в поле этого типа могут иметь одно из двух возможных значений (да или нет);

8)  OLE. Поле данного типа служит для размещения объектов, созданных в других приложениях;

9)  Гиперссылка. Поле этого типа используется для хранения гиперссылок: адресов Web-страниц интернета.

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

Нижняя часть окна Таблица 1 содержит список свойств выбранного типа поля, выделенного в списке типов. Некоторые из свойств уже заданы по умолчанию. К основным свойствам, отображаемым на вкладке Общие (в окне Таблица 1), относятся следующие:

– размер поля, определяющий максимальный размер данных, которые могут сохраняться в полях с типом данных: Текстовый, Числовой или Счётчик;

формат поля, задающий формат представления данных при выводе их на экран или при распечатке;

– число десятичных знаков;

– маска ввода, позволяющая задать для типов данных Текстовый, Числовой и Дата/время маску, появляющуюся при вводе данных в поле;

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

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

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

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

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

Связи между таблицами в реляционных базах данных.

Пусть, например, нужно создать базу данных для учебного заведения, причем нужно удовлетворить запросы деканата, ректората, учебного отдела и коменданта общежития, создав пять разных таблиц: Студенты, Успеваемость, Общежитие, Расписание и Преподаватели.

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

В приведенном примере достаточно присвоить каждому студенту некий шифр и ввести поле Шифр в каждую из таблиц и возможность для связи будет обеспечена.

Для учета аудиторий можно было бы использовать номер аудитории. Но это не очень хорошо, поскольку в одной аудитории в разное время могут проходить занятия разных преподавателей и разных групп. Однако, если объединить значения полей Аудитория и Время, то можно получить составной первичный ключ, которым можно связать таблицу Расписание с таблицами Преподаватели и Студенты.

При разработке связанных (реляционных) баз данных ту таблицу, от которой идет связь, называют главной, а ту таблицу, к которой она ведет – подчиненной. В связи таблиц СтудентыУспеваемость таблица Студенты является главной.

Итак, межтабличные связи увязывают две таблицы с помощью общего поля, которое имеется в обеих таблицах. При этом существует три типа связей: один-к-одному, один-ко-многим и многие-ко-многим. Если две таблицы связаны соотношением один-к-одному, тогда каждая запись таблицы А не может быть связана более чем одной записью таблицы Б. В более общей связи один-ко-многим одна запись в таблице А может быть связана с несколькими записями таблицы Б.

Для того, чтобы посмотреть, как MS Access создает межтабличные связи, нужно открыть окно Схема данных командой Сервис/Схема данных. Если связи между таблицами не показаны, нужно щелкнуть в появившемся окне Схема данных на кнопке Отобразить все связи. Если они и после этого не отобразятся, значит, они пока не созданы.

Создание связей. Для того, чтобы создать связи между таблицами, предварительно нужно убедиться в том, что поле первичного ключа главной таблицы содержится в подчиненной таблице в качестве внешнего ключа. После этого открыть окно Схема данных. Далее нужно убедиться в том, что и главная и связанная таблицы отображаются в этом окне. Если это не так, то нужно щелкнуть на кнопке Отобразить все связи на панели инструментов и выбрать из списка те таблицы, которые нужно отобразить. После этого нужно выбрать в главной таблице поле первичного ключа и перетащить его к соответствующему полю связанной таблицы. Откроется диалоговое окно Связи, в котором можно задать параметры связи. В MS Access существует три параметра связи. Один из них именуется Обеспечение целостности данных, второй – Каскадное обновление связанных полей, третий – Каскадное удаление связанных полей.

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

Например, если при создании связи между таблицами Студенты и Успеваемость задано требование соблюдения условий целостности, то при работе с данными MS Access наложит три ограничения. Во-первых, СУБД не позволит в таблице Успеваемость зарегистрировать студента с таким личным шифром, который не существует в таблице Студенты. Во-вторых, значения внешнего ключа Шифр, использованные в таблице Успеваемость, защитят соответствующие записи в главной таблице Студенты, так что пользователи не смогут удалить в главной таблице записи о студентах, посещающих занятия и получающих оценки. В-третьих, сами данные первичного ключа становятся защищенными, так что нельзя будет изменить шифр студента в таблице Студенты, если этот шифр присутствует в таблице Успеваемость.

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

Если допускается каскадное обновление связанных полей, то при изменении значений первичного ключа в главной таблице происходит автоматическое обновление внешнего ключа в подчиненной таблице. Если разрешено каскадное удаление связанных полей, то удаление записи в главной таблице приводит к удалению всех связанных записей в подчиненной таблице. Так, отчисление студента и удаление записи о нем в таблице Студенты приведет к удалению соответствующей записи в таблице Успеваемость.

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

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

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

Формы

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

Как и в случае с таблицами, существует несколько способов создания форм:

автоматическое создание форм – Автоформа;

создание формы с помощью мастера – Мастер форм;

создание формы вручную в режиме конструктора – Конструктор.

Если при создании структуры таблицы базы данных предпочтительно на первых порах использовать Конструктор, то в данном случае предпочтительно использовать Мастер форм.

Типы автоформ. Автоформы MS Access бывают трёх типов: табличные, ленточные или в столбец. Автоформа в столбец выглядит почти так же, как окно формы данных в MS Excel. Если форма предназначена для ввода или редактирования записей, то этот вид представления формы наиболее удобен. Если же форма создается только для просматривания записей, то лучше выбрать ленточную или табличную автоформу.

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

Можно также начать с выбора таблицы на вкладке Таблицы, затем щелкнуть на экранной кнопке Новый объект в панели инструментов, и в открывшемся меню выбрать пункт Форма. Затем следует выбрать нужный тип автоформы в диалоговом окне Новая форма и щелкнуть на кнопке ОК.

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

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

  1. Переключится в режим Таблица для таблицы или формы.
  2. Щелкнуть на любом месте столбца того поля, по которому хотите провести сортировку.
  3. Щелкнуть на кнопке Сортировка по возрастанию или Сортировка по убыванию.
  4. Чтобы отменить сортировку, дать команду Записи/Удалить фильтр.

Запросы

Запросы служат для отбора записей из одной или нескольких таблиц на основе условия (критерия), заданного пользователем. В MS Access можно применять пять различных типов запросов: запросы на выборку, запросы с параметрами, перекрестные запросы, запросы на изменение и специфические запросы SQL.

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

  • щелкнуть на кнопке Создать на вкладке Запросы окна База данных или выбрать команду Новый объект/Запрос, затем выбрать пункт Простой запрос и щелкнуть на кнопке ОК;
  • из раскрывающегося списка Таблицы/Запросы выберите таблицу или запрос, содержащие поля, которые нужно включить в новый запрос;
  • выделить необходимые поля и, используя кнопки пересылки, переслать имена полей в окно Выбранные поля;
  • выбрать (если нужно) дополнительные таблицы или запросы из списка Таблицы/Запросы и повторить действия предыдущего пункта. Когда все необходимые поля будут выделены, щелкнуть на кнопке Далее;
  • если выделенные поля содержат поле типа Счётчик, то MS Access предложит выбрать итоговый или подробный режим представления данных в результирующей таблице. Чтобы отобразить каждую запись, нужно включить команду-переключатель Подробный. Чтобы произвести итоговое вычисление, нужно включить команду Итоговый и щелкнуть на кнопке Итоги для задания необходимых параметров. Затем нужно щелкнуть на кнопке ОК и Далее;
  • Присвоить имя запросу и запустить запрос щелчком на кнопке Готово.

Результирующую таблицу, полученную в результате работы запроса, можно фильтровать и сортировать с помощью кнопок панели инструментов.

Запрос с параметром. Представляет собой запрос на выборку, который отображает диалоговое окно с предложением ввести параметры. Запросы с параметрами используются, когда пользователю необходим частый доступ к каким-то группам данных, содержащихся в таблицах. Например, вместо того, чтобы создавать пять разных запросов на поиск оценок, полученных студентом на пяти разных экзаменах, можно создать один запрос с параметром и разрешить пользователю самому ввести название экзамена. Для создания такого запроса нужно:

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

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

Описание итоговых функций

Функция

Описание

Тип данных

Avg

Дает среднее значение данных, содержащихся в поле

Счётчик, Денежный, дата/время, Числовой

Count

Дает число записей, содержащих

записи в этом поле

Все

First

Дает содержимое поля первой записи

Все

Last

Дает значение поля для последней записи

Все

Min

Наименьшее значение в поле

Счётчик, Денежный, дата/время, Числовой, Текстовый

Max

Наибольшее значение в поле

Счётчик, Денежный, дата/время, Числовой, Текстовый

StDev

Дает среднеквадратичное отклонение для значений, содержащихся в поле

Счётчик, Денежный, дата/время, Числовой

Sum

Дает сумму значений данных, содержащихся в поле

Счётчик, Денежный, дата/время, Числовой

Var

Дает дисперсию значений в поле

Счётчик, Денежный, дата/время, Числовой

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

Year(Now())-Year([Студенты]![Дата зачисления])

Запросы с вычисляемыми полями часто используют в качестве основы для разработки форм и отчетов.

Отчёты

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

Большинство отчётов имеют вид ленточный или в столбец. Существует пять способов создания отчетов:

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

Автоматическое создание отчётов. Простейшие отчеты целесообразно создавать с помощью мастера автоотчетов. Для этого нужно:

  1. В раскрывающемся списке Новый объект выбрать пункт Отчёт – откроется диалоговое окно Новый отчёт.
  2. В этом окне выбрать пункт Автоотчёт: в столбец или Автоотчёт: ленточный.
  3. Щелкнуть на раскрывающемся списке и выбрать таблицу или запрос, которые будут положены в основу отчёта.
  4. Щелкнуть на кнопке ОК для запуска отчёта и открытия его в режиме предварительного просмотра перед печатью на принтере.
  5. Распечатать отчёт (если нужно) и сохранить его (если нужно).

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

  1. В окне База данных выбрать команду Новый объект/Отчёт.
  2. Выбрать пункт Мастер отчётов и щелкнуть на кнопке ОК.
  3. Выбрать таблицу или запрос, на которых будет основан отчёт, щелкнуть на кнопке со стрелкой вправо, чтобы переслать необходимые поля в окно Выбранные поля, или щелкнуть на кнопке с двойной стрелкой, чтобы переслать все поля
  4. Закончив выбор полей, щелкнуть на кнопке Далее.
  5. Если необходимо, выбрать уровни группировки данных и щелкнуть на кнопке Далее.
  6. Выбрать поля, по которым будет происходить сортировка, указать порядок сортировки и щелкнуть на кнопке Далее.
  7. Выбрать макет отчёта и щелкнуть на кнопке Далее.
  8. Выбрать нужный стиль оформления и щелкнуть на кнопке Далее.
  9. Ввести текст заголовка и указать, будет ли отчёт открываться в режиме просмотра или в режиме конструктора. Затем щелкнуть на кнопке Готово.

КОММЕНТАРИИ