Раздел 2. Организация баз данных

Лекция 13. СУБД MS Access . Создание таблиц и определение связей

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

Начиная с пакета MS Office 2000, в составе MS Access появились новые функциональные возможности:

§ Поддержка клиент-серверных приложений. В качестве серверов БД могут быть использованы Microsoft SQL Server 6.5 или 7.0, а также процессор обработки данных MSDE (Microsoft Database Engine ).

§ Экспорт объектов БД в формат HTML , создание статических и динамических Web -страниц для доступа к данным.

§ Возможность использования электронной почты для отправки данных и т.д.

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

Основы работы в СУБД MS Access

После создания или открытия БД через окно диалога « Microsoft Access » откроется рабочее окно диалога «База данных» (рисунок 13.1).

Рисунок 13.1 - Диалоговое окно «База данных»

Рабочее окно «База данных» позволяет получить доступ к основным объектам MS Access , таким как: таблицы, запросы, формы, отчеты, страницы, макросы, модули. Определим основные объекты, используемым в СУБД Access :

§ Таблица – основной объект реляционной базы данных, необходимый для хранения данных.

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

§ Форма – формат отображения в виде окна ОС Windows. Весь пользовательский интерфейс базируется на формах.

§ Отчет – форматированное представление данных, выводимое на экран, принтер или файл.

§ Страница – формат отображения в виде формы служащий для доступа к Web-страницам. Новый объект, добавленный в MS Access 2000.

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

§ Модуль – программа на языке Access Basic . Использование модулей позволяет более полно реализовать возможности MS Access .

Практически каждый объект MS Access , кроме макросов и модулей, имеет несколько вариантов создания, традиционными можно назвать конструктор и мастер:

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

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

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

СУБД MS Access поддерживает ряд базовых типов данных: текстовый, числовой, денежный, счетчик, даты/времени, логический, поле МЕМО, поле объекта OLE , гиперссылка. Среди перечисленных типов расширенными можно считать последние два: поле объекта OLE и гиперссылка, последний не нуждается в пояснениях. Поле объекта OLE позволяет импортировать в таблицы БД объекты, поддерживающие технологию OLE , например изображения, документы MS Word и т.д.

На имена таблиц и полей в СУБД MS Access накладываются следующие ограничения:

§ Имя поля не может содержать более 64 символов.

§ В именах полей и таблиц недопустимо использование управляющих символов с кодами 0 – 31 и символов (. ! ‘ ).

§ Имя поля не может начинаться с пробела, кроме того, привыкать к использованию пробелов вообще не желательно, лучше использовать нижнее подчеркивание.

СУБД MS Access предлагает несколько способов создания таблиц:

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

§ Конструктор – позволяет создать новую таблицу в конструкторе таблиц, при этом сразу можно указать все возможные свойства полей таблицы.

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

§ Импорт таблиц – позволяет импортировать таблицы из внешних файлов, например из существующих БД MS Access , таблиц MS Excel и т.д. В результате в текущей БД будет создана таблица, полученная из внешнего источника.

§ Связь с таблицами – позволяет осуществить связь с таблицами расположенными во внешних файлах.

Основным средством создания таблиц в MS Access является конструктор таблиц. Рассмотрим структуру конструктора таблиц (рисунок 13.2) и особенности создания таблиц в этом режиме.

Рисунок 13.2 - Окно конструктора таблиц

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

Каждое поле, наряду с определенным типом, имеет дополнительные свойства, отображаемые в разделе «Свойства поля» в нижней части конструктора.

Можно выделить следующие свойства полей расположенные на вкладке «Общие»:

· Размер поля – определяет максимальное число знаков (применяется для полей типа: текстовые, числовые, счетчик);

· Новые значения – определяет способ изменения значений счетчика (только для типа счетчик);

· Формат поля – определяет формат вывода значений поля (применяется для всех полей кроме полей объектов OLE );

· Число десятичных знаков – определяет число десятичных знаков при отображении чисел (применяется для типов: числовой, денежный);

· Маска ввода – позволяет задать маску ввода, для упрощения ввода данных (применяется для полей типа: текстовые, дата/время, числовые, денежные);

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

· Значение по умолчанию – позволяет задать значение, автоматически вводимое в поле при создании новой записи;

· Условие на значение – определяет требования к данным, вводимым в поле;

· Сообщение об ошибке – содержит сообщение, которое будет выводиться в случае нарушения условия на вводимое значение (см. выше);

