.2 Связи между таблицами
Установление связей между таблицами позволяет контролировать целостность и достоверность информации.
Постоянные связи между таблицами были установлены ранее. Для реализации
связей таблиц базы данных в СУБД MS Access необходимо нажать в Строке меню
кнопку Схема данных. После этого добавляем все ране созданные нами таблицы.
Связи между таблицами установим с помощью мыши по методу «зацепить и
перетянуть». Зацепим поле Код в таблице «Редактор» и протащим к полю Редактор в
таблице «Книга». Чтобы обеспечить целостности данных в окне диалога ставим
флажок напротив Обеспечение целостности данных. После этого на схеме появляется
линия, соединяющая соответствующие поля таблиц. Аналогично установим связь
между другими таблицами.
Рисунок 6 - Окно схемы данных
база данные таблица индекс
После того как связи установлены можно вносить данные в таблицы. Для этого выбираем таблицу и нажимаем на кнопку «Открыть».
Таблицы с данными представлены на рисунках 7-10.
Рисунок 7 - Данные таблицы «Автор»
Рисунок 8 - Данные таблицы «Редактор»
Рисунок 9 - Данные таблицы «Книга»
Рисунок 10 - Данные таблицы «Контракт»
. Создание запросов
Запрос - процесс обращения пользователя к базе данных с целью ввода, получения или изменения информации в базе данных. Запрос позволяет создать набор записей из данных, находящихся в одной или нескольких таблицах, и использовать его как источник данных для формы или отчета. Запрос может быть выполнен двумя способами: по образцу QBE и при использовании алгоритмического языка SQL. Запросы можно использовать для выполнения следующих операций: вставка новых записей, удаление записей, изменение значений, создание новых полей. Также с помощью запросов можно решать некоторые задачи, связанные с проведением вычислений над данными, хранящимися в Access-таблицах.
Выполним следующие запросы:
· список всех напечатанных книг с фамилиями и именами авторов, сгруппированный по области знаний и отсортированный по дате завершения контракта;
· список книг с фамилиями авторов, работа над которыми идет в настоящее время;
· книги, отредактированные определенным редактором;
· авторы и их гонорары, в порядке убывания размеров гонораров;
·
среднемесячная
стоимость издания книг по определенному разделу знаний (учитываются только
авторские гонорары).
.1 Список всех напечатанных книг с фамилиями и именами
авторов, сгруппированный по области знаний и отсортированный по дате завершения
контракта
Для создания запроса нужно перейти на вкладку Запросы, и выбрать Создание запроса в режиме конструктора. В окне Добавление таблицы на вкладке Таблицы добавим таблицы «Автор», «Книга» и «Контакт». Теперь выберем те поля таблицы, которые необходимо включить в запрос. Для того чтобы поместить поля в бланк запроса, нужно дважды нажать кнопкой мыши на имени поля в таблице либо перетянуть название поля из таблицы в бланк запроса, либо выбрать необходимые поля в списке названий полей в бланке запроса.
Для группировки по области знаний необходимо в бланке запроса в поле сортировка для поля Раздел выбрать сортировку по возрастанию. Для запуска запроса нажимаем пиктограмму Запуск на панели Конструктор запросов.
Конструктор запроса «список всех напечатанных книг с фамилиями и именами
авторов, сгруппированный по области знаний и отсортированный по дате завершения
контракта» представлен на рисунке 11.
Рисунок 11 - Конструктор запроса «список всех напечатанных книг с
фамилиями и именами авторов, сгруппированный по области знаний и
отсортированный по дате завершения контракта».
Для просмотра SQL-реализации
запросов необходимо на панели Конструктор запросов выбрать Вид - Режим SQL (рисунок 12).
Рисунок 13 - SQL реализация
запроса.
3.2 Список книг с фамилиями авторов, работа над
которыми идет в настоящее время
Создадим запрос «список книг с фамилиями авторов, работа над которыми идет в настоящее время». Для этого нужно перейти на вкладку Запросы, и выбрать Создание запроса в режиме конструктора. В окне Добавление таблицы на вкладке Таблицы добавим таблицы «Автор», «Книга» и «Контакт»., нажимаем кнопку Добавить. Закроем окно Добавление таблицы. Теперь выберем те поля таблицы, которые необходимо включить в запрос.
Для того что бы найти еще не опубликованные книга, надо что бы поле Опубл, таблицы Книга было равно Ложь.
Конструктор запроса представлен на рисунке 14.
Рисунок 14 - Конструктор запроса
Результат выполнения запроса «список книг с фамилиями авторов, работа над
которыми идет в настоящее время» представлен на рисунке 15.
Рисунок 15 - Результат выполнения запроса «список книг с фамилиями
авторов, работа над которыми идет в настоящее время»
Для просмотра SQL-реализации
запросов необходимо на панели Конструктор запросов выбрать Вид - Режим SQL (рисунок 16).
![]()
.3 Книги, отредактированные определенным редактором
Создадим запрос «Книги, отредактированные определенным редактором». Для этого нужно перейти на вкладку Запросы, и выбрать Создание запроса в режиме конструктора. В окне Добавление таблицы на вкладке Запросы выбираем таблицу Книга, нажимаем кнопку Добавить. Закроем окно Добавление таблицы. Теперь выберем те поля таблицы, которые необходимо включить в запрос. Так как требуется выдать книги, отредактированные конкретным редактором, будем запрашивать код редактора при запуске запроса. Для запуска запроса нажимаем пиктограмму Запуск на панели Конструктор запросов.
Конструктор запроса «Книги, проданные конкретному покупателю» представлен на рисунке 17.
Рисунок 17 - Конструктор запроса «Книги, отредактированные определенным
редактором»
Результат выполнения запроса «Книги, отредактированные определенным
редактором», при коде редактора 1, представлен на рисунке 18.
Рисунок 18 - Результат выполнения запроса «Книги, отредактированные определенным
редактором», при коде редактора 1.
Для просмотра SQL-реализации
запросов необходимо на панели Конструктор запросов выбрать Вид - Режим SQL (рисунок 19).
Рисунок 19 - SQL реализация
запроса.
.4 Авторы и их гонорары, в порядке убывания размеров гонораров
Создадим запрос «Авторы и их гонорары, в порядке убывания размеров гонораров». Для этого нужно перейти на вкладку Запросы, и выбрать Создание запроса в режиме конструктора. В окне Добавление таблицы на вкладке Таблицы выбираем таблицу «Автор» и «Контракт», нажимаем кнопку Добавить. Закроем окно Добавление таблицы.
Так как требуется выдать суммарный объем гонораров, используем на панели инструментов пиктограмму Групповые операции (со значком S). В бланке запроса появляется строка Групповые операции. В раскрывающемся списке этой строки выберем требуемое вычисление для группы записей. В нашем случае это вычисление суммы (SUM) для группы записей поля Сумма. Для запуска запроса нажимаем пиктограмму Запуск на панели Конструктор запросов.
Конструктор запроса «Авторы и их гонорары, в порядке убывания размеров
гонораров» представлен на рисунке 20.
Рисунок 20 - Конструктор запроса «Авторы и их гонорары, в порядке
убывания размеров гонораров».
Результат выполнения запроса представлен на рисунке 21.
Рисунок 21 - Результат выполнения запроса «Авторы и их гонорары, в
порядке убывания размеров гонораров».
Для просмотра SQL-реализации
запросов необходимо на панели Конструктор запросов выбрать Вид - Режим SQL (рисунок 22).
Рисунок 22 - SQL реализация
запроса
.5 Cреднемесячная стоимость издания книг
по определенному разделу знаний (учитываются только авторские гонорары)
Создадим запрос «среднемесячная стоимость издания книг по определенному разделу знаний (учитываются только авторские гонорары)». Для этого нужно перейти на вкладку Запросы, и выбрать Создание запроса в режиме конструктора. В окне Добавление таблицы на вкладке Таблицы выбираем таблицы «Книга» и «Контракт», нажимаем кнопку Добавить. Закроем окно Добавление таблицы. Теперь выберем те поля таблицы, которые необходимо включить в запрос.
Так как требуется выдать средний объем гонораров для каждого месяца, используем на панели инструментов пиктограмму Групповые операции (со значком S). В бланке запроса появляется строка Групповые операции. В раскрывающемся списке этой строки выберем требуемое вычисление для группы записей. В нашем случае это вычисление среднего значения (AVG) для группы записей поля Сумма. Для запуска запроса нажимаем пиктограмму Запуск на панели Конструктор запросов.
Конструктор запроса «среднемесячная стоимость издания книг по
определенному разделу знаний (учитываются только авторские гонорары)»
представлен на рисунке 23.
Рисунок 23 - Конструктор запроса «среднемесячная стоимость издания книг
по определенному разделу знаний (учитываются только авторские гонорары)».
Результат выполнения запроса «среднемесячная стоимость издания книг по
определенному разделу знаний (учитываются только авторские гонорары)» для
раздела Математика, представлен на рисунке 24.
Рисунок 24 Результат выполнения запроса «среднемесячная стоимость издания
книг по определенному разделу знаний (учитываются только авторские гонорары)»
для раздела Математика.
Для просмотра SQL-реализации
запросов необходимо на панели Конструктор запросов выбрать Вид - Режим SQL (рисунок 25).
Рисунок 25 - SQL реализация
запроса.
. Анализ данных
Нам необходимо спрогнозировать затраты издательства и построить тренд
этих затрат. Для этого будем пользоваться пакетом MS Excel. Но перед тем как приступать к анализу, нам
необходимо узнать, сколько тратит издательство на гонорары ежемесячно. Для
этого создадим запрос в MS Access, который будет выводить эту
информацию. Конструктор такого запроса представлен на рисунке 26.
Рисунок 26 - Конструктор запроса «ежемесячные затраты издательства на
гонорары».
Результат выполнения такого запроса представлен на рисунке 27.
Теперь спрогнозируем значение затрат на гонорары на первое полугодие 2013
года. Для этого воспользуемся функцией ПРЕДСКАЗ. Эта функция вычисляет или
предсказывает будущее значение по существующим значениям. Предсказываемое
значение - это значение y,
соответствующее заданному значению x. Значения x и y известны; новое значение
предсказывается с использованием линейной регрессии. Эту функцию можно
использовать для прогнозирования будущих продаж, потребностей в оборудовании
или тенденций потребления. Полученные значения представлены на рисунке 28.
Серым выделены уже известные значения.
Рисунок 27 - Результат выполнения запроса «ежемесячные затраты
издательства на гонорары».
Рисунок 28 - Прогноз значения гонораров на первое полугодие 2013 года.
Теперь по полученным значениям построим график затрат на гонорары. И на
этом графики построим линейный тренд. Для этого щёлкнем на ряд затрат правой
кнопкой мыши и выберем пункт «Добавить линию тренда». В открывшемся окне
выполним необходимые настройки. Результат этих манипуляций представлен на
рисунке 29.
Рисунок 29 - График затрат на гонорары по месяцам с линией тренда.
В данной работе была реализована база данных издательского дома. Созданы запросы и проведен анализ затрат. Из проведенного анализа можно сделать вы вод что затраты на гонорары постепенно сокращаются, что свидетельствует о хорошем менеджменте и глубоком понимании рынка.Access в настоящее время является одной из самых популярных среди настольных программных систем управления базами данных. Среди причин такой популярности следует отметить:
высокую степень универсальности и продуманности интерфейса, который рассчитан на работу с пользователями самой различной квалификации. В частности, реализована система управления объектами базы данных, позволяющая гибко и оперативно переходить из режима конструирования в режим их непосредственной эксплуатации;
глубоко развитые возможности интеграции с другими программными продуктами, входящими в состав МS Office, а также с любыми программными продуктами, поддерживающими технологию OLE.
богатый набор визуальных средств разработки.Access -
высокопроизводительная система управления реляционными базами данных, которая
входит в состав профессиональной версии интегрированного пакета Microsoft
Office.
Список используемой литературы
1. Кошелев В.Е. Access 2007. Эффективное использование. Издат.: Бином-Пресс - 2008
2. Бекаревич Ю., Пушкина Н. Самоучитель Microsoft Access 2000. - СПб.: БХВ - Санкт-Петербург, 2007.
. Епанешников А., Епанешников В. Практика создания приложений в ACCESS 2007 Диалог-МИФИ, 2009
. Лазарев И.П. «Microsoft Access для чайников». - СПб.; Притер, 2004
5. Методология проектирования баз данных средствами MS Access: Учебно-методическое пособие по курсу «Базы данных», 2005