Практическая работа по теме «Работа с базой данных MS Access»


Практическая работа по теме "Работа с базой данных MS Access"
ЗАДАНИЕ 1
Создание базы данных.
1. Создать новую базу данных.
2. Создать таблицу базы данных.
3. Определить поля таблицы в соответствии с табл. 4.1.
4. Сохранить созданную таблицу.
Имя поля Тип данных Размер поля/формат поля
Код преподавателя Числовой Фамилия Текстовый 15
Имя Текстовый 15
Отчество Текстовый 15
Дата рождения Дата/время Краткий
Должность Текстовый 9
Дисциплина Текстовый 11
Телефон Текстовый 9
Зарплата Денежный Таблица.4.1. Таблица данных Преподаватели
ТЕХНОЛОГИЯ РАБОТЫ
Для создания новой базы данных:
загрузите Access, в появившемся окне выберите пункт Новая база данных;
в окне "Файл новой базы данных" задайте имя вашей базы (пункт Имя Файла)  и выберите папку (пункт Папка), где ваша база данных будет находиться. По умолчанию Access предлагает вам имя базы db1, а тип файла - Базы данные Access.
Имя задайте Преподаватели, а тип файла оставьте прежним;
щелкните по кнопке <Создать>.
Для создания таблицы базы данных:
в окне базы данных выберите вкладку Таблицы,  а затем щелкните по кнопке <Создать>;
в окне "Новая таблица" выберите пункт Конструктор и щелкните по кнопке <ОК>. В результате проделанных операций открывается окно таблицы в режим конструктора (рис. 4.2), в котором следует определить поля таблицы.

Рис. 4.2. Окно таблицы в режиме конструктора - в этом режиме вводятся имена и типы полей таблицы
Для определения полей таблицы:
введите в строку столбца Имя поля имя первого поля Код преподавателя;
в строке столбца "Тип данных" щелкните по кнопке списка и выберите тип данных Числовой. Поля вкладки Общие оставьте такими, как предлагает Access.
Примечание. Заполнение строки столбца "Описание" необязательно обычно используется для внесения дополнительных сведений о поле.
Для определения всех остальных полей таблицы базы данных Преподаватели в соответствии с табл. 4.1 выполните действия, аналогичные указанным выше.
Внимание! Обратите внимание на вкладку Общие в нижней части экрана. Советуем изменить данные в пункте Размер поля, а остальные пункты оставить по умолчанию (их функции рассмотрим далее). Например, для текстового типа данных Access предлагает по умолчанию длину 50 символов. Но вряд ли поле "Фамилия" будет содержать более 15 символов, хотя лучше точно подсчитать, сколько символов в самой длинной фамилии. Не бойтесь ошибиться - в дальнейшем можно скорректировать длину поля. Для числового типа Access предлагает Длинное целое, но ваши данные могут быть либо небольшие целые числа (в диапазоне от -32768 до 32767) - тогда надо выбрать Целое, либо дробные числа - тогда надо выбрать С  плавающей точкой.. Для выбора необходимого параметра надо щелкнуть по полю, а затем нажать появившуюся кнопку списка и выбрать необходимые данные. В результате ваша таблица будет иметь более компактный вид, а объем базы данных уменьшится.
4. Для сохранения таблицы:
выберите пункт меню Файл, Сохранить;
в диалоговом окне "Сохранение" введите имя таблицы Преподаватели,
щелкните по кнопке <ОК>.
Примечание. В результате щелчка по кнопке <ОК> Access предложит вам задать ключевое поле (поле первичного ключа), т.е. поле, однозначно идентифицирующее каждую запись. Для однотабличной базы данных это не столь актуально, как для многотабличной, поэтому щелкните по кнопке <Нет>.
ЗАДАНИЕ 2
Заполнение базы данных.
1. Ввести ограничения на данные, вводимые в поле "Должность"; должны вводиться только слова Профессор, Доцент или Ассистент.
2. Задать текст сообщения об ошибке, который будет появляться на экране при вводе неправильных данных в поле "Должность".
3. Задать значение по умолчанию для поля "Должность" в виде слова Доцент.
4. Ввести ограничения на данные в поле <Код>; эти данные не должны повторяться.
5. Заполнить таблицу данными в соответствии с табл. 4.2 и проверить реакцию системы на ввод неправильных данных в поле "Должность".
6. Изменить ширину каждого поля таблицы в соответствии с шириной данных.
7. Произвести поиск в таблице преподавателя Миронова.
8.Произвести замену данных: изменить заработную плату ассистенту Сергеевой с 450 р., на 470 р.
9. Произвести сортировку данных в поле "Год рождения" по убыванию,
10. Произвести фильтрацию данных по полям "Должность" и "Дисциплина".
Просмотрите созданную таблицу, как она будет выглядеть на листе бумаги при печати.
Таблица 4.3
Код Фамилия Имя Отчество Дата рожд. Должность Дисциплина Телефон Зарплата
1 Истомин Ремир Евгеньевич 23.10.54 Доцент Информатика 110-44-68 890р.
2 Миронов Павел Юрьевич 25.07.40 Профессор Экономика 312-21-40 1200р.
3 Гришин Евгений Сергеевич 05.12.67 Доцент Математика 260-23-65 760р.
4 Сергеева Ольга Ивановна 12.02.72 Ассистент Математика 234-85-69 450р.
5 Емец Татьяна Ивановна 16.02.51 Доцент Экономика 166-75-33 890р.
6 Игнатьева Татьяна Павловна 30.05.66 Доцент Информатика 210-36-98 790р.
7 Миронов Алексей Николаевич 30.07.48 Доцент Физика 166-75-33 890р.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для задания условия на значение для вводимых данных:
войдите в режим Конструктор для проектируемой таблицы. Выделите таблицу Преподаватели и щелкните на кнопке Конструктор на панели инструментов;
в верхней части окна щелкните по полю "Должность";
в нижней части окна щелкните по строке параметра Условие на значение;
щелкните по кнопке для определения условий на значение при помощи построителя выражений;

