Создание базы данных в СУБД Access 2007

advertisement
НОУ ВПО
Российский Новый Университет
Воскресенский филиал
О.В. Колосова
Практикум по дисциплине:
Информационные системы и технологии
Создание базы данных
в СУБД Access 2007
для студентов
направления
Прикладная информатика
Воскресенск
2012
Создание базы данных в СУБД Access
Оглавление
1.
Проектирование базы данных «Крокус» ................................. 3
2.
Создание БД «Крокус» в MS Access 2007 ................................. 4
3.
Работа с данными таблицы ....................................................... 9
5.
Запросы ....................................................................................... 11
Запрос на выборку ......................................................................... 11
Параметрический запрос.............................................................. 13
Вычисляемый запрос..................................................................... 15
Перекрестный запрос ................................................................... 16
Итоговый запрос ............................................................................ 17
Запросы - действия ....................................................................... 19
6.
Формы .......................................................................................... 21
Инструмент «Форма» .................................................................... 21
Инструмент «Разделенная форма»............................................. 22
Инструмент «Мастер форм»........................................................ 22
7.
Отчеты ........................................................................................ 23
Инструмент «Отчет» .................................................................... 23
Инструмент «Мастер отчетов» ................................................... 24
2
1.
Проектирование базы данных «Крокус»
Задача. Процесс проектирования БД рассмотрим на примере
разработки базы данных реализации товаров со складов
компании Крокус четырем постоянным клиентам (оптовым
покупателям). При этом примем следующие ограничения для
задачи. Товар может храниться на одном или нескольких складах
компании; на каждом складе хранятся разные товары. Со складов
осуществляется оптовая торговля.
В результате анализа предметной области и анализа данных,
установления связей между данными образовались четыре
таблицы — Склады, Товары, Клиенты, Продажи.
Состав базы данных
В таблице Склады атрибуты Адрес, Телефон, Заведующий
находятся в функциональной зависимости от ключевого атрибута
НомерСклада.
В таблице Товары атрибуты Тип, Марка, Производитель,
Цена, Количество, НомерСклада находятся в функциональной
зависимости от ключевого атрибута КодТовара. Атрибут
НомерСклада в этой таблице — вторичный ключ, так как он
содержит ссылку на поле первичного ключа в таблице Склады.
В таблице Клиенты атрибуты Название, Адрес, Телефон,
Контактное лицо находятся в функциональной зависимости от
ключевого атрибута КодКлиента.
В таблице Продажи атрибуты Дата продажи, КодТовара,
КодКлиента, Количество и Скидка находятся в функциональной
3
зависимости от ключевого атрибута Код. КодТовара и
КодКлиента в этой таблице — вторичные ключи, так как они
содержат ссылки на поле первичного ключа в другой таблице.
В результате получается следующая схема взаимосвязи таблиц
предметной области
Схема данных
2.
Создание БД «Крокус» в MS Access 2007
Задание 1.Создать реляционную БД «Крокус», состоящую из
таблиц Склады, Товары, Клиенты, Продажи
•
Пуск Программы MS Office MS Access 2007
•
Перейти в раздел Новая база данных.
•
Ввести имя создаваемой БД в поле имя
файла - Крокус и выбрать рабочую
папку для сохранения БД
•
Щелкнуть по кнопке <Создать>. В
результате откроется таблица для ввода
данных.
•
Перейти в режим Конструктор на
панели
инструментов
Главная.
•
Сохранить таблицу
именем Склады
•
В
результате
этого
действия появится окно
для создания таблицы в
режиме конструктора.
под
4
•
Введите названия полей в соответствии с рис
•
Для поля НомерСклада установите ключ, тип данных
— числовой, размер поля — целое, подпись — №
склада.
•
Для поля Адрес установите подпись Адрес склада,
•
Для поля Телефон — подпись Телефон склада; введите маску
ввода в виде: \(999\)999\-99\-99; размер поля - 15.
•
Перейдите в режим таблицы
Сохраните таблицу и введите данные, предложенные
ниже
•
Создайте таблицу Товары
(Создание – Таблица режим
Конструктора имя таблицы: Товары)
•
В таблицу Товары введите названия
полей в соответствии с рис
•
Для поля КодТовара установите ключ, тип данных — счетчик.
•
Для
поля
Тип
установите подпись
Тип товара, размер
поля — 25 символов.
С помощью Мастера
подстановки
создайте
для
дальнейшего
5
использования фиксированный набор следующих значений:
системный блок, монитор, принтер, сканер и мышь.
•
Для поля Марка таблицы установите подпись Марка товара.
•
Для поля Производитель установите размер поля в 25
символов.
•
Для поля Цена задайте тип данных — денежный, число
десятичных знаков — 2.
•
Для поля Количество установите размер поля — целое,
задайте подпись Количество на складе.
•
Обеспечьте ввод только положительных значений (>0) в поля
Цена и Количество. Для сообщения об ошибке введите текст
"Введите положительное число".
•
Для поля НомерСклада с помощью Мастера подстановки
сформируйте список значений на основе данных
соответствующего поля таблицы Склады.
•
Сохраните таблицу, перейдите в режим таблицы и введите
данные, предложенные ниже.
•
Добавьте в таблицу Товары (в режиме конструктора) поле
Поставки. Для этого поля определите: Тип данных —
логический; Подпись — Поставки прекращены; Значение по
умолчанию — ложь. Заполните поле Поставки значениями.
•
В таблицу Товары добавьте поле Изображение. Задайте для
него тип данных — поле объекта OLE. Вставьте в три-четыре
записи рисунки, созданные с помощью приложения Paint,
или имеющиеся в библиотеке рисунки.
6
•
Создайте таблицу Клиенты
(Создание – Таблица режим Конструктора имя
таблицы: Клиенты)
•
В таблицу
Клиенты
введите
названия полей
в соответствии с
рис
•
Для
поля
КодКлиента установите ключ, тип данных - числовой,
размер поля - целое.
•
Для поля Название задайте размер поля -20, Подпись Название фирмы.
•
Для поля Телефон установите подпись Телефон клиента,
введите маску ввода: \(999\)999\-99\-99. Размер поля - 15.\
•
Для полей Контактное лицо и Адрес фирмы задайте размер
поля -50
•
Сохраните таблицу, перейдите в режим Таблицы и введите
данные, предложенные ниже
•
Создайте таблицу Продажи
•
Для поля Код задайте ключ, тип данных - Счетчик.
7
•
Для поля Дата продажи обеспечьте ввод дат позже
01/01/2009 г. Для сообщения об ошибке введите текст:
"Проверьте введенную дату".
•
Для поля КодТовара создайте с помощью Мастера
подстановок список значений кодов товаров, их типа и
марки из таблицы Товары, скрыв на последнем шаге
Мастера подстановок ключевой столбец.
•
Для поля КодКлиента создайте с помощью Мастера
подстановок список значений кодов клиентов и их
названий из таблицы Клиенты, скрыв на последнем шаге
Мастера подстановок ключевой столбец.
•
Для поля Количество установите подпись — Проданное
количество.
•
Определите для поля Скидка тип данных — числовой,
формат поля — процентный; установите размер поля —
одинарное с плавающей точкой; число десятичных знаков
— 0; условие на значение — "Between 0 And 1"; сообщение
об ошибке — "Размер скидки не должен превышать 100%".
•
Заполните таблицу Продажи данными. В поле Скидка
поставьте конкретные значения для отдельных записей.
•
Задать команду Работа с базами данных Схема данных.
•
Добавьте недостающие таблицы, установите связи между
всеми таблицами, обеспечив целостность данных,
каскадное обновление и удаление данных в связанных
таблицах.
•
Для этого выделить автоматическую связь, из контекстного
меню выбрать пункт Изменить связь… обеспечив
целостность данных, каскадное обновление и удаление
данных в связанных таблицах. (см рис.)
8
3.
Работа с данными таблицы
Задание 2. Выполнить основные операции с данными таблиц и
форм: просмотр данных в виде формы, поиск и замена данных,
сортировка и фильтрация данных
•
Отсортируйте записи в таблице Товары по реквизиту Цена.
 Выбрать поле сортировки, для чего в режиме
