4 Схема данных Реляционная база данных, созданная в соответствии с проектом канонической модели данных предметной области, состоит из нормализованных таблиц, связанных одно-многозначными отношениями. В такой базе данных обеспечивается отсутствие дублирования данных, однократный ввод, поддержание целостности данных средствами системы. В процессе загрузки и корректировки базы данных для получения информации по запросам и вывода отчетов, а также для решения большинства задач осуществляется объединение данных из взаимосвязанных таблиц.
Связи между таблицами устанавливаются в соответствии с проектом логической структуры базы данных, определяются и запоминаются в схеме данных Access. Схема данных является не только средством графического отображения логической структуры базы данных, она активно используется системой в процессе обработки данных. Система при необходимости обработки данных двух взаимосвязанных таблиц автоматически использует связи, определенные в схеме данных. Таким образом, у разработчика нет необходимости специально сообщать системе о наличии той или иной связи. Однажды указанные в схеме данных связи используются системой автоматически.
Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов, отчетов и страниц доступа к данным, а также обеспечить поддержание целостности взаимосвязанных данных при корректировке таблиц.
При создании связей в схеме данных используем проект логической структуры базы данных, в котором показаны одно-многозначные связи. Каждая из этих связей устанавливается по ключу связи (простому или составному). Такой ключ в одной из связанных таблиц (главной) должен быть уникальным ключом, а в другой таблице может являться частью уникального ключа или не входить в состав ключа таблицы. Одно-многозначные связи — основные в реляционных базах данных. Одно-однозначные связи используются лишь в случаях, когда приходится распределять большое количество полей, определяемых одним и тем же ключом, по разным таблицам, имеющим разный регламент обслуживания.
Рисунок 13 – Схема данных
5 Запросы Запросы являются одним из основных инструментов выборки, обновления и обработки данных в таблицах базы данных. Запрос позволяет сформировать пользовательское представление о данных, не обязательно отвечающее требованиям нормализации. Результат выполнения запроса — это новая, чаще всего временная, таблица, которая существует до закрытия запроса. Структура такой таблицы определяется выбранными из одной или нескольких таблиц полями. Записи формируются путем объединения записей таблиц, участвующих в запросе. Способ объединения записей различных таблиц указывается при определении их связи. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц. Простейшие запросы могут быть созданы с помощью мастера. Любой запрос можно создать в режиме конструктора. Конструктор предоставляет удобное для пользователя диалоговое графическое средство формирования запросов, с помощью которого легко может быть построен сложный запрос.
Запрос строится на основе одной или нескольких взаимосвязанных таблиц, позволяя объединять данные, содержащиеся в них. При этом могут использоваться таблицы базы данных, а также сохраненные таблицы, полученные в результате выполнения других запросов. Кроме того, запрос может строиться непосредственно на другом запросе с использованием его временной таблицы с результатами.
Запрос с параметром.
Конкретное значение в выражение условия отбора может вводиться непосредственно в бланк запроса. Однако при решении практических задач значительно удобнее вводить значение в диалоге с пользователем в процессе выполнения запроса. Для того чтобы выводилось диалоговое окно, обеспечивающее ввод конкретного значения в условия отбора, нужно определить параметр запроса.
Рисунок 14 – Запрос «Действующие абонементы»
Данный запрос выводит информацию по купленным абонементам, ФИО клиент, вид абонемента, время действия абонемента.
Рисунок 15 – Запрос «Клиенты студии полный список»
В запросе используется функция DateDiff, которая возвращает значение типа Variant (Long), указывающее на количество интервалов времени между двумя указанными датами. В данном случае с помощью функции DateDiff получено значение возраста клиентов студии.
Новый атрибут позволяет выполнит два новых запроса, позволяющих вывести информацию отдельно о клиентах школьного и взрослого возраста. Данные запросы представлены на рисунках 16 и 17 соответственно.
Рисунок 16 – Запрос «Клиенты школьники»
Рисунок 17 – Запрос «Клиенты взрослые» Реализован запрос поиска клиента по ФИО, представленный на рисунке 18.
Рисунок 18 – Запрос «Поиск клиента»
Аналогично реализованы запросы «Поиск преподавателя» и «Поиск направления», что позволяет быстро найти необходимую информацию.
Рисунок 19 – Запрос «Индивидуальный абонемент»
Запрос индивидуальный абонемент позволяет в дальнейшем оформить покупку абонемента, атрибут сумма отражает стоимость индивидуальных занятий.
Рисунок 20 – Запрос «Аренда залов»
Запрос «Аренда залов» позволяет оформить аренду зала. По известному времени начала и окончания аренды вычисляется длительность аренды Format ([Время окончания]-[Время начала];"Краткий формат времени"), т.к. результат получен в формате времени, с помощью функций Hour ([Продолжительность]) и Минуты: Minute ([Продолжительность]) берем значения часов и минут соответственно, далее суммируем и получаем продолжительность в формате, удобном для подсчета стоимости.
Рисунок 21 – Запрос «Востребованные направления»
Позволяет вести статистику о наиболее востребованных направлениях на основе покупки клиентами индивидуальных занятий.
Рисунок 22 – Запрос «Расписание»
Реализован для редактирования и предоставления расписания.
Рисунок 23 – Запрос «Чек»
Запрос предназначен для формирования чека.
Результаты выполнения запросов приведены в приложении 2.
|