Технологии работы в СУБД MS Access 2003.
Информатика и ИКТ.
2 курс учреждений СПО.
4. Литература:
Шафрин Ю.А. Основы компьютерной технологии. Учебное пособие для 7 – 11 классов по курсу «Информатика и вычислительная техника» - Москва: ABF,1996
Ефимова О.В., Моисеева М.В., Ю.А. Шафрин Практикум по компьютерной технологии. Примеры и упражнения. Пособие по курсу «Информатика и вычислительная техника» - Москва: ABF,1997
Горячев А., Шафрин Ю. Практикум по информационным технологиям. М.: Лаборатория базовых знаний, 2001
Семакин И.Г., Шеина Т.Ю. Преподавание курса информатики в средней школе. М.: Лаборатория базовых знаний, 2002
Симонович С.В. Компьютер в вашей школе. М.: АСТ-ПРЕСС: Информком-Пресс, 2001
Лабораторная работа 1
Создание таблиц базы данных. Работа с таблицами.
1. Создание таблицы.
1) Загрузка Access.
Для создания новой базы данных используйте команду Создать из меню Файл. В окне Создание выберите вкладку Общие и щелкните на значке Новая база данных. В окне
Файл новой базы данных задайте имя файла новой БД - Учебный процесс. Определите папку,
в которой будет размещен этот файл.
ИЛИ, если вы только что загрузили Access, в окне Microsoft Access поставьте флажок
Новая база данных, нажмите ОК. В окне Файл новой базы данных выберите нужную вам
папку и введите имя базы - Prozess
2) Создание структуры таблицы.
Определим структуру таблицы, используя режим Конструктор таблиц. Для этого в окне базы данных выберем вкладку Таблица и нажмите кнопку Создать. В окне Новая таблица выберите строку Конструктор. В окне конструктора Таблица1: Таблица необходимо ввести структуру таблицы ГРУППА, в соответствии с таблицей.1:
в столбец Имя поля ввести в нужной последовательности имена полей НГ, КОЛ ПБАЛЛ;
в столбце Тип данных выбрать нужный тип данных для каждого поля, использовав кнопку списка;
на вкладке Общие задать свойства полей:
для текстового поля НГ размер 3;
для числового поля КОЛ выбрать байт, определяющий цифру целого числа;
для числового поля ПБАЛЛ выбрать С плавающей точкой 4 байта;
Число десятичных знаков для поля ПБАЛЛ - 2
Подпись поля, Условие на значение. Сообщение об ошибке для каждого из полей выберете, как указано в таблице 1
Индексированное поле – выбрать ДА (совпадение не допускается), если ключевое поле уникальное, не допускающее совпадений данных в поле или Да (совпадение допускается)
Имя поля
Ключевое
уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Число
десят.
знаков
Подпись поля
Условия на значение, сообщение об ошибке
НГ
да, совпадений не допуска- ется
да
текстовый
3
номер группы
КОЛ
нет
числовой
байт
кол. студен- тов в группе
>=0 Аnd <=35
Количество студентов больше допус- тимого
ПБАЛЛ
нег
числовой
с плав. точкой 4 байта
2
Прох. балл
>2 Аnd <5 Оr 0 ошибка в оценке
Таблица 1 : Описание свойств нолей таблицы ГРУППА.
Создайте первичный ключ таблицы. Выделите поле НГ и нажмите кнопку Ключевое поле.
3) Сохранение структуры таблицы.
Сохраните созданную структуру: выполните команду Сохранить из меню Файл. В окне Сохранение введите имя ГРУППА. Закройте Конструктор.
4) Упражнение 1.
Создайте структуру таблиц КАФЕДРА, ПРЕДМЕТ. СТУДЕТ по параметрам, которые описаны в таблицах 2,3,4.
В таблице СТУДЕНТ определите составной ключ: для этого выделите оба поля ИГ и НС (при нажатой кнопке СТRL), затем нажните кнопку Ключевое поле.
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Число
десят.
знаков
Подпись поля
НГ
да
да, совпад. допуск.
да
текст
3
группа
НС
да
да, совпад. допуск.
да
текст
2
номер студен-
та в группе
ФИО
да
текст
15
фио
ГОДР
нет
числовой
целое
год рождения
АДРЕС
нет
текст
25
ПБАЛЛ
нет
числовой
с плав. точ кой 4 байта
2
прох. балл
Таблица 2: Описание свойств полей таблицы СТУДЕНТ
В таблице КАФЕДРА определите Маску ввода для поля ТЕЛ, для этого на вкладке Общие Конструктора таблиц, в поле Маска введите шаблон для ввода данных: 00-00-00.
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Подпись поля
ККАФ
да
да совпадения не допускаются
да
текст
2
код
НКАФ
нет
текст
15
название
ТЕЛ
нет
текст
9
ЗАВ
нет
текст
15
фио зав. кафедрой
ФОТО
нет
поле объекта ОLЕ
фотография заведующего
Таблица 3: Описание свойств полей таблицы КАФЕДРА.
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Подпись поля
Условие на значение
КП
НП
да
да совп. не допуск
да нет
текст текст
2
15
код предмета название предмета
ЧАСЫ
нет
числ
целое
всего часов
>0 Аnd <=300 число часов должно быть
ЛЕК
нет
числ
целое
лекции
ПР
нет
числ
целое
практика
ЧС
нет
числ
целое
семестров
Таблица 4: Описание свойств полей таблицы ПРЕДМЕТ
5) Упражнение 2.
Аналогично создайте структуру таблиц ИЗУЧЕНИЕ, УСПЕВАЕМОСТЬ. При создании таблиц используйте параметры из табл. 5,6
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Число
десят.
знаков
Подпись поля
НГ
да
да, совпад. допуск.
да
текст
3
ном группы
КП
да
да, совпад. допуск.
да
текст
2
код предмета
ТАБН
да
да, совпад. допуск.
да
текст
4
таб. ном. препод
ВИДЗ
да
да, совпад. допуск.
да
текст
3
вид занятий
ЧАСЫ
нет
числ
целое
0
Таблица 5: Описание свойств полей таблицы ИЗУЧЕНИЕ
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Число
десят.
знаков
Подпись поля
НГ
да
да, совпад. допуск.
Да
текст
3
номер группы
НС
да
да, совпад. допуск.
Да
текст
2
ном. студента
КП
Да
да, совпад. допуск.
Да
текст
2
код предмета
АБН
Да
да, совпад. допуск.
Да
текст
4
таб номер препод
ВИДЗ
да
да, совпад. допуск.
да
текст
3
вид занятия
ОЦЕНКА
нет
чнсл
целое
0
Таблица 6: Описание свойств полей таблицы УСПЕВАЕМОСТЬ
Имя поля
Ключе-вое
Уникаль-ное
Обяза-
тель-
ное
поле
Тип
данных
Размер
Подпись поля
ТАБН
Да
да совпал не допуск
Да
текст
4
таб номер
ФИО
да
текст
30
ФИО препод
СТ
нет
текст
15
уч степень
3В
нет
текст
10
уч звание
ККАФ
Да
текст
2
код кафедры
Таблица 7: Описание свойств полей таблицы ПРЕПОДАВАТЕЛЬ
-
2. Ввод данных в таблицы БД.
1) Ввод записей в режиме таблицы.
В окне Учебный процесс: База данных установите курсор на таблице СТУДЕНТ и нажмите кнопку Открыть. Таблица откроется в Режиме таблицы. Заполните строки таблицы в соответствии с табл. 7.
При вводе данных в таблиц переход от одного поля к другому можно выполнить клавишей ТАВ. Отмена ввода значения в поле происходит с помощью клавиши ЕSС. Отменить ввод всей записи - дважды нажать ЕSС.
Сохраните таблицу после ввода данных. Правила и последовательность ввода поля типа ОLЕ смотрите ниже.
2) Размещение объекта ОLЕ.
Рассмотрим на примере поля Фотография заведующего таблицы КАФЕДРА. Пусть фотография хранится в формате графического файла с расширением .bmp
Выполнить команду Объект из меню Вставка
В окне Вставка объекта отметьте Создать из файла
окно Вставка объекта преобразуется в окно, которое позволит вести имя файла, содержащего фотографию. Для поиска нужного файла можно воспользоваться кнопкой (C:\ProgramFile\Microsoft Office\Clipart).
Внимание ! Флажок Связь по умолчанию не помечен и, следовательно содержимое файла будет введено в поле как встроенный объект. Увидеть содержимое поля можно через форму или отчет. Дальнейшие изменения графического файла не будут отражаться на встроенном объекте,
для введения в поле связанного объекта установите флажок Связь. Это сэкономит место в базе данных и даст возможность отображать вносимые в файл изменения.
для отображения содержимого поля в виде значка, установите флажок В виде значка.
Группа Номер студента в группе
ФИО
Год рождения:
Прох.балл
101
01
Аристов РЛ.
1979
4,25
101
02
БондаренкоС А
1978
4,50
101
03
Борисова Е.И.
1979
4,25
101
04
Макова Н.В.
1977
4,75
102
01
Боярская Н.П.
1977
4,50
102
02
Федоров ДК.
1977
4,25
102
03
Сидоров И.Р.
1977
4,50
103
01
Андреев Г.М.
1978
4,25
103
02
Петров О.К.
1979
4.75
104
01
Иванов К.К.
1977
4,50
Таблица8: Данные таблицы СТУДЕНТ
01 информатики
31-47-23
Игнатьев В. В.
02
математики
31-47-15
Иванов И. И.
03
истории
31-24-12
Смирнова И.В.
04
иностр яз
31-47-18
Жданова А.Е-
05
физ-ры
31-47-67
Ппетнев В А,
06
философии
31-34-29
Бондарь В В
9: Данные таблицы КАФЕДРА
Номер группы
Кол-во студентов
в группе
Прох. балл
101
30
4,50
102
32
4,50
103
29
4,80
104
35
4,40
105
35
4,80
201
35
3,90
202
30
4,00
203
28
4,70
204
25
4,00
Таблица10: Данные таблицы ГРУППА
Таблица 9: Данные таблица КАФЕДРА
Ном. группы
Код
предм
Таб.ном.
препод.
Вид занятий
Часы
101
01
101
лек
40
101
01
102
пр
60
101
02
201
лек
50
101
02
202
пр
50
102
01
101
лек
100
102
04
401
лек
100
105
01
101
лек
100
202
04
403
пр
70
204
05
503
пр
100
Номер группы
Ном.
студ.
Код
предм.
Таб.
ном.
препод.
Вид
занятий
оценка
101
01
01
101
лек
5
101
01
03
302
пр
0
101
02
01
101
лек
5
101
02
03
302
пр
0
101
03
01
101
лек
4
101
03
03
302
пр
0
101
04
01
101
лек
3
101
04
03
302
пр
0
Таблица12: Данные таблицы УСПЕВАЕМОСТЬ
Таблица11: Данные таблицы ИЗУЧЕНИЕ
Название предмета
Всего часов
Лекции
Практика
Семестров
01
информатика
200
80
120
4
02
математика
200
100
100
4
03
история
140
90
50
3
04
иностр яз
200
0
200
4
05
философия
100
40
60
2
06
физ-ра
100
0
100
2
Таблица 13: Данные таблицы ПРЕДМЕТ
101 Андреев Л. П.
д-р техн. наук
профессор
01
102
Анучтмн И А.
канд. техн.наук
доцент
01
201
Блюмкнна И.П.
д-р физ. мат. наук
профессор
02
202
Львова В. А.
ассистент
02
401
Сорокина МФ
канд. фил. наук
.. _
доцент
04
403
Лысова Р.О.
канд. фил. наук
доцент
04
503
Ермолин Е.Н.
ассистент
05
Таблица 14: Данные таблицы ПРЕПОДАВАТЕЛЬ
Упражнение 3.
Введите данные в оставшиеся таблицы.
3. Создание схемы данных таблиц.
1) включение таблиц в схему данных.
Для создания схемы данных в окне Учебный процесс: базы данных откройте окно Схема данных с помощью команды Схема данных из меню Сервис.
в от крывшемся диалоговом окне Добавление таблицы выбрать вкладку Таблицы и нажмите кнопку Добавить, разместите в окне Схема данных все созданные нами таблицы
нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных Учебный процесс
2) Определение связей по простому ключу.
Установим связь между таблицами ГРУППА и СТУДЕНТ по простому ключу НГ. Для этого:
в окне Схемы данных установите курсор на ключевом поле НГ главной таблицы ГРУППА и перетащите его на ноле НГ подчиненной таблицы СТУДЕНТ
в открывшемся окне Связи в строке Тип отношения установится один-ко-многим
отметьте параметр Обеспечение целостности данных.
для автоматической корректировки данных во взаимосвязанных таблицах установим Каскадное обновление связанных полей и Каскадное удаление связанных записей нажмите кнопку Создать.
аналогичные действия проделайте самостоятельно для других пар таблиц:
КАФЕДРА →ПРЕПОДАВАТЕЛЬ (ключ ККАФ),
ПРЕДМЕТ → ИЗУЧЕНИЕ (ключ КП),
ПРЕПОДАВАТЕЛЬ → ИЗУЧЕНИЕ (ключ ТАБН),
ГРУППА → ИЗУЧЕНИЕ (ключ НГ).
3) определение связей по составному ключу
Определим связь между таблицами СТУДЕНТ и УСПЕВАЕМОСТЬ, которые связаны по составному ключу НГ + НС. Для этого:
в главной таблице СТУДЕНТ выделите оба этих поля (удерживая клавишу СТRL).
перетащите оба поля на поле НГ в подчиненной таблице УСПЕВАЕМОСГЬ.
в окне Связи дня ключевого поля НС главной таблицы Таблица/Запрос выберите
соответствующее поле подчиненной таблицы Связанная таблица/запрос.
в этом же окне установите режим Обеспечение целостности данных и другие параметры связи.
аналогичные действия осуществите между таблицами ИЗУЧЕНИЕ→УСПЕВАЕМОСТЬ (составной ключ связи НГ + КП + ТАБН + ВИДЗ)
4. Автоматизированный анализ заполненных таблиц.
I) Создадим таблицу Преподаватели кафедры, которая содержит следующие сведения:
101 Андреев А. П.
01
информатики
31- 47-74
102
Апухтин И.С.
01
информатики
31- 47-74
103
Глухое И. Л.
01
информатики
31- 47-7-1
104
СеченовЮ.Б
01
информатики
31- 47-74
105
Чернов Д.К.
01
информатики
31- 47-74
201
Блюмкина И.П.
02
математики
31- 47-15
202
Львова П. Р.
02
математики
31- 47-15
203
Суриков ПП,
02
математики
31- 47-15
204
Новиков П. Н.
02
математики
31- 47-15
Таблица 15: Нормализованная таблица Преподаватели кафедры.
В данной таблице значения в полях КОД КАФ, НАЗВАНИЕ и ТЕЛ дублируются, т.к. не установлена транзитивная зависимость реквизитов НАЗВАНИЕ и ТЕЛ от реквизита Таб, Номер. Для нормализации таблицы выполним следующие действия:
выполните команду меню Сервис / Анализ / Таблица, загрузится Мастер анализа таблиц третье окно диалога Мастера позволяют выбрать таблицу, для которой будем проводить анализ: выберем Преподаватели кафедры, нажмите кнопку Далее
в следующем окне для того, чтобы мастер определял распределение полей по таблицам, необходимо выбрать ДА, нажмите кнопку Далее
из исходной таблица мастер предложит две таблицы: таблица 1 и таблица 2. В таблице 1 оставлены все поля исходной таблицы, за исключением полей с повторяющимися значениями. Поля с повторяющимися значениями составляют таблицу 2.
связь таблиц осуществляется по уникальному ключу ККАФ главной таблицы этой таблицы 2.
в окне Анализ таблицы вы можете переименовать таблицу: переименуйте таблицу 1 в Преподаватели, а таблицу 2 - в Кафедры, нажмите кнопку Далее определим в следующем окне для таблицы Преподаватели ключ ТАБН (кнопка Ключ находится в верхнем правом углу диалогового окна)
2) Упражнение 5
Произведите анализ таблицы Преподаватель, в которой поле Уч степень содержит повторяющиеся наименования ученых степеней. В результате анализа таблица разделится на две связанные таблицы, которым дайте имена ПРЕПОДАВАТЕЛИ и СТЕПЕНИ.
Лабораторная работа № 2
Разработка форм базы данных. Работа с формами.
1. Загрузка и создание БД с использованием форм.
1) Создание однотабличной формы
Рассмотрим технологию разработки однотабличной формы для таблицы ПРЕДМЕТ. Пусть экранная форма, которую мы хотим создать, будет назвала Предмет – Программа. Для этого:
в окне базы данных выбрать вкладку Формы и нажать кнопку Создать
в окне Новая форма выбрать в качестве источника таблицу ПРЕДМЕТ и режим создания Автоформа: в столбец (этот режим выведет все ноля таблицы в поле одной записи). Нажать кнопку ОК
таблица отобразится в виде формы. Уточнить текст надписей и их формат можно в Конструкторе форм. Загрузите конструктор форм с помощью команды Конструктор из меню Вид
Создадим заголовок в форме. Дня этого расширим область заголовка формы, установив курсор мыши на границу области заголовка и области данных и перетаскивая эту границу на нужное расстояние. Для ввода текста создайте графический элемент Надпись. Введите заголовок (смотри ниже). Выберите нужный шрифт и другие параметры оформления на Панели форматирования (панель форматирования можно вызвать, дважды щелкнув на рамке Надписи в Заголовке формы)
МГПИ
ПРЕДМЕТ И ЕГО ПРОГРАММА
2) Упражнение 1
Создайте самостоятельно однотабличную форму для таблицы КАФЕДРА и проведите добавление нескольких записей в режиме Форма
3) Создание многотабличной формы.
Создадим многотабличную форму для связанных таблиц ГРУППА → СТУДЕНТ. Форму, на основе этих таблиц, назовем Список группы. Форму Список группы определяют: тип - многотабличная, источник - таблица ГРУППА, включаемая подчиненная форма - Список студентов. Форму Список студентов определяют: тип формы - подчиненная, многотабличная, содержащая много записей, источник записей - таблица СТУДЕНТ.
Для создания многотабличной формы необходимо:
формы и Мастер форм. Нажать кнопку ОК.
форму (см. ниже), затем в этом же окне выбрать вторую таблицу СТУДЕНТ и ее поля (см.
ниже). Нажать кнопку Далее.
В основной части составной формы Список группы вверху разместите названия реквизитов, соответствующие полям таблицы ГРУППА:
В подчиненной форме Список студентов разместим следующие поля таблицы СТУДЕНТ.
номер студента в группе (НС)
фамилия И.О. (ФИО)
год рождения (ГОДР)
средний балл при поступлении (ПБАЛЛ)
в окне Создание форм уже будет выделена таблица ГРУППА для создания основной части формы. Т.к. эта таблица является главной относительно таблицы СТУДЕНТ, выберем тип формы Подчиненные формы. Нажать кнопку Далее.
выберем внешний вид подчиненной формы Ленточный. Нажать кнопку Далее.
в следующем окне выберем стиль оформления Обычный с утопленными полями. Нажать кнопку Далее.
в последнем окне Создание форм введем имя составной формы - Список группы и подчиненной формы - Список студентов
выберем в этом же окне Открытие формы для просмотра или ввода данных
завершение работы с Мастером, вывод формы - нажать кнопку Готово.
в случае необходимости отображения данных подчиненной формы в виде таблицы с именами полей используйте в режиме формы команду Таблица подчиненной формы из меню Вид
сохраните форму, закройте ее.
4) Редактирование формы в режиме Конструктора
в окне базы данных на вкладке Формы выбрать для редактирования форму Список группы и нажмите кнопку Конструктор, если форма была открыта ранее, то достаточно нажать кнопку Представление формы на панели конструктора форм
введем в область заголовка полное название формы: Список студентов группы - для перехода и форме к следующей и предыдущей задней, создадим кнопки управления в основной части многотабличной формы, для этого:
нажмите на панели элементов кнопку Мастера, а затем Кнопка, перенесите кнопку курсором мыши в нужное место и тем самым запустится мастер кнопок
в окне Создание кнопки выбрать действие, которое необходимо выполнить при нажатии кнопки. В нашем случае, в рамке Категории выберем Переходы по записям, в рамке Действия - Предыдущая запись. Нажмите кнопку Далее.
в следующем окне отмечаем Рисунок, Показать все рисунки и выбираем подходящий рисунок из списка, например, Стрелка вверх (голубая)
нажмите Готово, кнопка встраивается в форму
аналогичные действия проведите для встраивания кнопки перехода к следующей записи таблицы - Стрелка вниз (голубая) и кнопки закрытия формы - SТОР (для кнопки SТОР выбрать Категорию - Работа с формой, Действия - Закрытие форм).
аналогичные действия по доработке выполните для починенной формы Список студентов, к редактированию которой можно перейти путем двойного нажатия кнопки мыши на области подчиненной формы
в процессе редактирования в подчиненной форме уточните подписи полей, заголовок формы, размеры нолей и подписей
после редактирования формы сохраните ее
просмотрите отредактированную форму Список студентов группы, проверьте выполнение соответствующих действий по нажатию в режиме формы созданных вами кнопок.
5) Упражнение 2
Создайте форму для таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ
2. Технология разработки многотабличной формы для загрузки подчиненной таблицы.
1) Разработка формы с включением, подчиненной формы.
Рассмотрим технологию создания такой формы на примере загрузки и корректировки таблицы ИЗУЧЕНИЕ в базе данных Учебный процесс, а также просмотра данных о занятиях групп, включая дополнительную информацию о предметах и преподавателях. Таблица ИЗУЧЕНИЕ подчинена трем таблицам – ГРУППА, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ, содержащим справочные данные. Поэтому таблица ИЗУЧЕНИЕ может быть загружена только после загрузки выше названных таблиц. Форму, которую мы сконструируем по таблице ИЗУЧЕНИЕ назовем План занятия,
Составная форма План занятий будет содержать основную часть на базе таблицы ГРУППА, что позволит группировать вводимые данные о занятиях по каждой группе студентов. Для ввода данных в таблицу ИЗУЧЕНИЕ предусмотрим включение подчиненной формы с названием ИЗУЧЕНИЕ
Форму План занятий определяет: тип формы - составная, источник записей для основной части формы - таблица ГРУППА, включаемая подчиненная форма ИЗУЧЕНИЕ с источником записей - таблица ИЗУЧЕНИЕ
Выполните следующие действия:
используя Мастер форм создайте составную форму План занятий, включающую подчиненную форму ИЗУЧЕНИЕ: таблица - источник - ГРУППА:
в окне Создание форм выбрать включаемые в форму поля таблицы ГРУППА, а затем поля подчиненных таблиц ИЗУЧЕНИЕ, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ (смотри ниже)
Размещение реквизитов формы. Основная часть формы, таблица ГРУППА: НГ – номер группы (уникальный ключ), КОЛ - количество студентов, ПБАЛЛ - средний балл группы при поступлении.
Подчиненная форма: все поля таблицы ИЗУЧЕНИЕ, кроме ключевого реквизита НГ (номер группы), включенного в основную пасть. Включаем: КП - код предмета, ТАБН - идентификатор преподавателя, ВИДЗ - вид занятия, ЧАСЫ - число часов занятия, СБАЛЛ-ГР -средний балл по предмету в группе.
Подчинённая форма: поля из таблиц ПРЕДМЕТ: НП - название предмета, ЧАСЫ – всего часов, ЛЕК - часов лекций, ПР - часов практики.
Подчиненная форма: поля из таблицы ПРЕПОДАВАТЕЛЬ: ФИО - фамилия преподавателя, СТ - ученая степень, УЗ - ученое звание.
в следующем окне выбрать тип формы - Подчиненные формы. Нажать кнопку Далее.
выбрать вид формы - Ленточный и стиль оформления - Обычный. Нажать кнопку Далее.
в последнем окне Создание форм ввести имя составной формы - План занятий и подчиненной формы - Изучение. Выбрать Открытие формы для просмотра или ввода данных. Нажать кнопку Готово.
просмотрите созданную форму
2) Разработка формы в режиме Конструктора
Разработаем форму, которая будет отображать информацию об одном занятии и, в то же время, объединять записи о занятиях по группам. Обеспечим защиту данных таблиц ГРУППА, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ. Для начала создания формы воспользуемся формой План занятий.
откройте форму План занятий в режиме Конструктора
в основной части формы разместите поля таблицы ГРУППА (КОЛ, ПБАЛЛ
удалите элемент с подписью Изучение в подчиненной форме, но не саму подчиненную форму. (Для этого используйте в контекстном меню пункт Вырезать)
удалите разделительные линии между разделами формы: заголовком, областью данных, примечание, Для этого в свойствах формы (вызывается из контекстного меню), на вкладке Макет в строке Разделительные линии выбрать Нет
создайте две кнопки перехода к следующей или предыдущей группе, а также кнопку для закрытия формы
защитите данные записей таблицы ГРУППА (это все поля основной части). Для этого: на вкладке Данные в свойствах формы, в строке Блокировка выбрать значение Да
откройте для редактирования подчиненную форму ИЗУЧЕНИЕ. Для этого дважды щелкнем в форме кнопкой мыши внутри рамки подчиненной формы.
вызовите свойства формы, на вкладке Макет замените в строке Режим по умолчанию значение Ленточная форма на значение Простая форма. Это позволит отображать в подчиненной форме одну запись о занятии.
в подчиненной форме создайте рамки вокруг полей, используя для этого элемент Прямоугольник на панели элементов
в область Примечания введите инструкцию пользователю (составьте по своему усмотрению)
3) Создание полей со списком
Список содержит записи из связанной таблицы. В списке можно выбрать из соответствующего поля нужное значение и ввести его в поле формы. Создание поля со списком может быть выполнено с помощью мастера. Создадим поле со списком для ввода значений кода предмета (КП).
нажмите на панели элементов кнопку Мастера элементов
выбрать кнопку Поле со списком, установить курсор мыши в нужное место, нажать кнопку мыши и, не отпуская ее, вычертим рамку элемента
откроется диалоговое окно Создание полей со списком
в этом окне определите способ, которым список поля получает свои значения. Выберем вариант - Таблица или запрос содержит значения, которые использует поле со списком.
Нажмите кнопку Далее.
поля. Нажмите кнопку Далее
выбрать поле КП, и поле НП для расшифровки кода КП. Эти поля образуют записи списка. Нажмите кнопку Далее.
в появившейся таблице определим ширину столбцов списка в соответствии с размером значений. Нажмите кнопку Далее.
в следующем окне отметить Сохранить в поле и выбрать поле формы КП (поле таблицы ИЗУЧЕНИЕ). Нажмите кнопку Далее.
далее введите подпись поля со списком: Код предмета, нажмите Готово.
4) Создание полей со списком, без использования мастера
Создадим поле со списком для ввода значений идентификатора преподавателя - ТАБН.
должна быть нажата
Выберите Свойства, вкладку Данные. В строке Данные выбрать ТАБН
в строке Тип источника строк выбрать Таблица / Запрос, в строке Источник строк - таблицу ПРЕПОДАВАТЕЛЬ. Поля, включаемые в список, и их порядок определяется в построителе, который вызывается при нажатии кнопки ...
построитель выводит Бланк запросов, в который перетащим из таблицы ПРЕПОДАВАТЕЛЬ поля ТАБН и ФИО. Закройте Построитель.
для того, чтобы в списке выводились два поля, на вкладке Макет необходимо в строке Число столбцов указать - 2.
настройте ширину и высоту столбцов списка в строках Ширина списка и Ширина столбцов (например, 1.25 и 3.25)
закрыть окно свойств Поле со списком
если необходимо преобразовать обычное поле в поле со списком, то необходимо в контекстном меню поля выбрать Преобразовать элемент и далее выбрать В ноле со списком. При включенной кнопке Мастера элементов элемент будет преобразован Мастером.
5) Упражнение 3
Создайте многотабличную форму, для загрузки результатов сдачи экзаменов в таблицу УСПЕВАЕМОСТЬ и их просмотра. При создании формы произведите действия, аналогичные рассмотренным для таблицы ИЗУЧЕНИЕ.
Лабораторная работа № 3
Обработка данных.
1. Обработка данных в режиме Таблица.
1). Поиск записей.
Задание1. По данным таблицы СТУДЕНТ найдите всех студентов, чей год рождения соответствует 1977.
Задание 2. По данным таблицы КАФЕДРА найдите, телефон каких кафедр начинается с цифр
314.
2). Сортировка записей.
Задание 3. Отсортируйте записи в таблице СТУДЕНТ по алфавиту в порядке возрастания.
3). Отбор записей с помощью фильтра.
Задание 4. Найти все записи о студентах, фамилии которых начинаются с буквы Б.
Для этого:
откройте таблицу СТУДЕНТ в режиме таблицы.
выделите букву Б в поле ФИО одной из записей, где фамилия начинается с этой буквы
выполните команду из меню Записи \ Фильтр \ Фильтр по выделенному
Задание 5. На полученном в Задании 4 подмножестве записей продолжите фильтрацию по дополнительному условию отбора. Среди найденных студентов выберем родившихся в 1977 году. Для этого:
выделите в поле ГОДР у одной из записей значение 1977.
выполнить команду Фильтр по выделенному
выдайте все записи о студентах, чьи фамилии не начинаются с буквы Б и год их рождения не соответствует 1977.
отмените действие фильтра
Задание 6. Отфильтруйте записи формы Список группы, построенной на таблицах ГРУППА и СТУДЕНТ. Выполните отбор данных о студентах из групп 101 и 102, которые имеют проходной балл более 4,5.
Для этого:
откройте форму Список группы
выполните команду Изменить фильтр
в окне Список группы: фильтр активизируйте вкладку Найти, относящейся к основной части формы
в поле Номер группы введем первое значение 101
второе значение 102 введем на вкладке ИЛИ
на вкладке Найти, относящейся к подчиненной части формы, задайте условие отбора: в столбце Проходной балл ввести > 4,5
выполните фильтрацию таблицы по команде Применить фильтр
снимите фильтр командой Удалить фильтр
для уничтожения фильтра в окне фильтра формы выполните Очистить бланк (кнопка на панели инструментов) и Применить фильтр
4). Создание запросов.
Задание 7. Создайте перекрестный запрос на примере таблицы ИЗУЧЕНИЕ. Пусть необходимо для каждой группы определить суммарное число часов по каждому изучаемому предмету. Для этого:
заголовки строк перекрестной таблицы будут определять номера групп, заголовки столбцов - изучаемые предметы, данные в ячейках таблицы - суммарное число часов, в течение которых группа изучает предмет
в окне базы данных выбрать вкладку Запросы
нажать кнопку Создать и в окне Новый запрос выбрать мастер Перекрестный запрос
в первом диалоговом окне Создание перекрестных таблиц выберем таблицу ИЗУЧЕНИЕ, для которой необходимо построить запрос, нажать Далее.
выбрать поле НГ для заголовков строк, нажать Далее.
выбрать поле КП, значения которого предполагается использовать в качестве заголовков столбцов, нажать Далее.
выберем поле ЧАСЫ, которое будет определять значения на пересечении строк и столбцов. Группировка в данном перекрестном запросе осуществляется по двум полям НГ и КП. В результате такой группировки каждой ячейке перекрестной таблицы соответствует группа из двух записей по двум видам занятий
выберем для поля ЧАСЫ в ячейках таблицы функцию SUM (это позволит для каждой группы подсчитать сумму лекционных и практических часов)
отметьте Вычислить итоговые значения для каждой строки
введите имя запроса Изучение предметов группами и нажмите Готово
Задание 8. Создание перекрестных запросов.
Создадим перекрестных запросов на примере таблицы УСПЕВАЕМОСТЬ. Для каждого преподавателя необходимо определить число студентов, знания которых он оценил по лекцииному или практическому занятию.
Для этого:
откройте диалоговое окно перекрестного запроса, выполняемого на основе таблицы УСПЕВАЕМОСТЬ
для заголовков строк запроса выбрать поле ТАБН, для заголовков столбцов – поле видз
для ячейки таблицы выбрать номера всех студентов, которые экзаменовались у данного преподавателя по данному виду занятия.
так как несколько идентификаторов нельзя разместить в одной ячейке, для вычисления единственного значения в ячейке таблицы выбрать функцию COUNT для поля НС
Задание 9. Модифицировать запрос из Задания 7 таким образом, чтобы вместо табельных номеров преподавателя были их фамилии.
Для этого:
УСПЕВАЕМОСТЬ и ПРЕПОДАВАТЕЛЬ
в схеме данных должна быть установлена связь этих таблиц по полю ТАБН.
в запросе выбрать из таблицы ПРЕПОДАВАТЕЛЬ поле ФИО, а из таблицы
УСПЕВАЕМОСТЬ поля ВИДЗ и НС
5) Конструирование однотабличного запроса на выборку
Задание 10. Пусть необходимо выбрать предметы, по которым общее число часов изучения составляет не более 100 и есть лекции, а также выбрать предметы, по которым общее число часов больше 150 и число семестров изучения не более двух. Результат должен содержать наименование предмета (НП), общее число часов по предмету (ЧАСЫ), количество лекционных часов (ЛЕК) и число семестров (ЧС).
Для создания запроса необходимо:
в окне базы данных выбрать вкладку Запросы и нажать кнопку Создать
в окне Новый запрос выбрать Конструктор
в окне Добавление таблицы выбрать таблицу ПРЕДМЕТ и нажать кнопку Добавить
закрыть окно Добавление таблицы
в окне Имя запроса: запрос на выборку перетащить из списка таблицы ПРЕДМЕТ
поля НП, ЧАСЫ, ЛЕК, ЧС в столбцы бланка запроса в строку Поле
сформулируем условия отбора для данных из столбца ЧАСЫ: в строке Условие отбора запишем < = 100, в строке Или запишем > 150.
сформулируем условия отбора для данных из столбца ЛЕК: в строке Условие отбора
запишем <> 0.
сформулируем условия отбора для данных из столбца ЧС: в строке Условие отбора
ничего не пишем, в строке Или запишем < 3.
таким образом мы записали общее условие для нашего задания. (ЧАСЫ < = 100 AND
ЛЕК <> 0) ОR (ЧАСЫ > 150 AND ЧС < 3). Между условиями в разных полях одной
строки (например строки Условие отбора) выполняется логическая операция AND.
Между условиями, записанными в разных строках, выполняется логическая операция
ОR..
Запуск, на экране появится окно запроса в режиме таблицы с записями из таблицы
ПРЕДМЕТ, отвечающими заданным условиям отбора.
меню Файл.
Задание 11. Самостоятельно проверьте правильность задания общих часов в таблице ПРЕДМЕТ. По запросу должны отбираться только те записи, в которых значение в поле ЧАСЫ не равно значению, получаемому при сложении значений полей ПР и ЛЕК. Такое условие записывается в бланке запроса в столбце ЧАСЫ и в нем используются имена полей [ ПР ] и
[ЛЕК ] (в строке Условие отбора: < > [ ЛЕК ] + [ ПР ])
6) Конструирование многотабличного запроса на выборку.
Задание 12. Сконструируем запрос на основе нескольких взаимосвязанных таблиц. Пусть необходимо получить информацию об оценках, полученных студентом по всем предметам. Результат должен содержать фамилию студента, наименования сданных предметов и оценки.
Для создания запроса необходимо:
в окне базы данных выбрать вкладку Запросы и нажать кнопку Создать
в окне Новый запрос выбрать вкладку Конструктор
в окне Добавление таблицы выбрать
СТУДЕНТ - для выборки фамилии студента из поля ФИО;
УСПЕВАЕМОСТЬ - для определения кодов предметов (поле КП), по которым студент сдал экзамены, и выборки оценок по предмету (из поля ОЦЕНКА);
ПРЕДМЕТ - для выборки наименования предмета (из поля НП), представленного
кодом КП в таблице УСПЕВАЕМОСТЬ
так как в запросе используются несколько таблиц, в бланке запроса удобно видеть имя таблицы наряду с именем поля. Для отображения имени таблицы в бланке запроса выполнить команду Имена таблиц из меню Вид
перетащите с помощью мыши поля, включаемые в результат выполнения запроса, в строку бланка запроса Поле:
Задание 13. На основе созданного запроса в задании 12 получите информацию об успеваемости конкретных студентов - Борисовой Е.И. и Маковой.
Для этого:
задайте с строке Условие отбора фамилии студентов. Фамилии запишите в разных строках бланка запроса в поле ФИО: одну - в строке Условие отбора («Борисова Е.И.»). другую - в строке Или («Макова») Отметьте, так как фамилия и инициалы содержат точки, поэтому их необходимо брать в кавычки.
так как инициалы студентки Маковой неизвестны, ее фамилию зададим с использованием символа шаблона звездочка - *(«Макова*»).
после ввода фамилии с символом шаблона система сама вставляет оператор Like, определяющий поиск по образцу
выполните запрос, нажав на панели конструктора запросов кнопку Запуск
Задание 14. Создадим запрос с параметрами. Пусть необходимо получить информацию об оценке студента по заданному предмету. Основываемся на запросе из задания 12.
Для этого:
в Условие отбора поля ФИО вместо конкретной фамилии введите название параметра, по которому будет запрашиваться фамилия при выполнении запроса. Название параметра введем как текст, заключенный в квадратные скобки [ Фамилия и инициалы студента ]
введите в поле НП второй параметр запроса: [ Наименование предмета ]
при выполнении запроса Ассеss запросит ввести значения параметров, используя диалоговые окна, в них можно ввести конкретные интересующие вас значения
выполните запрос для фамилий студентов, использованных в задании 13.
Задание 15. Создадим запрос, в котором в условии отбора будут использоваться имена полей различных таблиц. Пусть необходимо выбрать записи из таблицы ИЗУЧЕНИЕ, в которых часы практических занятий по информатике в текущем семестре не соответствуют равномерному распределению по семестрам всех часов практики.
Для решения этой задачи используйте таблицы:
ПРЕДМЕТ, в которой содержатся сведения об общей продолжительности изучения предмета (поле ЧАСЫ) и числе семестров изучения (ЧС), НП, ПР.
ВИДЗ (таблица ИЗУЧЕНИЕ) задать значение «ПР» (практическое занятие)
при равномерном распределении практики по семестрам число часов практических занятий по предмету (ПР) должно равняться произведению часов практики (ЧАСЫ) из таблицы ИЗУЧЕНИЕ на число семестров (ЧС) из таблицы ПРЕДМЕТ. Нам необходимо включить только те записи, которые не соответствуют этому условию. В строке Условие отбора поля ПР (таблицы ПРЕДМЕТ) запишите выражение: <> [ ИЗУЧЕНИЕ ] ! [ ЧАСЫ ] * [ ЧС ]
запустить запрос на выполнение
обратите внимание, что при выполнении запроса вы получили пустую таблицу. Это значит, что все данные ваших таблиц распределены по семестру равномерно.
7) Использование вычисляемых полей в запросах.
Задание 16. Рассмотрим на примере таблицы ПРЕДМЕТ. Пусть необходимо найти записи о предметах, в которых общее число часов по предмету не совпадает с суммой часов лекций и практики. Для решения этой задачи рассчитаем разность между общим числом часов по предмету (поле ЧАСЫ) и суммой часов лекций (поле ЛЕК) и практики (поле ПР). В ответ включите только те записи, для которых эта разность не равна нулю.
создайте запрос на выборку для таблицы ПРЕДМЕТ;
перетащите в бланк запроса поля НП, ПР, ЛЕК, ЧАСЫ
для получения разности создайте вычисляемое поле в пустой ячейке строки Поле, запишите туда выражение: [ ЧАСЫ ] - [ ПР ] - [ ЛЕК ]
для отбора записей с ненулевым значением разности в вычисляемом поле в строку Условие отбора введите <> 0 (не равно нулю)
измените имя вычисляемого поля с Выражения 1 на Неверные часы
выполните запрос
самостоятельно сделайте вывод по результату запроса
8) Использование групповых операций в запросах.
Задание 17. Рассмотрим на примере таблицы СТУДЕНТ. Определим фактическое число студентов в группе.
Для этого:
из списка таблицы СТУДЕНТ выбрать и перетащить в бланк запроса поле НГ - номер группы (по нему будет производиться сортировка);
перетащите в бланк запроса поле НС, по которому будет вычисляться функция Count для подсчета числа студентов в группе;
нажмите кнопку Групповые операции
замените слово Группировка в столбце НС на функцию Count
замените подпись поля Count_НС на Фактическое число студентов
сохраните запрос под именем Число студентов в группах
Задание 18. Подсчитайте средний проходной балл в группе.
Для этого:
сформируйте запрос на выборку для таблицы СТУДЕНТ
вызовите Групповые операции
в строке Групповые операции в поле НГ оставьте операцию Группировка, в поле ПБАЛЛ запишите функцию Avg
для ограничения точности результата двумя знаками выберем в окне Свойства поля в строке Формат поля - Фиксированный
выполните запрос
сохраните запрос под именем Средний проходной балл группы
Задание 19. Самостоятельно выполните расчет числа студентов и среднего проходного балла в группе в одном запросе. Это возможно, так как группы записей в обоих случаях формируются одинаково. Сохраните этот запрос пол именем Число студентов и средний ПБАЛЛ группы. Указание: в поле НГ в строке Групповая операция оставить Группировку, в поле НС -функция Count, в поле ПБАЛЛ – функция Avg
Задание 20. Самостоятельно подсчитайте число студентов в группах с проходным баллом большим, чем 4.5. Указание: используйте созданный вами запрос Число студентов и средний ПБАЛЛ группы, вторично включив в него поле ПБАЛЛ и в строке Групповые операции этого нового поля замените слово Группировка словом Условие. В строку Условие отбора в
этом поле включить > 4,5. Это поле не выводите на экран.
9) Конструирование запроса на создание таблицы.
Задание 21 . Сформируйте запрос на создание таблицы на примере ранее полученного запроса на выборку с групповыми вычислениями Число студентов в группах.
Для этого;
в окне базы данных вызвать названный запрос в режиме Конструктора запросов;
преобразуйте этот запрос в запрос на создание таблицы, нажав кнопку со списком Тип запроса и из списка выбрать Создание таблицы;
в окне Создание таблицы введите имя создаваемой таблицы - Число студентов;
выполните запрос
просмотрите новую таблицу (при этом не забудьте перейти на вкладку Таблицы)
Задание 22. Самостоятельно преобразуйте запрос на выборку Средний проходной балл группы в запрос на создание таблицы и дайте :тмя создаваемой таблице СРБАЛЛ.
10). Конструирование перекрестного запроса.
Задание 26. Создадим перекрестный запрос Изучение предметов группами, полученным мастером создания запросов. Заменим в ней коды предметов наименованиями. Полю, содержащему результат суммирования по строкам, дадим пользовательское имя - Всего часов.
откройте запрос Изучение предметов группами в режиме Конструктора
поле с наименованием предмета (НП) размещено в таблице ПРЕДМЕТ, поэтому к запросу нужно добавить эту таблицу. Для этого, находясь в окне Конструктора, нажмите кнопку Добавить таблицу
замените в бланке запроса поле КП на поле НП таблицы ПРЕДМЕТ. Для этого выполните пункт меню Вид, команду Имена таблиц
в поле КП в строке Имя таблицы нажмите кнопку списка и выберете ПРЕДМЕТ
в строке Поле выбрать НП
измените подпись поля на Всего часов