Для созданных таблиц БД Образование необходимо установить связи, чтобы, например, по фамилии студента в таблице Студенты определить все записи с его оценками из таблицы Успеваемость. Связи между таблицами в БД используются при формировании запросов, создании отчетов или разработке форм.
Как видно из таблиц 2-5, в разрабатываемой структуре данных существуют следующие взаимосвязи:
1) таблица Студенты, поле Код Студента Þ таблица Успеваемость, поле Код Студента;
2) таблица Предметы, поле Код Предмета Þ таблица Успеваемость, поле Код Предмета;
3) таблица Преподаватели, поле Код Преподавателя Þ таблица Предметы, поле Код Преподавателя.
Для установки связей необходимо воспользоваться режимом Схема данных, который устанавливается командой Сервис \ Схема данных. При выполнении данной команды на экране появится пустое окно Схема данных. Для добавления таблиц в это окно следует выбрать команду Связи \ Добавить таблицу. После этого на экране появится диалоговое окно Добавление таблицы (см. рис.6). в котором на вкладке Таблицы нужно добавить поочередно все имеющиеся таблицы в схему данных с помощью кнопки Добавить. Затем следует закрыть окно Добавление таблицы.
Рис. 6. Диалоговое окно Добавление таблицы
После выполнения указанных действий на схеме данных будут расположены все таблицы БД Образование, расстановку которых можно изменить по своему усмотрению (см. рис.7).
Рис.7.Таблицы БД Образование на схеме данных
Следующим этапом в разработке схемы данных будет установка связей между таблицами. В частности необходимо связать таблицы Студенты и Успеваемость по полю Код Студента таким образом, чтобы каждой записи из таблицы Студенты соответствовало несколько записей таблицы Успеваемость (т. к. у каждого студента может быть несколько оценок). Иначе говоря, между указанными таблицами нужно установить связь вида "один-ко многим". Аналогичным образом нужно установить связь "один-ко-многим" по полю Код Предмета между таблицами Предметы и Успеваемость (т. к. по каждому предмету может быть несколько оценок), а также связь "один-ко-многим" по полю Код Преподавателя между таблицами Предметы и Преподаватели (т.к. один преподаватель может вести занятия по нескольким предметам).
Чтобы установить связь, например, по полю Код Студента между таблицами Студенты и Успеваемость, необходимо выделить в окне Схема данных поле Код Студента в таблице Студенты, с помощью мыши "перетащить" его изображение на поле Код Студента таблицы Успеваемость, и затем отпустить кнопку мыши. При этом появится диалоговое окно Изменение связей, в котором для обеих таблиц должно быть указано поле Код Студента (см. ниже рис.8).
Для того чтобы в таблице Успеваемость не хранились оценки несуществующих студентов (т. е. записи, для которых значение поля Код Студента не совпадает ни с одним из значений поля Код Студента в таблице Студенты), следует в окне Изменение связей установить флажок Обеспечение целостности данных. После этого в таблицу Успеваемость невозможно будет ввести запись с таким значением поля Код Студента, для которого нельзя будет найти соответствующую запись в таблице Студенты.
Рис. 8. Диалоговое окно Изменение связей
Если установлен флажок Обеспечение целостности данных, то в окне Изменение связей автоматически становятся доступны еще два флажка:
1) каскадное обновление связанных полей. При изменении значения ключевого поля в "главной" таблице (Студенты) автоматически изменяются значения связанного поля для соответствующих записей в "подчиненной" таблице (Успеваемость). В рассматриваемом случае ключевое поле Код Студента является счетчиком, следовательно, значения этого поля не могут быть изменены пользователем. Поэтому нет необходимости устанавливать данный флажок.
2) каскадное удаление связанных полей. При удалении записи из "главной" таблицы (Студенты) автоматически удаляются те записи из "подчиненной" таблицы (Успеваемость), для которых значение поля Код Студента совпадает со значением в удаленной записи из таблицы Студенты. Так как в таблице Успеваемость не нужно хранить оценки несуществующих студентов, то флажок каскадное удаление связанных полей следует установить.
После того как выбраны поля для установления связи между таблицами, в окне Изменение связей необходимо нажать кнопку Создать, после чего на схеме данных в виде линии будет отображена созданная связь. Необходимо отметить, что тип отношения между связываемыми таблицами Access определяет автоматически. При этом символ “1” обозначает Один, а символ бесконечности "¥" обозначает Многие (см ниже. рис. 9).
Чтобы изменить установленную связь, необходимо выделить соответствующую линию, щелкнув по ней мышью. После этого связь можно удалить командой Правка \ Удалить или с помощью клавиши Delete.
После того как все связи между таблицами установлены, схема данных для БД Образование примет вид, показанный на рис. 9:
Рис. 9. Итоговая схема данных для таблиц БД Образование
1.5. Сортировка данных
Когда в Access открывается какая-либо таблица, то записи в ней представлены в том порядке, в котором они были введены. Чтобы изменить отображаемый порядок следования записей, можно воспользоваться возможностями сортировки. Чтобы отсортировать записи в таблице по возрастанию или убыванию значений определенного столбца, этот столбец вначале необходимо выделить, затем выбрать пункт Записи \ Сортировка и выбрать одну из команд. При этом необходимо иметь в виду, что устанавливаемая таким образом сортировка влияет только на отображение записей, но не влияет на их физическое расположение в таблице.