Контрольная работа


Цель: Разработать проект базы данных (БД) в соответствии с индивидуальным заданием.

Процесс разработки должен включать следующие этапы:
  1. Концептуальное проектирование базы данных
  2. Определение типов сущностей
  3. Определение типов связей
  4. Определение атрибутов и связывание их с типами сущностей и связей
  5. Определение атрибутов, являющихся потенциальными и первичными ключами
  6. Создание диаграммы "сущность-связь"
  7. Логическое проектирование базы данных (для реляционной модели)
  8. Преобразование концептуальной модели данных в логическую модель
  9. Определение набора отношений исходя из структуры логической модели данных
  10. Проверка модели с помощью правил нормализации
  11. Определение требований поддержки целостности данных.
  12. Физическое проектирование базы данных (с использованием СУБД MS Access)
  13. Проектирование основных таблиц в среде целевой СУБД.
  14. Реализация бизнес-правил предприятия в среде целевой СУБД.
Содержание отчета по контрольной работе
  1. Задание для контрольной работы
  2. Описание типов сущностей (имя, описание, особенности использования).
  3. Описание типов связей (тип сущности, тип связи, тип сущности, кардинальность).
  4. Описание атрибутов (тип сущности, атрибут, описание, тип данных, ограничения, значение по умолчанию, допустимость NULL).
  5. Описание потенциальных и первичных ключей (тип сущности, атрибут или группа атрибутов).
  6. Диаграмма "сущность-связь", отображающая концептуальную модель.
  7. Описание процесса, преобразования концептуальной модели данных в логическую модель
  8. Описание процесса нормализации отношений с приведением всех промежуточных отношений к форме Бойса-Кодда.
  9. Описание всех установленных ограничений целостности данных.
  10. Структуры таблиц БД в режиме конструктора. Описание свойств полей таблиц, входящих в БД.
  11. Схема связей между таблицами.
  12. Содержание таблиц в режиме таблицы.
  13. Описание реализации бизнес-правил предприятия в среде СУБД.

Варианты заданий
№БД должна содержать сведения о следующих объектахПредметная область БД
1
  • Минимальный список характеристик: Автор книги, название, год издания, цена, является ли новым изданием, краткая аннотация;
  • Читательский билет (номер), ФИО, адрес и телефон читателя, дата выдачи книги читателю и дата сдачи книги читателем.
Библиотека
2
  • Код товара, название товара, количество на складе, стоимость единицы товара, примечания - описание товара;
  • номер и ФИО поставщика товара, срок поставки и количество товаров в поставке.
Оптовая база
3
  • Номер, ФИО, адрес и должность преподавателя;
  • код, название, количество часов, тип контроля и раздел предмета;
  • код, название, номер заведующего кафедрой;
  • номер аудитории, где преподаватель читает свой предмет.
Университет
4
  • Наименование специальности,
  • код группы,
  • ФИО,
  • дата рождения,
  • домашний адрес,
  • телефон слушателя,
  • примечания - автобиография слушателя;
  • код, название, количество часов и вид контроля предметов, код сессии и оценки каждого слушателя каждому предмету в каждую сессию.
Деканат
5
  • Предметная область ИС: Личные данные о студентах.
  • Минимальный список характеристик:
  • Фамилия и инициалы студента, курс, факультет, специальность, дата рождения студента, семейное положение, сведения о семье
Личные данные о студентах
6
  • Номер, фамилия, имя, отчество, дата рождения пациента;
  • ФИО, должность и специализация лечащего врача,
  • диагноз, поставленный данным врачом данному пациенту, необходимо ли амбулаторное лечение, срок потери трудоспособности, состоит ли на диспансерном учете, примечание
Поликлиника
7
  • Кличка лошади, масть, возраст, вид забега, является ли лошадь фаворитом,
  • фамилия наездника, занятое место, примечание.
Ипподром
8
  • Магазины - название, адрес, персонал, наличие товара.
  • Продавцы - фамилия, адресные данные.
  • Выручка - дата, магазин, товар, продавец.
  • Товар - название
Сеть магазинов
9
  • Распределение номеров по этажам, с указанием общего количества мест в номере, количества свободных мест и проживающих
  • Паспортные данные гостей и распределение их по номерам с указанием времени (срока) проживания
  • Услуги, оказанные гостям
Гостиница
10
  • Номер абонента,
  • фамилия абонента,
  • адрес,
  • дата установки,
  • наличие блокиратора,
  • задолженность,
  • примечание
=============================================

Лабораторная работа № 1. Создание и редактирование таблиц базы данных

Цель работы: Приобрести навыки создания и редактирования таблиц базыданных в различных режимах работы MS Access.
PS: Если нет Microsoft Office на вашем компьютере, то рекомендуется использовать Libre Office
Порядок выполнения работы:
В процессе выполнения данной лабораторной работы необходимо создать таблицу Студент, которая должна содержать следующие поля: Номер, ФИО, Дата рождения, Домашний адрес, Телефон, Пол, Факультет, Группа, Размер стипендии, Военнообязанный, Средний балл.
Задание 1. Создание новой таблицы в режиме таблицы. Данный режим позволяет пользователю создать таблицу, не определяя предварительно ее структуру. После выбора режима открывается пустая таблица, в которую можно ввести данные. При сохранении MS Access автоматически присвоит соответствующий тип данных каждому полю таблицы.
Задание 2. Создание новой таблицы с помощью Мастера таблиц. В этом режиме автоматически создается новая таблица по одному из шаблонов, хранимых в MS Access. Каждая таблица шаблона содержит набор полей, из которых можно выбрать необходимые поля для конкретной таблицы. Включаемые в таблицу поля при необходимости могут быть переименованы.
Задание 3. Создание новой таблицы в режиме конструктора. В этом режиме создание таблицы начинается с определения ее структуры. Режим конструктора позволяет самостоятельно указывать параметры всех элементов структуры таблицы.
Задание 4. Изменение параметров представления таблицы. Откройте базу данных Университет, созданную ранее, и проведите следующие изменения параметров таблицы Студент:
  1. Измените ширину столбцов. Для этого установите указатель мыши на линию, разделяющую названия столбцов (курсор превращается в планочку со стрелками), и перетащите границу на нужное расстояние. Можно удалить столбец с экрана, совместив, таким образом, его правую и левую границы,
  2. Переместите столбец Пол в конец таблицы. Для этого поместите указатель мыши на заголовок столбца так, чтобы он принял вид вертикальной стрелки и, не отпуская клавишу, перетащите столбец на новое место. Восстановите исходный порядок расположения полей.
  3. Закрепите первые два столбца таблицы на экране, воспользовавшись соответствующей командой меню Формат.
  4. Скройте столбец Военнообязанный командой Скрыть столбцы изменю Формат.
  5. Отобразите скрытый столбец на экране.
Задание 5. Редактирование данных. Проведите редактирование данных в полях таблицы:
  1. Отредактируйте данные в столбце ФИО. Для этого сделайте столбец текущим и выберите команду Замена меню Правка. Образец поиска и замены выберите произвольно. Внимательно проанализируйте и правильно задайте условия поиска.
  2. Отредактируйте данные в столбце Размер стипендии произвольным образом.
Задание 6. Сортировка записей таблицы. Проведите сортировку записей таблицы:
  1. Отсортируйте данные по значению поля ФИО в порядке убывания, щелкнув по кнопке Сортировка(курсор при этом должен находиться в поле сортировки). Отмените сортировку командой изменю Записи. Сортировку можно выполнить также командой Сортировка изменю Записи.
  2. Отсортируйте записи таблицы по двум полям. В качестве первого ключа сортировки выберите столбец Факультет, в качестве второго ключа - поле ФИО. Сортировка по нескольким полям выполняется с помощью расширенного фильтра меню Записи►Фильтр►Расширенный фильтр. В появившемся окне диалога выберите из списка имена полей и порядок сортировки. Щелкните на панели инструментов кнопку Применение фильтра и проанализируйте результаты.
Задание 7. Фильтрация записей таблицы. Проведите отбор необходимых записей таблицы с помощью фильтра. Результаты выполнения каждого пункта задания необходимо занести в отчет по лабораторной работе.
  1. Выведите сведения о мужчинах с помощью фильтра по выделенному. Это простейший способ задания условий отбора записей, при котором в таблице выделяется значение поля или его части. После выделения условия отбора в поле Пол, воспользуйтесь командой меню Записи!Фильтр!Фильтр по выделенному или нажмите соответствующую кнопку на панели инструментов. Добавьте еще одно произвольное условие отбора в поле Год рождения для уже отобранных записей и еще раз воспользуйтесь фильтром по выделенному. Каждое новое выделение накладывает дополнительное условие на отбор записей существующим фильтром. Для отмены действия фильтра удобно пользоваться соответствующей кнопкой панели инструментов.
  2. Воспользуйтесь для отбора записей контекстным меню. Для этого в поле ФИО щелкните правой клавишей мыши и введите в текстовое поле маску ввода для фамилий, начинающихся на букву К. После просмотра полученных сведений отмените фильтр.
  3. Повторите пункт 2, но теперь, не выходя из текстового поля, нажмите кнопку ТАБ. Далее правой клавишей мыши щелкните по полю Группа и в текстовом поле введите условия отбора сведений о студентах групп специальности Программирование. После просмотра результатов удалите фильтр.
  4. Выделите сведения о мужчинах, родившихся в 1990 году. Для этого воспользуйтесь расширенным фильтром, введя условия отбора в бланк конструктора. Примените, а затем отмените фильтр.
  5. Удалите две последние записи таблицы, а затем попробуйте добавить новую запись. Проследите за значением поля Счетчик. Удалите введенную запись. Сохраните таблицу и закройте БД.
  6. Завершите сеанс работы с Microsoft MS Access.

Лабораторная работа 2 (часть 1)

Создание простых запросов

Цель работы: Приобрести навыки создания запросов в режимах мастера и конструктора.
PS: Если нет Microsoft Office на вашем компьютере, то рекомендуется использовать Libre Office
Порядок выполнения работы:
Задание 1. Создание простого запроса на выборку с помощью Мастера запросов
Для выполнения задания выполните следующие действия.
  1. Откройте базу данных, созданную в лабораторной работе 1.
  2. На вкладке Запросы щелкните на кнопке Создатьи выберите вариант Простой запрос.
  3. В списке выберите таблицу Студент.
  4. Дважды щелкните на полях, которые должны отображаться в запросе.
  5. Настройте параметры сортировки записей по полю Факультет и введите имя запроса.
  6. Выполните запрос и проверьте полученные результаты.
  7. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 2. Создание итогового запроса с помощью Мастера запросов