в появившемся окне напишите слово Профессор, затем щелкните по кнопке Or (эта кнопка выполняет функцию ИЛИ), напишите Доцент, снова щелкните по этой же кнопке, напишите Ассистент и щелкните по кнопке <ОК>. Таким образом, вы ввели условие, при котором в поле "Должность" могут вводиться только указанные значения.
2. В строке Сообщение об ошибке введите предложение (без кавычек!): "Такой должности нет, правильно введите данные".
3. В строке Значение по умолчанию введите слово "Доцент".
4. Введите ограничения на данные в поле "Код преподавателя ". Здесь ограничения надо вводить не совсем обычным способом. Дело в том, что коды преподавателей не должны повторяться, а также должна быть обеспечена возможность их изменения (из-за последнего условия в этом поле нельзя использовать тип данных Счетчик, в котором данные не повторяются). Для выполнения второго условия пришлось задать в поле "Код" тип данных Числовой, а для выполнения первого условия сделайте следующее:
в верхней части окна щелкните по полю "Код преподавателя ";
щелкните по строке параметра Индексированное поле;
Примечание. Индекс - это средство Access, ускоряющее поиск и сортировку данных в таблице. Ключевое поле (поле первичного ключа) таблицы индексируется автоматически. Не допускается создание индексов для полей типа MEMO и Гиперссылка vim полей объектов OLE. Свойство Индексированное поле определяет индекс, создаваемый по одному полю. Индексированное поле может содержать как уникальные, так и повторяющиеся значения. Допускается создание произвольного количества индексов.
выберите в списке пункт Да (совпадения не допускаются);
перейдите в режим Таблица, щелкнув по кнопке на панели инструментов или выполнив команду Вид, Режим таблицы. На вопрос о сохранении таблицы щелкните по кнопке <Да>.
5. Введите ПО СТРОКАМ данные в таблицу в соответствии с табл. 4.3. Попробуйте в поле <Должность> любой записи ввести слово Лаборант. Посмотрите, что получилось. На экране должно появиться сообщение: "Такой должности нет, правильно введите данные". Введите правильное слово.
6. Для изменения ширины каждого поля таблицы в соответствии с шириной данных:
щелкните в любой строке поля "Код преподавателя ";
выполните команду Формат, Ширина столбца;
в появившемся окне щелкните по кнопке <По ширине данных>. Ширина поля изменится;
проделайте эту операцию с остальными полями.
7. Для поиска в таблице преподавателя Миронова:
переведите курсор в первую строку поля "Фамилия";
выполните команду Правка, Найти;
в появившейся строке параметра Образец введите Миронов;

в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
в строке параметра Совпадение выберите из списка С любой частью поля;
щелкните по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Миронов;
щелкните по кнопке <Найти далее>. Курсор перейдет на седьмую запись и также выделит слово Миронов;
выйдите из режима поиска.
8.Для замены заработной платы ассистенту Сергеевой с 450 р. на 470 р.:
переведите курсор в первую строку поля "Зарплата";
выполните команду Правка, Заменить;
в появившемся окне в строке Образец введите 450 ;
в строке Заменить на введите 470. Обратите внимание на остальные опции - вам надо вести поиск по всем записям данного поля;
щелкните по кнопке <Найти далее>. Курсор перейдет на четвертую запись;
щелкните по кнопке <3аменить>. Данные будут изменены;
Примечание. Чтобы заменить сразу все данные, надо воспользоваться кнопкой <3аменить все>. щелкните по кнопке <3акрыть>.
9. Для сортировки данных в поле "Дата рождения" по убыванию:
щелкните по любой записи поля " Дата рождения";
щелкните по кнопке на панели управления или выполните команду Записи, Сортировка, Сортировка по убыванию. Все данные в таблице будут отсортированы в соответствии с убыванием значений в поле "Год рождения".
Для фильтрации данных по полям "Должность" и "Дисциплина":
щелкните по записи Доцент поля "Должность";
щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В таблице останутся только записи о преподавателях - доцентах;
щелкните по записи Информатика поля "Дисциплина";
щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В таблице останутся только записи о преподавателях - доцентах кафедры информатики;
для отмены фильтрации щелкните по кнопке на панели инструментов или выполните команду Записи, Удалить фильтр. В таблице появятся все данные.
Для просмотра созданной таблицы:
щелкните по кнопке или выполните команду Файл, Предварительный, просмотр. Вы увидите таблицу как бы на листе бумаги;
закройте окно просмотра.
Примечание. Если вы захотите изменить поля или ориентацию таблицы на листе бумаги, выполните команду Файл, Параметры страницы. В открывшемся окне можете изменять указанные параметры.
ЗАДАНИЕ 3
Ввод и просмотр данных посредством формы.
1. С помощью Мастера форм создать форму Состав преподавателей (тип - форма один столбец).
2. Найти запись о доценте Гришине, находясь в режиме формы.
3. Изменить зарплату ассистенту Сергеевой с 470 р. на 490 р.
4. Произвести сортировку данных в поле "Фамилия" по убыванию.
5. Произвести фильтрацию данных по полю "Должность".
6. Изменить название поля "Дисциплина" на "Преподаваемая дисциплина".
7. Просмотреть форму с точки зрения того, как она будет выглядеть на листе бумаги.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания формы Состав преподавателей:
откройте вкладку Формы в окне базы данных;
щелкните по кнопке <Создать>;
в появившемся окне выберите (подведите курсор мыши и щелкните левой кнопкой) пункт Мастер форм;
щелкните по значку списка в нижней части окна;
выберите из появившегося списка таблицу Преподаватель;
щелкните по кнопке <ОК>;

