1. Создание
базы данных Access
1.1 Создание
нового файла базы данных: Откроем приложение
Access: Пуск / Программы / Средства Microsoft Office
/ Microsoft Access. В окне Microsoft Access на правой панели Открытие файла выберем
раздел Создание и в нем переключатель
Новая база данных. В открывшемся окне
сохранения файла выберем папку, в которой
будет сохранена база данных, в поле Имя
файла набираем название создаваемой
базы и нажимаем кнопку Создать.
В главном окне Microsoft Access появится окно
базы данных (рис. 1).
Рис. 1. Окно базы данных
Левая панель Все объекты Access этого окна
позволяет выбрать тип объектов базы данных
для последующей работы с ними, например,
таблицы, запросы, формы. Верхняя панель
определяет режим работы.
1.2 Создание таблиц: На панели Меню выбираем
кнопку Создание и в списке окна (двойным
щелчком мыши) команду Конструктор таблиц
.
Обычно этот выбор предлагается по умолчанию
при создании новой БД.
В режиме конструктора таблицы создается
ее схема – задаются имена полей (атрибутов),
их типы и свойства (условия на домен).
Столбцы схемы заполняются построчно:
каждая строка содержит сведения об одном
атрибуте (рис. 2).
Рис. 2. Таблица в режиме конструктора
В первом столбце указывается название
атрибута, во втором – его тип (тип домена),
в третьем – необязательный комментарий.
После выбора типа атрибута внизу открывается
окно свойств, предоставляющее возможность
задать ограничения на домен.
Имена полей не должны содержать знаков
препинания, скобок, кавычек; желательно,
чтобы они не содержали также и пробелов.
Зададим схему таблицы, содержащей сведения
о товарах:
- Введем в столбец Имя поля название первого
атрибута − поля таблицы: Штрих код.
- В соседнем столбце Тип данных выберем в списке
(он появляется при щелчке мышью в этом
столбце) тип атрибута: Числовой. Также
в окне свойств отмечаем в списках: Размер
поля – Длинное целое, Обязательное поле
– Да, Индексированное поле – Да (Совпадения
не допускаются). Последние два свойства
обязательны, если данный атрибут является
потенциальным (возможным) ключом.
- В следующем столбце схемы Описание можно (но не обязательно)
ввести комментарий к этому атрибуту,
например: Порядковый номер товара.
- Далее перейдем на новую строку – заполним сведения о втором атрибуте таблицы – Наименовании товара.
- В столбец Имя поля введем название Наименование товара;
в столбце Тип данных выберем Текстовый.
- Заполним сведения о третьем атрибуте таблицы – поставщике товара.
- Для этого в столбец Имя поля введем название Поставщик; в столбце Тип
данных выберем Текстовый; в окне свойств отмечаем:
Обязательное поле: Нет, Индексированное
поле: Нет.
- Зададим следующий атрибут – № магазина.
- Для этого в столбец Имя
поля введем название атрибута: № магазина,
в столбце Тип данных выберем Числовой, в свойствах отметим
Обязательное поле: Нет, Индексированное
поле: Нет.
- После того, как атрибуты определены, необходимо выбрать первичный ключ. Если этого не сделать, СУБД Access предложит вставить в таблицу свой ключ – дополнительный атрибут Счетчик, значениями которого являются номера
строк. Кроме того, таблицу с не определенным
первичным ключом нельзя будет связать
с другими таблицами.
- Учитывая свойства уникальности и минимальности потенциальных ключей, в качестве первичного ключа выберем атрибут Штрих код. Чтобы зафиксировать
это свойство в схеме, выделим строку с
описанием этого атрибута: подведем указатель
мыши к крайнему левому столбцу окна таблицы
и щелкнем в этой строке. Затем нажмем
кнопку с изображением ключа на панели
инструментов Access. Щелкнем в другом поле,
чтобы убрать выделение. В результате
получим схему таблицы (рис. 3).
-
- Рис. 3. Таблица «Товар» в режиме конструктора
- Первичный ключ является по определению индексированным полем. Чтобы убедиться в том, что Access правильно зафиксировал ключ, нажмем кнопку Индексы на панели инструментов.
Откроется окно (рис.4).
-
- Рис. 4. Индексы таблицы
- Строки таблицы индексов можно при необходимости заполнять вручную для других атрибутов, выбранных в качестве индексов.
- Индексы обычно создаются также и для внешних ключей для ускорения поиска в связанных таблицах.
- Созданную схему таблицы необходимо сохранить (обычным для Windows способом). В окне сохранения зададим имя таблицы Товар.
- Теперь таблицу нужно заполнить данными – задать значения атрибутов.
- Для заполнения таблицы перейдем из режима конструктора в режим таблицы. Для этого нажмем кнопку Вид − крайнюю левую на панели инструментов:
- Откроется окно, содержащее имена полей и свободную строку для ввода первой записи. Записи должны вводиться одна за другой (нельзя заполнять один столбец, потом другой по своему усмотрению). В каждой записи необходимо ввести значения первичного ключа и обязательных полей, иначе СУБД выдаст сообщение об ошибке и запретит дальнейший ввод. Записи добавляются в конец таблицы; в середину или в начало таблицы вставка невозможна.
- Если первичным ключом является счетчик, то его значения заполняются автоматически системой.
- В режиме таблицы данные можно не только вводить, но и изменять, и удалять. Для удаления записи ее необходимо выделить, щелкнув мышью на ее позиции в левом столбце таблицы, и затем нажать кнопку Delete на клавиатуре.
- Регулировать ширину столбцов и строк можно с помощью мыши, подводя указатель к разделительной линии строк или заголовков полей и перетаскивая этот разделитель. Настроить ширину столбца по максимальной длине содержащегося в нем значения можно, как и в Excel, двойным щелчком мыши по правому разделителю этого столбца.
- Заполним таблицу Товар следующими данными (рис. 5).
-
- Рис.
5. Таблица «Товар» базы данных «Учебная»
- Создадим еще одну таблицу – Магазин с полями: № магазина (Числовой), Адрес
(Текстовый), Телефон (Числовой), Заведующий
магазином (Текстовый).
- В качестве первичного ключа выберем поле № магазина.
- В качестве Адресов складов введем: Ростовская обл., г.Ростов-на-Дону,
ул.Заречная, 14; Ростовская обл., г.Ростов-на-Дону,
ул.Текучева, 25; Ростовская обл., г.Ростов-на-Дону,
ул.Ленина, 18; Ростовская обл., г.Ростов-на-Дону,
ул.Мадаяна, 15; Ростовская обл., г.Ростов-на-Дону,
ул.Нагибина, 5. Для номеров складов 1, 2,
3, 4, 5 соответственно.
- В поле Телефон введем следующие
номера телефонов: 2554598, 2654896, 2551649, 2554769,
2554369 соответственно. В поле Заведующий складом введем фамилии и инициалы заведующих,
а именно: Озоян Я.Н., Евдокимова Е.А., Еременко
А.А., Апанасова Р.С., Игорев И.О.
- Таблица магазин имеет вид (рис.
6):
-
- Рис. 6. Таблица «магазин»
- 1.3 Создание
связей между таблицами: таблицы Товар и магазин информационно
связаны: в таблице Товар речь идет о имеющихся товарах, поставляемых
со складов указанных в таблице магазин. Каждой записи
в таблице Товары соответствуют несколько записей в таблице Магазин с тем же самым
номером склада. Таким образом, таблицы Товар и Магазин связаны по номеру
склада, т.е. по полю Магазин. Такая связь называется «один
ко многим». В данном
случае в качестве таблицы со стороны «один» выступает Магазин(так называемая
родительская таблица), со стороны «многие» − Товар (дочерняя). Поле таблицы, участвующей
в связи со стороны «один», всегда является первичным ключом этой
таблицы. Поле таблицы, идущей со стороны «многие», является
внешним ключом. Эти ключи должны иметь
одинаковый домен.
- Зафиксируем эту связь в Access. Выберем меню Работа с базами данных → Схема данных
. С помощью
появившегося окна Отобразить таблицу
добавим
в схему данных таблицы Товар и Магазин (щелкая на их
именах мышью и нажимая кнопку Добавить), после чего нажмем кнопку Закрыть. В окне Схема данных будут отображаться схемы («шапки») таблиц, содержащие имена их полей с выделенным
полем – первичным ключом.
- Для создания связи «зацепим» мышью
поле № склада (по которому будет идти
связь) в таблице Магазин и перетащим его на поле № магазина таблицы Товар. Таким образом, перетаскивание осуществляется
от родительской таблицы к дочерней.
- В появившемся окне Изменение связей установим флажки:
Обеспечение целостности данных, Каскадное
обновление связанных полей, Каскадное
удаление связанных записей. Нажмем кнопку Создать.
- Созданная связь будет изображаться в окне схемы данных в виде линии с метками на концах (рядом с полем № магазина таблицы Магазин указывается цифра «1», а рядом с полем № магазин таблицы Товар − знак бесконечности «∞») (рис. 7).
-
- Рис. 7. Отображение связи между таблицами в окне схемы данных
- Эти метки означают, что данная связь имеет тип «один ко многим»: с одной («1») записью таблицы Магазин можно связать много («∞») записей из таблицы Товар (иными словами, на одном складе может
храниться несколько видов товаров).
- Для удаления связи между таблицами следует щелкнуть мышью на линии, изображающей данную связь (при этом толщина линии увеличится), нажать клавишу Del; либо щелкнуть правой кнопкой мыши по линии и выбрать Удалить. Далее следует подтвердить удаление
в диалоговом окне, выбрав в нем вариант Да.
- Для изменения свойств связи − повторного отображения окна Изменение
связей − надо выполнить двойной щелчок мышью
на линии, изображающей данную связь, либо
щелкнуть правой кнопкой мыши по линии
и выбрать Изменить связь.
- Сохраним схему данных и закроем окно схемы данных.
- 2. Создание
запросов
- Запрос − это объект, позволяющий пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк QBE (Запрос по образцу) или написать инструкцию SQL. Можно создавать запросы на выборку, обновление, удаление или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.
- Создадим 5 запросов.
- Запрос на выборку используется наиболее часто. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или нескольких таблиц и выводятся в стандартном «табличном» виде.
- 2.1 Создадим
в базе данных следующий запрос: выдать
сведения о заведующих магазином, фамилии
которых начинаются на букву «Е».
- В окне базы данных Учебная перейдем на вкладку Создание. Дважды щелкнем
на значке Конструктор запросов
- . В появившемся окне Добавление таблицы (рис. 8) выделим
на вкладке Таблицы таблицу Магазин и щелкнем на кнопке Добавить, а затем Закрыть. На экране появится окно конструктора
запросов с загруженной таблицей Магазин (таблицы отображаются
в верхней части окна конструктора запросов).
Содержимое этого окна называют бланком
запроса.
- Добавить в запрос новую таблицу можно и после перехода в режим конструктора запросов: для этого достаточно выполнить команду меню Конструктор → Отобразить таблицу
. Можно
выбрать команду Добавить таблицу из контекстного меню (вызов правой кнопкой
мыши по пустой области бланка).
-
- Рис. 8. Добавление таблицы
- Определим поля запроса: дважды щелкнув мышью по полю Заведующий магазином в окне таблицы Магазин, и оно появится
в первом столбце бланка (поле Заведующий магазином можно перетащить мышью на любой столбец
или выбрать в выпадающем списке столбца).
Аналогичными действиями поместим в следующие
столбцы бланка запроса поля № магазина, Адрес, Телефон.
- Зададим условие отбора: в строку Условие отбора для поля ФИО введем
строку: Е* (после нажатия Enter введенный текст автоматически преобразуется
в следующий: Like "Е*"). Запрос в режиме
конструктора примет вид (рис. 9).
-
- Рис. 9. Запрос в режиме конструктора для
- Запустим запрос на выполнение: нажмем кнопку или выберем меню Конструктор / Выполнить . В результате
на экране появится таблица, столбцы которой
соответствуют полям запроса (и располагаются
в том же порядке), а строки являются записями,
удовлетворяющими заданному условию (рис.
10).
-
- Рис. 10. Запрос с заданным условием – фамилии заведующих магазином начинающиеся на букву «Е»
- Для возврата в режим конструктора запросов можно нажать кнопку Режим и выбрать Конструктор (рис. 11).
-
- Рис. 11. Переход в режим конструктора
- Сохраним созданный запрос под предлагаемым именем Запрос 1.
- 2.2 Условие
для второго запроса: Перечисление наименований
товаров со второго и четвертого магазинов.
- В данном запросе для поля № магазина введем условие: 2 Or
4 (что означает «второй или четвертый» магазин) (рис. 12)
-
- Рис. 12. Запрос в режиме конструктора
- Несмотря на то, что мы говорим «второго
и четвертого магазина», в условии
отбора нужно ставить в данном случае
операцию «или» (OR), т.к. логическая операция «и» (AND) выполняется, когда истинны оба операнда,
т.е. здесь требовалось бы, чтобы товар
находился на втором и четвертом магазине
одновременно.
- Запустим запрос на выполнение (рис. 13).
-
- Рис. 13. Запрос 2, товары со второго и четвертого магазинов
- 2.3 Условие
для третьего запроса: перечислить товары,
штрих код которых начинается с цифры
1.
- Для данного запроса нам понадобится таблица Товар и поля Штрих код и Наименование товара. Условие отбора – 1* (рис. 14).
-
- Рис. 14. Запрос 3 в режиме конструктора
- Запустим запрос на выполнение (рис. 15).
-
- Рис. 15. Запрос 3
- 2.4 Условие
для четвертого запроса: выдать фамилию
заведующего первым магазином.
- Для данного запроса нам понадобится таблица Магазин и поля № магазина и Заведующий магазином. Условие отбора- 1* (рис. 16).
-
- Рис. 16. Запрос 4 в режиме конструктора
- Запустим запрос на выполнение (рис. 17).
- 2.5 Условие
для пятого запроса: выдать наименования
товаров, поставщики которых являются
обществом с ограниченной ответственностью
и закрытым акционерным обществом.
- Для данного запроса нам понадобится таблица Товар и поля Поставщик и Наименование товара. Условие отбора – ООО* Or ЗАО* (рис. 18).
-
- Рис. 18. Запрос 5 в режиме конструктора
- Запустим запрос на выполнение (рис.19).
-
- Рис. 19. Запрос 5
- 3. Создание
форм
- 3.1 Добавление
флажка. Назначение этих элементов управления,
как и в случае поля со списком – немедленная
реакция на включение-выключение или заполнение
поля таблицы. Но поле таблицы тогда должно
иметь логический тип.
- • Откроем
таблицу Товар в режиме конструктора и добавим поле Продукт питания типа Логический. Закроем таблицу, сохранив изменения.
- • Откроем
форму Отделы в режиме конструктора. Нажмем кнопку Флажок на панели элементов формы. Очертим мышью
на форме место для флажка.
- • Откроем
окно Свойства для этого флажка и выберем вкладку Данные, строку Данные и в выпадающем списке поле Продукт питания. Закроем это окно (рис. 20).
- • Изменим
подпись: вместо слова Флажок введем Продукт питания.
- • Перейдем
в режим формы и отметим с помощью флажка,
является ли товар продуктом питания.
Проверим затем таблицу Товар, столбец Продукт питания (рис. 21).
-
- Рис. 21. Выбор источника данных для флажка
-
- Рис. 22. Таблица Товар с добавлением флажка «Продукт питания»
- 3.2 Создание
группы переключателей.
- • Добавим
в таблицу Магазин в режиме конструктора числовое поле
(размер поля – Целое) Качество хранения товаров. Закроем таблицу, сохранив изменения.
- • Откроем
форму, созданную по таблице Магазин в режиме конструктора. Нажмем кнопку Использовать мастера на панели элементов, затем кнопку Группа переключателей. Нарисуем мышью
на форме область для этой группы. Далее
следуем инструкциям мастера:
- • В первом
окне зададим подпись для каждого переключателя
(построчно): Высшее, Хорошее, Удовлетворительное.
Нажмем Далее.
- • Во втором
окне на вопрос, задать ли переключатель,
используемый по умолчанию ответьте Нет; Далее.
- • В следующем
окне подтвердим значения, соответствующие
заданным характеристикам рейтинга (рис.
23). Нажмем Далее.
-
- Рис. 23. Задание значений группе переключателей 1
- • В новом
окне отметим Сохранить значение в поле и в выпадающем списке выберите
поле Качество хранения товаров; Далее.
- Теперь Мастер предоставляет возможность выбора элементов управления в группе. Выберем Переключатели; Далее.
- • Зададим
подпись для всей группы: Качество хранения. Нажмем Готово.
- • Отформатируем
эту подпись – поменяем шрифт, цвет фона
и т.п.
- • Перейдем
в режим формы и оценим работу каждого
сотрудника (рис. 24-28). Проверим в таблице Магазин значения поля Качество хранения товаров.
-
-
-
-
-
- Рис. 24-28. Формы с группой переключателей
- 3.3 Создание
вкладок.
- • Создадим
форму, используя конструктор: Создание/
Конструктор форм, выберем таблицу Товар.
- • Перенесем
на форму из списка полей поле Наименование товара.
- • Нажмем
кнопку Вкладки на Панели элементов и
отчертим мышью место для вкладок
- • На форме
появятся две вкладки. Чтобы добавить
еще, нажмем правую кнопку мыши на любом
из названий вкладок или на пустом месте
этой строки, выберем из контекстного
меню Вставить вкладку. Повторим процедуру для получения четвертой
вкладки.
- • Изменим
названия вкладок: по очереди вызывая
для каждой вкладки Свойства из контекстного меню (правой кнопкой
мыши по выделенной вкладке), Макет и в строке Подпись зададим следующие названия: Сведения
о товаре, Сведения о поставщике, Сведения
о складе, Скрыть все (рис. 29).
-
- Рис. 29. Создание вкладок
- • Выделим
вкладку Сведения о товаре. Перенесете на нее из списка
полей формы поля Штрих код и Характеристика. Отформатируем
их.
- • Выделим
вкладку Сведения о поставщике. Перенесем из списка поле Поставщик.
- • Во вкладку Сведения о магазине добавим поле № магазина.
- • Вкладку Скрыть все оставим пустой.
- • Перейдите
в режим формы, проверим работу вкладок
и закроем сведения, выбрав вкладку Скрыть все (рис. 29-32).
-
-
-
-
- Рис. 29-32. Вкладки
- Чтобы сохранить базу данных, в меню Файл нажмем Сохранить и сохраним в нужной
нам папке.