В данном задании необходимо создать запрос, содержащий только сведения о количестве студентов на каждом факультете. Для выполнения задания выполните следующие действия.
  1. В процессе построения запроса на выборку, описанном в задании 1, щелкните на переключателе Итоговый и по кнопке Итоги.
  2. Укажите, какие итоговые значения необходимо вычислить.
  3. Выполните запрос и проверьте полученные результаты.
  4. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 3. Создание запроса для поиска повторяющихся записей с помощью Мастера запросов
Такой запрос выводит только те записи, для которых есть хотя бы еще одна запись в таблице с одинаковым значением в выбранных полях. Для выполнения задания выполните следующие действия.
  1. В диалоговом окне Новый запрос выберите из списка опцию Повторяющиеся записи.
  2. Дважды щелкните на имени поля, по которому будет определяться дублирование.
  3. Введите имя запроса и щелкните по кнопке Далее.
  4. Выполните запрос и проверьте полученные результаты.
  5. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 4. Создание перекрестного запроса с помощью Мастера запросов
В данном задании необходимо создать перекрестный запрос, вычисляющий средний балл студентов на каждом из курсов факультетов только сведения о количестве студентов на каждом факультете. Перекрестный запрос представляет собой сводную таблицу, в которой левый столбец образует заголовки строк из значений одного поля, верхняя строка образует заголовки столбцов из значений другого поля, а на пересечении строк и столбцов размещаются итоговые значения, вычисленные по значениям третьего поля. При этом значения третьего поля группируются по полям, используемых в качестве заголовков, а для получения групп значений применяется одна из выбранных статистических функций.
Для выполнения задания выполните следующие действия.
  1. В окне диалога Новый запрос выберите из списка опцию Перекрестный запрос.
  2. В первом окне Мастера выберите таблицу Студент.
  3. Продумайте, какие поля будете использовать в качестве строк и столбцов.
  4. Дважды щелкните на имени поля, значения которого будут использоваться в качестве заголовков строк.
  5. Дважды щелкните на имени поля, значения которого будут использоваться в качестве заголовков столбцов.
  6. В списке полей выберите поле, по которому будет определяться значение на основании выбранной статистической функции.
  7. В последнем окне мастера задайте имя запроса и щелкните по кнопке Готово.
  8. Выполните запрос и проверьте полученные результаты.
  9. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 5. Создание запроса на выборку с помощью Конструктора
В данном задании необходимо создать запрос, выводящий данные о военнообязанных мужчинах, получающих стипендию. Для выполнения задания выполните следующие действия.
  1. В окне диалога Новый запрос выберите из списка опцию Конструктор.
  2. Выберите имя таблицы, по которой будет построен запрос, и щелкните по кнопке Добавить.
  3. Перетащите из списка полей таблицы в строку Поле нижней области окна те поля, которые должны отображаться в запросе, или выберите эти поля непосредственно из списка в строке Поле.
  4. Назначьте порядок сортировки и установите флажки вывода на экран.
  5. В ячейке строки Условие отбора поля, по которому осуществляется отбор данных, введите критерий отбора.
  6. Выполните запрос и проверьте полученные результаты.
  7. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 6. Создание запрос на обновление с помощью Конструктора
Запрос на обновление позволяет изменить данные в исходной таблице. В данном задании необходимо создать запрос, увеличивающий для всех военнообязанных размер стипендии на 10%. Для выполнения задания выполните следующие действия.
  1. В окне диалога Новый запрос выберите из списка опцию Конструктор.
  2. Выберите имя таблицы, по которой будет построен запрос, и щелкните по кнопке Добавить.
  3. С помощью пункта меню Запрос или значка Тип запроса на панели инструментов выберите тип запроса Обновление.
  4. В список полей в нижней части окна включите поле, по которому будет осуществляться отбор данных для обновления, и поле, значения которого должны быть изменены.
  5. В поле Военнообязанный в строке Условие отбора введите условие отбора записей.
  6. Для поля, подлежащего обновлению, введите в соответствующую ячейку нужное выражение (если в выражениях участвуют имена полей, то они заключаются в квадратные скобки).
  7. Кнопкой на панели инструментов запустите запрос на обновление. Подтвердите необходимость изменения данных в таблице.
  8. Переключитесь в режим таблицы после выполнения запроса (кнопка на панели инструментов) и просмотрите обновленное содержимое поля. Убедитесь, что после выполнения запроса данные в исходной таблице изменились
  9. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 7. Создание запрос на создание новой таблицы с помощью Конструктора
В новую таблицу включите сведения о студентах в возрасте от 21 до 23 лет. Выберите соответствующий тип запроса, список полей, отображаемых в новой таблице, и условие отбора записей в новую таблицу. Для ввода выражения в ячейку Условие отбораиспользуйте построитель выражения, значок которого находится на панели инструментов.
Задание 8. Создание запрос на удаление записей с помощью Конструктора
Запрос на удаление позволяет удалять записи таблицы, удовлетворяющие заданному критерию. Критерий отбора записей для удаления записей в данном задании выберите произвольно. Для выполнения задания выполните следующие действия.
  1. Запрос на удаление первоначально создается как запрос на выборку.
  2. После выбора типа запроса он превращается в запрос на удаление. В бланке запроса в нижней части окна появится строка Удаление.
  3. С помощью мыши переместите символ звездочки (*) из списка полей таблицы, записи которой требуется удалить, в бланк запроса. В строке Удаление в столбце этого поля появится значение Из.
  4. В строке Поле выберите имя поля, для которого устанавливается условие отбора.
  5. Введите в соответствующую ячейку условие отбора.
  6. Для предварительного просмотра удаляемых записей нажмите кнопку Вид на панели инструментов.
  7. Выполните запрос и проверьте полученные результаты.
  8. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 9. Создание параметрический запрос с помощью Конструктора
В данном задании необходимо создать запрос, выводящий данные о студентах факультета посредством параметрического запроса. При этом наименование факультета должно запрашиваться перед выполнением запроса. Для выполнения задания выполните следующие действия.
  1. Создайте запрос на выборку, но в условие отбора вместо конкретного значения поля введите в квадратных скобках название параметра, например, [НАИМЕНОВАНИЕ ФАКУЛЬТЕТА].
  2. Выполните запрос и проверьте полученные результаты.
  3. Добавьте в условие отбора еще один параметр и снова выполните запрос.
  4. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 10. Создание запрос с группировкой с помощью Конструктора
В данном задании необходимо создать запрос для вычисления стипендиального фонд а каждой группы. Использование групповых операций позволяет выделить группы записей с одинаковыми значениями в заданных полях и использовать для других полей этих групп определенную статистическую функцию.
Для выполнения задания выполните следующие действия.
  1. Создайте простой запрос, содержащий только два поля: поле, по которому производится группировка и поле, для которого выполняется групповая операция.
  2. На панели инструментов щелкните по значку Групповые операции или выполните команду Групповые операции меню Вид.
  3. В бланке конструктора в ячейке Групповая операция выберите вариант Группировка.
  4. В столбце поля, над которым производится вычисление, замените слово Группировка на нужную статистическую функцию, выбрав ее из списка, предлагаемого построителем выражения.
  5. Для изменения имени поля установите курсор мыши на заголовке поля Размер стипендии и нажмите правую клавишу. В контекстном меню выберите команду Свойство Подпись и введите новый заголовок Стипендиальный фонд.
  6. Запустите запрос на выполнение и сохраните его. Результат запроса с использованием групповых операций должен содержать по одной записи для каждой группы.
  7. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
Задание 11. Создание вычисляемого поля в запросе с помощью Конструктора
В данном задании необходимо включить в простой запрос, созданный в задании 1, вычисляемое поле, в котором рассчитывается размер стипендии с учетом районного коэффициента. Вычисляемое поле, включенное в запрос, позволяет получить новое поле с результатами вычислений только в таблице с результатами запроса и не создает нового поля в таблице БД.
Для выполнения задания выполните следующие действия.
  1. Откройте простой запрос в режиме конструктора.
  2. Если поле Размер стипендии отсутствует в бланке конструктора, добавьте его из списка полей таблицы.
  3. В пустой ячейке строки Поле введите выражение для расчета значений поля К_выдаче в виде имя_нового_поля: [имя_поля] <выражение>. Для построения выражения воспользуйтесь построителем выражений.
  4. Выполните запрос и проверьте полученные результаты.
  5. Скопируйте результаты выполнения запроса и поместите в отчет по лабораторной работе.
  6. Завершите сеанс работы с Microsoft MS Access.
Содержание отчета по лабораторной работе
Отчет должен начинаться с титульного листа. Для каждого задания лабораторной работы необходимо привести условие задания и результаты выполнения задания.
Результаты должны включать:
Ø результаты запросов, созданных в результате выполнения заданий 1, 2, 3, 4.
Ø копии фрагментов экранов со структурами запросов в режиме конструктора, созданных в результате выполнения заданий с 5 по 11.
Ø результаты запросов, созданных в результате выполнения заданий с 5 по 11.
Ø Тексты SQL операторов, реализующих выполненные запросы.
Замечание. Поскольку в отчете полные копии экранов с объектами базы данных в режиме конструктора выглядят слишком мелко, необходимо вставлять в отчет фрагменты копий экранов, таким образом, чтобы преподаватель мог проверить ответы.

Лабораторная работа 2 (часть 2) Создание многотабличных запросов