таблицы выделить столбец для сортировки.
 Для выполнения сортировки по возрастанию (А-Я)
или
по
убыванию
(Я—А)
щелкнуть
по
соответствующей кнопке на вкладке Главная.
•
В таблице Товары,
используя
фильтрацию,
отобразите записи,
в которых цена
товара больше 10000
руб.
•
В таблице Товары, используя
расширенный фильтр, отобразите
данные о товарах в ценовом
диапазоне от 4000 до 7000 руб.
•
Задать
команду
Фильтр
Дополнительно Расширенный
фильтр
9
 Выбрать поле Цена
 В строке Условие отбора ввести с клавиатуры
соответствующее условие. (>=4000 And <=7000);
 Выбрать
команду
ФильтрПрименить фильтр или
щелкнуть
мышью
по
кнопке
<Применение фильтра> панели инструментов.
 Отображение (восстановление) всех записей таблицы
задается командой ФильтрСнять
фильтр
•
Просмотрите данные таблицы Товары в
режиме Автоформа.
 выбрать таблицу Товары;
 задать команду Создание Форма.
•
Добавьте в форму Товары три новые
записи, проверив при этом действие
введенных ограничений.
•
В режиме Автоформа осуществите поиск товаров фирмы
производителя HP.
 Щелкнуть мышью по любому месту поля, в