· Обязательное поле – указывает, требуется ли обязательный ввод значений в поле;

· Пустые строки – определяет, допускается ли ввод пустых строк в поле (только для текстовых полей);

· Индексное поле – определяет индекс создаваемый по одному полю;

· Сжатие ЮНИКОД – включает сжатие полей, при использовании кодировки Unicode (для полей МЕМО, гиперссылок и текстовых полей).

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

Вкладка «Подстановка» предоставляет средства создания элементов управления для альтернативного ввода значений таких как: список и поле со списком. По умолчанию определено обычное поле.

Назначение первичного ключа осуществляется командой Правка - Ключевое поле, командой контекстного меню Ключевое поле или кнопкой панели инструментов . Сложный первичный ключ можно создать аналогично, предварительно выделив поля входящие в первичный ключ мышкой, с удержанием клавиши Shift или Ctrl .

Как и во многих СУБД, ключи определяются индексами (в том числе первичный ключ), поэтому для назначения сложных ключей или их специальной настройки можно использовать окно диалога «Индексы» (рисунок 13.3).

В столбце «Индекс» определяются имена индексов таблицы, причем первичный ключ таблицы всегда имеет имя PrimaryKey . Столбец «Имя поля» позволяет указать набор полей входящих в состав индекса. Специальные параметры индекса определяются в нижней части окна «Свойства индекса».

Рисунок 13.3 - Окно диалога создания составных индексов.

Обычно, после того как созданы все таблицы и определены все свойства их полей создаются связи между таблицами. Связи позволяют реализовать принципы поддержки целостности между данными, размещенными в различных таблицах. Связи создаются через инструмент – «Схема данных», вызываемый командой Сервис - Схема данных или кнопкой панели инструментов. Добавление таблиц в схему реализуется через окно диалога «Добавление таблицы» простым выделением и нажатием кнопки «Добавить» (рисунок 13.4). Необходимо отметить, что в связях могут участвовать не только таблицы, но и запросы.


Рисунок 13.4 – Диалоговые окна «Схема данных» и «Добавление таблицы»

Создание связей между таблицами осуществляется простым протягиванием, для этого нажимаем левую кнопку мыши на поле первичного ключа главной таблицы и тянем до внешнего ключа подчиненной таблицы, после этого левую кнопку мыши отпускаем. В результате появится диалоговое окно «Изменение связей» (рисунок 13.5).

В окне диалога «Изменение связей» поля со списками «Таблица/запрос» и «Связанная таблица/запрос» указывают на главную и подчиненную таблицы соответственно. Левый часть списка содержит поля главной таблицы участвующие в связи, а в правой части указываются связанные с ними поля подчиненной таблицы. При соединении с использованием простых ключей MS Access заполняет списки связей автоматически, но при соединении сложных ключей приходится заполнять списки вручную.

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

MS Access поддерживает два основных принципа поддержки ссылочной целостности на удаление:

§ запрет на удаление записей главной таблицы, на которые существуют ссылки в подчиненных таблицах, если флажок «Каскадное удаление связанных записей» не включен;

§ при удалении записи главной таблицы, на которые существуют ссылки в подчиненных таблицах, происходит каскадное удаление последних, если флажок «Каскадное удаление связанных записей» включен (рисунок 13.5);

Аналогичные принципы действуют при обновлении записей, но управляются флажком «Каскадное обновление связанных полей».

Рисунок 13.5 - Диалоговое окно «Изменение связей»

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

1. Какие новые возможности появились в СУБД MS Access 2000?

2. Какие категории объектов выделяют в СУБД MS Access?

3. Какие методы создания объектов можно назвать основными?

4. Назовите основные типы данных, используемые в MS Access .

5. Какие ограничения накладываются на имена полей и таблиц в СУБД MS Access ?

6. Какие режимы работы используются для работы с таблицей?

7. Назовите основные свойства полей MS Access .

8. В чем назначение вкладки «Подстановка»?

9. Как определяются ключи и индексы?

10. Как создаются связи между таблицами в СУБД MS Access ?

11. Какие принципы поддержки ссылочной целостности используются СУБД MS Access ?

Задания для самостоятельной работы

Задание 1. С учетом основных данных (таблицы 13.1 – 13.5) создайте оставшиеся таблицы БД ИС «Библиотека» и установите связи. Ключевые поля показаны курсивом. Описание создания таблицы «Книги» приводится ниже.

Таблица 13.1 – Свойства полей таблицы «Книги»

Подпись