в появившемся окне выберите поля, которые будут присутствовать в форме. В данном примере присутствовать будут все поля, поэтому щелкните по кнопке "››" ;
щелкните по кнопке <Далее>;
в появившемся окне уже выбран вид Форма в один столбец, поэтому щелкните по кнопке <Далее>;
в появившемся окне выберите стиль оформления. Для этого щелкните по словам, обозначающим стили, либо перемещайте выделение стрелками вверх или вниз на клавиатуре. После выбора стиля щелкните по кнопке <Далее>;
в появившемся окне задайте имя формы, набрав на клавиатуре параметр Состав преподавателей. Остальные параметры в окне оставьте без изменений;
щелкните по кнопке <Готово>. Перед вами откроется форма в один столбец. Столбец слева - это названия полей, столбец справа - данные первой записи (в нижней части окна в строке параметра Запись стоит цифра "1).
2. Для поиска преподавателя Гришине:
переведите курсор в первую строку поля "Фамилия';
выполните команду Правка, Найти;
в появившемся окне в строке Образец введите фамилию Гришин;
в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
в строке параметра Совпадение выберите из списка параметр С любой частью поля;
щелкните по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Гришин;
3. Для замены зарплаты ассистенту Сергеевой с 470 р. на 490 р.:
переведите курсор в первую строку поля "Зарплата";
выполните команду Правка, Заменить;
в появившемся окне в строке параметра Образец введите 470 ;
в строке параметра Заменить на введите 490 . Обратите внимание на остальные опции - вам надо вести поиск по всем записям данного поля;
щелкните по кнопке <3аменить>. Данные будут изменены;
щелкните по кнопке <3акрыть>.
4. Для сортировки данных в поле "Дата рождения" по убыванию:
щелкните по любой записи поля " Дата рождения";
щелкните по кнопке на панели управления или выполните команду Записи, Сортировка, Сортировка по убыванию. Все данные в таблице будут отсортированы в соответствии с убыванием значений в поле " Дата рождения".
5. Для фильтрации данных по полю "Должность":
щелкните по записи Доцент поля "Должность";
щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях - доцентах;
щелкните по записи Информатика поля "Дисциплина";
щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях - доцентах кафедры информатики;
для отмены фильтра щелкните по кнопке на панели инструментов или выполните команду Записи, Удалить фильтр. В таблице появятся все данные;
6. Измените название поля "Дисциплина" на "Преподаваемая дисциплина". Для этого:
перейдите в режим конструктора, щелкнув по кнопке на панели инструментов или выполнив команду Вид, Конструктор;
щелкните правой кнопкой мыши в поле "Дисциплина" (на названии поля - оно слева, а строка справа с именем Дисциплина - это ячейка для данных, свойства которых мы не будем менять). В появившемся меню выберите пункт Свойства. На экране откроется окно свойств для названия поля "Дисциплина";

щелкните по строке с именем Подпись, т.е. там, где находится слово Дисциплина;
сотрите слово "Дисциплина" и введите "Преподаваемая дисциплина";
для просмотра результата перейдите в режим формы, выполнив команду Вид, Режим формы.
Примечание. Изменить ширину полей можно в режиме конструктора.
7.Для просмотра созданной формы:
щелкните по кнопке или выполните команду Файл, Предварительный просмотр. Вы увидите форму как бы на листе бумаги;
закройте окно просмотра.
Примечание. Не удивляйтесь полученному результату, так как на листе поместилось несколько страниц формы. Распечатывать форму не будем, потому что основное назначение подобной формы - удобный построчный ввод и просмотр данных, а не сохранение данных в виде бумажного документа.
ЗАДАНИЕ 4
Формирование запросов на выборку.
1. На основе таблицы Преподаватели создать простой запрос на выборку, в котором должны отображаться фамилии, имена, отчества преподавателей и их должность.
2. Данные запроса отсортировать по должностям.
3. Сохранить запрос.
4. Создать запрос на выборку с параметром, в котором должны отображаться фамилии, имена, отчества преподавателей и преподаваемые ими дисциплины, а в качестве параметра задать фамилию преподавателя и выполнить этот запрос для преподавателя Гришин.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания простого запроса:
в окне базы данных откройте вкладку Запросы;
в открывшемся окне щелкните по кнопке <Создать>;
из появившихся пунктов окна "Новый запрос" выберите Простой запрос и щелкните по кнопке <ОК>;
в появившемся окне в поле Таблицы и запросы выберите таблицу Преподаватели (если других таблиц или запросов не было создано, она будет одна в открывающемся списке);
в окне "Доступные поля" переведите выделение на параметр Фамилия,
щелкните по кнопке " > ". Слово Фамилия перейдет в окно "Выбранные поля";
аналогично в окно "Выбранные поля" переведите поля "Имя", "Отчество", "Должность" (порядок важен - в таком порядке данные и будут выводиться);
щелкните по кнопке. <Далее>;
в строке параметра Задайте имя запроса введите новое имя Должности преподавателей;
щелкните по кнопке <Готово>. На экране появится таблица с результатами запроса.
2. Для сортировки данных:
щелкните в любой строке поля "Должность";
отсортируйте данные по убыванию. Для этого щелкните по кнопке  на панели инструментов или выполните команду Записи, Сортировка, Сортировка по убыванию.
3. Для сохранения запроса:
щелкните по кнопке  или выполните команду Файл, Сохранить;
закройте окно запроса.
4. Для создания запроса на выборку с параметром:
создайте запрос на выборку для следующих полей таблицы Преподаватели: "Фамилия", "Имя", "Отчество", "Преподаваемая дисциплина". Запрос создавайте аналогично тому, как это делалось в п.1;
задайте имя запросу Преподаваемые дисциплины;
щелкните по кнопке <Готово>. На экране появится таблица с результатами запроса;
перейдите в режиме конструктора, щелкнув по кнопке или выполнив команду Вид, Конструктор;
в строке параметра Условие отбора для поля "Фамилия" введите фразу (скобки тоже вводить): [Введите фамилию преподавателя]
выполните запрос, щелкнув по кнопке  на панели инструментов или выполнив команду Запрос, Запуск;
Примечание. Вышеописанным способом запрос выполняется только в режиме конструктора. Для того чтобы выполнить запрос из другого режима, надо открыть вкладку Запросы, выделить требуемый запрос и щелкнуть по кнопке <Открыть>.
в появившемся окне введите фамилию Гришин и щелкните по кнопке <ОК>. На экране появится таблица с данными о преподавателе Гришине - его имя, отчество и преподаваемая им дисциплина;
сохраните запрос;
закройте окно запроса.
ЗАДАНИЕ 5
На основе таблицы Преподаватели создать отчет с группированием данных по должностям.
ТЕХНОЛОГИЯ РАБОТЫ
Для создания отчета:
откройте вкладку Отчеты и щелкните по кнопке <Создать>;
в открывшемся окне выберите пункт Мастер отчетов;
щелкните по значку раскрывающегося списка в нижней части окна;
выберите из появившегося списка таблицу Преподаватели;
щелкните по кнопке <OK>, В появившемся окне выберите поля, которые будут присутствовать в форме. В данном примере присутствовать будут все поля из таблицы, поэтому щелкните по кнопке ">>"
щелкните по кнопке <Далее>;
в появившемся окне присутствует перечень полей. Переведите выделение на поле "Должность";
щелкните по кнопке " > ". Таким образом, вы задаете группировку данных по должности;

щелкните по кнопке <Далее>;
параметры появившегося окна оставим без изменений, поэтому щелкните по кнопке <Далее>;
в появившемся окне выберите вид макета для отчета;
щелкните по кнопке. <Далее>;
в появившемся окне выберите стиль оформления отчета;
щелкните по кнопке. <Далее>;
в появившемся окне введите название отчета Преподаватели;
щелкните по кнопке <Готово>. На экране появится сформированный отчет;
просмотрите, а затем закройте отчет.
ЗАДАНИЕ 6
Создание инфологической и логической моделей базы данных.
1. Разработайте информационно-логическую модель реляционной базы данных.
2. Разработайте логическую модель реляционной базы данных
ТЕХНОЛОГИЯ РАБОТЫ
1. Перед разработкой информационно-логической модели реляционной базы данных рассмотрим, из каких информационных объектов должна состоять эта база данных. Можно выделить три объекта, которые не будут обладать избыточностью,  - Студенты, Дисциплины и Преподаватели. Представим состав реквизитов этих объектов в виде "название объекта (перечень реквизитов)": Студенты (код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки). Дисциплины (код дисциплины, название дисциплины), Преподаватели (код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата).
Рассмотрим связь между объектами Студенты и Дисциплины. Студент изучает несколько дисциплин, что соответствует многозначной связи и отражено на рис. 4.9 двойной стрелкой. Понятно, что каждая дисциплина изучается множеством студентов. Это тоже многозначная связь, обозначаемая двойной стрелкой (связь "один" обозначена одинарной стрелкой). Таким образом, связь между объектами Студенты и Дисциплины - Многие-ко-многим (М : N).

Рис.4.9. Типы связей между объектами Студенты, Дисциплины и Преподаватели.
Множественные связи усложняют управление базой данных. Поэтому использовать такие связи нежелательно и нужно строить реляционную модель, не содержащую связей типа Многие-ко-многим. Для контроля целостности данных с возможностью каскадного обновления и удаления данных необходимо создать вспомогательный объект связи, который состоит из ключевых реквизитов связываемых объектов и который может быть дополнен описательными реквизитами. В нашем случае таким новым объектом для связи служит объект Оценки, реквизитами которого являются код студента, код дисциплины и оценки. Каждый студент имеет оценки по нескольким дисциплинам, поэтому связь между объектами Студенты и Оценки будет Один-ко-многим  (1:М). Каждую дисциплину сдает множество студентов, поэтому связь между объектами Дисциплины и Оценки также будет Один-ко-многим (1:М). В результате получаем информационно-логическую модель базы данных, приведенную на рис. 4.10.

Рис. 4.10. Информационно-логическая модель реляционной базы данных
2. В реляционной базе данных в качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредством общих полей, т.е. одинаковых по форматам и, как правило, по названию, имеющихся в обеих таблицах. Рассмотрим, какие общие поля надо ввести в таблицы для обеспечения связности данных. В таблицах Студенты и Оценки таким полем будет "Код студента", в таблицах Дисциплины и Оценки - "Код дисциплины", в таблицах Преподаватели и Дисциплины - "Код дисциплины". Выбор цифровых кодов вместо фамилий или названий дисциплин обусловлен меньшим объемом информации в таких полях: например, число "2" по количеству символов значительно меньше слова "математика". В соответствии с этим логическая модель базы данных  представлена на рис. 4.11, где жирными буквами выделены ключевые поля.

Рис. 4.11. Логическая модель базы данных
ЗАДАНИЕ 7
Создание реляционной базы данных.
1.Создайте базу данных Деканат.
2.Создайте структуру таблицы Студенты.
3.Создайте структуру таблицы Дисциплины.
4. Измените структуру таблицы Преподаватели.
5. Создайте структуру таблицы Оценки.
6. Разработайте схему данных, т.е. создайте связи между таблицами.
ТЕХНОЛОГИЯ РАБОТЫ
1. Создайте базу данных Деканат, выполнив следующие действия:
загрузите базу данных с именем Преподаватели.mdb
Структура таблицы Преподаватели уже создана в работе 1 и заполнена данными, поэтому для работы используйте эту таблицу с одним лишь изменением - в соответствии с рис. 4.11 в структуру таблицы надо добавить поле "Код дисциплины" и заполнить его в соответствии с данными табл. 4.4.
Для этого:
откройте таблицу Преподаватели в режиме Конструктор;
правой клавишей мыши щёлкните на строке "Код преподавателя" и из контекстного меню выберите команду "Добавить строки";
в появившейся пустой строке введите Код дисциплины, тип данных Числовой.
2. Создайте структуру таблицы Студенты. Для этого:
в окне базы данных выберите вкладку Таблицы, а затем щелкните по кнопке <Создать>;
в окне "Новая таблица" выберите пункт Конструктор и щелкните по кнопке <ОК>. В результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы;
определите поля таблицы в соответствии с табл.4.3;

в качестве ключевого поля задайте "Код студента". Для этого щелкните по полю "Код студента" и по кнопке    на панели инструментов или выполните команду Правка, Ключевое поле;
закройте таблицу, задав ей имя Студенты.
Примечание. Заполнять таблицу данными пока не требуется, это будет сделано в режиме формы.
3. Создайте структуру таблицы Дисциплины аналогично п. 2 в соответствии с табл. 4.4.
Таблица 4.4

В качестве ключевого поля задайте "Код дисциплины". Заполняться эта таблица будет также в режиме формы.
4. Создайте структуру таблицы Оценки аналогично п. 2 в соответствии с табл. 4.5.
Таблица 4.5

В этой таблице задавать ключевое поле не надо, так как данные во всех полях могут повторяться. Эта таблица, аналогично предыдущим, будет заполняться в режиме формы.
5. Разработайте схему данных, т.е. создайте связи между таблицами. Для этого:
выполните команду Сервис, Схема данных. На экране появится окно "Схема данных";

в появившемся окне "Добавление таблицы" будет выделено название одной таблицы. Щелкните по кнопке <Добавить>;
переведите выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавьте оставшиеся две таблицы;
закройте окно, щелкнув по кнопке <3акрыть>;
создайте связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю "Код дисциплины" в таблице Дисциплины  щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле "Код дисциплины" в таблицу Оценки, а затем отпустите кнопку мыши. На экране откроется окно "Изменение связей";

установите флажок ("галочку") в свойстве Обеспечение целостности данных, щелкнув по нему;
установите флажок в свойстве Каскадное обновление связанных полей и Каскадное удаление связанных записей;
Примечание. Задание каскадного обновления связанных полей и каскадного удаления связанных записей позволит вам отредактировать записи только в таблице Дисциплины, а в таблице Оценки эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы Дисциплины один предмет, то в таблице Оценки удалятся все строки, связанные с этим предметом.
щелкните по кнопке <Создать>. Связь будет создана;
аналогично создайте связи между полем "Код дисциплины" в таблице Дисциплины и полем "Код дисциплины" в таблице Преподаватели, а также между полем "Код студента" в таблице Студенты и полем "Код студента" в таблице Оценки.
закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.
ЗАДАНИЕ 8
Создание форм для ввода данных в таблицы.
1. Создать форму Студенты.
2. Заполнить данными таблицу Студенты посредством формы Студенты.
3. Создать форму Дисциплины.
4. Заполнить данными таблицу Дисциплины посредством формы Дисциплины.
5. Создать форму Оценки.
6. Заполнить данными таблицу Оценки посредством формы Оценки.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания формы Студенты:
откройте вкладку Формы;
щелкните по кнопке <Создать>;
в открывающемся списке выберите таблицу Студенты,
выберите пункт Автоформа: ленточная;
щелкните по кнопке <ОК>. Форма для ввода данных создана.

Примечание. Если вас не удовлетворяет макет, вы можете перейти в режим конструктора и изменить макет, передвигая и изменяя размеры элементов - заголовков полей и ячеек для ввода данных. Достаточно щелкнуть по элементу - он выделяется прямоугольной рамкой, и вы можете изменять размеры и двигать элемент. Если вы хотите изменить другие параметры элемента, надо, по выделенному элементу щелкнуть правой клавишей мыши, и откроется окно свойств элемента. В силу ограниченности объема раздела описать все свойства нет возможности, но их можно изучить самостоятельно по справочной системе, а многие свойства понятны уже из своего названия.
2. Заполните данными, приведенными в табл. 4.6, таблицу Студенты посредством формы.
Таблица 4.6
Примечание. Переход между ячейками лучше выполнять клавишей <Таb> либо мышью.
Закройте форму, задав ей имя Студенты.
3. Аналогично создайте форму Дисциплины.
4. Заполните данными, приведенными в табл. 4.7, таблицу Дисциплины посредством формы и закройте форму, задав ей имя Дисциплины.
5. Аналогично создайте форму Оценки.
6. Заполните данными, приведенными в табл. 4.8, таблицу Оценки. посредством формы и закройте форму, задав ей имя Оценки.
 
Таблица.4.8.

ЗАДАНИЕ 9
 1.Разработать запрос с параметрами о студентах заданной группы, в котором при вводе в окно параметров номера группы (в примере это 151 или 152) на экран должен выводиться состав этой группы.
2. Создать запрос, в котором выводятся оценки студентов заданной группы по заданной дисциплине.
3. Создать перекрестный запрос, в результате которого создастся выборка, отражающая средний балл по дисциплинам в группах.
4. Разработать запрос на увеличение на 10% заработной платы тех преподавателей, кто получает менее 500 руб.
5. Создать запрос на удаление отчисленных студентов.
6. Разработать запрос на создание базы данных отличников.
7. Для всех созданных вами запросов разработать формы.
ТЕХНОЛОГИЯ РАБОТЫ
1.     Для создания запроса с параметрами о студентах заданной группы:
откройте вкладку Запросы;
щелкните по кнопке <Создать>;
в появившемся окне выберите Простои запрос и щелкните по кнопке <ОК>;
в появившемся окне в строке Таблицы/запросы выберите из списка таблицу Студенты;
перенесите все поля из окна "Доступные поля" в окно "Выбранные поля";
щелкните по кнопке <Далее>. Выводить надо все поля, поэтому еще раз щелкните по кнопке <Далее>;
в появившемся окне введите имя запроса Группа;
щелкните по кнопке <Готово>. На экране появится таблица с данными запроса. Но вам надо, чтобы при выполнении запроса выяснялся номер группы. Для этого перейдите в режим конструктора (Вид - Конструктор);
в строке Условия отбора для поля "Номер группы" введите фразу (скобки то же вводить): [Введите номер группы];
выполните запрос, щелкнув по кнопке на панели инструментов, или выполните команду Запрос, Запуск;
в появившемся окне введите 151 и щелкните по кнопке <ОК>. На экране появится таблица с данными о студентах 151-й группы;
сохраните запрос и закройте таблицу запроса.
2. Для создания запроса, в котором выводятся оценки студентов заданной группы по заданной дисциплине:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Простой запрос и щелкните по кнопке <ОК>;
выберите таблицу Студенты и перенесите поля "Фамилия", "Имя", "Отчество", "Номер группы" в окно "Выделенные поля" (выделяя нужное поле и щелкая по кнопке " > ").
Внимание! В дальнейшем под фразой В таблице ... выберите поле ... будем понимать выбор таблицы, выбор поля и перенос его в окно "Выделенные поля".
в таблице Дисциплины выберите поле "Название дисциплины";
в таблице Оценки выберите поле "Оценки". Вы сформировали шесть полей запроса - они связаны между собой посредством схемы данных;

щелкните по кнопке <Далее>, затем в появившемся окне снова щелкните по кнопке <Далее>;
в появившемся окне введите имя запроса Оценки группы, затем щелкните по ячейке Изменить макет запроса (в ней должна появиться черная точка) - это позволит сразу перейти в режим конструктора;
щелкните по кнопке <Готово>;
в строке Условия отбора для поля "Номер группы" введите фразу: [Введите номер группы], 
в строке Условия отбора для поля "Название дисциплины" введите фразу: [Введите название дисциплины]
выполните запрос;
в первом появившемся окне введите 152, затем щелкните по кнопке <ОК>, во втором - введите Информатика и щелкните по кнопке <ОК>. На экране появится таблица со списком 152-й группы и оценками по информатике;
сохраните запрос и закройте таблицу запроса.
3. Создайте перекрестный запрос о среднем балле в группах по дисциплинам. Но такой запрос строится на основе одной таблицы или одного запроса, в связи, с чем надо сначала сформировать запрос, в котором были бы поля "Номер группы", "Название дисциплины" и "Оценки". Для этого:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Простой запрос и щелкните по кнопке <ОК>;
выберите из таблицы Студенты поле "Номер группы";
выберите из таблицы Дисциплины поле "Название дисциплины" ;
выберите из таблицы Оценки поле "Оценки";
щелкните по кнопке <Далее>, затем в появившемся окне снова щелкните по кнопке <Далее>;

в появившемся окне введите имя запроса Дисциплины оценки группы;
щелкните по кнопке <Готово>;
сохраните запрос и закройте таблицу запроса. Теперь можно создавать перекрестный запрос.
Для этого:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Перекрестный запрос и щелкните по кнопке <ОК>;
щелкните по ячейке Запросы, выберите Дисциплины оценки группы и щелкните по кнопке <Далее>;                        
выберите поле "Название дисциплины" и щелкните по кнопке <Далее>;
выберите поле "Номер группы" и щелкните по кнопке <Далее>;
выберите функцию СРЕДНЕЕ и щелкните по кнопке <Далее>;

введите название запроса Средние оценки и щелкните по кнопке <Готово>. Откроется таблица перекрестного запроса. Обратите внимание на то, что Access создает еще итоговое значение средних оценок по дисциплинам;

закройте таблицу запроса.
4. Для создания запроса на изменение заработной платы преподавателей:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Простой запрос;
в таблице Преподаватели выберите поле <3арплата>;
щелкните по кнопке <Далее>, затем в появившемся окне снова щелкните по кнопке <Далее>;
в появившемся окне введите имя запроса Изменение зарплаты;
щелкните по ячейке Изменить макет запроса;
щелкните по кнопке <Готово>;
в строке Условия отбора введите без кавычек " <500 ";
откройте пункт меню Запрос и выберите Обновление;
в строке конструктора запроса Обновление в поле "Зарплата" введите без кавычек:
" [Зарплата]* 1,1"; 
выполните запрос, подтвердив готовность на обновление данных;
закройте запрос, подтвердив его сохранение;
откройте форму Состав преподавателей;
просмотрите изменение заработной платы у преподавателей, получающих меньше 500 р.;
закройте форму.
5. Для создания запроса на отчисление студента гр. 152 Перлова Кирилла Николаевича:
на вкладке Запросы щелкните по кнопке <Создать>;       
выберите Простой запрос;,
в таблице Студенты выберите поля "Фамилия", "Имя", "Отчество", "Номер группы";
щелкните по кнопке <Далее>, затем в появившемся окне снова щелкните по кнопке <Далее>;
в появившемся окне введите имя запроса Отчисленные студенты;
щелкните по ячейке Изменить макет запроса;
щелкните по кнопке <Готово>;
в строке Условия отбора введите; в поле "Фамилия" - Перлов, в поле "Имя" - Кирилл, в поле "Отчество" - Николаевич, в поле "Номер группы" - 152;
откройте пункт меню Запрос и выберите Удаление;
просмотрите удаляемую запись, щелкнув по кнопке или выполнив команду Вид, Режим таблицы; если отчисляемый студент выбран правильно, то перейдите в режим конструктора и выполните запрос. Если условия отбора сделаны неправильно, измените их;
закройте запрос;
откройте форму Студенты и удостоверьтесь в удалении записи о студенте Перлове;
закройте форму.
6. Для создания запроса на создание базы данных отличников:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Простой запрос;
в таблице Студенты выберите поля "Фамилия", "Имя", "Отчество" и "Номер группы", а в таблице Оценки - поле "Оценки";
щелкните по кнопке <Далее>, затем в появившемся окне вновь щелкните по кнопке <Далее>;
в появившемся окне введите имя запроса Отличники;
щелкните по ячейке Изменить макет запроса;
щелкните по кнопке <Готово>;
Примечание.Для создания этого запроса надо воспользоваться операцией группировки. Будем считать отличниками тех студентов, которые набрали за четыре экзамена 20 баллов. Операция группировки позволит просуммировать оценки студентов по всем экзаменационным дисциплинам.
для выполнения групповых операции щелкните на панели инструментов по кнопке или выполните команду Вид, Групповые операции;
в строке Групповые операции поля "Оценки" щелкните по ячейке Групповые операции. Откройте раскрывающийся список и выберите функцию SUM;
в строке Условия отбора поля "Оценки" введите 20;
просмотрите создаваемую базу, щелкнув по кнопке или выполнив команду Вид, Режим таблицы;
перейдите в режим конструктора;
выполните команду Запрос, Создание таблицы;
введите имя таблицы Студенты-отличники и щелкните по кнопке <ОК>;
закройте с сохранением запрос;
выполните запрос Отличники;
откройте вкладку Таблицы;
откройте таблицу Студенты-отличники. Удостоверьтесь в правильности создания таблицы. Закройте таблицу.      
7. Для каждого из созданных запросов создайте форму (можно рекомендовать автоформу в столбец или ленточную автоформу) для удобного просмотра данных. При создании этих форм воспользуйтесь рекомендациями в работе 3.
ЗАДАНИЕ 10
Создание сложных форм.
1. Разработать сложную форму, в которой с названиями дисциплин была бы связана подчиненная форма Студенты и подчиненная форма Оценки студентов.
2. Изменить расположение элементов в форме в соответствии с рис. 4.12.
3. Вставить в форму диаграмму, графически отражающую оценки студентов.
4. Отредактировать вид осей диаграммы.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания сложной формы;
на вкладке Формы щелкните по кнопке <Создать>;
выберите Мастер форм и, не выбирая таблицу или запрос, щелкните по кнопке <ОК>;
в таблице Дисциплины выберите поле "Название дисциплины";
в таблице Студенты выберите поля "Код студента", "Фамилия", "Имя", "Отчество", "Номер группы";
в таблице Оценки выберите поле "Оценки" и щелкните по кнопке <Далее>;
в появившемся окне вариант построения формы нас удовлетворяет, поэтому щелкните по кнопке <Далее>;
оставьте табличный вариант подчиненной формы и щелкните по кнопке  <Далее>;
выберите нужный вам стиль оформления формы и щелкните по кнопке <Далее>;
введите название формы Дисциплины и оценки,
щелкните по кнопке <Готово> и просмотрите полученную форму.

Рис. 4.13. Форма Дисциплины и оценки
2. Нас не удовлетворяет расположение полей на экране. Измените их в соответствии с рис. 4.13, оставив место для диаграммы.
Для этого:
перейдите в режим конструктора;
стандартными средствами Windows (технология drag-and-drop) измените размеры подчиненной формы так, чтобы были видны все данные. Для этого надо (как правило, многократно) переключаться из режима конструктора в режим формы, смотреть на полученный результат и, если он не подходит, снова корректировать в режиме конструктора.
3. Для того чтобы вставить в форму диаграмму оценок студентов по заданным дисциплинам, необходимо:
переключиться в режим конструктора;
выполнить команду Вид, Панель элементов;
на этой панели щелкнуть по кнопке <Аа>;
создать прямоугольник для надписи - заголовка диаграммы. Для этого переведите курсор в левый верхний угол будущего прямоугольника, нажмите левую кнопку мыши и, не отпуская ее, доведите до правого нижнего угла, затем отпустите кнопку;
ввести надпись Диаграмма оценок;
выполнить команду Вставка, Диаграмма;
на свободном месте формы растянуть прямоугольник для диаграммы (нажмите левую кнопку мыши в левом верхнем углу и, не отпуская ее, растяните прямоугольник до правого нижнего угла, затем отпустите кнопку);
выбрать таблицу Оценки и щелкнуть по кнопке <Далее>;
выбрать поля "Код студента" и "Оценки";
щелкнуть по кнопке <Далее>;
выбрать вид диаграммы Гистограмма (по умолчанию он и стоит) и щелкнуть по кнопке <Далее>;
дважды щелкнуть по надписи Сумма_оценки, выбрать Отсутствует и щелкнуть по кнопке <ОК>;
щелкнуть по кнопке <Далее>;
вновь щелкнуть по кнопке <Далее>, так как в строке Поля формы и в строке Поля диаграммы по умолчанию находится Код дисциплины (что нам и нужно);
стереть название диаграммы Оценки (так как мы уже задали надпись для диаграммы) и щелкнуть по кнопке <Готово>,
4. Отредактируйте вид осей диаграммы. Для этого:
дважды щелкните по диаграмме;
дважды щелкните по значениям вертикальной оси;
выберите вкладку Шкала;
уберите "галочку" у надписи Минимальное значение, а в ячейке справа от этого названия введите 1              
уберите "галочку" у надписи Максимальное значение, а в ячейке справа от этого названия введите 5
уберите "галочку" у надписи Цена основных делении, а в ячейке справа от этого названия введите 1 и щелкните по кнопке <ОК>;
расширьте область диаграммы, перетащив правую границу окна диаграммы несколько правее (подведя курсор к правой границе до появления двойной стрелки и нажав левую кнопку мыши);
закройте окно "Microsoft Graph", выбрав в меню Файл пункт Выход и возврат в дисциплины и оценки: форма.
перейдите в режим формы (она представлена на рис. 4.14) и просмотрите форму для разных дисциплин (щелкая по кнопке перехода к следующей записи в нижней части формы). Вы увидите изменение названий дисциплин, а также оценок студентов по этим дисциплинам и изменение диаграмм, отображающих эти оценки;
закройте форму.

Рис. 4.14. Форма Дисциплины и оценки с включенной в нее диаграммой
ЗАДАНИЕ 11
Создание сложных отчетов.
1. Создать запрос, на основе которого будет формироваться отчет. В запросе должны присутствовать: из таблицы Студенты - поля "Фамилия", "Имя", "Отчество" и "Номер группы", из таблицы Дисциплины - поле "Название дисциплины", из таблицы Оценки - поле "Оценки".
2. Создать отчет по итогам сессии. В отчете оценки студентов должны быть сгруппированы по номерам групп и дисциплинам. Для каждого студента должна вычисляться средняя оценка в сессию, а для каждой группы - среднее значение оценок по всем предметам.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания запроса:
на вкладке Запросы щелкните по кнопке <Создать>;
выберите Простой запрос и щелкните по кнопке <ОК>;
из таблицы Студенты выберите поля "Фамилия", "Имя", "Отчество" и  "Номер группы", из таблицы Дисциплины - поле "Название дисциплины", из таблицы Оценки - поле "Оценки" и щелкните по кнопке <Далее>;
щелкните еще раз по кнопке <Далее>;     
введите название запроса Сессия и щелкните по кнопке <Готово>;
закройте запрос.
2. Для создания итогового отчета выполните следующее:
на вкладке Отчеты щелкните по кнопке <Создать>;
выберите Мастер отчетов, из раскрывающегося списка - запрос Сессия и щелкните по кнопке <ОК>;
выберите все поля запроса и щелкните по кнопке <Далее>;
тип представления данных нас удовлетворяет, поэтому щелкните по кнопке <Далее>;
добавьте уровень группировки по номеру группы, выбрав в левом окне Номер группы и перенеся его в правое окно, щелкнув по кнопке " > ";
щелкните по кнопке <Далее>;
щелкните по кнопке <Итоги>, так как надо вычислять средний балл;
поставьте "галочку" в ячейке поля "AVG" (эта функция вычисляет среднее) и щелкните по кнопке <ОК>;
щелкните по кнопке < Далее >, так как сортировка не требуется, потому что данными являются название дисциплины и оценки, порядок которых не столь важен;
выберите макет отчета. Рекомендуем ступенчатый, так как он занимает меньше места и в нем наглядно представлены данные (хотя это дело вкуса). Щелкните по кнопке <Далее>; выберите стиль отчета и щелкните по кнопке <Далее>;
введите название отчета Итоги сессии и щелкните по кнопке <Готово>. На экране появится отчет. Его можно просмотреть, изменяя масштаб (щелкнув по листу) и перелистывая страницы (в нижней части экрана). Его можно также распечатать, выполнив команду Файл, Печать. После завершения необходимых вам операций закройте окно просмотра отчета.
ЗАДАНИЕ 12
Разработать кнопочную форму-меню для работы с базами данных, в которой должны быть созданные вами формы и отчет.
ТЕХНОЛОГИЯ РАБОТЫ
Для создания кнопочного меню выполните следующие действия:
выполните команду Сервис, Служебные программы, Диспетчер кнопочных форм;
подтвердите создание кнопочной формы, щелкнув по кнопке <Да>;
Access предложит создать кнопочную форму. Создайте форму, щелкнув по кнопке <Да>;

в окне Диспетчер кнопочных форм щелкните по кнопке <Изменить>;

в строке Текст  введите поясняющую надпись к первой создаваемой кнопке Оценки;
в строке Команда выберите из списка Открыть форму для изменения;
в строке Форма выберите из списка форму Оценки и щелкните по кнопке <ОК>; Аналогично введите в меню все созданные формы и отчеты.
закройте окно кнопочной формы, щелкнув по кнопке <3акрыть>;
закройте диспетчер кнопочных форм, щелкнув по кнопке <3акрыть>;
на вкладке Формы подведите курсор мыши к надписи Кнопочная форма, щелкните правой кнопкой мыши, выберите пункт Переименовать и введите новое имя Форма меню, затем нажмите клавишу <Enter>;
откройте эту форму и просмотрите возможности открытия форм и отчета из меню.