Создание базы данных в среде Microsoft Access
Лабораторная работа №1
Создание базы данных в среде Microsoft Access
Порядок выполнения лабораторной работы
1. Создайте базу данных из основного меню (ОМ) с именем БД_КАФ. ОМ/Файл/Создать.
2. Создайте таблицы Сотрудники (СОТР) и Кафедры (КАФ)
СОТР (НС, ФИО, Должн, Каф, Зарпл)
КАФ (Каф, НС, Спец, Кол, Тлф)
Таблица Сотрудники
НС | ФИО | Должность | Кафедра | Зарплата |
101 | Петров К. | Профессор | САПР | 7000 |
102 | Морев С. | Ассистент | САПР | 3000 |
103 | Григорьев А. | Преподаватель | САПР | 3500 |
104 | Ильина Е. | Доцент | ВМ | 5000 |
105 | Шакиров Т. | Ассистент | ВМ | 3000 |
106 | Рахимова Г. | Ассистент | ЭВМ | 3000 |
107 | Литвин Н. | Доцент | ЭВМ | 5000 |
108 | Никитин В. | Профессор | ЭВМ | 8000 |
Таблица Кафедры
Кафедра | НС | Специальность | Кол. сотр. | Телефон |
САПР | 101 | 221200 | 40 | 36-87-90 |
ВМ | 104 | 10500 | 68 | 32-77-50 |
ЭВМ | 111 | 220100 | 32 | 38-60-33 |
Таблицы могут быть созданы в различных режимах: Режим таблицы, Конструктор. Для этого в окне базы данных выберите Создание/Таблица либо Конструктор таблиц. Создайте таблицы СОТР и КАФ с помощью Конструктора таблиц. В режиме конструктора на пустом бланке укажите имена полей, типы данных и размеры. Не забудьте задать ключевое поле.
Структура таблицы Кафедра
Имя поля | Ключевое поле | Тип данных | Размер поля | Подпись |
КАФ | Да | Текстовый | 5 | Шифр кафедры |
НС | Нет | Текстовый | 5 | Зав.кафедрой |
СПЕЦ | Нет | Текстовый | 20 | Специальность |
КОЛ | Нет | Числовой | Целое | Колич.сотр-ов |
ТЛФ | Нет | Текстовый | 10 | Телефон |
Структура таблицы - Сотрудники
Имя поля | Ключевое поле | Тип данных | Размер | Подпись |
НС | Да | Текстовый | 5 | Ном.отдела |
ФИО | Нет | Текстовый | 20 | Фамилия И |
Должн | Нет | Текстовый | 10 | Должность |
КАФ | Нет | Текстовый | 5 | Кафедра |
Зарплата | Нет | Денежный | Зарплата |
3. Введите данные.
4.Выполните действия в Режиме таблиц. Для выхода в Режим таблиц выберите имя таблицы, щелкните правой кнопкой мыши и выберите Открыть. При необходимости настройте таблицу. Откорректируйте ширину столбцов, размер шрифта и т.д.
Произведите добавление, удаление и корректировку данных. Произведите сортировку данных по различным полям таблицы.
5. Произведите фильтрацию данных. Фильтрация - это процесс отбора данных по тем или иным критериям. Например, необходимо отобрать в таблице Сотрудники преподавателей кафедры САПР. Для этого выделите столбец КАФ и выберите в основном меню Главная/Фильтр . В открывшемся подменю выберите САПР. Для восстановления таблицы нажмите кнопку: Применить фильтр.
6. Выполните запросы. Запросы позволяют извлекать данные из базы данных. С помощью запросов можно извлекать данные не только из отдельных таблиц, но и из множества таблиц. Запросы могут быть на выборку, на создание новой таблицы, запрос на изменение, на обновление, на добавление, на удаление и т.д. В Access существуют два способа создания запросов: с помощью Конструктора запросов и с помощью Мастера запросов. С помощью Мастера запросов можно создать Запрос на выборку (Простой запрос) из одной или нескольких таблиц.
С помощью Конструктора запросов произведите выборку по следующим запросам:
- выделите всех доцентов (доцентов и ассистентов);
- выделите всех сотрудников, оклад у которых меньше 5000 руб.;
- выделите доцентов, работающих на кафедре САПР.
Чтобы создать запрос в режиме Конструктора запросов, выделите в диалоговом окне Создание опцию Конструктор запросов. Далее выделите таблицы, на которых должен основываться запрос. Нижняя часть окна Конструктора запроса называется Бланк запроса по образцу ( QBE ). Чтобы включить поля из таблицы в Бланк запроса, выделите соответствующие поля и перетащите их в бланк или введите из меню.
7. Выполните запросы с параметрами. Эти запросы позволяет более гибко задавать условия. Откройте окно запроса и добавьте в него таблицу (СОТР). Создайте запрос, отбуксировав необходимые поля в бланк запроса QBE и задав условие выбора, например: <[ЗАРПЛ]. Далее из меню выберите команды Конструктор/Параметры . Откроется окно диалога Параметры запроса. Введите параметр ЗАРПЛ и в качестве типа данных выберите Денежный. Сохраните. Далее можно многократно запускать данный Запрос, подставляя различные условия. Например, 3000,5000,6000.
8. Произведите вычисление данных. При запросах можно выполнять групповые операции. Для этого выберите в меню команд Конструктор/Итоги. На Бланке Конструктора запросов в строке Групповые операции щелкните правой кн. мыши и из всплывающего меню выберите необходимую функцию: SUM, AVG, COUNT, MAX, MIN и т.д.
Используя групповые операции, вычислите:
- Количество сотрудников.
- Общую сумму зарплаты всех сотрудников.
- Среднюю зарплату по должностям.
- Максимальную и минимальную зарплаты.
- Число сотрудников, работающих на кафедре САПР.
Произведите сортировку итоговых данных. Для этого укажите на Бланке в строке Сортировка: по возрастанию, по убыванию.
9. Связывание таблиц в Microsoft Access.
В базах данных для уменьшения избыточности, данные различных областей применения, хранятся в разных таблицах. Для получения сводной информации из разных таблиц их необходимо связать. Различают связи 1:1, 1:М. При втором типе связи каждой записи главной таблицы могут быть поставлены в соответствие одна или несколько записей подчиненной таблицы. Но при этом должны быть определены первичные ключи.
9.1.Создайте базу данных ПОСТАВКИ, состоящую из 3-х таблиц:
Поставщики (КП, Имя, Статус, Город), где КП - код поставщика. Ключевое поле - КП.
Товары (КТ, Наимен., Вес, Цвет, Цена, Город). Где КТ - код товара. КТ – ключевое поле. Цена – формат поля – Денежный.
Поставки (КП, КТ, Колич.). КП и КТ – ключевые поля.
Таблица Поставщики
КП | Имя | Статус | Город |
S1 | Саша | 20 | Самара |
S2 | Дима | 10 | Пермь |
S3 | Боря | 30 | Пермь |
S4 | Коля | 20 | Самара |
S5 | Аля | 30 | Уфа |
Таблица Товары
КТ | Наименование | Вес | Цвет | Цена | Город |
Р1 | Гайка | 12 | Красный | 5 | Самара |
Р2 | Болт | 17 | Зеленый | 10 | Пермь |
Р3 | Винт | 17 | Голубой | 15 | Казань |
Р4 | Винт | 14 | Красный | 7 | Самара |
Р5 | Кулачок | 12 | Голубой | 20 | Пермь |
Р6 | Звезда | 19 | Красный | 14 | Самара |
Таблица Поставки
КП | КТ | Количество |
S1 | Р1 | 300 |
S1 | Р2 | 200 |
S1 | Р3 | 400 |
S1 | Р4 | 200 |
S1 | Р5 | 100 |
S1 | Р6 | 100 |
S2 | Р1 | 300 |
S2 | Р2 | 400 |
S3 | Р2 | 200 |
S4 | Р2 | 200 |
S4 | Р4 | 300 |
S4 | Р5 | 400 |
9.2. Установите связь между таблицами. Для этого в основном меню выберите Работа с базами данных/Схема данных. Добавьте все три таблицы в окно Схемы данных. Далее буксируйте поле КП из таблицы Поставщики на одноименное поле таблицы Поставки. Затем поле КТ из таблицы Товары - на одноименное поле таблицы Поставки. В появляющемся окне Изменение связей в обоих случаях отметьте Обеспечение целостности данных. Сохраните созданную схему.
9.3. Создайте запросы к связанным таблицам
Откройте окно Конструктора запроса (Создание/Конструктор запросов) и добавьте необходимые таблицы для каждого запроса.
9.3.1. Выборка из одной таблицы – Поставщики:
- всех поставщиков в алфавитном порядке. Для этого в поле Сортировка указать – По возрастанию;
- поставщиков, находящихся в г. Самаре. Для этого в поле Условие отбора указать – Самара;
- поставщиков, чей статус выше 20. Для этого в Условие отбора указать >20.
9.3.2. Выборка из двух таблиц - Поставщики и Поставки:
- выдайте сведения о поставщиках, которые поставляют товар с кодом Р2. Для этого в Условие отбора указать – Р2;
- выдайте сведения о поставщиках, которые поставляют товары в Количестве >200. Для этого в Условие отбора указать >200.
9.3.3. Выборка из всех трех таблиц: Поставщики, Товары и Поставки:
- сведения о поставщиках, которые поставляют товар Винт. Для этого в Условие отбора указать - Винт;
- поставщиков, поставляющих товары, в наименованиях которых есть буква «а». Для этого в Условие отбора указать Like "*" & "а" & "*";
- поставщиков, поставляющих товары ценой менее (или более) 10р. Для этого в Условие отбора указать >10 (или <10).
10. Отчеты
Отчеты предназначены для вывода данных на экран или печать в соответствии с требованиями пользователя. Отчет содержит ту же информацию, что таблица или запрос, но в нем имеются и дополнительные элементы, в частности, заголовок отчета, верхний и нижний колонтитулы. Простейший путь создания отчета состоит в использовании мастеров отчетов.
10.1. В окне базы данных выберите команду Создание/Мастер отчетов.
В появившемся окне Создание отчета выберите таблицу Поставщики, нужные поля и макет отчета, например, Табличный. Мастер отчетов создаст отчет, и Access откроет его в режиме предварительного просмотра.
10.2. Если отчет должен содержать фильтр или сортировку, откройте таблицу в режиме Таблица и убедитесь в установке фильтра или сортировки. Если это так, они будут автоматически включены в отчет.
10.3. Если для создания отчета желательно использовать существующий запрос, в окне Создание отчета выберите нужный запрос.
10.4. Отчет с группировкой данных
Группировка позволяет сгруппировать отчет по дополнительным уровням. Например: Наличие товаров по городам.
Выберите таблицу Товары. Из нее выберите поля Город, Наимен., Цена. В окне Создание отчета укажите в качестве уровня группировки Город. Для получения итоговых данных по полю - Цена нажмите кнопку Итоги, выберите Sum. Выберите подходящий макет отчета. Выберите стиль. Сохраните отчет. Просмотрите отчет.
10.5. Конструктор отчетов
Пользователь может улучшить созданный ранее отчет или создать новый в режиме конструктора отчетов. По умолчанию Access различает в отчете пять областей: Заголовок, Верхний колонтитул, Область данных, Нижний колонтитул, Область примечаний. Заголовок и примечание отчета печатаются один раз в начале и в конце отчета. Верхний колонтитул содержит заголовок столбцов таблицы. Область данных содержит записи запроса. Отчет в режиме конструктора формируется так же, как и форма.
Для получения отчета из связанных таблиц необходимо вначале создать соответствующий запрос, в котором объединены данные из разных таблиц. После сохранения запроса можно приступить к созданию отчета прямо из окна запроса. Для этого необходимо выбрать пиктограмму Мастер отчетов во вкладке Создание. Воспользуйтесь услугами мастера Группировка данных и Итоги и выберите для отчета все поля исходного запроса.
Например: