Методическая разработка по созданию многотабличных баз данных
Задания по новому материалу
Задание 1. Работа со связанными таблицами
1. Создайте базу данных Students, которая будет хранить результаты экзаменов студентов одной группы за один семестр. Можно обойтись и одной таблицей, в которую включить поля «Фамилия», «Имя», «Предмет», «Преподаватель», «Оценка». Но тогда очень много данных будет повторяться, так как каждый студент сдает несколько экзаменов, и каждый экзамен сдают многие студенты.
Поэтому в режиме Конструктора создайте поочередно три таблицы — «Студенты» (табл. 1), «Предметы» (табл. 2), «Оценки» (табл. 3) — заполните их (рис. 1).
Для того: в таблице "Студенты" первое поле "Код студента"будет иметь тип счетчик - Ключевое поле, остальные — текстовый тип.
1509395506730Задайте
Ключевое поле, нажав на кнопку Ключевое поле вкладки Конструктор на Ленте (Работа с таблицами). Аналогично поступите по все таблицах.
В таблице "Предметы" первое поле "Код предмета" будет иметь тип счетчик, остальные — текстовый тип. В третьей таблице "Оценки" первое поле "Код оценки" будет иметь тип счетчик, а остальные — числовой тип.
Таблица 1. Таблица «Студенты»
Код студента Фамилия Имя
1 Антонова Марина
2 Борисов Ярослав
3 Волков Константин
4 Волошина Светлана
5 Кашина Наталья
6 Леньков Алексей
7 Матвеев Роман
8 Наумова Татьяна
9 Юдинцева Оксана
Таблица 2. Таблица «Предметы»
Код предмета Название Преподаватель
1 Программирование Половина
2 Психология Сивакова
3 Статистика Полыгалова4 Информационные системы Климова
Таблица 3. Таблица «Оценки»
Код оценки Код студента Код предмета Оценка
1 1 1 5
111887078740Рис. 1. База данных «Students»
В результате вы должны получить базу данных Students из трех пока не связанных таблиц.
2. Заполните таблицу «Оценка».
8140701456690Обратите внимание, что выставлять оценки неудобно. Чтобы выставить Волкову «отлично» по статистике, надо помнить коды и студента и предмета, но Access может оперировать с кодами, а информацию выдавать в текстовой форме, сделайте это для таблицы «Предметы»: <щелкните правой клавишей по таблице «Оценки» и выберите режим Конструктор> <для поля «Код предмета» укажите тип поля Мастер подстановок> <в качестве таблицы источника данных выберите таблицу «Предметы», а в ней поля «Код предмета» и «Название»> <задайте подпись, которую содержит столбец подстановки "Предметы" > (рис. 2).
Рисунок 2. Задание подстановки для Кода предмета
Теперь в режиме таблицы будут видны названия предметов.
3. Создайте подстановку для фамилий студентов по алгоритму, описанному в пункте 2, в качестве таблицы источника данных выберите таблицу «Студенты», а в ней поля «Код студента» и «Фамилия»> <задайте подпись, которую содержит столбец подстановки "Студенты" >.
Сделайте так, чтобы подстановка выполнялась из двух полей, т. е. выводились фамилия и имя: <в режиме Конструктор в таблице Оценки выберите поле «Студенты»> → <откройте вкладку Подстановка (в Свойствах поля)> → <выберите Источник строк и щелкните по кнопке с многоточием справа (откроется построитель запросов)> → <вместо поля «Фамилия» введите строку [Фамилия] &" "&[Имя]> Внутри кавычек обязательно поставьте пробел. (рис. 3).
Теперь будет видна и фамилия студента и его имя.
Рисунок 3. Задание подстановки для кода студента
5. Access самостоятельно после выполнения подстановки установил связи между таблицами, связав поля с одинаковыми именами и совместимыми типами. Убедитесь в том, для этого надо щелкнуть на пиктограмме Схема данных во вкладке Работа с базами данных на Ленте. (рис. 4).
1337945145415Рисунок 4. Схема данных
6. Заполните таблицу "Оценки" на всех студентов и все предметы. Оценки возьмите произвольно.
7.Добавьте сведения еще о двух-трех студентах в таблицу «Студенты». Перейдите в таблицу «Оценки».
Обратите внимание, что информация о добавленных студентах оказалась в конце списка. Чтобы упорядочить список по алфавиту, вызовите построитель запросов для поля «Студенты» таблицы "Оценки" и установите сортировку по возрастанию. Сделайте то же самое для поля «Предметы». Заполните данные для новых студентов.
8.Скройте поле «Код оценки» (оно необходимо для Access, a для пользователя мало интересно): <выделите этот столбец в режиме таблицы> → во вкладке Главная на панели Записи откройте Дополнительно → Ширина столбца → <установите ширину столбца равной нулю>. Этого же результата можно добиться перетаскиванием правой границы столбца к левой границе окна.
9. Обратите внимание, что Access позволяет хранить несколько записей о сдаче одним и тем же студентом одного и того же предмета. Сделайте так, чтобы набор «студент-предмет» стал уникальным. Для этого в режиме Конструктор для таблицы «Оценки» установите для этих полей опцию ключевое поле: <выделите с помощью мыши оба поля> → <щелкните на выделении правой кнопкой и выберите в появившемся меню команду Ключевое поле> или через вкладку Конструктор.
10. Теперь таблица «Оценки» будет выглядеть примерно так (рис. 5).
Рисунок 5. Итоговая таблица «Оценки»
11. Сделайте так, чтобы в поле «Оценка» вместо цифр можно было записывать «отлично», «хорошо» и т. д. Для этого создайте отдельную таблицу «Список оценок» с полями Код (тип поля - числовой) и Оценка прописью (тип поля - текстовый) и используйте Мастер подстановок для таблицы «Оценки». При создании таблицы «Список оценок» учтите, что существует четыре обозначения оценки: 5 — «отлично», 4 — «хорошо», 3 — «удовлетворительно», 2 — «неудовлетворительно».
Установите связь новой таблицы с прежними (рис. 6).
Рисунок 6. Схема данных
12. Заполните таблицу «Оценки» еще для нескольких студентов (не для всех) и для некоторых предметов (не для всех).
13. Измените тип связи, щелкнув на ней двойным щелчком на «один-ко-многим», установите флажки, обеспечивающие целостность и каскадное обновление данных.
14. Отсортируйте таблицу по полю «Студенты».
15. Предъявите работу преподавателю.