Л. р. №17 Изучение организации баз данных.
Заполнение полей баз данных MS Access 

Цель работы: научиться создавать таблицы и различные запросы

Практическая часть

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


СОЗДАНИЕ ТАБЛИЦ

1.   Таблица «Анкета». 

При создании базы данных появляется автоматически новая таблица «Таблица 1». В окне добавления данных вызовите контекстное меню, нажав на название таблицы правой клавишей мыши, и перейдите в конструктор.

Появится окно для ввода имени таблицы. Введите необходимое название "Анкета".

Данная таблица должна содержать следующие поля (в скобках указан тип данных):

В первом столбце необходимо вводить названия (например, ФИО), во втором столбце тип данных (например, короткий текст). Третий столбец (Описание) не нужно заполнять!

Маска ввода (Input Mask) позволяет контролировать ввод данных в таблицу. И не только контролировать, но и упрощать процесс ввода. Маску используют в том случае, когда вводимые данные должны содержать определенные символы в некоторых позициях вводимой строки. Самым простым и ярким примером таких данных являются номера телефонов. Маска ввода должна обеспечить возможность вводить только цифры номера, а остальные символы (скобки вокруг кода города, дефис между цифрами номера) будут добавляться автоматически. 

Маска находится в свойствах поля (Общие – Маска ввода). Нажмите на поле, для которого необходимо настроить маску ввода. В свойствах введите маску. В данной таблице должны быть маски у полей "№_зачетной_книжки" и "Телефон".

Установим ключевым полем «№_зачетной_книжки». Для этого, выделив в режиме конструктора данное поле, вызовите контекстное меню и выберите команду «Ключевое поле» или выполните команду Правка – Ключевое поле. Закройте конструктор, при закрытии программа предложит охранить изменения.

Ключевое поле (или первичный ключ) это поле или набор полей, которые могут однозначно идентифицировать запись (отличить одну от другой)

Сохраните и закройте таблицу (ПКМ по вкладке с названием таблицы)

2.   Таблица «Ведомость» 

Для создания еще одной таблицы необходимо перейти в раздел «Создание» и выбрать «Конструктор таблиц».

Создайте таблицу, содержащую следующие поля (в скобках указан тип данных):

Определите ключевым полем «№_зачетной_книжки». Сохраните таблицу и закройте окно конструктора

УСТАНОВКА СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ

Перейдите в вкладку «Работа с базой данных» (Или «Сервис») выберите «Схема данных»

В схему, прежде чем устанавливать связи, нужно добавить те таблицы, между которым эти связи собираемся устанавливать. В окне «Добавление таблицы» поочередно выберите каждую из таблиц и нажмите для каждой из них, кнопку Добавить. Затем нажмите кнопку Закрыть.

Для установки связей нажмите мышью по полю «№_зачетной_книжки» из схемы таблицы Анкета и удерживая переместите курсор мыши на место поля «№_зачетной_книжки» таблицы Ведомость.

В открывшемся окне «Изменения связи» нажмите кнопку Создать. В окне диалога Схема данных установленные связи отображаются графически. Для редактирования связей достаточно двойного щелчка мыши по линии, изображающей связь.

Закройте окно диалога Схема данных, сохранив макет.

Откройте таблицу Анкета и заполните данными на нескольких учащихся (5-7 записей).

Сохраните таблицу и закройте ее.

Зайдите в конструктор таблицы «Ведомость». Для поля «№_зачетной_книжки» настроим подстановку данных из таблицы «Анкета» для этого из общих параметров перейдем в раздел «Подстановка». Тип элемента: «Поле со списком», тип источника данных «Таблица или запрос» и выберем в качестве источника таблицу «Анкета».

Сохраняем изменения и закрываем окно конструктора.

Введите данные в таблицу «Ведомость» (пять записей). Для поля «№_зачетной_книжки» появилась возможность подстановки имеющихся данных из таблицы «Анкета».

Чтобы заполнить таблицу нажмите в окне "Все объекты Access" дважды по нужной таблице.

Контрольные вопросы:

Л. р. №18 Формирование запросов в MS Access

Простой запрос на выборку данных из таблицыэто запрос, который позволяет выбрать некоторые поля из таблицы.

Создадим запрос, позволяющий выбрать из таблицы «Анкета» поля Фамилия, Группа, Год рождения.

Перейдите на вкладку «Создание» и выберите «Конструктор запросов» (или вкладка «Запросы» далее «Создать» и выбрать «Конструктор»). Добавьте таблицу «Анкета».

Дважды щёлкните по полю «Фио» и оно переместится в таблицу внизу окна конструктора запросов. Таким же образом поместить в таблицу поля Группа и Год рождения.

Сохраните запрос под именем – Годы рождения. Закрыть окно конструктора запросов.

Откройте запрос «Годы рождения» и убедитесь, что он отображает только выбранные поля.

Самостоятельно создайте запрос, позволяющий выбрать из таблицы Анкета поля Фио, Группа, а из таблицы Ведомость оценки за все зачёты - Зачет №1, Зачет №2, Зачет №3. Запрос создаётся аналогично первому запросу

Сохранить запрос под именем Зачёты.


Запрос с условием – запрос, позволяющий выбрать записи, удовлетворяющие определённому условию.

Создадим запрос, позволяющий выбрать студентов, имеющих 2 за Зачёт № 1 (убедитесь, что есть хотя бы одна такая запись).

Перейдите на вкладку «Создание» («Запросы»). Щёлкните по кнопке «Конструктор запросов». Добавьте обе таблицы.

Поместите в запрос поля Фамилия, Зачет №1. В строке Условие отбора в столбце Зачёт № 1 поставьте значение – 2.

Сохранить запрос под именем – Зачёт №1. Закройте окно конструктора запросов и проверьте результат запроса. 

Самостоятельно создайте запрос, который выводить фамилии студентов, имеющих 2 по всем зачётам. Сохранить запрос под именем «Двоечники».


Запрос с параметром – это запрос, который запрашивает у пользователя значение какого-либо параметра и выводит записи, удовлетворяющие условию отбора.

Создадим запрос, который по введённой фамилии позволяет выбрать оценки за зачёты указанного студента.

В результате получим выборку по данному студенту

Самостоятельно который по введённому городу позволяет выбрать Фио студента и номер телефона.



Контрольные вопросы: