Все информационные объекты предметной области связаны между собой. Различаются связи нескольких типов, для которых введены следующие обозначения:
q один к одному (1:1);
q один ко многим (1 :М);
q многие ко многим (М:М).
Методические материалы для лабораторного занятия №9
Тема: Создание подстановок. Связывание таблиц.
Количество часов: 2.
Работа со связанными таблицами
1. Создадим базу данных, которая будет хранить результаты экзаменов студентов одной группы за один семестр. Можно обойтись и одной таблицей, в которую включить поля «Фамилия», «Имя», «Дисциплина», «Преподаватель», «Оценка». Но тогда очень много данных будет повторяться, т.к. каждый студент сдает несколько экзаменов, и каждый экзамен сдают многие студенты.
2. Поэтому создадим три таблицы — «Студенты», «Предметы», «Оценки» — и заполним их. В первых двух таблицах первое поле имеет тип счетчик, а остальные — текстовый тип. В третьей таблице первое поле имеет тип счетчик, а остальные — числовой тип.
Таблица «Предметы»
Код предмета
Название
Преподаватель
Программирование
Половина
Психология
Сивак
Статистика
Полыгалова
Информационные системы
Клигман
Таблица «Студенты»
Код студента
Фамилия
Имя
Антонова
Марина
Бирих
Яков
Волков
Константин
Волошина
Светлана
Кашина
Наталья
Ленц
Алексей
Матвеев
Роман
Наумова
Татьяна
Юдинцева
Оксана
Таблица «Оценки»
Код оценки
Код студента
Код предмета
Оценка
3. Щелкните на пиктограмму «Схема данных». Вы увидите созданные нами таблицы и связи, которые создал Access. Он автоматически связал поля с одинаковыми именами и совместимыми типами. В других случаях это можно сделать вручную, с помощью мыши — достаточно перетащить одно поле на другое и получить между ними связь.
4. Обратите внимание, что выставлять оценки неудобно. Чтобы выставить К. Волкову «отлично» по численным методам, надо помнить коды студента и предмета. К счастью, в Access можно оперировать с кодами, а информацию выдавать в текстовой форме. Сделаем это для предметов.
5. Выберите в таблице «Оценки» поле «Код предмета» и укажите тип «мастер подстановок». В качестве таблицы источника данных выберите «Предметы» и поля «Код» и «Название». Теперь в режиме таблицы можно выбирать названия из списка.
6. Сделайте то же самое для студентов. А теперь сделаем так, чтобы подстановка выполнялась из двух полей, то есть выводила фамилию и имя. Для этого выберите поле «Код студента», щелкните на вкладке «Подстановка», выберите «Источник строк» и щелкните кнопку с многоточием справа. Откроется построитель запросов, работа с которым не отличается от работы с обычным запросом. Вместо поля «Фамилия» введите строку [Фамилия]&” ”&[Имя]. Теперь при подстановке видна и фамилия студента, и его имя.
7. Добавьте еще двух-трех студентов в таблицу «Студенты». Перейдите в таблицу «Оценки». Обратите внимание, что добавленные студенты оказались в конце списка. Чтобы упорядочить список по алфавиту, вызовите построитель запросов для поля «Код студента» и установите сортировку по возрастанию. Сделайте то же самое для поля «Код предмета».
8. Поле «Код оценки» нам (в отличие от Access) неинтересно. Выделите этот столбец в режиме таблицы и выберите команду Формат/ширина столбца. Установите ее в ноль. Этого же результата можно добиться «перетягиванием» правой границы столбца к левой.
9. Обратите внимание, что Access позволяет хранить несколько записей о сдаче одним и тем же студентом одного и того же предмета. Сделаем так, чтобы набор студент-предмет стал уникальным. Для этого в режиме конструктора установим для этих полей опцию «ключевое поле». Это можно сделать через пункт меню Правка или через панель инструментов.
10. Изменим подписи к полям «Код студента» и «Код предмета». Для этого выберите строку «Подпись» на вкладке «Общие». Теперь таблица «Оценки» выглядит так: