Основные возможности субд ms access. Краткая характеристика субд ms access

Раздел 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, входящей в профессиональный пакет MS Office.

В начале работы с Access происходит создание новой базы данных с присвоением файлу базы оригинального имени и расширения.mdb.

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

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

Основные объекты базы данных Access можно создавать в режиме Мастер и в режиме Конструктор .

Таблицы

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

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

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

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

Характеристики полей базы данных:

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



· тип поля определяет тип данных, которые могут содержаться в данном поле;

· размер поля определяет предельную длину (в символах) данных, которые могут размещаться в данном поле;

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

· маска ввода определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных);

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

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

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

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

· обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;

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

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

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

Запросы

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

Запрос-выборка предназначен для отбора данных, хранящихся в таблицах, и не изменяет эти данные.

Запрос-изменение используется для изменения или перемещения данных. К этому типу относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление.

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

Ряд запросов строятся с использованием мастеров. Возможно создание запросов следующих видов:

простой запрос , позволяющий выбирать поля из нескольких таблиц или запросов;

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

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

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

После выбора Конструктора при создании запроса Access предлагается использовать бланк запроса по примеру QBE.

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

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

Окно построителя имеет четыре области со своими полосами прокрутки. В верхней области располагается создаваемое выражение. Три нижние используются для выбора элементов. Они заполняются по иерархическому принципу. Левая область содержит список всех источников данных для запроса. Средний список служит для показа элементов, входящих в выбранный объект из левого списка. На рисунке в левом списке указаны имя запроса (Запрос 1) и имена таблиц и других объектов базы, а в средней части – имена полей, входящих в этот запрос или таблицу (Фамилия, Имя ). Правый список служит для выбора объектов. Кнопки с символами математических операций позволяют быстро вводить соответствующие символы в выражение.

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

BETWEEN AND заменяет знаки «больше или равно» и «меньше или равно». Например, условие BETWEEN 1981 AND 1984 эквивалентно условию > =1981 AND<=1984.
Знак «^» определяет возведение в степень.
Знак «&» используется для сложения данных символьного типа. Для соединения можно использовать и более привычный знак «+». Например, эквивалентны следующие три выражения: «Петров», «Петр» & «ов», «Петр» + «ов».
Оператор LIKE используется для создания масок при определении строк с неизвестными символами и требует дополнительных специальных символов:

? – обозначает любой одиночный символ;

* - обозначает любую последовательность символов;

# - обозначает любую цифру;

– обозначает символ из определенного набора в квадратных скобках, например [а - d] обозначает одну из четырех букв: а, b, d. Восклицательный знак инвертирует смысл выражения, заключенного в квадратные скобки: [!1 - 5] – исключает цифры от 1 до 5.

Также для построения условий отбора могут использоваться логические операторы: AND, EQV, OR.

Формы

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

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

Самый простой способ создания формы – Автоформа.

Форма позволяет вводить, просматривать, редактировать и печатать данные.

Отчеты

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

Можно создать отчеты следующих видов:

· простая распечатка из режима Таблицы или Формы, используемая как черновой вариант отчета;

· детальный отчет – хорошо подготовленный отчет в наглядном удобном виде, включающий ряд дополнительных элементов;

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

Макросы и модули

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

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

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

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

Между одноименными полями двух таблиц MS Access автоматически устанавливает связь. Например, между таблицами «Студенты» и «Успеваемость» устанавливается связь по полю «№ студ. билета». Это означает, что при формировании запроса к этой паре таблиц Access сможет объединить записи (строки) таблиц, в которых значения поля «№ студ. билета» совпадают.

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

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

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

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

Целостность данных означает следующее:

· в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы (например, в таблицу «Успеваемость» нельзя ввести запись с номером студенческого билета, отсутствующим в таблице «Студенты»);