Тип данных

Размер

Обяз. Поле

Индекс. поле

Пустые знач.

Условия

ISBN

Текстовый

14

Да

Да (совпадения не допускаются)

Нет

Название

Текстовый

Да

Нет

Текстовый

Издательство

Текстовый

Да

Нет

Место издания

Текстовый

Да

Нет

Год издания

Числовой

Целое

Да

>19 59

Страниц

Числовой

Целое

Да

Таблица 13.2 – Свойства полей таблицы «Экземпляры»

Подпись

Тип данных

Размер

Обяз. поле

Индекс. поле

Маска ввода

Инвентарный номер

Числовой

Дл.целое

Да

Да (совпадения не допускаются)

ISBN

Текстовый

Да

Да (совпадения допускаются)

Читательский билет

Числовой

Дл.целое

Да

Да (совпадения допускаются)

Наличие

Логический

Да

Дата взятия

Дата/Время

Кр.ф.даты

Да

Дата возврата

Дата/Время

Кр.ф.даты

Да

Таблица 13.3 – Свойства полей таблицы «Читатели»

Подпись

Тип данных

Размер

Обяз. поле

Индекс. поле

Пустые значения

Условия

Читательский билет

Числовой

Дл.целое

Да

Да (совпадения не допускаются)

ФИО

Текстовый

Да

Нет

Дата рождения

Дата/Время

Кр.ф.даты

Да

Пол

Текстовый

Да

Нет

«М» or «Ж»

Домашний телефон

Текстовый

Рабочий телефон

Текстовый

Таблица 13.4 - Свойства полей таблицы «Каталог»

Подпись

Тип данных

Размер

Обяз. поле

Пустые значения

Код области знаний

Числовой

Целое

Да

Наименование

Текстовый

Да

Нет

Таблица 13.5 - Свойства полей таблицы «Связь»

Подпись

Тип данных

Размер

Обяз. поле

Индекс. Поле

Пустые значения

ISBN

Текстовый

14

Да

Да (совпадения допускаются)

Нет

Код области знаний

Числовой

Целое

Да

Да (совпадения допускаются)

Пример создания таблицы «Книги»

Создадим таблицу «Книги» БД «Библиотека» на основе созданной ранее реляционной схемы, с учетом некоторых сформулированных ранее ограничительных условий. Для удобства основные свойства полей сведены в таблицы 13.1 – 13.5

1. В диалоговом окне БД (рисунок 13.1) выбираем категорию «Таблицы».

2. Открываем окно конструктора таблиц командой Создать-Конструктор или другим способом.

3. В раскрывшемся окне диалога (рисунок 13.2) устанавливаем курсор в первую свободную строку столбца «Имя поля» и вводим название поля - ISBN .

4. В столбце «Тип данных» указываем тип - текстовый (данное значение устанавливается по умолчанию).

5. Уточняем размер поля, для этого курсор устанавливается в позицию свойства – «Размер поля» (в нижней части окна конструктора, рисунок 13.2) и указываем значение – 14 .

6. Реальные названия полей могут отличаться от тех, которые показываются пользователям. Для этого установим значение свойства «Подпись» равным ISBN или в иное, если этого требует пользователь.

8. Повторяем пункты 3 – 7 и аналогично создаем другие поля таблицы, но для поля Год_издания дополнительно установим свойство «Условие на значение» равным >1959 . Со свойством «Условие на значение» обычно устанавливают свойство «Сообщение об ошибке», например значение Книга издана до 1960 года!

9. Укажем первичный ключ для поля ISBN , для этого курсор устанавливаем на него и выполняем команду контекстного меню Ключевое поле.

10. Сохраним созданную таблицу под именем Книги . Окно диалога «Сохранение» вызывается каждый раз при закрытии измененной таблицы.

Аналогичным способом создаются и остальные таблицы БД.

Пример создания фиксированного списка

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

1. Выберем поле Пол .

2. Перейдем на вкладку бланка свойств «Подстановка».

3. Установим свойство Тип элемента управления в значение Поле со списком .

4. Установим свойство Тип источника строк в значение Список значений .

5. Установим свойство Источник строк в значение «М»;«Ж»

6. Сохраним изменения в таблице.

Рисунок 13.6 – Схема данных БД «Библиотека»

Задание 2. Установите связи между таблицами, как показано на рисунке 13.6. Руководствуйтесь правилами поддержания ссылочной целостности определенными в постановке задачи.