Цель работы: Приобрести навыки создания запросов, использующих данные из нескольких связанных таблиц
Теория
Обычно реляционная база данных состоит из взаимосвязанных таблиц. Логические связи реализуются за счет одинаковых полей в связываемых таблицах. Связи между таблицами дают возможность совместного использования данных из разных таблиц. Появляется возможность конструирования многотабличных форм, запросов и отчетов, обеспечивается целостность данных.
Реляционная база данных состоит из нормализованных таблиц. Выполнение требований нормализации обеспечивает построение реляционной БД без дублирования данных.
В процессе создания БД сначала осуществляется конструирование таблиц, а затем создается схема данных, в которой фиксируются существующие логические связи между таблицами. Схема данных является графическим образом БД.
Если поле, по которому устанавливается связь, является уникальным ключом как в главной таблице, так и в подчиненной, MS Access устанавливает связь один-к-одному (1:1). Такие таблицы могут быть объединены в одну.
Если поле связи, является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, то MS Access устанавливает связь один-ко-многим (1: М) от главной таблицы к подчиненной.
Если модель данных разработана в соответствии с требованиями нормализации, в схеме данных могут быть заданы параметры обеспечения целостности базы данных, а именно
Ø В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи.
Ø В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице.
Ø Изменение значение ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблице.
Установление между двумя таблицами связи типа 1:1 или 1: М и задание параметров целостности данных возможно только при следующих условиях:
Ø Связываемые поля имеют одинаковый тип данных, при этом имена полей могут быть различны.
Ø Таблицы хранятся в одной БД.
Ø Главная таблица связывается с подчиненной по первичному простому или составному ключу главной таблицы.
MS Access не позволяет создавать связи с параметрами целостности, если ранее введенные в таблицы данные не отвечают требованиям целостности. При вводе некорректных данных в связанные таблицы MS Access выводит предупреждающее сообщение.
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного обновления и удаления связанных записей.
В режиме каскадного обновления при изменении значения в поле связи главной таблицы MS Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы MS Access автоматически выполнит каскадное удаление подчиненных записей на всех уровнях.
Порядок выполнения работы:
Задание 1. Создание базы данных
В работе необходимо создать базу данных, которая должна содержать информацию об успеваемости студентов на протяжении обучения в университете. Предполагаем, что информация о сдаче экзаменов для 8 студентов хранится в таблице Исходная, которая включает следующие поля: Номер студенческого билета, ФИО, Дата рождения, Домашний адрес, Телефон, Пол, Факультет, Группа, Предмет, Оценка, Дата сдачи экзамена, Код преподавателя, ФИО преподавателя, Кафедра преподавателя.
Ограничения.
  1. По каждому предмету в базе данных для отдельного студента может храниться только одна оценка.
  2. В таблице Предметы должна храниться информация о предметах, изучаемых в университете.
  3. Преподаватель может работать только на одной кафедре и может преподавать несколько предметов.
  4. Кафедра обеспечивает преподавание многих предметов.
Для выполнения задания выполните следующие действия.
  1. Проведите нормализацию таблицы Исходная. В результате нормализации вы должны получить три таблицы, находящиеся в нормальной форме Бойса-Кодда.
  2. Создайте новую базу данных Успеваемость.
  3. Создайте в базе данных Успеваемость три таблицы: Студенты, Оценки и Предметы. Задайте для каждой таблицы первичный ключ. Определите внешние ключи.
  4. Установите связи между таблицами.
  5. Задайте ограничения целостности для связей между таблицами.
  6. Введите данные в таблицы с информаций об успеваемости 8 студентов, каждый из которых сдал 6 экзаменов. Студенты могут учиться на разных специальностях, поэтому количество предметов выберите самостоятельно. Можно ограничиться несколькими преподавателями, предполагая, что один преподаватель может принимать экзамены по нескольким предметам.
Задание 2. Создание запросов с помощью Конструктора
В данном задании необходимо создать запросы для вывода следующей информации:
  1. Полные результаты сдачи экзаменов для выбранного студента (для выбора использовать запрос с параметром).
  2. Результаты сдачи экзаменов, принятых выбранным преподавателем.
  3. Средняя оценка сдачи экзамена по выбранному предмету.
  4. Средние баллы всех студентов.
  5. Студент, имеющий наивысший балл по выбранному предмету.
  6. Преподаватель, принявший наибольшее количество экзаменов.
Содержание отчета по лабораторной работе
Отчет должен начинаться с титульного листа. Для каждого задания лабораторной работы необходимо привести условие задания и результаты выполнения задания.
Результаты должны включать следующее:
Ø для задания 1 привести скриншоты со структурами созданных таблиц, схему связей между таблицами, перечень используемых первичных и вешних ключей, содержание таблиц.
Ø для задания 1 привести доказательство того, что созданные таблицы находятся в нормальной форме Бойса-Кодда.
Ø для каждого запроса, созданного в задании 2, привести номер пункта, задание для данного пункта, скриншот запроса в режиме конструктора, результат запроса, SQL оператор, реализующий запрос.

Лабораторная работа 3 (Часть 1)

Создание форм

Цель работы: Приобрести навыки создания и использования форм.
PS: Если нет Microsoft Office на вашем компьютере, то рекомендуется использовать LibreOffice
Задание 1. Создание формы с помощью Мастера форм
Для выполнения задания выполните следующие действия.
  1. Откройте в среде Microsoft Access базу данных Борей.
  2. Для запуска мастера форм перейдите на вкладку Формы, нажмите кнопку Создать, выберете Мастер форм и укажите имя таблицы Клиенты, рис. 1. Щелкните ОК.

Рисунок 1 - Окно Новая форма

  1. Выберите все доступные поля, нажмите кнопку Далее.
  2. Выберите внешний вид формы В один столбец, нажмите кнопку Далее.
  3. В следующем диалоговом окне установите параметры оформления по своему вкусу.
  4. В четвертом диалоговом окне задайте имя формы Информация о клиентах, рис.2. Щелкните Готово.

Рисунок 2 – Ввод имени формы

Каждая запись (то, что являлось отдельной строкой таблицы) теперь представляет собой как бы отдельную карточку, рис. 3. Вводить данные удобнее именно в таком режиме.
В строке состояния (в нижней части окна формы) отражено общее число записей и номер записи, которую вы сейчас видите.

Рисунок 3 – Форма Информация о клиентах

  1. Выполните следующие действия, используя форму:
Ø пролистайте все имеющиеся записи;
Ø перейдите к первой записи;
Ø перейдите к последней записи;
Ø внесите исправления в некоторые записи;
Ø добавьте две записи.
  1. Пришло время проверить, отобразились ли наши записи в исходной таблице. Для этого в окне База данных выберите вкладку Таблицы и откройте таблицу Клиенты.
  2. Закройте таблицу и перейдите вновь к форме Клиенты.
Форму можно представить в режиме таблицы с помощью команды Вид►Таблица. В режиме таблицы можно вводить и редактировать данные. Можно удалять записи, выделив строку таблицы и нажать клавишу Dе1е1е.
В таблице существует возможность переставлять столбцы, перетаскивая мышью заголовок столбца.
  1. Переведите форму в режим таблицы. Поменяйте местами столбцы Название и Должность. Переключитесь в режим формы и посмотрите, остались ли поля на старых местах.
  2. Создайте форму для таблицы Товары. Скопируйте скриншот с созданной формой в режиме конструктора и поместите в отчет по лабораторной работе.
Задание 2. Создание формы с помощью Конструктора
Для создания нового поля уже в существующей форме можно использовать элементы управления. Элементы управления — это графические объекты, размещенные в форме или отчете и предназначенные для изображения данных, выполнения операций или придания форме большей выразительности.
Рассмотрим вид окна формы в режиме конструктора, рис. 4.

Рисунок 4 – Форма в режиме конструктора

Ниже приведено описание назначение основных областей формы в режиме конструктора.
Область данных. Служит для размещения основных элементов управления. Может быть увеличена (или уменьшена) за счет изменения нижней границы. Именно в этой области и будет происходить дальнейшая работа.
Область заголовка формы. Используется для вывода текста заголовка формы, инструкций по работе с формой или кнопок, открывающих связанные формы или выполняющих другие задачи. Область заголовка формы (подпись) выводится в верхней части окна формы и в начале печатной формы. Подпись не связана с полями базы данных, она является постоянной, т. е. ее содержание не меняется при перемещении по записям формы. Подпись можно изменить или удалить, выделив имеющуюся. Можно добавить новую подпись, выбрав инструмент панели элементов кнопку. Подписи можно перемещать и располагать по своему вкусу.
Область заголовка формы можно расширить, если опустить нижнюю границу, "схватив" ее мышью.
Область примечаний. Область примечаний формы выводится в нижней части окна формы. Используется для вывода инструкций по работе с формой, кнопок или свободных элементов управления, принимающих действия пользователя. Область заголовка формы можно расширить, если опустить нижнюю границу, "схватив" ее мышью.
Панель элементов позволяет добавлять элементы управления в формы или отчеты. Для добавления элемента управления следует выбрать соответствующий инструмент. При переводе в форму или отчет указатель приобретает вид крестика с расположенным рядом значком выбранного элемента управления. Требуется установить указатель в форме в позиции, в которой должен находиться верхний левый угол элемента управления, и нажать кнопку мыши. В случае отсутствия на экране панели элементов, вывести ее можно нажатием кнопки панели инструментов или вызовом команды Вид "Панель элементов.
Для вставки элемента управления предназначена панель Элементы управления, рис.5. В случае отсутствия на экране панели элементов, вывести ее можно нажатием кнопки панели инструментов или вызовом команды Вид►Панель элементов.

Рисунок 5 – Панель Элементы управления

В таблице 1 приведено описание назначение управляющих элементов панели.

Таблица 1. Управляющие элементы панели Элементы управления

В данном задании необходимо добавить в форму переключатель, указывающий, является ли данный клиент постоянным клиентом. Признак постоянности может быть в дальнейшем использоваться для назначения скидок клиенту.
Предположим, мы хотим, чтобы результат использования переключателя в форме отражался в исходной таблице. Для этого предварительно нужно создать в таблице новое поле.
  1. Откройте таблицу Клиенты в режиме конструктора и создайте новое текстовое поле Постоянный, в столбце Описание введите текст( 1 – постоянный клиент, 2 - временный клиент). Поле не заполняйте данными. Когда вы будете устанавливать переключатель формы в одно из положений (да/нет), в таблице этот результат будет отражаться цифрами (1/2).
  2. Добавим в форму Информация о клиентах новый элемент управления - переключатель (для заполнения данными поля Постоянный). Выберите инструмент Группа.
  3. Определите место в форме, куда нужно поместить верхний левый угол группы и щелкните мышью. С этого момента начинает свою работу Мастер по разработке групп (рис. 6).

Рисунок 6 – Мастер по разработке групп

  1. В первом окне диалога Создание группы введите значения постоянный клиент и временный клиент . Нажмите кнопку Далее.
  2. Во втором окне мастера откажитесь от необходимости в выборе значения по умолчанию. Нажмите кнопку Далее.
  3. В следующем окне нажмите Далее, чтобы использовать значения, предлагаемые системой. Нажмите кнопку Далее.
  4. В четвертом окне щелкните Сохранить значение в поле и в списке полей выберите Постоянный.. Нажмите кнопку Далее.
  5. В следующем окне определите вариант оформления группы (Вдавленное, утопленное и т.д.), выберите тип элементов группы (флажки, переключатели, выключатели). Нажмите кнопку Далее.
  6. Дальше введите подпись для группы Категория и нажмите кнопку Готово. Форма будет представлена в режиме конструктора.
  7. В случае необходимости переместите вновь созданный элемент управления в нужное место формы.
  8. Пролистайте несколько записей формы и для каждой из них установите переключатель в нужное положение.
  9. Откройте таблицу Клиенты и проверьте, каким образом отражены в ней значения поля Постоянный.
  10. Добавьте в форму Информация о клиентах элемент управления Список для ввода значений поля Район. Поле Район, хранящее данные о районе города, в котором находится офис клиента, необходимо предварительно добавить в таблицу Клиенты. Скопируйте скриншоты с созданной формой в режимах конструктора и таблицы, а затем поместите в отчет по лабораторной работе.
Задание 3. Создание подчиненной формы
В некоторых случаях бывает удобно использовать вложенные формы, состоящие из главной и подчиненной форм. Главная форма – это форма, содержащая одну или несколько подчиненных форм. Подчиненная форма – это форма, содержащаяся внутри другой, главной формы.
В данном задании необходимо создать форму Типы, которая выводит в подчиненной форме список товаров, заданного типа.
1. В окне базы данных нажмите кнопку Формы.
  1. На панели инструментов окна базы данных нажмите кнопку Создать.
  2. В диалоговом окне Новая форма дважды щелкните строку Мастер форм.
  3. В первом диалоговом окне мастера выберите в списке таблицу или запрос. Чтобы создать форму Типы2008, которая выводит в подчиненной форме список товаров, относящихся к конкретной категории, выберите таблицу Типы. Это будет таблица на стороне «один» отношения «один-ко-многим».
5. Дважды щелкните поля таблицы Категория и Описание, которые нужно включить в форму.
  1. В том же диалоговом окне мастера выберите из списка другую таблицу или запрос. В рассматриваемом примере выберите таблицу Товары. Это будет таблица на стороне «многие» отношения «один-ко-многим».
7. Дважды щелкните поля таблицы Код товара, Марка и Цена, которые нужно включить в форму.
8. Если до запуска мастера связь между таблицами установлена правильно, то после нажатия кнопки Далее мастер предложит выбрать таблицу или запрос, используемые для представления данных. В рассматриваемом примере для создания формы Типы2008 выберите в списке строку по Типы.
9. В том же диалоговом окне выберите переключатель Подчиненные формы.
10. Следуйте инструкциям остальных диалоговых окон мастера. После нажатия кнопки Готово Microsoft Access создаст две формы: одну для главной формы, а другую для подчиненной формы.
  1. Создайте главную и подчиненную формы для таблиц Клиенты и Заказы. Скопируйте скриншот с созданной формой в режиме таблицы и поместите в отчет по лабораторной работе.
  2. Завершите сеанс работы с Microsoft MS Access.
Содержание отчета по лабораторной работе
Отчет должен начинаться с титульного листа. Для каждого задания лабораторной работы необходимо привести условие задания и результаты выполнения заданий.

Лабораторная работа 3 (Часть 2) Создание меню и модулей

Цель работы: Приобрести навыки создания пользовательских меню и использования модулей.
Порядок выполнения работы:
В данной лабораторной работе используется учебная база данных Борей, поставляемая с СУБД Microsoft Access. В процессе работы будут созданы элементы пользовательского интерфейса, облегчающие процесс вода данных в базу данных.
Задание 1. Использование макроса
Макрос – это совокупность одной или нескольких команд Access, которые выполняются при запуске макроса. Макросы могут использоваться для автоматизации выполнения повторяющихся задач, таких как открытие форм, печать отчетов и выполнение запросов. Команда – это инструкция для Access, приказывающая выполнить операцию, такую как, открытие формы или вывод отчета. Для каждой команды можно задать параметры, которые необходимы для ее выполнения. При запуске макроса все команды, входящие в макрос, выполняются последовательно.
Для создания макроса щелкните вкладку Макросы, а затем щелкните кнопку Создать. Макрос можно создать также внутри формы или отчета. В первом задании вы добавите в форму Информация о клиентах макрос для выбора клиента из списка. Макрос создается как поле со списком с помощью Мастера.
Для выполнения задания выполните следующие действия.
  1. Откройте в среде Microsoft Access базу данных Борей.
  2. Сделайте копию формы Информация о клиентах, созданной в предыдущей работе, и сохраните ее как новую форму с именем Информация о клиентах 2.
  3. Откройте форму Информация о клиентах 2 в режиме конструктора. Откройте Панель элементов.
  4. На панели выберите элемент Поле со списком и поместите его в Заголовок формы.
  5. Мастер Создание полей со списком попросит вас установить некоторые параметры. Выберите последнюю опцию, рис. 1. Щелкните кнопку Далее.


Рисунок 1 – Окно Мастера Создание полей со списком

  1. Выберите поля Код Клиента и Название в качестве полей, которые будут включены в поле со списком, рис. 2. Щелкните кнопку Далее.

Рисунок 2 – Выбор полей

  1. Введите подпись для поля со списком. Щелкните кнопку Готово.
  2. Посмотрите результаты работы Мастера. Откройте окно Свойства созданного поля со списком.
  3. Найдите строку После обновления и щелкните кнопку , рис.3.


Рисунок 3 – Окно Свойства поля со списком

  1. Просмотрите VB код, который был автоматически создан Мастером. Этот код выполняется, когда вы щелкаете поле со списком на открытой форме, рис 4.

