Еще могут быть отношения "многие-к-многим". При таком отношении одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В – несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, являющихся полями внешнего ключа в таблицах А и В.
Самый редкий тип связи "один-к-одному". При таком отношении запись в таблице А может иметь не более одной связанной записи в таблице В, и наоборот. Используют такую связь для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице. Например, для хранения конфиденциальных данных.
Для создания схемы следует воспользоваться средством создания схемы данных.
Схема данных представлена на рисунке 1. Таблица Группа, Аудитория, Преподаватели, Занятия, Время пары связанны с таблицей расписание посредством кодового поля.
Рис 1.Схема данных "Расписание"
Мощь реляционных БД заключается в том, что с их помощью можно быстро найти и связать данные из разных таблиц при помощи запросов, форм и отчетов. Для этого каждая таблица должна содержать одно или несколько полей, однозначно идентифицирующих каждую запись в таблице. Эти поля называются ключевыми.
В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ.
Указание поля счетчика в качестве ключевого – наиболее простой способ создания ключевых полей.
Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как ключевое.
В случаях, когда невозможно гарантировать уникальность значений каждого отдельного поля, можно создать ключ, состоящий из нескольких полей. Уникальным будет сочетание этих полей.
Индексы – это объекты БД, которые обеспечивают быстрый доступ к отдельным строкам в таблице. Индекс создается с целью повышения производительности операций запросов и сортировки данных таблицы. Индексы также используются для поддержания в таблицах некоторых типов ключевых ограничений.
Индексы обеспечивают наибольшие выгоды для относительно мало изменяющихся таблиц, по которым часто выполняются запросы.
В Microsoft Access, прежде чем создавать таблицы, формы и другие объекты необходимо задать структуру базы данных. Хорошая структура базы данных является основой для создания адекватной требованиям, эффективной базы данных.
Ниже приведены основные этапы проектирования базы данных:
1. Определение цели создания базы данных.
2. Определение таблиц, которые должна содержать база данных.
3. Определение необходимых в таблице полей.
4. Задание индивидуального значения каждому полю.
5. Определение связей между таблицами.
6. Обновление структуры базы данных.
7. Добавление данных и создание других объектов базы данных.
8. Использование средств анализа в Microsoft Access.
1. Определение цели создания базы данных
На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные ее функции и информацию, которую она должна содержать. То есть нужно определить основные темы таблиц базы данных и информацию, которую будут содержать поля таблиц.
База данных должна отвечать требованиям тех, кто будет непосредственно с ней работать. Для этого нужно определить темы, которые должна покрывать база данных, отчеты, которые она должна выдавать, проанализировать формы, которые в настоящий момент используются для записи данных, сравнить создаваемую базу данных с хорошо спроектированной, подобной ей базой.
2. Определение таблиц, которые должна содержать база данных
Одним из наиболее сложных этапов в процессе проектирования базы данных является разработка таблиц, так как результаты, которые должна выдавать база данных (отчеты, выходные формы и др.) не всегда дают полное представление о структуре таблицы.
При проектировании таблиц вовсе не обязательно использовать Microsoft Access. Сначала лучше разработать структуру на бумаге. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:
- Информация в таблице не должна дублироваться. Не должно быть повторений и между таблицами.
Когда определенная информация храниться только в одной таблице, то и изменять ее придется только в одном месте. Это делает работу более эффективной, а также исключает возможность несовпадения информации в разных таблицах. Например, в одной таблице должны содержаться адреса и телефоны учеников.
- Каждая таблица должна содержать информацию только на одну тему.
Сведения на каждую тему обрабатываются намного легче, если содержаться они в независимых друг от друга таблицах. Например, адреса и заказы учеников хранятся в разных таблицах, с тем, чтобы при удалении заказа информация о ученике осталась в базе данных.
3. Определение необходимых в таблице полей
Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с данными о преподавателях могут содержаться поля с названием специальность, факультет, курс, номер группы. При разработке полей для каждой таблицы необходимо помнить:
- Каждое поле должно быть связано с темой таблицы.
- Не рекомендуется включать в таблицу данные, которые являются результатом выражения.
- В таблице должна присутствовать вся необходимая информация.
- Информацию следует разбивать на наименьшие логические единицы (Например, поля "Имя" и "Фамилия", а не общее поле "Имя").
4. Задание индивидуального значения каждому полю
С тем чтобы Microsoft Access мог связать данные из разных таблиц, например, данные о клиенте и его заказы, каждая таблица должна содержать поле или набор полей, которые определяют уникальность каждой записи в таблице. Такое поле или набор полей называют первичным ключом.
5. Определение связей между таблицами
После распределения данных по таблицам и определения ключевых полей необходимо выбрать схему для связи данных в разных таблицах. Для этого нужно определить связи между таблицами.
Желательно изучить связи между таблицами в уже существующей базе данных.
6. Обновление структуры базы данных
После проектирования таблиц, полей и связей необходимо еще раз просмотреть структуру базы данных и выявить возможные недочеты. Желательно это сделать на данном этапе, пока таблицы не заполнены данными.
Для проверки необходимо создать несколько таблиц, определить связи между ними и ввести несколько записей в каждую таблицу, затем посмотреть, отвечает ли база данных поставленным требованиям. Рекомендуется также создать черновые выходные формы и отчеты и проверить, выдают ли они требуемую информацию. Кроме того, необходимо исключить из таблиц все возможные повторения данных.
7. Добавление данных и создание других объектов базы данных
Если структуры таблиц отвечают поставленным требованиям, то можно вводить все данные. Затем можно создавать любые запросы, формы, отчеты, макросы и модули.
8. Использование средств анализа в Microsoft Access
В Microsoft Access существует два инструмента для усовершенствования структуры баз данных. Мастер анализа таблиц исследует таблицу, в случае необходимости предлагает новую ее структуру и связи, а также переделывает ее.
Анализатор быстродействия исследует всю базу данных, дает рекомендации по ее улучшению, а также осуществляет их.
Формы – одно из основных средств для работы с базами данных в Access - используются для ввода новых записей (строк таблиц), просмотра и редактирования уже имеющихся данных, задания параметров запросов и вывода ответов на них и др. Формы представляют собой прямоугольные окна с размещенными в них элементами управления.
Форму можно создать тремя различными способами.
При помощи авто-формы на основе таблицы или запроса. С помощью авто-форм можно создавать формы, в которых выводятся все поля и записи базовой таблицы или запроса. Если выбранный источник записей имеет связанные таблицы или запросы, то в форме также будут присутствовать все поля и записи этих источников записей.
При помощи мастера на основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает форму на основании полученных ответов.
Вручную в режиме конструктора. Сначала создается базовая форма, которая затем изменяется в соответствии с требованиями в режиме конструктора.
Создание форм в режиме Мастера форм.
· В окне базы данных выберите Формы в списке Объекты.
· Нажмите кнопку Создать на панели инструментов окна базы данных.
· В диалоговом окне Новая форма выберите нужного мастера. Описание мастера появляется в левой части диалогового окна.
· Выберите имя таблицы или другого источника записей, содержащего данные, на которых должна быть основана форма. Примечание. Если в списке выбран "Мастер форм" или "Сводная таблица", то этот шаг не обязателен— источник записей для формы можно указать позднее.
· Нажмите кнопку OK.
· Следуйте инструкциям мастера.
Созданную форму можно изменить в режиме конструктора, сводной таблицы или сводной диаграммы.
Рис 2 Форма расписание