MS Access - реляционная клиент-серверная от компании Microsoft. Реляционная означает, что она основана на таблицах. Рассмотрим эту систему подробнее.

Что такое реляционная база данных?

Рассмотрим преимущества и недостатки данной СУБД.

Преимущества СУБД Microsorf Access

  • Простой и понятный интерфейс. Приступить к работе с данной СУБД можно, не имея никаких особых навыков. Кроме того, на помощь новичку приходят многочисленные справочные пособия, онлайн- и офлайн-курсы.
  • СУБД MS Access общеизвестна и очень популярна в настольных ПК. Это значит, что вы всегда можете обратиться за помощью к знакомому, уже давно использующему данную СУБД, за советом, а также вместе работать с одной базой данных по сети.
  • Практически безграничные возможности из таблиц щелчком одной клавиши мыши можно перенести в Excel, Word, экспортировать в XML, опубликовать в PDF, не говоря уже о том, чтобы без проблем перенести выбранные объекты в другую базу данных.
  • Невысокая цена. Если покупать MS Access в составе полного пакета Microsoft Office, то, по сравнению с другими платными СУБД, цена окажется очень заманчивой.
  • Широкий выбор конструкторов для построения форм, отчетов и запросов, с помощью которых можно отфильтровать данные и вывести их в удобном виде.
  • Широкие возможности импорта данных: если у вас есть табличные данные, созданные при помощи текстового процессора MS Word или табличного процессора MS Excel, вы с помощью мастера без труда перенесете их в свою базу. Импорт, кроме того, можно выполнить из простого текстового документа, из документа XML, а также из файлов баз данных, созданных в других СУБД (таких как dBASE, PARADOX).
  • Возможность создания пароля на своей базе данных.
  • Встроенный язык VBA высокого уровня.
  • Возможность записи макросов.
  • Редактор SQL.

Для программистов можно выделить еще один значительный плюс: ядро Access JET 4 встроено в операционные системы Microsoft, начиная с Windows-98. Это значит, что разработанное приложение, использующее в работе базу данных, созданную в Access, можно без проблем переносить на любой компьютер с ОС Windows. Оно будет работать, не требуя установки самой СУБД. В крайнем случае потребуется лишь установка RUNTIME - версии, которую можно абсолютно бесплатно скачать с сайта Microsoft.

Как видим, достоинства СУБД MS Access налицо. Но все плюсы могут перекрыться вполне существенными минусами. Рассмотрим их.

Недостатки СУБД Microsoft Access

  • MS Access относится к файл-серверным СУБД. Это означает, что вся обработка данных происходит непосредственно на компьютере клиента, пользователя. Серверная часть лишь извлекает данные и передает их по требованию. Это приводит к тому, что по локальной сети курсируют большие потоки данных, и при большом количестве пользователей, работающих с базой данных, может случиться перегрузка сети. Классическая файл-серверная архитектура всегда влечет за собой низкую производительность при большом количестве пользователей. В версии MS Access 2010 этот вопрос частично решен.
  • Отсутствие надежных средств защиты данных. По сути, используется только пароль на базе данных и пароль пользователя. Для опытного специалиста не представляет никакой сложности снять такую защиту.
  • Многопользовательский режим возможен только в одноранговой сети или в сети с файловым сервером.
  • Для разработки нестандартного интерфейса требуется привлекать программистов.
  • Редактор примитивен, использовать его неудобно.
  • Данная СУБД не бесплатная.
  • MS Access заточен под операционные системы Windows. Чтобы попытаться использовать данные, созданные в этой СУБД в других ОС (например, LINUX), придется изрядно повозиться. Проще перенести данные в другую СУБД.

После того, как мы рассмотрели минусы и плюсы MS Access, на примере версии 2007 дадим небольшие инструкции по возможностям данной СУБД.

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

Нет ничего проще, чем создать новую таблицу при помощи MS Access 2007:

  1. После открытия базы данных переходим на вкладку «Создание».
  2. Щелкаем по иконке «Таблица», она первая слева.
  3. Перед нами визуальное представление таблицы со стандартным названием «Таблица 1» и автоинкрементным полем «Код».
  4. Можно приступать к вводу данных во второй столбец. После ввода строки необходимо нажать клавишу Enter. Столбец автоматически переименуется в «Поле 1», поле «Код» примет значение единицы, станет доступным ввод данных в следующую строку.
  5. Чтобы переименовать столбец, достаточно кликнуть по нему мышью два раза. Желательно задавать имена столбцов без пробелов!
  6. Строитель таблиц в Access 2007 очень умный. Стоит вам в первой строке новой таблицы ввести в поле значение типа «Дата», как в следующей строке того же столбца вам автоматически предложат воспользоваться календарем.
  7. Для завершения создания таблицы необходимо ее сохранить, нажав на соответствующую иконку или сочетание клавиш CTRL+S.

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

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

Рассмотрим, как создавать в MS Access запросы. Создадим в версии 2007 простой запрос в режиме конструктора:

  1. На панели "Меню" выберите на вкладке «Создание» кнопку «Конструктор запросов».
  2. Перед вами сразу появится окошко выбора таблиц. Щелкните по каждой таблице, из которой необходимо выбрать данные. Следует помнить, что выбор вы сможете осуществить, только если несколько таблиц можно логически увязать друг с другом при помощи какого-либо поля.
  3. Если у вас выбрано несколько таблиц, необходимо построить между ними связь, протянув мышью линию от одного поля одной таблицы до связываемого поля другой.
  4. Теперь двойным щелчком выберите поля из каждой таблицы, которые вы хотите видеть в результате.
  5. На панели меню на вкладке «Конструктор» нажмите на большой восклицательный знак. Перед вами в табличной форме предстанет результат вашей выборки.

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

Иногда даже начинающему пользователю хочется представить свои данные в более интересном формате, нежели простая таблица. Тогда на помощь ему придет инструмент MS Access - "Формы".

Мастер форм

На примере Access 2007 рассмотрим, как пользоваться мастером форм:


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

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

Введение

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

Обеспечивать получение общих и/или детализированных отчетов по итогам работы;

Позволять легко определять тенденции изменения важнейших показателей;

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

Выполнять точный и полный анализ данных.

Современные СУБД в основном являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловило не только широкий переход к среде Windows, где разработчик программного обеспечения может в меньшей степени заботиться о распределении ресурсов, но также сделало программное обеспечение ПК в целом и СУБД в частности менее критичными к аппаратным ресурсам ЭВМ.

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

СУБД MS Access и ее основные возможности

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

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

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

Богатый набор визуальных средств разработки.

MS Access - высокопроизводительная (32-разрядная) система управления реляционными базами данных, которая входит в состав профессиональной версии интегрированного пакета Microsoft Office. MS Access предназначена для разработки настольных баз данных и создания приложений баз данных архитектуры клиент-сервер, работающих под управлением операционных систем семейства Windows. Эта система доступна для пользователя любого уровня.

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

Общее описание пакета Access

Пакет Access входит в расширенную (профессиональную) поставку пакета MS Office и является более сложным в использовании по сравнению с пакетами Word и Excel.

Назначение: создание и использование баз данных.

База данных - набор логически связанной информации о некоторой области человеческой деятельности; база данных состоит из одной или нескольких связанных между собой таблиц; одна база данных пакета Access содержится в специальном файле с расширением. mdb (пример файла базы данных: Клиенты. mdb).

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

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

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

Поле - элементарная логически неделимая единица информации в базе данных. Каждое поле должно иметь уникальное имя и тип; тип поля зависит от типа хранящейся в нем информации; основными типами полей являются: числовой, текстовый (небольшой текст до 255 символов), счетчик (целые числа по порядку), поле МЕМО (большой произвольный текст), дата/время, денежный, поле объекта OLE (например - любое изображение); некоторые поля в таблице имеют специальное использование и называются ключевыми.

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

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

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

Работа с пакетом Access требует выполнения двух основных этапов:

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

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

В свою очередь, создание базы данных начинается с создания нового файла базы данных *.mdb и может выполняться следующим образом:

Полное «ручное» описание структуры базы данных как набора таблиц, записей и полей;

На основе имеющихся заготовок-шаблонов баз данных (всего их 22), из которых можно выбрать необходимые таблицы и поля.

Описание каждой таблицы включает в себя:

Задание имени таблицы;

Определение ключевого поля (обычно это поле счетчика-кода), которое задается на первом месте в списке полей;

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

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

После этого можно начинать самый неинтересный, но необходимый этап - заполнение созданной базы информацией. Для этого обычно создаются специальные объекты - формы. Их назначение - ввод и дальнейшее редактирование хранящихся в базе данных. Форма - это набор полей ввода, соответствующих полям конкретной таблицы. Проще всего форму можно создать для конкретной таблицы автоматически с помощью кнопки «Новый объект / Автоформа». Каждой форме присваивается имя, под которым она сохраняется в файле базы данных и может быть использована в дальнейшем.