котором будет осуществляться поиск.
 Щелкнуть мышью по кнопке <Найти> на вкладке
Главная.
 В диалоговом окне Поиск в поле Образец ввести
последовательность символов, которую нужно искать.
 Щелкнуть мышью по кнопке <Найти>.
 Если осуществляется поиск более чем одной записи, для
продолжения поиска щелкнуть мышью по кнопке <Найти
далее>.
10
5.
Запросы
Запрос на выборку
Задание3.
Создать запрос на выборку данных о системных
блоках из двух связанных таблиц Склады и Товары,
обеспечивающего вывод на экран данных четырех полей: Номер
Склада, Адрес, Тип и Марка.
•
Создание Конструктор запросов
•
Выбрать таблицы Склады и Товары
•
Выбрать
поля
Номер
Склада,
Адрес,
Тип
и
Марка
•
В строке "Вывод
на экран" бланка
поставлены
флажки
выводимых
полей.
•
В строке условия
отбора указан тип товара - системный блок.
Щелкнуть по кнопке <Выпонить>
•
На рис. представлен результат
выполнения такого запроса.
•
Сохранить запрос под именем Системные блоки
Задание 4. Создайте запрос Полное наименование товара на
отображение из БД записей с реквизитами Дата продажи, Полное
наименование товара (Тип и Марка в одном поле), Номер склада,
Количество проданного товара.
11
•
Создание Конструктор запросов
•
Выбрать таблицы Товары и Продажи
•
Выбрать поля Дата продажи, Номер склада, Количество
•
Ввести новое поле Полное наименование товара и
через Построитель выражений на панели
инструментов сконструировать выражение
Полное наименование товара: [Товары]![Тип] & " " & [Товары]![Марка]
Задание 5. Создайте запрос Продажи мониторов на
отображение из БД записей с реквизитами: Дата продажи
мониторов, Тип товара (на экран не выводить, условие –
монитор), Количество проданного товара, Клиент (Название и
телефон фирмы в одном поле).
12
Задание 6.
Создайте
запрос
Товары
со
скидкой,
отображающий товары, проданные со скидкой после 5 апреля
2009 г, указав Полное наименование товара (из запроса Полное
наименование товара), дату продажи (условие >05.04.09), цена,
название покупателя, размер скидки (условие Is not null)
Параметрический запрос
Задание 7.
Создать параметрический запрос для отображения
сканеров или принтеров с их маркой, производителем, ценой и
номером телефона склада, где они хранятся.
• Создание Конструктор запросов
• Выбрать таблицы Склады и Товары
• Выбрать поля Тип, Марка, Количество, Цена, Телефон
• По полю Наименование ввести в строку условий отбора
параметр в квадратных скобках — [Тип товара].
• Задать условие отбора по цене менее 6500 руб.
13
• Запустите запрос командой
• В появившемся окне ввести название товара,
например Принтер. После щелчка по кнопке
<ОК> получим нужный результат
• Запустив этот запрос еще раз, при необходимости можно
получить данные по другому виду товара, например по
мониторам. Введите значение параметра в поле Тип
товара "монитор" и щелкнуть по кнопке <ОК>.
Задание 8. Создать
параметрический
запрос
Цена
товара,
отображающий
информацию
о
мониторах
стоимостью
до
определенной
суммы, их полное
наименование,
цены (параметр —
цена товара)
14
Вычисляемый запрос
Задание 9. Создать вычисляемый запрос для отображения
товаров по дате продажи с их маркой, типом и ценой со скидкой
•
Создание Конструктор запросов
•
Выбрать таблицы Продажи и Товары
•
Выбрать поля Дата продажи, Тип, Марка
•
Добавить новое вычисляемое поле Цена со скидкой:
[Товары]![Цена] - [Товары]![Цена] * [Продажи]![Скидка].
•
Сохраните запрос под именем Цена со скидкой и запустите
запрос командой
•
Внимание! Вычисляемое
результирующей таблице.
поле
существует
только
в
15
Задание 10.
Создайте вычисляемый запрос Осталось на
складе для отображения количества товаров, оставшегося после
продаж. Укажите тип товара, номер склада, количество товара на
складе, количество проданного товара, количество оставшегося
товара. Новое поле Осталось на складе, сконструируйте в
построителе выражений
Осталось_на_складе: [Товары]![Количество]-[Продажи]![Количество]
Перекрестный запрос
Задание 11.
Создать перекрестный запрос по маркам и
типам товаров, определяющий количество товаров, хранящихся
на складах фирм (с указанием телефона)
•
Создание Конструктор запросов
•
Выбрать таблицы Склады и Товары
•
Выбрать поля Тип, Марка, Телефон, Количество
•
Изменить тип запроса на Перекрестный, в
результате чего в бланке запроса появятся строки
Перекрестная таблица и Групповая операция
•
В строке Групповая операция для поля
Количество (в котором будет формироваться
результат) задать необходимую функцию - суммирование
(Sum)
16
•
В строке Перекрестная таблица для полей Тип, Марка
выбрать Заголовки строк, для поля Телефон - Заголовки
столбцов - Значение (выводимое в ячейках перекрестной
таблицы).
•
Сохраните запрос под именем Количество товаров и
запустите запрос командой
Результат выполнения перекрестного запроса
Итоговый запрос
Задание 12.
Создать итоговый запрос, вычисляющий,
сколько всего было продано товара за все время продаж
•
Создание Конструктор запросов
•
Выбрать таблицы Продажи и Товары
•
Выбрать поля Код товара, Тип, Марка Производитель,
Количество
17
•
•
•
Щелкнуть мышью по кнопке <Групповые операции> на
панели инструментов конструктора запросов, чтобы в
бланке запроса появилась строка Групповая операция.
Так как один и тот же товар мог продаваться не один раз,
следует использовать группировку по полям Тип, Марка и
Производитель, а по полю Количество выбрать функцию
суммирования Sum.
Сохраните запрос под именем Итоговое количество
продаж и запустите запрос командой
Задание 13. Создайте итоговый запрос Средняя цена для
отображения средних цен каждого типа товара (выбрать
<Групповые операции>).
Укажите сокращенное наименование товара (пять первых
символов от наименования товара через текстовую функцию
Left), Цена (в свойствах поля
Цена укажите подпись –
Средняя
цена,
групповая
операция – Avg)
Новое поле Товар: Товар:
Left([Товары]![Тип];5).
18
Задание 14. Создайте запрос Налог с продаж, вычисляющий
налог с продаж. Укажите полное наименование товара, общую
сумму продаж, налог с продаж. Налог с продажи равен 5% ()
Сумма продаж: [Продажи]![Количество]*[Товары]![Цена]
Налог с продаж: 0,05*([Продажи]![Количество]*[Товары]![Цена])
Запросы - действия
Задание 15.
Создайте копию таблицы Товары. Присвойте
ей имя Копия Товары. Создайте запрос на обновление в таблице
Копия Товары цен с учетом сезонных скидок на 15%.
(Обновление цен).
•
Создать запрос на выборку, выберите поле Цена из таблицы
Копия Товары
•
Преобразовать запрос на выборку в запрос на обновление.
Для этого, вернувшись в режим
Конструктор, следует выбрать команду
Обновление.
•
В
появившейся
в
бланке
запроса
строке "Обновление"
в
поле
Цена,
воспользовавшись
Построителем
выражений
задать
новое
значение:
[Копия
Товары]![Цена]0,15*[Копия
Товары]![Цена] .
19
•
•
Выполнить запрос, щелкнув по кнопке
Результат проверьте в таблице Копия
Товары
Задание 16.
Создайте
запрос на обновление в таблице
Копия Товары количества товара,
оставшегося на складе после продаж.
(Обновление
количества).
В
строке
Обновление,
используя
Построитель выражения указать на
поле Осталось на складе из запроса
Осталось на складе
Задание 17.
Создайте запрос
на создание таблицы Компьютеры, отображающей всю
информацию о системных блоках из таблицы Копия Товары.
(Создание таблицы Компьютеры)
•
Создать запрос на выборку данны из таблицы Копия
Товары, выбрать все поля, по полю Тип условие –
«системные блоки».
•
Преобразовать запрос на выборку в запрос на создание
таблицы. Для этого выбрать команду Создание
таблицы.
•
В появившемся окне ввести имя таблицы Компьютеры и щелкнуть по кнопке <ОК>.
•
Выполнить запрос.
•
Проверить результат в таблице Компьютеры
Задание 18.
Создайте запрос на добавление в таблицу
Компьютеры данных о мониторах из таблицы Копия
Товары. Новой таблице присвойте имя Компьютеры и
мониторы. (Добавление). Используйте тип запроса
Добавление.
Задание 19.
Создайте запрос на удаление из
таблицы Копия Товары данных о сканерах. (Удаление)
Используйте тип запроса Удаление.
20
6.
Формы
Инструмент «Форма»
Задание 20. Создайте форму Товары с помощью инструмента
«Форма»
•
Выделить таблицу Товары
•
На вкладке Создание в группе Формы выберите команду
Форма.
•
Измените форматирование формы в режиме макета (см рис.):
•
•
•
Измените автоформат формы, заголовок, ширину столбцов,
используя панель инструментов Формат форм
Перейдите в режим Конструктора форм
Используя инструменты конструктора форм,
добавьте кнопку в область заголовка.
•
В мастере создания кнопок из категории Переходы по
записям выберите кнопку Найти запись  Готово.
Убедитесь в том, чтобы был выделен инструмент
•
В область заголовка добавьте кнопку Закрыть форму из
категории Работа с формой
В область примечания добавить поле
Вызовите
свойства
этого
поля
из
контекстного меню, в строке Данные, через
…. вызовите Построитель выражений
Вставьте функцию даты и времени Date() из папки
Встроенные функции
Установите формат поля – Длинный формат даты
•
•
•
•
21
Инструмент «Разделенная форма»
Задание 21. Создайте форму Клиенты при помощи инструмента
позволяющая одновременно отображать данные в режиме формы
и в режиме таблицы (см рис.).
•
•
•
•
Для
таблицы
Клиенты
создайте
Разделенную форму
В режиме макета вызовите окно свойств, для объекта форма,
выберите рисунок, с мозаичным заполнением
Для подписей и полей выбрать шрифт, оформление –
приподнятое
В область заголовка добавьте две кнопки из категории
Обработка записей: Добавить запись и Сохранить
запись
Инструмент «Мастер форм»
Задание 22. Создайте подчиненную
помощью Мастера форм
•
•
•
форму
с
Создание Другие формы Мастер форм
Выберите все поля из таблицы Товары и все
поля, кроме КодТовара из таблицы Продажи
Создайте подчиненную форму, используя
таблицу Товары в качестве главной, а
22
таблицу Продажи — в качестве подчиненной.
В созданную форму добавьте кнопки, обеспечивающие
переход между записями
В режиме конструктора, используя Элементы управления
распределите поля и надписи по вкладкам (см рис.)
•
•
7.
Отчеты
Инструмент «Отчет»
Задание 23. Создайте
средства «Отчет»
•
•
•
•
отчет
Продажи
с
помощью
Для таблицы Продажи создайте Отчет
В режиме макета выберите автоформат, измените ширину
столбцов, поле Код и поле Время удалите, установите
линии сетки – по горизонтали
По полю Дата выберите из контекстного меню
Группировать
Для
поля
Проданное
количество
выберите
из
контекстного меню Итог Сумма
23
Инструмент «Мастер отчетов»
Задание 24. Создайте отчет с помощью мастера отчетов
•
•
•
•
По таблицам Склады и Товары создайте отчет о товарах на
складе.
Введите заголовок отчета - Товары на складе и эмблему
склада в виде рисунка.
По полю Цена добавьте Итоговую сумму.
Измените форматирование некоторых полей, добавьте
линию по заголовком группы НомерСклада (см рис)
24
Вопросы для самоконтроля
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Перечислите функциональные возможности СУБД Access.
Кратко охарактеризуйте объекты, с которыми работает
программа.
Как осуществляется поиск данных в таблице, созданной
средствами программы Access?
Как связать таблицы базы данных?
Что понимается под полем и записью в базе данных,
созданной средствами Access?
Каких типов данные могут обрабатываться программой?
Как определяется ключевое поле при проектировании
многотабличной базы данных?
Что понимается под запросом при работе с Access и
запросы какого типа могут быть созданы?
Какие условия могут использоваться в запросах?
Приведите пример условия с оператором Between.
В чем состоят различия между перекрестным и итоговым
запросами?
В чем состоит различие между созданием формы с
помощью Мастера форм и в режиме Конструктора?
Что понимается под подчиненной формой в СУБД?
Назовите основные элементы отчета как объекта базы
данных.
Какие элементы управления можно использовать для
повышения наглядности форм и отчетов?
Какова технология использования Построителя
выражений при задании условий в запросах?
В чем состоят существенные различия между запросом с
вычисляемым полем и итоговым запросом?
25
Литература по теме
1.
Берлинер Э.М. Office 2003 / Э.М. Берлинер, И.Б. Глазырина, Б.Э. Глазырин. - М.: Бином, 2005.
2.
БойсД. Моя первая книга о Microsoft Office 2003 /Д. Бойс;
пер. с англ. - М.: Эксмо, 2005.
3.
Вейскас Дж. Эффективная работа: Microsoft Office Access
2003 /Дж. Вейскас. - СПб.: Питер, 2005.
Золотарюк А.В. Технология работы с Microsoft Office /А.В.
Золотарюк. - М.: Академический проект, 2002.
Золотова СИ. Практикум по Access 7.0 /СИ. Золотова. -М.:
Финансы и статистика, 2007.
Информатика: учебник /под ред. Н.В. Макаровой. - 3-е. изд.
перераб. - М.: Финансы и статистика, 2008.
Информатика. Базовый курс / под ред. СВ. Симоновича. СПб.: Питер, 2000.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Информатика. Практикум по технологии работы на
компьютере /под ред. Н.В. Макаровой. - 3-е изд. - М.:
Финансы и статистика, 2008.
Кошелев В.Е. Access 2003. Практическое руководство /В.Е.
Кошелев. - М.: Бином-Пресс, 2005.
Практикум по экономической информатике: учеб.
пособие. - Ч. 1 /под ред. Е.Л. Шуремова, Н.А. Тимаковой,
Е.А. Мамонтовой. - М.: Перспектива, 2000.
Савицкий Н.И. Экономическая информатика: учеб. пособие
/Н.И. Савицкий. - М.: Экономиста, 2004.
Хэлверсон М. Эффективная работа: Office ХР /М. Хэлверсон, М. Янг. - СПб.: Питер, 2005.
Экономическая информатика: учебник /под ред. В.П.
Косарева. - 3-е изд., перераб. и доп. - М.: Финансы и
статистика, 2006.
26
Download