из главной таблицы нельзя удалить запись, у которой значение связанного поля совпадает хотя бы с одним значением того же поля в подчиненной таблице (например, из таблицы «Студенты» нельзя удалить «№ студ. Билета», который еще не удален из таблицы «Успеваемость»).

При попытке нарушить эти запреты MS Access выдает сообщение об ошибке.

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

  • каскадное обновление связанных полей;
  • каскадное обновление связанных записей.

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

Установление связей между таблицами рассмотрим на конкретном примере – на нашей базе данных «Колледж».

Выберите команду Правка /Схема данных . На экране появится диалоговое окно со списком всех таблиц открытой базы данных.

Можно включить в этот список и запросы (или создать список только из запросов).

Задача пользователя– указать системе те таблицы, между которыми он устанавливает связи. Нужно выделить таблицу «Преподаватели» и нажать кнопку Добавить , затем то же самое проделать с таблицами «Успеваемость» и «Студенты». Нажать кнопку Закрыть.

На экране появится окно Схема данных .

Это окно содержит все таблицы базы данных, между которыми устанавливаются (или уже установлены) связи. Для установления связи между двумя таблицами можно методом «Drag-and-Drop» переместить имя поля с первичным ключом главной таблицы на одноименное поле подчиненной таблицы.

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

После активизации флажка «Обеспечение целостности данных» становятся допустимыми радиокнопки Отношение и два флажка каскадных операций. В группе «Отношение» надо обязательно выбрать один из типов связи: «один-к-одному» или «один-ко-многим».

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

Сервисные операции

1) Проверка орфографии. О беспечивают авто-исправление ошибок ввода. Используется словарь. Включается система и при обнаружении слова, отсутствующего в словаре, появляется диалоговое окно "Орфография". Можно это слово пропустить, добавить в словарь, заменить.

2) Автозамена . Автоматически исправляет ошибки и опечатки непосредственно в процессе набора данных в базу. Список автозамены "общий" для MS Office 2003. Есть много настроек как делать замену.

3) Устранение конфликтов в ЛВС. На удаленных рабочих станциях пользователи могут работать с копиями БД, а затем делать их синхронизацию (запуск - Меню\Сервис\Репликация \Устранить конфликты).

4) Средства анализа БД. Позволяют оптимизировать построение БД, документировать ее состояние, исключить повторы данных в таблицах, повысить производительность.

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

7) Репликация предоставляет пользователям, которые работают за различными компьютерами, удобный способ обмена изменениями, вносимыми в единую БД. Репликация имеет широкое практическое применение. Для создания и синхронизации реплик в MS Access 2003 предусмотрены команды репликации.

Термины и определения

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

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

База данных - множество логически совместимых файлов данных.

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

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

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

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

Транзакция - входное сообщение, переводящее базу данных из одного непротиворечивого состояния в другое (запрос на изменение базы данных). В зафиксированной транзакции все операции завершены.

Введение

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

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

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

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

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

Современные СУБД в основном являются приложениями 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 содержит все используемые таблицы, формы, запросы и отчеты.

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

Что такое СУБД

Различные данные принято представлять и хранить в виде таблиц. Часто бывает так, что в нескольких таблицах находится информация, которая связана между собой каким-то образом. Совокупность таких взаимозависимых таблиц представляет собой базу данных.

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

Основные функции СУБД

СУБД Access выполняет следующие важные функции:

Осуществление необходимых и формулами;

Налаживание связей между таблицами и массивами данных;

Возможность добавления запросов.

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


Основные отличия СУБД Access

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

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

Возможности Access

Эта программа дает возможность создавать исходные объекты в виде таблиц с полями разнообразных типов, например, числовыми, текстовыми, графическими, даже полями OLE.

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

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

При заполнении полей могут использоваться вычисления с помощью различных формул.

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

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 - это неплохие возможности за небольшую стоимость. Понятный интерфейс, распространенность, встроенные вспомогательные конструкторы и мастера - все это облегчает проектирование базы данных и работу с ней.