Использование созданной и заполненной базы данных основывается еще на двух основных понятиях - запрос и отчет. Запрос позволяет выполнить с хранящимися данными необходимые действия. Различают следующие типы запросов:

На выборку данных,

На добавление записей,

На удаление записей, на редактирование записей.

Наиболее часто используются запросы на выборку данных. Формирование запросов выполняется с помощью специального конструктора, который позволяет указать используемые в запросе таблицы, поля (не обязательно все, можно выбрать только необходимые!) и задать условия отбора данных. При задании условий можно использовать знаки отношений (=, <, >, <>), арифметических операций (+, -, *, /), логических опрециий(AND, OR, NOT, LIKE) и круглые скобки. Созданные запросы сохраняются в файле базы данных и могут использоваться многократно. На основе любого существующего запроса можно построить новый, изменив набор полей и условия отбора.

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

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

Система управления базами данных (СУБД) MS Access является системой управления реляционными БД, работающей в среде Windows XP. В ней предусмотрены все необходимые средства для определения и обработки данных, а также для управления ими при работе с большими объемами ин­формации. СУБД позволяет создавать приложения, работающие в среде Windows и полностью соответствующие потребностям за­казчика.

В состав СУБД входят средства управления таблицами, запро­сами, формами, отчетами, макросами и модулями как самостоя­тельными объектами, хранящимися в одном файле БД (расшире­ние.mdb). Благодаря этому создание связанных объектов и про­верка целостности данных значительно облегчаются.

Кратко рассмотрим состав файла БД и архитектуру СУБД.

СУБД называет объектами все, что может иметь имя. В БД Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули.

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

Семенов; 75-48-09; г. Рязань, ул. Полевая, 20.

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

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

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

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

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

Отчет - это объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в до­кумент другого приложения. Прежде чем выводить отчет на прин­тер, его можно просмотреть на экране.

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

Модуль - это объект, содержащий программы на Microsoft Access Visual Basic, которые могут разрабатываться пользователем для реализации нестандартных процедур при создании приложения.

Краткая характеристика Microsoft Access

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

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

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

Создание многопользовательской БД Access и получение одновременного доступа нескольких пользователей к общей базе данных возможно в локальной одноранговой сети или в сети с файловым сервером. Сеть обеспечивает аппаратную и программную поддержку обмена данными между компьютерами. Access следит за разграничением доступа разных пользователей к БД и обеспечивает защиту данных. При одновременной работе. Так как Access не является клиент серверной СУБД, возможности его по обеспечению многопользовательской работы несколько ограничены. Обычно для доступа к данным по сети с нескольких рабочих станций, файл БД Access (с расширением *.mdb) выкладывается на файловый сервер. При этом обработка данных ведется в основном на клиенте – там, где запущено приложение, в силу принципов организации файловых СУБД. Этот фактор ограничивает использование Access для обеспечения работы множества пользователей (более 15–20) и при большом количестве данных в таблицах, так как многократно возрастает нагрузка не сеть.

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

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

Однако, при известных недостатках MS Access обладает большим количеством преимуществ по сравнению с системами подобного класса.

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

В целом MS Access предоставляет большое количество возможностей за сравнительно небольшую стоимость. Также необходимо отметить ориентированность на пользователя с разной профессиональной подготовкой, что выражается в наличии большого количества вспомогательных средств (Мастеров, как уже отмечалось), развитую систему справки и понятный интерфейс. Эти средства облегчают проектирование, создание БД и выборку данных из нее.

MS Access предоставляет в распоряжение непрограммирующему пользователю разнообразные диалоговые средства, которые позволяют ему создавать приложения не прибегая к разработке запросов на языке SQL или к программированию макросов или модулей на языке VBA .

Access обладает широкими возможностями по импорту / экспорту данных в различные форматы, от таблиц Excel и текстовых файлов, до практически любой серверной СУБД через механизм ODBC.

Еще одно немаловажное преимущество MS Access заключается в развитых встроенных средствах разработки приложений. Большинство приложений, распространяемых среди пользователей, содержит тот или иной объем кода VBA (Visual Basic for Applications). Поскольку VBA является единственным средством для выполнения многих стандартных задач в Access (работа с переменными, построение команд SQL во время работы программы, обработка ошибок, использование Windows API ит. д.), для создания более-менее сложных приложений необходимо его знание и знание объектной модели MS Access.