Рисунок 4 – Текст процедуры обработки события После обновления

  1. Откройте форму в режиме формы и выберите клиента с помощью поля со списком. Данные о выбранном клиенте будут выведены в форме, рис. 5. Выбор клиента в списке инициирует возникновение события После обновления. В результате процедура обработки события находит и выводит в форме запись, соответствующую выбранному клиенту.
  2. Скопируйте скриншот с созданной формой в режиме таблицы и поместите в отчет по лабораторной работе.


Рисунок 5 – Выбор клиента с помощью поля со списком

Задание 2. Добавление командной кнопки в форму
Графический интерфейс пользователя (graphical user interface, GUI) включает в себя окна, меню, диалоговые окна, которые пользователь использует для взаимодейтсия с программой. GUI позволяет упростить работу пользователя, повысить эффективность работы и снизить количество ошибок.
В этом задании вы добавите командные кнопки в форму Информация о клиентах для выполнения различных задач. Навигационные кнопки позволят перемещаться по записям таблицы, выводимым в форме. Кнопка Добавить позволит добавлять новые записи, а кнопка Удалить обеспечит удаление записей. В конце
Работа кнопок, созданных на форме, основывается на процедурах обработки событий – это последовательность команд, которые Access выполняет при возникновении события, такого как, щелчок кнопки. Например, если вы щелкнули кнопку Удалить запись, команды в процедуре обработки событий выполнят удаление записи. Для создания процедур обработки событий используется язык Visual Basic for Applications (VBA).
Для создания командных кнопок вы будете использовать Мастер создания элементов управления.
Для выполнения задания выполните следующие действия.
  1. Откройте в среде Microsoft Access базу данных Борей.
  2. Сделайте копию формы Информация о клиентах и сохраните ее как новую форму с именем Информация о клиентах 3.
  3. Для создания кнопок откройте форму Информация о клиентах 3 в режиме конструктора. Откройте Панель элементов.
  4. Увеличьте размер Заголовка формы, чтобы было достаточно места для размещения кнопок.
  5. На панели выберите элемент Кнопка и поместите его в левой части Заголовка формы.
  6. Мастер Создание кнопок попросит вас ввести параметры кнопки. Выберите в списке Категории опцию Переходы по записям, а в списке Действия щелкните опцию Первая запись, рис. 6. Щелкните кнопку Далее.

Рисунок 6 – Выбор действия, выполняемого при нажатии кнопки

  1. Щелкните опцию Текст для вывода на кнопке текста. Щелкните кнопку Далее.
  2. Введите в качестве имени кнопки значение Первая Запись. Это имя позволит ссылаться в программе на данную кнопку. Щелкните кнопку Готово.
  3. При необходимости измените размер кнопки.
  4. В соответствии с рис. 7 разместите на форме еще три навигационные кнопки и копки для добавления и удаления записей.
  5. Проверьте действия, выполняемые кнопками Добавить запись и Удалить запись.
  6. Проверьте работу навигационных кнопок.
  7. Скопируйте скриншот с созданной формой в режиме таблицы и поместите в отчет по лабораторной работе.

Рисунок 7 – Форма с кнопками

Задание 3. Модификация командной кнопки
В предыдущем задании вы создали форму с командными кнопками для перемещения между записями, добавления и удаления записей. Вероятно, вы заметили, что при добавлении новой записи о клиенте поля формы очищаются, но курсор не позиционируется в первом поле формы (Код клиента), как это должно быть. Следовательно, ввод данных необходимо начинать со щелчка поля Код клиента. Было бы более удобно работать с формой, если курсор появлялся в первом поле автоматически после щелчка кнопки Добавить. Для этого необходимо установить фокус на первое поле формы.
Фокус – это способность принимать ввод информации от пользователя, которую он передает с помощью мыши или клавиатуры. Только один элемент в данный момент может иметь фокус.
В задании вы установите фокус на первое поле формы с помощью VB команды.
Для выполнения задания выполните следующие действия.
  1. Откройте форму Информация о клиентах 3 в режиме конструктора.
  2. Определите имя поля Код клиента. Для этого дважды щелкните поле. На экранепоявится окно Свойства поля Код клиента, рис. 8., в котором можно увидеть имя искомого поля Код Клиента.

Рисунок 8 – Свойства поля Код клиента

  1. Для просмотра VBA кода в режиме конструктора щелкните правой кнопкой мыши командную кнопку Добавить запись. В появившемся окне щелкните опцию Обработка событий… На рис. 9 представлен VBA код, выполняемый при щелчке кнопки Добавить запись.

Рисунок 9 - Обработка события для кнопки Добавить запись

Рассмотрим коротко VBA код. Наиболее важной является строка DoCmd, которая представляет Do Command. Вторая часть команды DoCmd.GoToRecord, т.е. GoToRecord представляет метод выполняемый командой. За методом записываются аргументы данного метода. В качестве единственного необходимого аргумента для данного случая используется acNewRec, который указывает Access, что нужно перейти в конец таблицы, где будет добавлена новая запись.
  1. Но команда DoCmd не устанавливает фокус на какое-либо поле автоматически. Для установки фокуса необходимо ввести команду КодКлиента.setFocus. рис.10.


Рисунок 10 – Добавление команды для установки фокуса

  1. Закройте окно с VBA кодом. Откройте форму в режиме формы и щелкните командную кнопку Добавить запись. Курсор ввода будет находиться в поле Код клиента.
  2. Завершите сеанс работы с Microsoft MS Access.
Обсудим вашу работу?
При заказе дарим онлайн-тест!
Заполните форму
и мы свяжемся с вами за 2 часа