Вы находитесь на странице: 1из 44

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

Е. А. Кулакова

Методические указания к лабораторным работам по дисциплине

БАЗЫ ДАННЫХ В СИСТЕМАХ УПРАВЛЕНИЯ

(для студентов специальностей 6B07103 Автоматизация и роботизация)

Алматы 2021

1
ВВЕДЕНИЕ

Лабораторные работы направлены на закрепление, систематизацию и расширение


полученных знаний по дисциплине «Базы данных в системах управления», а также на
овладение практическими навыками при решении конкретных технических задач.
Лабораторные работы, описанные в данном лабораторном практикуме, ориентированы
на применение вычислительных машин и программного обеспечения MS Access, которое в
полной мере позволяет изучить все этапы проектирования БД.
Каждая лабораторная работа включает выполнение студентом следующих основных
этапов:
– аналитическое решение поставленной задачи путем проработки теоретических
положений соответствующего раздела курса и разработки схемы моделирования;
– моделирование задачи с использованием MS Access;
– формирование запросов на языке SQL.
Каждую выполненную работу студент должен оформить в виде отчета, который должен
содержать: цель работы; задание; полученные результаты по всем пунктам практикума в
виде расчетов, схем, команд, таблиц, графиков; анализ результатов в соответствии с
приведенными теоретическими сведениями; выводы по всем пунктам практикума.
В процессе сдачи отчета студент должен ответить на предлагаемые контрольные
вопросы и выполнить упражнения по изучаемой теме.

2
ЛАБОРАТОРНАЯ РАБОТА № 1

Тема: Знакомство с реляционной СУБД MS Access. Основные объекты MS Access.


Знакомство с функциональными возможностями СУБД с использованием конструктора
создания базы данных
Цель работы: Ознакомление с основными элементами СУБД Access. Создание
таблиц. Работа с данными таблицы
Задание 1. Ознакомьтесь с учебной базой данных компании, входящей в комплект
поставки Microsoft Access
Технология
1. Загрузите Microsoft Access. В средней части экрана из списка доступных шаблонов
выберите Образцы шаблонов. В появившемся перечне доступных шаблонов выберите Борей.
После подготовки и загрузки шаблона на экране появится заставка базы Борей. Для работы с
ней следует щелкнуть по кнопке Включить содержимое, расположенной в верхней части
окна.
2. В окне входа выберите любого сотрудника из списка, нажмите кнопку Вход. Для
просмотра всех объектов базы данных щелкните по Области перехода, находящейся в левой
части окна. Появится список основных объектов базы данных. Выберите в списке пункт
Вспомогательные объекты.
3. Откройте таблицу Заказы. Выполните следующие операции:
- определите количество записей в таблице;
- просмотрите 45-ую запись, введя ее номер в окно номеров записей,
расположенное в внизу таблицы;
- отсортируйте таблицу по получателям. Для этого установите указатель мыши на
заголовок соответствующего столбца и щелкните по нему правой клавишей
мыши. В контекстном меню выберите пункт Сортировка от А до Я;
- скройте столбец Доставка, щелкнув правой клавишей мыши по его заголовку и
выбрав в контекстном меню пункт Скрыть поля. Отобразите скрытый столбец,
щелкнув правой клавишей мыши по заголовку любого столбца. В контекстном
меню выберите пункт Отобразить поля. В появившемся диалоговом окне
Отображение столбцов установите флажок для столбца Доставка, нажмите
клавишу Закрыть;
- используя клавишу Shift выделите первые два столбца и закрепите их, выбрав в
контекстном меню команду Закрепить поля. Прокрутите таблицу по
горизонтали. Отмените закрепление, выполнив команду контекстного меню
Отменить закрепление всех полей;
- с помощью фильтра выделите все строки с получателями в г.Омске. Для этого
выделите в столбце Город получателя в любой строке значение Омск и в
контекстном меню выберите команду Равно Омск. Для отмены фильтра
выполните команду Снять фильтр с Город Получателя контекстного меню;
- измените вид сетки таблицы, используя соответствующую кнопку панели
инструментов Форматирование текста меню Главная.
4. Просмотрите запросы и их структуру. В области переходов найдите запрос Заказы
на товары и откройте его. Переключитесь в режим конструктора, используя
соответствующую команду из списка кнопки Режим панели инструментов Режимы меню
Главная и посмотрите структуру запроса.
5. Просмотрите форму Сведения о сотрудниках. Для этого в области переходов
откройте пункт Сотрудники, выберите пункт Сведения о сотрудниках. На экране появится
форма. Просмотрите ее в режиме конструктора, выбрав соответствующий пункт из
контекстного меню, вызываемого в граничных областях формы.
6. Просмотрите отчеты к базе данных. Для этого в области переходов выберите пункт
Отчеты, в появившемся списке выберите отчет 10 самых крупных заказов, просмотрите его
в режиме конструктора, выбрав его из списка кнопки панели инструментов Режимы меню
Главная.
3
7. Закройте базу данных Борей, выбрав соответствующий пункт меню Файл.

Задание 2. Создайте базу данных Университет на основе инфологической модели,


приведенной на рисунке 1. База данных должна содержать 4 взаимосвязанных таблицы:
Студент, Группа, Специальность и Факультет. Ключевые поля таблиц выделены
полужирным начертанием и подчеркиванием.
Таблица Студент:
- N зачетной книжки – ключевое поле числового типа, длинное целое
- N группы – числовое поле, целое
- ФИО – текстовое поле длиной 15 символов
- Дата рождения – поле типа «дата/время»
- Коммерческий – логическое поле (вкл/выкл)
Таблица Группа:
- N группы – ключевое поле числового типа, целое
- N специальности – числовое поле, длинное целое
- N факультета – числовое поле, байтовое
- Курс – числовое поле, байтовое

Студент
Группа
N зачетной книжки
N группы
N группы
N специальности ФИО
N факультета Дата рождения
Курс Коммерческий

Специальность

N специальности

Наименование специальности
Стоимость обучения
Факультет

N факультета

Наименование факультета
Декан

Рис. 1. Инфологическая модель базы данных Университет

Таблица Факультет:
- N факультета – ключевое поле числового типа, байтовое
- Наименование факультета – текстовое поле, 30 символов
- Декан - тестовое поле, 15 символов
Таблица Специальность:
- N специальности – ключевое поле числового типа, длинное целое
- Наименование специальности – текстовое поле, 40 символов
- Стоимость обучения – денежного типа.

Технология
1. В рабочем окне Microsoft Access щелкните по кнопке Новая база данных. В правой
части окна в поле Имя файла введите название Университет. Укажите папку для
размещения базы данных. Нажмите кнопку Создать. В окне базы данных откроется пустая
4
Таблица1.
2. Откройте Таблицу1 в режиме Конструктора. Для этого выберите соответствующий
режим из списка кнопки инструментальной панели Режимы меню Режим таблицы. В
появившемся окне Сохранение введите имя таблицы Студент, нажмите кнопку ОК.
3. Введите имена, типы и свойства полей таблицы Студент в соответствии с
инфологической моделью.
4. Предусмотрите контроль данных при вводе даты рождения. Запретите ввод даты
рождения меньше заданной, например, даты более ранней, чем 01.01.1970 г. При попытке
ввода такой даты предусмотрите вывод сообщения: Слишком старый студент. Для этого в
режиме конструктора установите курсор в поле Дата рождения и в свойстве Условие на
значение введите: >#01.01.1975#. В свойстве Сообщение об ошибке введите: Слишком
старый студент.
5. Перейдите в режим таблицы (кнопка Режимы панели инструментов Конструктор) и
введите данные об одном человеке. Проверьте правильность установленного контроля
значений поля Дата рождения.
6. Введите в таблицу Студент данные для 3-х групп по 10 студентов в каждой с
различными значениями полей.
7. Создайте таблицы Группа, Факультет и Специальность в соответствии с
инфологической моделью (кнопка Конструктор таблиц панели инструментов Таблицы
меню Создание).
8. Заполните созданные таблицы данными. При этом в таблицу Группа введите не
менее трех строк соответственно номерам групп, представленным в таблице Студент. В
таблицы Факультет и Специальность введите строки с номерами всех факультетов и
специальностей, представленных в таблице Группа.

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

1. Основные понятия БД: база данных, ИС, вычислительная система, банк данных,
СУБД, словарь данных, администратор БД.
2. Перечислите и охарактеризуйте функции СУБД.
3. Перечислите и охарактеризуйте классификации СУБД.
4. Назовите и охарактеризуйте уровни архитектуры СУБД.
5. Опишите процесс определения ключевых полей таблицы и построения схемы данных
в СУБД MS Access. Каково назначение и порядок работы мастера «Анализ таблицы».

5
Лабораторная работа 2

Тема: Поиск информации по одному или по нескольким критериям. Установка


фильтра и отмена фильтра. Понятие сортировки. Сортировка текущей таблицы и построение
отсортированной таблицы.
Цель работы: Научиться искать необходимую информацию по одному и более
критериям с использованием фильтров

Задание 1. Освойте приемы работы с фильтрами в таблицах


1. Найдите всех студентов в таблице Студент, фамилии которых начинаются на
заданную букву (например, В)
Технология
Для выполнения данного задания можно использовать Фильтр по выделенному и
Расширенный фильтр.
Для выполнения фильтра по выделенному:
- в таблице Студент найдите любую фамилию, начинающуюся на букву В, выделите
эту букву мышкой;
- откройте список кнопки Выделение (меню Главная, панель инструментов Сортировка
и фильтр), выберите пункт меню Начинается с «В». На экране останутся только строки
таблицы с фамилиями, начинающимися на заданную букву;
- для отмены фильтра установите курсор в поле ФИО, щелкните по кнопке Фильтр и
выберите команду Снять фильтр с ФИО.
Для выполнения расширенного фильтра:
- откройте таблицу Студент;
- откройте список кнопки Дополнительно (меню Главная, панель инструментов
Сортировка и фильтр) и выберите команду Расширенный фильтр;
- в окне бланка фильтра дважды щелкните по полю ФИO, расположенном в окне
таблицы Студент. Поле ФИО появится в 1-ой строке Поле нижней половины бланка
(столбец 1);
- укажите в строке бланка Сортировка порядок сортировки. Для этого щелкните левой
клавишей по этой строке в 1-м столбце. Появится список вариантов сортировки. Выберите
вариант По возрастанию;
- введите условие отбора. Для этого введите в 3-ю строку В*;
- щелкните по кнопке Применить фильтр инструментальной панели Сортировка и
фильтр меню Главная;
- для отмены фильтра повторно щелкните по кнопке Применить фильтр.
2. Найдите студентов, родившихся в заданном году (например, в 1992 году).
Технология
- откройте таблицу Студент;
- установите курсор в поле Дата рождения любой строки таблицы, нажмите правую
клавишу мыши;
- в контекстном меню выберите команду Фильтры дат/Между…;
- в диалоговом окне Диапазон дат в поле Не ранее введите 01.01.1992, в поле Не
позднее – 31.12.1992, нажмите клавишу ОК;
- для отмены фильтра щелкните по кнопке Применить фильтр.
3. Найдите студентов, родившихся в заданном году и обучающихся на коммерческой
основе в заданной группе.
Технология
1. Откройте таблицу Студент.
2. Откройте список кнопки Дополнительно и выберите команду Расширенный фильтр.
3. В бланке запроса в строку Поле введите в соседние столбцы последовательно Дата
рождения, Дата рождения, № группы, Коммерческий. Для размещения имен полей в
бланке запроса можно дважды щелкнуть по соответствующему полю таблицы или выбрать
нужное поле из списка строки Пол.
6
4. В строке Условие отбора под каждым полем ввести соответствующее условие,
например >=01.01.1992, <=31.12.1992, 892, Да, что соответствует отбору студентов,
родившихся в 1992 году и обучающихся в группе 892 на коммерческой основе.
5. Примените фильтр.
6. Для отмены фильтра щелкните по кнопке Применить фильтр.
Задание 4. Создайте сводную таблицу по данным таблицы Группа, показывающую
распределения студенческих групп по специальностям и факультетам.
Технология
1. Откройте таблицу Группа.
2. В списке кнопки инструментальной панели Режимы меню Главная выберите пункт
Сводная таблица, откроется окно со списком полей таблицы и окно с макетом сводной
таблицы.
3. Перетащите мышкой поле N Специальности в область заголовка столбцов, поле N
Факультета – в область заголовка строк, поле Курс – в область фильтра, поле N группы – в
область итогов или деталей. Закройте окно со списком полей. На экране останется окно со
сводной таблицей (см.рис.2);

Рис.2. Сводная таблица по данным таблицы Группа

4. Настройте сводную таблицу для просмотра сведений о распределении групп только


1-го курса по специальностям и факультетам. Для этого в области полей фильтра в списке
поля Курс оставьте только 1;
5. Закройте сводную таблицу с сохранением данных
Задание 5. Отсортировать таблицу Студент по группе и в каждой группе по фамилии
студентов.
Технология
1. Откройте таблицу Студент

2. Установите курсор на любую строку с фамилией и нажмите кнопку .на


панели Сортировка и фильтр

3. Установите курсор на любую строку с номером группу и нажмите кнопку .на


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

Контрольные вопросы:
1.Дайте определение понятия целостности БД и перечислите существующие уровни
изолированности транзакций.
2.Перечислите и охарактеризуйте типы ограничений целостности БД.
3.Опишите процесс настройки параметров созданной БД, назовите возможности
обеспечения защиты БД, предоставляемые СУБД MS Access.
7
ЛАБОРАТОРНАЯ РАБОТА 3.

Тема: Освоение технологии конструирования и связывания реляционных таблиц.


Установление защиты базы данных. Конструирование и использование запросов на выборку
и изменение базы данных
Цель работы: Создание схемы базы данных. Использование запросов для выборки
необходимой информации

Задание 1. Установите связи между данными таблиц Студент, Группа, Факультет и


Специальность.
Технология
Откройте базу данных Университет.
1. Не закрывая базу данных, закройте все открытые таблицы.
2. Щелкните по кнопке Схема данных панели инструментов Отношения меню Работа
с базами данных.
3. В появившемся диалоговом окне Добавление таблицы выделите все четыре таблицы
и нажмите кнопку Добавить, а затем Закрыть.
4. В окне Схема данных установите связь между таблицей Факультет и таблицей
Группа. Для этого:
- выделите щелчком поле N факультета в таблице Факультет и, удерживая нажатой
левую клавишу мыши, переместите указатель на поле с тем же названием в таблице
Группа;
- отпустите клавишу мыши, появится окно Изменение связей, в котором необходимо
включите флажок Обеспечение целостности данных и нажмите кнопку Создать. В
окне Схема данных появится линия, отображающая связь между таблицами типа
один ко многим;
- аналогично установите связь между таблицами Специальность и Группа по полю N
специальности и между таблицами Группа и Студент по полю N группы;
- при установке связей между таблицами следует учесть, что обеспечение целостности
данных возможно только, если поля связей в разных таблицах имеют одинаковый тип
и размер. Если при установлении связи обнаруживается разный тип или размер
полей, то щелкните по таблице на схеме данных правой клавишей мыши, и в
контекстном меню выберите пункт Конструктор таблиц, с помощью которого
измените тип поля. Удалить ошибочно установленную связь можно с помощью
команды контекстного меню, вызываемого щелчком правой клавиши мыши на линии
связи;
- закройте окно Схема данных с сохранением данных.
Задание 2. Установите защиту базы данных с помощью пароля.
Технология
1. В меню Файл выберите команду Сведения и в средней части окна нажмите кнопку
Зашифровать паролем.
2. В окне Задание пароля базы данных введите пароль и его подтверждение. Нажмите
кнопку ОК.
База данных будет защищена паролем, который будет запрашиваться при каждом ее
открытии
Примечание
Для установки пароля базу данных нужно открыть в монопольном режиме. Для этого
следует:
- в меню Файл выбрать команду Открыть;
- в диалоговом окне Открытие файла базы данных в поле Имя файла ввести
Университет;
- открыть список кнопки Открыть и выбрать в нем пункт Монопольно
Для снятия пароля нужно вновь открыть базу данных в монопольном режиме, в меню
Файл выбрать команду Сведения и нажать кнопку Расшифровать базу данных.
8
Задание 3. Преобразовать расширенный фильтр в запрос.
Технология
2. Откройте таблицу Студент, вызовите для нее расширенный фильтр, открыв список
кнопки Дополнительно панели инструментов Сортировка и фильтр меню Главная и выбрав
там команду Расширенный фильтр. На экране появится бланк фильтра.
3. Вызовите контекстное меню в свободной части бланка и выберите в нем команду
Сохранить, как запрос. В окне Сохранение в виде запроса введите имя, например Запрос по
фильтру, нажмите клавишу ОК. Фильтр будет сохранен, как запрос.
4. Проверьте появление объекта Запрос по фильтру в области переходов.
5. Закройте бланк фильтра.
Задание 4. Создать многотабличный запрос на выборку.
Создайте простой запрос для выборки сведений из базы данных, включающий
следующие поля:
- ФИО;
- N зачетной книжки;
- N группы;
- Наименование факультета;
- Наименование специальности
Технология
1. Щелкните по кнопке Конструктор запросов панели инструментов Запросы меню
Создание.
2. В окне Добавление таблицы добавьте все четыре созданные ранее таблицы, затем
нажмите кнопку Закрыть.
3. Перетащите названия всех нужных полей из окон таблиц в строку Поле бланка
запроса, расположенного под схемой данных, соблюдая заданный их порядок. Используйте
для каждого поля, которое должно содержаться в выборке, один столбец бланка.
4. Просмотрите результат выполнения запроса, открыв список кнопки Режим
инструментальной панели Результаты меню Конструктор и выбрав в нем команду Режим
таблицы.
5. Вернитесь в режим Конструктор, при необходимости откорректируйте запрос и
запустите его на выполнение кнопкой Выполнить инструментальной панели Результаты
меню Конструктор.
6. Закройте запрос, сохранив его и присвоив ему имя Выборка1.
Задание 5. Создать запрос по условию.
Создайте запрос на выборку сведений о студентах, обучающихся на коммерческой
основе. Запись о каждом студенте должна содержать те же данные, что и в предыдущем
запросе.
Технология
1. В области переходов скопируйте запрос Выборка1 путем перетаскивания его значка
при нажатой клавише Ctrl. Используя команду контекстного меню, переименуйте
полученный запрос Копия Выборка1, дав ему имя Выборка по коммерческим студентам.
2. Откройте запрос в режиме Конструктора.
3. Добавьте в запрос поле Коммерческий из таблицы Студент.
4. В строку Условие отбора для данного поля введите значение Да.
5. Отмените вывод на экран этого поля при выполнении запроса. Для этого в этом поле
выключите флажок Вывод на экран.
6. Выполните запрос, нажав кнопку Выполнить на инструментальной панели
Результаты меню Конструктор.
7. Проверьте правильность выполнения запроса, при необходимости его
откорректируйте. Затем закройте запрос с сохранением его структуры.
Задание 6. Создайте запрос на выборку самого молодого студента, обучающегося в
заданной группе.
Технология
9
1. Щелкните по кнопке Конструктор запросов панели инструментов Запросы меню
Создание.
2. В окне Добавление таблицы выберите таблицу Студент, нажмите кнопку Добавить,
а затем Закрыть.
3. Добавьте в бланк запроса все поля таблицы Студент. Для этого можно сначала
выделить все поля этой таблицы с помощью клавиши Shift, а затем перетащить их в строку
Поле бланка запроса.
4. Введите в строку Условие отбора поля Дата рождения формульное выражение для
определения самого молодого студента, обучающегося в заданной группе, например, в
группе 891. При вводе формульного выражения используйте средство Построитель
выражений. Для этого щелкните по кнопке Построитель панели инструментов Настройка
запроса меню Конструктор.
В окне Построитель выражений раскройте в левом списке Элементы выражений
элемент Функции, а затем Встроенные функции. В среднем списке Категории выражений
выберите категорию По подмножеству и в правом списке Значения выражений два
функцию DMax, нажмите кнопку Вставить. В окно выражения добавился шаблон функции:
DMax («expression»; «domain»; «criteria»)
Задайте фактические значения параметрам функции.
В результате набора формульное выражение должно принять следующий вид:
DMax("[Дата рождения]";"Студент";"[N группы]=891").
5. Запустите созданный запрос на выполнение. Затем сохраните его под именем
Выборка самого молодого студента.
Задание 7. Создать запрос с группировкой данных.
Создайте запрос для подсчета коммерческих студентов в каждой группе.
Технология
1. Создайте новый запрос с использованием таблиц Студент, Группа и Факультет.
2. В бланк запрос поместите поля Наименование факультета, N группы и
Коммерческий.
3. Для поля Коммерческий задайте Условие отбора Да. Отключите вывод на экран
данных этого столбца.
4. Для столбцов Наименование факультета и N группы установите порядок
сортировки По возрастанию.
5. Добавьте в бланк запроса поле ФИО и укажите новое название столбца запроса
Количество коммерческих. Для этого введите новое название перед старым, отделив его от
старого двоеточием. В результате ячейка с названием поля должна содержать
Количество коммерческих: ФИО
6. Добавьте в бланк запроса строку Групповые операции, нажав на кнопку Итоги
панели инструментов Показать или скрыть меню Конструктор.
7. Из списка строки Групповые операции поля Количество коммерческих выберите
функцию Count.
8. Выполните запрос и сохраните его под именем Количество коммерческих по
группам.
Задание 8. Самостоятельно создайте запрос, подсчитывающий количество
коммерческих студентов на каждом факультете. Сохраните запрос под именем Количество
коммерческих по факультетам.
Задание 9. Создайте запрос, подсчитывающий общее количество и количество
коммерческих студентов в каждой группе. Для создания такого запроса потребуется
использовать таблицу Студент и запрос Количество коммерческих по группам, созданный
в задании № 5.
Технология
1. Создайте запрос на выборку на основе таблицы Студент, включив в него поля N
группы и ФИО.
2. Добавьте в бланк запроса строку Групповые операции и выберите в ней для поля
ФИО функцию Count. Укажите новое название столбца запроса Всего студентов
10
(аналогично заданию 5, пункт 5).
3. Выполните запрос, убедитесь, что он подсчитывает общее количество студентов в
каждой группе и сохраните его под именем Общее количество по группам.
4. Скопируйте созданный запрос, присвоив ему имя Количество коммерческих и
всего по группам.
5. Откройте последний запрос в режиме Конструктора.
6. Добавьте в бланк запроса запрос Количество коммерческих по группам. Для этого
щелкните по кнопке Отобразить таблицу панели инструментов Настройка запроса меню
Конструктор. В окне Добавление таблицы перейдите на вкладку Запросы, выделите нужный
запрос, нажмите на кнопку Добавить, а затем Закрыть.
7. В бланке запроса установите связь между таблицей Студент и запросом Количество
коммерческих по группам по полю N группы (аналогично Схеме данных).
8. Добавьте в бланк запроса поле Количество коммерческих, затем запустите запрос,
проверьте правильность результатов, при необходимости откорректируйте.
9. Сохраните запрос под именем Количество коммерческих и всего по группам.

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

11
ЛАБОРАТОРНАЯ РАБОТА 4

Цель работы: Конструирование и использование запросов –перекрестный, с


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

Задание 1. Создать перекрестный запрос


Создайте перекрестный запрос, позволяющий просмотреть количество коммерческих
студентов по каждому факультету и каждой группе в компактном виде. Заголовки столбцов
должны соответствовать названиям факультетов, заголовки строк – номерам групп.
Технология
1. Создайте новый запрос с использованием таблиц Студент, Группа и Факультет.
2. Введите в бланк запроса поля Наименование факультета, N группы, ФИО и
Коммерческий.
3. Для поля Коммерческий задайте условие отбора Да.
4. Включите строку Групповые операции и выберите в ней для поля ФИО функцию
Count.
5. Щелкните по кнопке Перекрестный панели инструментов Тип запроса меню
Конструктор. В бланке запроса появится новая строка Перекрестная таблица.
6. Выберите в этой строке для поля Наименование факультета значение Заголовки
столбцов, для поля N группы – Заголовки строк, для поля ФИО – Значение.
7. Выполните запрос и проверьте правильность его работы. Сохраните запрос с именем
Перекрестный на выборку.
Задание 2. Самостоятельно составьте перекрестный запрос, отражающий общее
количество студентов на каждом факультете и в каждой группе. Сохраните запрос под
именем Перекрестный по факультетам и группам
Задание 3. Создать параметрический запрос.
Создайте запрос для вывода списка студентов, обучающихся в группе, номер которой
вводится в процессе выполнения запроса.
Технология
1. Создайте новый запрос с использованием таблицы Студент.
2. Включите в бланк запроса все поля этой таблицы.
3. В строке Условие отбора поля N группы введите текст [Введите номер группы].
Этот текст будет выводиться в диалоговом окне при выполнении запроса.
4. Выполните запрос, введите номер любой группы, в которой обучаются студенты,
проверьте правильность работы запроса.
5. Сохраните запрос под именем Запрос с параметром.
Задание 4. Создать запрос с вычисляемым полем.
Создайте запрос, позволяющий просмотреть стоимость обучения коммерческих
студентов с учетом НДС, вычисляемой, как стоимость обучения по выбранной
специальности, умноженной на 1,2, где 0,2 – величина НДС.
Технология
1. Создайте в режиме конструктора новый запрос с использованием таблиц Студент,
Группа, Специальность.
2. Включите в запрос поля N группы, N специальности, N зачетной книжки, ФИО,
Коммерческий, Стоимость обучения.
3. Для поля Коммерческий введите условие отбора Да и отключите вывод этого поля
на экран.
4. Щелкните мышью в строке Поле первого свободного столбца бланка запроса и с
помощью Построителя выражений введите в него выражение
НДС:[Специальность]![Стоимость обучения]*0,2
Здесь Стоимость обучения – поле таблицы Специальность, 0,2 – ставка НДС.
5. В строку Поле следующего свободного столбца бланка введите выражение
Итого:[Специальность]![Стоимость обучения]+[НДС]
12
6. Включите флажки вывода на экран значений двух последних полей.
7. Выполните запрос, проверьте правильность его работы, а затем сохраните под
именем Запрос с вычисляемым полем.
Примечание: для ввода поля Стоимость обучения в построителе выражений следует
в левой части окна построителя Элементы выражений выбрать Университет.accdb, в
появившемся списке объектов выбрать Таблицы и среди них Специальность. В средней
части окна Категории выражений нужно дважды щелкнуть по № специальности. Для ввода
знаков арифметических операций в левой части окна построителя выражений Элементы
выражений можно выбрать Операторы, в средней части окна Категории выражений –
Арифметические, в правой части окна Значения выражений – нужную операцию.
Задание 5. Самостоятельно составьте запрос для вывода списка номеров групп,
количества в них коммерческих студентов, номеров специальностей, стоимости обучения по
специальности и итоговых суммах оплаты за обучение коммерческими студентами каждой
группы. Сохраните запрос под именем Стоимость по специальности.
Задание 6. Создать запрос на обновление базы данных.
Создайте запрос, при выполнении которого произойдет увеличение стоимости
обучения по всем специальностям в 1.5 раза.
Технология
1. Создайте в режиме Конструктора новый запрос на основании таблицы
Специальность.
2. Задайте тип запроса, нажав кнопку Обновление инструментальной панели Тип
запроса меню Конструктор. В бланке запроса появится новая строка Обновление.
3. Выберите в таблице поле Стоимость обучения и введите в строку Обновление для
этого поля с помощью построителя выражений формулу
[Специальность]![Стоимость обучения]*1,5
4. Выполните запрос. Подтвердите выполнение этого запроса на изменение, затем
закройте его, сохранив под именем Запрос на обновление.
5. Откройте таблицу Специальность и проверьте правильность выполнения запроса
Задание 7. Самостоятельно создайте запрос на обновление базы данных, при
выполнении которого произойдет уменьшение стоимости обучения по двум специальностям
на 10%.. Сохраните запрос под именем Обновление стоимости по специальностям.
Задание 8. Составьте запрос для автоматического занесения в таблицу Студент места
практики. Место практики всех студентов одной и той же группы должно быть одинаково.
Номер группы и место практики должны вводиться в диалоговых окнах в процессе
выполнения запроса.
Технология
1. Откройте таблицу Студент в режиме конструктора и добавьте в нее новое поле
Место практики, текстового типа размером 30.
2. Создайте в режиме Конструктора новый запрос на обновление на основе таблицы
Студент.
3. Введите в бланк запроса поля N группы и Место практики.
4. Для поля N группы в строку Условие отбора введите выражение
[Введите номер группы]
5. Для поля Место практики в строку Обновление введите выражение
[Введите место практики]
6. Выполните запрос, в процессе выполнения введите место практики студентов
группы и затем ее номер.
7. Закройте запрос, сохранив его под именем Запрос на занесение места практики,
затем откройте таблицу Студент и проверьте правильность выполнения запроса.
Задание 9. Составьте запрос для автоматического занесения места практики в таблицу
Студент. В отличие от предыдущего задания запрос должен выполняться без использования
диалоговых окон для ввода параметров. Одноразовым выполнением запроса занесите два
разных места практики двум группам, например, для группы 891 – Банк, для группы 892-
Проектное бюро.
13
Технология
1. В режиме Конструктора создайте новый запрос на обновление на основе таблицы
Студент.
2. Ввести в бланк запроса поле Место практики.
3. В строке Обновление для данного поля с помощью построителя выражений введите
формулу:
IIF([N группы]=891;”Банк”;IIF([N группы]=892;”Проектное бюро”;””))
4. Выполните запрос, закройте его с сохранением данных под именем Запрос на
обновление места практики, откройте таблицу Студент и проверьте правильность работы
запроса.
Задание 10. Создать запрос на создание новой таблицы.
Создайте запрос, при выполнении которого будут автоматически создаваться
заполненные данными таблицы экзаменационных ведомостей, содержащие следующие поля:
- N группы;
- Код дисциплины;
- Наименование дисциплины;
- ФИО;
- N зачетной книжки;
- Оценка.
Отдельные таблицы должны быть созданы для каждой группы студентов, имеющейся в
базе данных, и для выбранной дисциплины. Поэтому следует предусмотреть ввод
соответствующих условий как параметров.
Технология
1. Создайте в режиме конструктора две новые таблицы Дисциплина и
Вспомогательная.
Таблица Дисциплина должна содержать поля:
- Код дисциплины, ключевое поле числового типа, длинное целое;
- Наименование дисциплины, текстовое поле длиной 30;
- Лекции (количество часов), числовое поле, целое;
- Практика (количество часов), числовое поле, целое.
Таблица Вспомогательная должна содержать одно поле
Оценка числового типа, байтовое, необязательное и не являющееся ключом.
2. Введите в таблицу Дисциплина 3 записи.
3. Введите в таблицу Вспомогательная одну запись, при этом поле Оценка оставить
пустым (установите курсор в это поле и нажать клавишу Пробел).
4. В режиме Конструктора создайте новый запрос на основе таблиц Студент,
Дисциплина и Вспомогательная.
5. Измените тип запроса на Создание таблицы, нажав одноименную кнопку панели
инструментов Тип запроса меню Конструктор. В окне Создание таблицы задайте ей имя
Ведомость1.
6. Введите в бланк запроса поля N группы, Код дисциплины, Наименование
дисциплины, ФИО, N зачетной книжки, Оценка.
7. Введите для поля N группы параметрическое условие отбора [Введите номер
группы].
8. Введите для поля Код дисциплины параметрическое условие отбора [Введите код
дисциплины].
9. Закройте запрос и сохраните под именем Запрос на создание экзаменационной
ведомости.
10. С помощью данного запроса создайте 9 ведомостей, по трем дисциплинам для
каждой из трех групп. Номера групп и коды дисциплин задавайте в окне ввода параметра.
Присвойте созданным ведомостям имена Ведомость11, Ведомость12 и т.д. Присвоение
имен производите каждый раз после создание новой ведомости, выделив ее в области
переходов и выбрав команду Переименовать из контекстного меню.
Обратите внимание:
14
Запрос на создание таблицы всегда создает Ведомость1 (это имя указано в окне
создания таблицы), поэтому, если после создания таблицы она не будет переименована, то
повторное выполнение запроса удалит эту ведомость.
11. Заполните созданные таблицы оценками, полученными студентами по каждой
дисциплине.
Задание 11. Создать запрос на добавление данных в таблицу.
Создайте запрос, позволяющий объединить все созданные экзаменационные ведомости
в одну, назвав ее Общая ведомость.
Технология
1. В области переходов создайте копию таблицы Ведомость11 (перетащив ее имя с
нажатой клавишей Ctrl). Присвойте скопированной таблице имя Общая ведомость.
2. В режиме конструктора создайте новый запрос на основе таблицы Ведомость12.
3. Измените тип запроса на запрос на добавление, нажав одноименную кнопку на
панели инструментов Тип запроса меню Конструктор. В окне Добавление выберите из
списка имя таблицы Общая ведомость. Нажмите клавишу ОК.
4. Введите в бланк запроса все поля таблицы Ведомость12. Обратите внимание, что
строка Добавление в бланке запроса заполнилась автоматически.
5. Закройте запрос, сохранив его под именем Запрос на добавление.
6. Выполните запрос, откройте таблицу Общая ведомость и проверьте, что она
содержит теперь данные двух экзаменационных ведомостей. Закройте таблицу Общая
ведомость.
7. Настройте Запрос на добавление так, чтобы он мог добавлять данные из других
экзаменационных ведомостей. Для этого откройте запрос в режиме конструктора, с
помощью кнопки Отобразить таблицу панели инструментов Настройка запроса меню
Конструктор добавьте в него таблицу Ведомость 13. В каждом заполненном столбце бланка
запроса измените имя таблицы на Ведомость13, затем Ведомость12 удалите с помощью
команды контекстного меню. В результате запрос будет добавлять в Общую ведомость
данные из таблицы Ведомость13. Повторите указанные действия для всех остальных
ведомостей. В результате в Общую ведомость будут добавлены все экзаменационные
ведомости.
Задание 12. Создать запрос на удаление записей из таблицы
Создайте параметрический запрос на удаление из Общей ведомости записей о
студентах одной из групп по задаваемой дисциплине.
Технология
1. В режиме конструктора создайте новый запрос на основе таблицы Общая
ведомость.
2. Задайте тип запроса На удаление нажатием одноименной кнопки на панели
инструментов Тип запроса меню Конструктор.
3. Введите в бланк запроса поля N группы и Код дисциплины.
4. В строке Условие отбора для этих полей введите параметрические условия [Введите
номер группы] и [Введите код дисциплины].
5. Закройте запрос, сохранив его под именем Запрос на удаление.
6. Так как выполнение запроса вызовет фактическое удаление данных из таблицы без
возможности их восстановления, вместо выполнения запроса просмотрите его результат в
режиме таблицы (выбор команды Режим таблицы из списка кнопки Режим панели
инструментов Результаты меню Конструктор). В диалоговых окнах введите номер группы
и код дисциплины для удаляемых записей, просмотрите список удаляемых записей в режиме
таблицы.Обратите внимание:
Если запрос был выполнен и из Общей ведомости были удалены строки одной из
ведомостей, то повторите выполнение Запроса на добавление для восстановления данных
удаленной ведомости.
Контрольные вопросы:
1. Приемы вычисления нахождения вычисляемых значений при создании запросов в
СУБД MS Access.
15
2.Возможности, предоставляемые СУБД MS Access по составлению запросов разного
типа.
ЛАБОРАТОРНАЯ РАБОТА 5

Цель работы: Конструирование и использование форм


Задание 1.Создать простую форму.
Создайте простую форму на основе таблицы Студент, включив в форму все поля
таблицы.
Технология
1. В области переходов выделите таблицу Студент, щелкнув по объекту Студент в
списке таблиц..
2. Щелкните по кнопке Форма панели инструментов Формы меню Создание. Откроется
форма в столбец, каждая страница которой содержит сведения из одной записи таблицы
Студент.
3. Откройте созданную форму в режиме конструктора. Для этого выберите
Конструктор из списка Режим панели инструментов Режимы меню Главная или
Конструктор.
4. Отредактируйте заголовок формы, введя в него выражение Список студентов.
5. Просмотрите полученную форму в режиме формы, выбрав одноименную команду из
списка кнопки Режим.
6. Закройте форму, сохранив ее структуру под именем Студент простая.
7. Создайте на основе формы Студент простая удобную форму для редактирования
записей таблиц Студент. Для этого выделите данную форму в области переходов и в списке
Другиеформы панели инструментов Формы меню Создание выберите Разделенная форма.
Откроется форма, в нижней части которой располагается таблица Студент, а в верхней части
– сведения из текущей записи этой таблицы. Выделяя в таблице строки, отредактируйте
некоторые сведения о студентах в нескольких записях. Закройте форму, сохранив ее под
именем Студент для редактирования.
Задание 2. Создать форму по связанным таблицам.
Создайте форму для просмотра перечня групп с расшифровкой специальностей и
названий факультетов.
Технология
1. Нажмите на кнопку Мастер форм панели инструментов Формы меню Создание.
2. В окне Создание форм выберите из таблицы Группа поле N группы, из таблицы
Факультет - поле Наименование факультета, из таблицы Специальность – поля N
специальности и Наименование специальности. Нажмите кнопку Далее.
3. На следующем шаге выберите вид представления данных: Группа. Нажмите кнопку
Далее. Выберите внешний вид формы – ленточный, нажмите кнопку Далее, задайте имя
формы Ленточная форма Группа, нажмите кнопку Готово. Просмотрите данные,
выводимые в форму.
4. Перейдите в режим конструктора и отредактируйте заголовок формы, заменив в нем
надпись Группа на Список групп. Если данный текст не помещается в выделенную область,
можно увеличить размер надписи, передвинув ее границы, или уменьшить ее шрифт с
помощью команды панели инструментов Шрифт меню Формат.
5. Закройте отредактированную форму.
Задание 3. Создать форму на основе запроса.
С помощью Мастера форм самостоятельно создайте выровненную форму на основе
Запроса с вычисляемым полем, созданного в задании 11 предыдущей лабораторной работы.
Включите в форму все поля запроса. Просмотрите форму и закройте ее, сохранив под
именем Простая по запросу.
Задание 4. Создать форму со списком.
Создайте форму, позволяющую просматривать и редактировать данные каждого
студента, а также вводить в таблицу Студент новые записи. Форма должна быть снабжена
списком групп, в котором для каждой группы указывается ее номер специальности и
16
наименование факультета.
Технология
1. Создайте запрос на выборку на основе таблиц Группа,Специальность иФакультет
включив в него поля N группы, Nспециальности, Наименование факультета. Сохраните с
именем Группа-Факультет.
2. Скопируйте форму Студент простая, присвоив копии имяФорма со списком.
3. Откройте Форму со списком в режиме конструктора.
4. Переместите вниз горизонтальную линию, разделяющую области данных и
примечания.
5. Выберите на панели инструментов Элементы управленияменю Конструктор
элемент Поле со списком. Укажите мышью местоположение окна для списка в области
данных формы. Высота окна должна быть равна высоте кнопки, раскрывающей список. В
окне Созданиеполей со списком оставьте включенным переключатель объект «поле со
списком» получит значения из другой таблицы или запроса. Щелкните по кнопке Далее.
6. В следующем окне включите переключатель Показатьзапросы и выберите ранее
созданный запрос Группа-Факультет. Щелкните по кнопке Далее. На следующем шаге
включите в список все поля запроса. Далее выберите сортировку списка по возрастанию
номеров групп, щелкните по кнопке Далее, и затем, перетаскивая границы заголовков
столбцов, определите их ширину. Щелкните по кнопке Готово.
7. Просмотрите готовую форму, перейдя из режима конструктора в режим формы.
8. Добавьте к списку заголовки строк. Для этого перейдите в режим конструктора и
откройте окно свойств поля со списком, щелкнув правой клавишей мыши внутри поля со
списком и выбрав в контекстном меню пункт Свойства. На вкладке Макет выберите для
свойства Заглавия столбцов значение Да. Закройте окно свойств поля и перейдите в режим
формы для просмотра результата.
9. В режиме конструктора удалите из формы поле № группы и связанную с ним
надпись.
10. Обеспечьте возможность сохранения выбранного в списке номера группы в
текущей записи таблицы Студент. Для этого снова откройте окно свойств поля со списком и
на вкладке Данные для свойства Данныевыберите из списка значений N группы.
11. В режиме конструктора измените текст связанной с полем со списком надписи на N
группы.
12. Отключите расположенную в форме слева и не используемую вертикальную полосу
– область выделения. Для этого в окне конструктора формы откройте окно свойств формы,
щелкнув правой клавишей мыши по квадрату, расположенному в левом верхнем углу окна
на пересечении горизонтальной и вертикальной линеек. В контекстном меню выберите
пункт Свойства. В окне Свойства на вкладке Макет установите для свойства Область
выделения значение Нет.
13. Отредактируйте с помощью формы данные какого-либо студента в таблице
Студент. Примените форму для ввода сведений о новом студенте.
Готовая форма должна иметь приблизительно такой вид как на рисунке 3.

17
Рис 3. Форма со списком

Задание 5. Создать составную форму.


Создайте составную форму для вывода информации о группе, состоящую из главной
и подчиненной формы. Главная форма должна включать общие сведения о группе и
содержать поля N группы, N специальности, Наименование специальности,
Наименование факультета. Подчиненная форма должна содержать список группы и
включать поля Nзачетной книжки, N группы, ФИО, Дата рождения, Коммерческий.
Готовая форма должна иметь следующий вид (см. рис. 4).

Рис 4. Составная форма


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

Рис 5. Форма с пользовательскими кнопками

Технология
1. На основе таблиц Группа, Специальность, Факультет и запроса Количество
коммерческих и всего по группам, созданного в задании 8 второй лабораторной работы,
создайте запрос с итогом по количеству студентов в группе. Запрос должен содержать поля:
N группы, Наименование факультета, Наименование специальности, Курс, Всего
студентов, Количество коммерческих. Присвойте запросу имя Факультет-
Специальность-Группа-Кол-во студентов.
2. На основе этого запроса создайте главную форму в столбец, включив в нее все поля
запроса.
3. Перейдите в режим конструктора форм и выровняйте местоположение и размеры
полей и подписей к ним в соответствии с образцом, перемещая маркеры их контуров. Если
изменить местоположение полей и надписей не удается, то вначале выполните из
контекстного меню любого поля команду Макет\Удалить макет, а затем выровняйте
местоположение и размеры полей и подписей к ним. Проверьте вид главной формы,
переключившись из режима конструктора в режим формы.
4. Вернитесь в режим конструктора форм и разместите в нижней части области данных
элемент управления Подчиненная форма/отчет. В окне мастера подчиненных форм
выберите форму с именем Подчиненная, подготовленную в предыдущем задании, щелкните
по кнопке Далее. В окне определения полей связи сохраните включенным переключатель
Выбор из списка и выберите строку, предложенную мастером. Нажмите на кнопку Далее, а
19
затем Готово.
5. Переключитесь в режим формы и проверьте ее вид и правильность работы, при
необходимости отредактируйте ее в режиме конструктора.
6. Отключите в главной форме линейки (полосы) прокрутки, кнопки перехода по
записям (кнопки навигации) и область выделения. Для этого перейдите в режим
конструктора, с помощью контекстного меню откройте окно свойств формы, установите
вкладку Макет и измените на ней значения соответствующих свойств.
7. Создайте в форме кнопку со стрелкой для перехода к следующей группе студентов.
Для этого выберите на панели элемент Кнопка и очертите контур будущей кнопки при
нажатой левой клавише мыши. После отпускания клавиши мыши появится окно Создание
кнопок.
8. В окне Создание кнопок выберите категорию Переходы по записям, а в нем -
действие Следующая запись. Щелкните по кнопке Далее. В следующем окне включите
флажок Показать все рисунки и выберите рисунок Стрелка вверх. Щелкните по кнопке
Далее. Не изменяя имя, предложенное Access, щелкните по кнопке Готово. Перейдите в
режим формы и проверьте правильность работы кнопки. При ее нажатии должен
происходить вывод сведений о следующей группе.
9. Аналогичным образом создайте кнопку с рисунком Стрелка вниз для перехода к
предыдущей записи. Проверьте работу кнопок со стрелками в режиме формы.
10. Дайте новое название создаваемой формы - Состав групп. Для этого на вкладке
Макет в окне свойств формы введите значение Состав групп в свойство Подпись.
11. Закройте форму, сохранив ее макет.

Задание 7. Создать форму с вкладками.


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

Задание 8. Создать форму в виде сводной таблицы.


Создайте форму в виде настраиваемой сводной таблицы для просмотра результатов
20
экзаменационной сессии. Образец формы представлен на рис. 6.

Рис. 6. Форма в виде сводной таблицы

Технология
1. Создайте запрос на основании таблицы Общая ведомость, содержащий поля:
Nгруппы, ФИО, Наименование дисциплины, Оценка. Присвойте запросу имя Общая
ведомость с наименованием дисциплины.
2. На основе этого запроса создайте новую форму в виде сводной таблицы. Для этого
выделите запрос в области переходов и выберите из списка кнопки Другиеформы панели
инструментов Формы меню Создание пункт Сводная таблица.
3. Перетащите нужные поля в соответствующие области сводной таблицы:
- N группы – в область полей фильтра;
- Наименование дисциплины – в область полей строк;
- ФИО – в область полей столбцов;
- Оценка– в область полей итогов или данных.
Закройте окно со списком полей.
4. Выведите итоги в виде среднего балла по каждому студенту и дисциплине. Для этого
щелкните правой клавишей мыши по названию какого-либо столбца Оценка и в контекстном
меню выберите пункт Автовычисления/Среднее.
5. Настройте форматы отображения итоговых данных. Установите фиксированный
формат отображения числовых данных. Для этого устанавливайте курсор на заголовки
итоговых строк и столбцов, нажимайте кнопку Страница свойств панели инструментов
Сервис меню Конструктор и выбирайте на вкладке Формат соответствующий формат.
Установите красный цвет шрифта для итоговых данных.
6. Замените название списка столбцов ФИО на Фамилия И.О. Для этого установите
курсор на названиеФИО, нажимайте кнопку Страница свойств панели инструментов
Сервис меню Конструктор и на вкладке Заголовки введите новое название.
7. Сохраните форму с именем Результаты экзаменационной сессии.

Контрольные вопросы:
1 Возможности, предоставляемые СУБД MS Access по созданию форм ввода данных.
Элементы объекта «форма».
2.Опишите понятие «кнопочная форма», приведите пример использования кнопочной
формы.
3.Возможности, предоставляемые СУБД MS Access по созданию отчетов разного типа.
Элементы объекта «отчет».

Лабораторная работа 6

Тема: Создание главной кнопочной формы.

Главная кнопочная форма создается с целью навигации по базе данных. Эта форма
может использоваться в качестве главного меню БД. Элементами главной кнопочной формы
являются объекты форм и отчётов.
21
Запросы и таблицы не являются элементами главной кнопочной формы. Поэтому для
создания кнопок Запросы или Таблицы на кнопочной форме можно использовать макросы.
Сначала в окне базы данных создают макросы «Открыть Запрос» или «Открыть Таблицу» с
уникальными именами, а затем в кнопочной форме создают кнопки для вызова этих
макросов.
Для одной базы данных можно создать несколько кнопочных форм. Кнопки следует
группировать на страницах кнопочной формы таким образом, чтобы пользователю было
понятно, в каких кнопочных формах можно выполнять определенные команды (запросы,
отчеты, ввода и редактирования данных). Необходимо отметить, что на подчиненных
кнопочных формах должны быть помещены кнопки возврата в главную кнопочную форму.
Технология создания кнопочных форм следующая:
 создать страницу главной кнопочной формы (ГКФ);
 создать необходимое количество страниц подчиненных кнопочных форм (например,
формы для ввода данных, для отчетов, для запросов и т.д.);
 создать элементы главной кнопочной формы;
 создать элементы для кнопочных форм отчетов и форм ввода или изменения данных;
 создать макросы для запросов или для таблиц с уникальными именами;
 создать элементы для кнопочных форм запросов или таблиц.
Структура кнопочных форм может быть представлена в следующем виде.

Для создания главной кнопочной формы и ее элементов необходимо открыть базу


данных, (например, «Университет») и выполнить Работа с БД/ Диспетчер кнопочных форм
Если кнопочная форма ранее не создавалась, то откроется окно диалога «Диспетчер
кнопочных форм».

.
В окне диалога надо нажать кнопку «Да», тем самым подтвердить создание
кнопочной формы. В результате будет создана страница Главной кнопочной формы.

22
Рисунок 3.Окно создания страницы КФ
\
Далее можно создать еще три страницы кнопочной формы: Формы ввода данных,
Отчеты и Запросы. Для этого следует щелкнуть на кнопке «Создать» и в появившемся окне
ввести имя новой страницы «Формы ввода данных» и щелкнуть на кнопке «ОК».

Будет создана страница кнопочной формы «Формы ввода данных». Аналогичным


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

После этого создаем элементы ГКФ, для этого в «Окне диспетчер кнопочных форм»
выделяем страницу «Главная кнопочная форма» и щелкаем «Изменить», откроется новое
окно «Изменение страниц кнопочной формы».

23
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение
элемента кнопочной формы».

В окне выполняем следующее:


 вводим текст: Формы для ввода данных;
 выбираем из раскрывающегося списка команду: Перейти к кнопочной форме;
 выбираем из списка кнопочную форму: Форма со списком, созданную ранее, щелкаем
на кнопке «ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент кнопочной
формы «Форма со списком».

Аналогичным методом надо создать элементы: «Запросы» и «Отчеты», а затем


элемент (кнопку) "Выход из БД".

24
Рис. 9.
В результате в окне «Изменение страницы кнопочной формы» будут отображаться все
элементы главной кнопочной формы.

Кнопочная форма появится в списке в области окна базы данных на вкладке


Switchboard Items. Дважды щелкнув на надписи "Кнопочная форма", откроется Главная
кнопочная форма.

Для того чтобы эта форма отображалась при запуске базы данных, необходимо
выполнить команду Сервис/Программы запуска, и в открывшемся окне выбрать "Кнопочная
форма" из раскрывающегося списка, кроме того, надо снять флажки Окно базы данных и
Строка состояния. Можно также ввести заголовок и значок приложения.

Но на этом создание кнопочных форм еще не законченно, так как на подчиненных


кнопочных формах (Формы ввода данных, Отчеты, Запросы) нет элементов.
Для создания элементов кнопочной формы "Формы ввода данных" необходимо
запустить базу данных и выполнить команду Сервис / Служебные программы / Диспетчер
кнопочных форм.
25
Откроется окно "Диспетчер кнопочных форм". Затем нужно выделить «Формы ввода
данных» в окне «Диспетчер кнопочных форм».

Далее щелкнуть на кнопке Изменить, откроется окно диалога «Изменение страницы


кнопочной формы».

В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение страницы
кнопочной формы».

В окне «Изменение страницы кнопочной формы» выполняем:


 вводим текст: Студенты;
 выбираем из раскрывающегося списка команду: Открыть форму для изменения;
 выбираем из списка кнопочную форму: Студенты, щелкаем на кнопке «ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент «Студенты».
После создания по такой же технологии элемента «Группы студентов», он тоже будет
отображаться в окне.

26
Далее требуется создать кнопку возврата в главную кнопочную форму, для этого
щелкаем на кнопке «Создать» и в появившемся окне выбираем команду «Перейти к
кнопочной форме», выбираем «Главная кнопочная форма» и вводим «Перейти к главной
кнопочной форме». Нажимаем на кнопке «ОК» и закрываем окно «Изменение страницы
кнопочной формы».

Запустим главную кнопочную форму в окне БД, в которой щелкнем на кнопке "Формы
ввода данных", откроется "Формы ввода данных".

Создание элементов для кнопочной формы "Отчеты" осуществляется по той же


технологии, в результате получим.

27
Технология создания подчиненной кнопочной формы "Запросы" будет рассмотрено в
следующем разделе.
Для создания элементов подчиненной кнопочной формы "Запросы" необходимо
запустить базу данных (например, «Университет» с главной кнопочной формой) и создать
макросы "Открыть Запрос" или "Открыть Таблицу" с уникальными именами, а затем в
кнопочной форме создают кнопки для вызова этих макросов.
При создании макроса "Успеваемость студентов" надо выбрать вкладку "Макросы" и
щелкнуть на пиктограмме "Создать", откроется окно диалога "Макрос". В этом окне в
раскрывающемся списке выберите макрокоманду "Открыть Запрос" и из раскрывающегося
списка выберите имя запроса "Успеваемость студентов".

затем щелкните на кнопке "Закрыть". В появившемся окне "Сохранить изменения макета или
структуры объекта Макрос1" щелкните на кнопке "Да". Откроется окно "Сохранение", в
котором надо указать имя макроса "Успеваемость студентов" и щелкните на кнопке "ОК".

Имя макроса сохранится в списке макросов в окне БД. После создания и сохранения
макроса "Параметрический_запрос" в окне БД будут отображаться имена созданных
макросов.

28
Для создания элементов кнопочной формы запроса "Успеваемость студентов"
необходимо выполнить команду Сервис / Служебные программы / Диспетчер кнопочных
форм. Откроется "Диспетчер кнопочных форм".

Затем нужно выделить «Запросы» в окне «Диспетчер кнопочных форм» и щелкнуть на


кнопке Изменить, откроется окно диалога «Изменение страницы кнопочной формы».

Рис. 5.
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение страницы
кнопочной формы».

29
В этом окне выполняем:
 вводим текст: Отчет: Успеваемость студентов;
 выбираем из раскрывающегося списка команду: Выполнить макрос;
 выбираем из списка кнопочную форму: Успеваемость студентов, щелкаем на кнопке
«ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент кнопочной
формы «Отчет: Успеваемость студентов». После создания по такой же технологии элемента
«Параметрический_запрос», он тоже будет отображаться в окне.
Далее требуется создать кнопку возврата в главную кнопочную форму.
В результате в окне «Изменение страницы кнопочной формы» будут отображаться все
элементы кнопочной формы "Запросы".

Далее закроем окна «Изменение страницы кнопочной формы» и "Диспетчер кнопочных


форм". В окне БД на вкладке "Формы" щелкнем на надписи "Кнопочная форма", откроется
Главная кнопочная форма. В Главной кнопочной форме щелкнем на кнопке Запросы,
откроется кнопочная форма "Запросы".

Таким образом, создана кнопочная форма "Запросы", которая является подчиненной


кнопочной формой.

30
ЛАБОРАТОРНАЯ РАБОТА 7

Цель работы: Конструирование и использование отчетов.

Задание 1. Создать табличный отчет.


Создайте табличный отчет по таблице Студент, включив в него все поля таблицы.
Технология
1. Выделите таблицу Студент в области переходов.
2. Нажмите на кнопку Отчет панели инструментов Отчеты меню Создание. На
экране появится отчет, включающий все поля указанной таблицы.
3. Перейдите в режим макета, выбрав соответствующий пункт в списке кнопки Режим
панели инструментов Режимы меню Главная или Конструктор.
4. С помощью кнопок панели инструментов Колонтитулы меню Конструктор
измените в этом режиме заголовок отчета, формат отображения даты и времени и номера
страницы.
5. Перейдите в режим предварительного просмотра. Просмотрите созданный отчет, при
необходимости исправьте его в режиме конструктора.
6. Закройте отчет, сохранив ее под именем Список студентов.

Задание 2. Создать табличный отчет с помощью мастера отчетов.


Создайте табличный отчет на основе запроса Выборка1, созданного в задании 2
второй лабораторной работы. Отчет должен содержать столбцы Наименование
специальности, Наименование факультета, N группы, ФИО.
Технология
1. В области переходов выделите запрос Выборка1.
2. Щелкните по кнопке Мастер отчетов панели инструментов Отчеты меню
Создание.
3. В окне Создание отчетов выполните следующие действия:
- выберите поля запроса в заданной по условию последовательности, нажмите кнопку
Далее;
- выберите вид представления данных по факультету, нажмите кнопку Далее;
- проверьте наличие уровня группировки по наименованию специальности, при отсутствии
– добавьте этот уровень группировки, нажмите кнопку Далее;
- выберите порядок сортировки по полю ФИО;
- выберите макет ступенчатый;
- задайте имя отчета Отчет табличный.
4. Нажмите кнопку Готово. Просмотрите отчет. Уменьшите масштаб отображения.
5. Перейдите в режим конструктора. Выполните редактирование заголовка отчета.
Выведите названия первых двух столбцов в 2 строки, отцентрировав их и увеличив
соответственно высоту области верхнего колонтитула.
6. Измените заголовок отчета, введя текст: Список студентов по факультетам и
специальностям.
7. Введите текст в нижний колонтитул: Ведомость составил: .
8. Закройте и сохраните отчет.
Задание 3. Создать групповой/итоговый отчет.
Создайте отчет с группировкой данных и подведением итогов, используя Запрос с
вычисляемым полем, подготовленный в задании 11 второй лабораторной работы. В отчете
необходимо подсчитать общую суммарную плату за обучение коммерческих студентов, в
том числе по каждой специальности и по каждой группе. Отчет должен содержать поля: N
специальности, N группы, ФИО, N зачетной книжки, Стоимость обучения с учетом
НДС (Итого).
Технология
1. Создайте с помощью мастера новый отчет на основании указанного выше запроса.
Включите в запрос необходимые поля в заданном порядке.
31
2. В окне создания отчета выполните следующие шаги:
- выберите тип представления данных - по полю студент;
- добавьте уровни группировки по N специальности и Nгруппы;
- настройте режим сортировки в алфавитном порядке фамилий и, щелкнув по кнопке
Итоги, включите флажки Sum и Показать данные и итоги;
- выберите макет отчета структура;
- задай те имя отчета Отчет с группировкой.
3. Нажмите кнопку Готово и просмотрите отчет.
4. Выполните редактирование отчета, используя режим конструктора. Измените
заголовок отчета, введя текст: Сводная ведомость оплаты обучения. Отредактируйте
ширину столбцов. Измените шрифты отдельных элементов отчета.
5. Замените текст НадписейSum в разделах Примечание группы на Всего по группе:
для итогов по группе и Всего по специальности: для итогов по специальности. Измените
ширину полей с итогами.
6.Удалите все строки отчета с итогами по количеству записей.
7. Установите одинаковый фиксированный формат числовых данных с двумя знаками
после запятой для всех сумм оплаты. Для этого вызовите контекстное меню для каждого из
полей, выберите в нем пункт Свойства и задайте соответствующий формат на вкладке
Макет.
Задание 4. Создать связанный отчет.
Создайте связанный отчет, состоящий из главного и подчиненного отчетов. В
качестве главного отчета создайте отчет на базе запроса по связанным таблицам Факультет-
Группа. В качестве подчиненного отчета используйте табличный отчет по таблице Студент
с нумерацией студентов по порядку в пределах каждой группы.
Технология
1. Создайте с помощью мастера ступенчатый подчиненный отчет по таблице Студент,
упорядоченный по номерам групп и фамилиям студентов, включив в него поля N группы,
ФИО, N зачетной книжки. Сохраните отчет, присвоив ему имя Подчиненный.
2. Добавьте в левую часть отчета порядковый номер студента в группе. Для этого в
режиме конструктора вставьте в соответствующее место области данных отчета поле.
Введите в качестве значения свойства Данные=1, а для свойства Сумма с накоплением
выберите из списка значение - Для всего.
3. Отредактируйте отчет, уменьшив ширину столбцов и длину линий обрамления
заголовка и сохраните изменения.
4. Создайте простой запрос на выборку из таблиц Факультет и Группа,
упорядоченный по наименованиям факультетов и номерам групп, включив в него поля
Наименование факультета, N группы, N специальности и сохраните с именем Запрос
для Главного отчета.
5. По этому запросу создайте с помощью мастера ступенчатый отчет, сохранив его под
именем Главный. Отредактируйте отчет, уменьшив ширину столбцов и длину линий
обрамления заголовка.
6. Откройте Главный отчет в режиме конструктора и с помощью кнопки Подчиненная
форма/отчет панели инструментов Элементы управления меню Конструктор добавьте в
область данных Подчиненный отчет, связав Главный и Подчиненный отчет по полю №
группы.
7. Добавьте в область примечаний главного отчета сведения о составителе отчета,
фамилия которого должна вводиться в диалоговом окне. Для этого увеличьте высоту этой
области и поместите в нее с помощью кнопки панели элементов управления новое поле. В
надпись поля введите текст: Отчет составлен:, а внутрь самого поля - [Введите фамилию
составителя отчета:].
8. Просмотрите получившийся отчет и при необходимости отредактируйте его в
режиме конструктора.

32
ЛАБОРАТОРНАЯ РАБОТА 8

Цель работы: Конструирование и создание перекрестного отчета.

Задание 1. Создать перекрестный отчет.


Сконструируйте перекрестный отчет, используя таблицу Общая ведомость,
созданную в лабораторной работе №2. Отчет должен иметь следующие столбцы:
- N группы;
- ФИО студента;
- N зачетной книжки;
- Наименование дисциплины 1;
- Наименование дисциплины 2;
- Наименование дисциплины 3;
- Средний балл.
В столбцах отчета с наименованиями дисциплин должны отображаться оценки,
полученные студентами на экзамене. В столбце средний балл должно производиться
вычисление среднего балла каждого студента по результатам 3-х экзаменов.
Вычислите в отчете средний балл по группе студентов и по университету в целом.
Технология
1. С помощью мастера создайте перекрестный запрос по таблице Общая ведомость, в
которой должны иметься оценки для всех студентов 3-х групп по 3-м дисциплина. Для этого:
- вызовите мастер построения перекрестного запроса, выбрав пункт Перекрестныйиз
списка кнопки Мастер запросов панели инструментов Запросы меню Создание;
- из списка таблиц выберите таблицу Общая ведомость, нажмите кнопку Далее;
- выберите поля N группы, ФИО, N зачетной книжки в качестве заголовков строк,
нажмите кнопку Далее;
- выберите поле Наименование дисциплины в качестве заголовка столбцов, нажмите
кнопку Далее
- снимите флажок Да вычисления итоговых значений для каждой строки;
- выберите для вычислений поле оценка и функцию вычисления Первый, нажмите
кнопку Далее;
- задайте имя запросу Перекрестный для отчета по среднему баллу, нажмите кнопку
Готово.
2. С помощью мастера создайте отчет по запросу Перекрестный для отчета по
среднему баллу. Для этого:
- выберите все поля запроса;
- добавьте уровень группировки по полю N группы;
- выберите порядок сортировки по фамилиям студентов;
- выберите ступенчатый вид отчета;
- присвойте отчету имя Расчет среднего балла групп. Просмотрите отчет.
3. Перейдите в режим конструктора и отрегулируйте ширину столбцов и их
местоположение.
4. Выровняйте оценки по центру столбца. Для этого выделяйте поля и используйте
соответствующую кнопку инструментальной панели Шрифт меню Формат.
5. С помощью инструментальной панели Элементы управления меню Конструктор
введите в правую часть области верхнего колонтитула надпись Средний балл.
6. С помощью инструментальной панели Элементы управления меню Конструктор
введите в область данных поле для вычисления среднего балла. Щелкните правой кнопкой
мыши внутри созданного поля и вызовите окно Свойства поля.
7. Установите вкладку Данные. Для вызова построителя выражений на вкладке Данные
в строке данные щелкните по кнопке …
8. Используя инструменты построителя, введите в поле формулу расчета среднего
балла:
33
=([наименование дисциплины 1] + [наименование дисциплины 2] + [наименование
дисциплины 3]) / 3
В формуле должны использоваться те наименования дисциплин, которые вы
включили в отчет.
Отключите связанную с полем надпись.
9. Просмотрите и отредактируйте отчет. Отрегулируйте формат, местоположение и
выравнивание вычисленного значения. Установите для поля Средний балл вкладку Макет
окна Свойства поля и выберите формат фиксированный с 2-мя дробными знаками.
10. Для подсчета среднего балла по группе щелкните по кнопке Группировка панели
инструментов Группировка и итоги меню Конструктор. В нижней части бланка запроса
появится окно Группировка, сортировка и итоги.
11. В строке Группировка N группы нажмите на кнопку Больше, в появившейся
строке откройте список пункта без раздела примечания и выберите в нем позицию с
разделом примечания. В бланке отчета появится раздел Примечание группы N группы.
12.С помощью кнопки Поле инструментальной панели Элементы управления меню
Конструктор создайте в этом разделе вычисляемое поле.
13. Используя вкладку Данные окна свойств этого поля, введите него при помощи
построителя выражений формулу для вычисления среднего балла по каждой группе:

=Sum (([наименование дисциплины 1] + [наименование дисциплины 2] +


[наименование дисциплины 3]) / 3 )/ Count([ФИО])

14. Замените текст Надписи для вычисляемого поля. Введите: Средний балл группы.
Отрегулируйте формат, местоположение и выравнивание вычисленного значения
аналогично пункту 9.
15. Добавьте справа от надписи Средний балл группы вывод номера группы. Для
этого в область примечаний группы вставьте поле и введите в него формулу: =[N группы]
16. Подсчитайте в отчете средний балл по всем группам. Для этого вставьте
вычисляемые поля аналогично пунктам 12 и 13 в область примечаний отчета и введите
надпись поля Итого по всем группам.
17. Введите в заголовок отчета дату формирования отчета. Для этого вставьте справа
под строкой с названием отчета поле и введите в него с помощью построителя выражений
функцию =DATE(). Определите пользовательский формат даты в виде dd.mm.yyyy, который
может быть введен непосредственно как значение свойства Формат поля.
18. Для того чтобы сделать отчет более компактным перенесите поле N группы из
области заголовка группы в область данных. Для этого отключите область заголовка группы,
щелкнув по кнопке Больше в окне Группировка, сортировка и итоги и в пункте с разделом
заголовка выберите позицию без раздела заголовка. Вставьте поле N группы в
соответствующий столбец области данных. Настройте свойства поля. Для того, чтобы номер
поля не повторялся в каждой строке отчета установите на вкладке Макет свойство Не
выводить повторы в состояние Да.
19. Просмотрите окончательный вариант отчета.

34
ЛАБОРАТОРНАЯ РАБОТА 9

Тема: Создание запросов на языке SQL. Запрос на выборку. Оператор SELECT.


Использование оператора условия
.
SQL-запросы. С помощью этого языка структурированных запросов можно составить
более сложные запросы. Этот язык позволяет также управлять обработкой запросов. SQL-
запрос представляет собой последовательность инструкций, в который могут входить
выражения и статистические функции SQL. Примерами SQL-запросов являютсяч запросы на
объединение, запросы к серверу, управляющие и подчиненные запросы, эти запросы
создаются только в онке запроса в режиме SQL.
Язык запросов (Data Query Language) в SQL состоит из единственного оператора
SELECT. Этот единственный оператор поиска реализует все операции реляционной алгебры.
Кажется, как просто, всего один оператор. Однако писать запросы на языке SQL (грамотные
запросы) сначала совсем не просто. Один и тот же запрос может быть реализован
несколькими способами, и, будучи все правильными, они, тем не менее, могут существенно
отличаться по времени исполнения, и это особенно важно для больших баз данных.
Рассмотрим важнейшие SQL-понятия. SQL-это самый распространенный язык
управления БД в системах клиент /сервер. SQL-запрос состоит из последовательности SQL-
инструкций, указывающих, что нужно сделать с входным набором данных (таблицей или
запросы) для генерации выходного набора. Посредством аргументов (параметров) этих
инструкций конкретизируют выполняемое действие, т.е. задают имена полей, имена таблиц,
условия, отношения и.т.п.
Синтаксис оператора SELECT имеет следующий вид:
[ALL|DISTINCT](<Список полей >|*)
FROM <Список таблиц >
[WHERE <Предикат-условие выборки или соединения>]
[GROUP BY <Список полей результата>]
[HAVING <Предикат-условие для группы>]
[ORDER BY <Список полей, по которым упорядочить вывод>]

 При оформлении SQL-запроса требуется, чтобы все SQL-инструкции находились в


одной сторке. Если последовательность инструкций не помещается в одной строке,
то для перехода на новую строку используйте не Enter , а Ctrl+Enter.
 SQL-запрос всегде завершается точкой с запятой.
DISTINCT- означает, что в результирующий набор включаются только различные
строки, то есть дубликат строк результата не включаются в набор.
Символ * означает, что в результирующий набор включаются все столбцы из исходных
таблиц запроса.
В разделе FROM задается перечень исходных отношений (таблиц) запроса.
В разделе WHERE задаются условия отбора строк результата или условия соединения
кортежей исходных таблиц.
В разделе GROUP BY задается список полей группировки.
В разделе HAVING задаются предикаты-условия, накладываемые на каждую группу.
В разделе ORDER BY задется список полей упорядочений результата, то есть список
полей, который определяет порядок сортировки в результате.
Таким образом SELECT – ключевое слово, которое сообщает СУБД, что эта команда –
запрос. Все запросы начинаются этим словом с последующим пробелом. За ним может
следовать способ выборки – с удалением дубликатов (DISTINCT) или без удаления (ALL -
подразумевается по умолчанию). Затем следует список перечисленных через запятую
столбцов (полей), которые выбираются запросом из таблиц, или символ * - для выбора всех
столбцов строк.
!!! Запрос не изменяет содержимое таблиц, он только показывает данные.
В базе данных «Универстет» созданы 4 таблицы:Группа Студент,Специальность
35
Факультет,
Студент
Группа
N зачетной книжки
N группы
N группы
N специальности ФИО
N факультета Дата рождения
Курс Коммерческий

Специальность

N специальности

Наименование специальности
Стоимость обучения
Факультет
N факультета

Наименование факультета
Декан

Кроме этих таблиц в лабораторной работе 5(задание 10) были созданы таблицы
Дисциплина и экзаменационные ведомости по трем дисциплинам в трех
группах(Ведомость11, Ведомость12 …. Ведомость 3.3) и на основе этих ведомостей
применяя запрос на добавление была создана таблица Общая ведомость.
Рассмотрим примеры оператора SELECT.
Задание 1. Вывести список всех групп (без повторений), где должны пройти экзамены.
Технология.
1. Откройте базу данных «Университет»
2. Вызовите команду Создание >> Конструктор запросов
3. Закройте окно Добавление таблицы.
4. На инструментальной панели Результаты меню Конструктор выберите команду
Режим SQL
5. В открывшемся окне наберите следующий запрос:
SELECT DISTINCT N_Группы FROM Группа

6. Запустите запрос на выполнение


Результат
Группа
4906
4807

7. Ключевое слово DISTINCT устраняет повторы данных


Задание 2. Вывести список студентов , получивших по дисциплине Информатика
«отлично». Дисциплина Информатика имеет код 1.
Технология.
1.Выполните пункты 2-5 задания 1.
2. В открывшемся окне наберите следующий запрос:

SELECT [Общая ведомость].ФИО AS ФИО


FROM [Общая ведомость]
WHERE ((([Общая ведомость].Оценка)=5) AND (([Общая ведомость].[Код
дисциплины])=1));
3. Запустить запрос на выполнение.
4.В этом запросе используется таблица Общая ведомость. AS ФИО используется для
заголовка столбца. В разделе WHERE могут быть использованы несколько условий,
которые могут соединяться ключевым словом AND, если условия одновременно должны
выполняться, либо OR , если достаточно выполнения одного из условий.
5. Так как название таблицы состоит из двух слов и между ними есть пробел, то название
таблицы(и название составных полей) берутся в квадратные скобки
Результат
36
Задание 3. Самостоятельно выполнить следующие запросы: вывести названия всех
факультетов и фамилии деканов; вывести фамилии всех студентов в разрезе групп

Задание 4. Вывести фамилии студентов, обучающихся на коммерческой основе.


Технология.
1.Выполните пункты 2-5 задания 1.
2. В открывшемся окне наберите следующий запрос:
SELECT ФИО, Коммерческий FROM Студент WHERE Коммерческий=Yes;
3. Запустите запрос на выполнение.
Результат

Задание 5. Вывести фамилии студентов, у которых не проставлена оценка


Технология.
1.Выполните пункты 2-5 задания 1.
2. В открывшемся окне наберите следующий запрос:
SELECT ФИО, [Наименование дисциплины]
FROM [Общая ведомость]
WHERE Оценка IS NULL;

Результат

Задания на самостоятельное выполнение.


1.Вывести фамилии студентов, место практик у которых Банк
2. Вывести фамилии студентов, не имеющих оценок 2 и 3

37
ЛАБОРАТОРНАЯ РАБОТА 10

Тема: Создание запросов на языке SQL. Оператор SELECT. Использование в операторе


условия операторов сравнения, ключевые слова LIKE, BETWEEN, IN.

Задание 1. Создать запрос, выдающий информацию по студентом, местом практики


которых является Банк с использованием оператора LIKE
Оператора LIKE сравнивает с шаблоном в выражении .
Синтаксис
выражение Like "шаблон"
В качестве шаблона, можно указать полное значение (например, Like “Алтаев”) или
использовать подстановочные знаки (Подстановочные знаки. Эти знаки используют в
запросах и выражениях для включения всех записей, имен файлов или других элементов,
которые содержат определенные знаки или отвечают определенному образцу.), чтобы
получить диапазон значений (например, Like “АБИ*”).
Технология.
1. Откройте базу данных «Университет»
2. Вызовите команду Создание >> Конструктор запросов
3. Закройте окно Добавление таблицы.
4. На инструментальной панели Результаты меню Конструктор выберите команду
Режим SQL
5. В открывшемся окне наберите следующий запрос:

SELECT ФИО, [Номер группы], [Место практики] FROM Студент


WHERE (([Место практики]) Like "Банк*");
6. Запустите запрос на выполнение
Результат

Символ * определяет любое количество символов после слова Банк


7. Сохраните запрос для контроля преподавателю.

Задание 2 Составить запрос , который выдает дату рождения и фамилии студентов ,


начинающихся с буквы К
Технология.
1. Выполнить пункты 1-4 задания 1.
2. В открывшемся окне наберите следующий запрос:
SELECT ФИО, [Дата рождения] FROM студент WHERE ФИО LIKE 'К*' ;
3. Запустите запрос на выполнение
Результат

38
4. Сохраните запрос для контроля преподавателю

Задание 3 Составить запрос , который выдает дату рождения, группу и фамилии


студентов , начинающихся с букв А, Б или И
Технология.
1. Выполнить пункты 1-4 задания 1.
2 В открывшемся окне наберите следующий запрос:
SELECT ФИО, [Дата рождения], [Номер группы] FROM СТУДЕНТ WHERE
ФИО LIKE 'А*' OR ФИО LIKE 'Б*' OR ФИО LIKE 'В*';
3.Запустите запрос на выполнение

4.Сохраните запрос для контроля преподавателю


Этот же запрос можно выполнить следующей командой
SELECT ФИО, [Дата рождения] FROM СТУДЕНТ WHERE ФИО LIKE '[АБВ]*';
5. Проверьте правильность выполнения запроса

Задание на самостоятельное выполнение: Вывести фамилии студентов начинающиеся


с буквы А, за которой следуют любая буква в интервале от и до с
Задание на самостоятельное выполнение;
Задание 5. Составить запрос, выдающий фамилию студента, предмет по которым
получены 3 или 2 с использованием оператора In.
Оператор In определяет, равно ли значение выражения какому-либо значению из
указанного списка.
Синтаксис:
выражение [Not] In(значение1, значение2, . .
Оператор In возвращает значение True, если выражение найдено в списке значений, и
False, если оно не найдено. Чтобы вычислить значение выражения с обратным условием
(выражения нет в списке значений), можно добавить логический оператор Not.
Например, с помощью оператора In можно определить, какие заказы доставлялись в
указанные районы.
SELECT *
FROM Заказы
WHERE РегионДоставки In (‘Север’,’Восток’,’Юг’);
Технология
2. Выполнить пункты 1-4 задания 1.
2 В открывшемся окне наберите следующий запрос
SELECT ФИО, [Наименование дисциплины], Оценка FROM [Общая ведомость]
WHERE (((Оценка) In (3,2)));
Результат

39
Задание на самостоятельное выполнение: Вывести список студентов не имеющих
оценок 3 и 2 с использованием логического оператора Not.
Задание на самостоятельное выполнение: Вывести список студентов не имеющих
оценок 3 и 2 только по дисциплине Мат_анализ с использованием оператора In .

Задание 6. Из таблицы специальность вывести название специальности стоимость


обучения которых меньше 400000тенге.
1.Выполнить пункты 1-4 задания 1.
2.В открывшемся окне наберите следующий запрос
SELECT [Наименование специальности], [Стоимость обучения] FROM
Специальность WHERE [Стоимость обучения] < 400000;
Результат

3. Сохраните запрос для контроля преподавателю

Задание 7. Составить запрос, который выводит стоимость обучения между 350000 и


400000 т.
1. Открыть окно SQL запроса и ввести следующую команду:

SELECT [Наименование специальности], [Стоимость обучения] FROM


специальность WHERE [Стоимость обучения] BETWEEN 350000 and 400000;
2. Выполнить запрос
3. Сохраните запрос для контроля преподавателю.
Задание для самостоятельного выполнения: из таблицы Общая ведомость выдать
информацию о студентах имеющих положительные оценки, использую оператор используя
BETWEEN.

40
ЛАБОРАТОРНАЯ РАБОТА 11
Тема: Применение агрегатных функций и вложенных запросов в операторе выбора

В SQL добавлены дополнительные функции, которые позволяют вычислять обобщенные


групповые значения. Для этого предполагается предварительная группировка. Ниже
приведены агрегатные функции, применяемые в запросах.
Функци
Результат Тип поля
я
Sum Сумма значений поля. Числовой, Дата/время, Денежный и Счетчик
Avg Среднее от значений поля. Числовой, Дата/время, Денежный и Счетчик
Текстовый, Числовой, Дата/время, Денежный
Min Наименьшее значение поля.
и Счетчик
Текстовый, Числовой, Дата/время, Денежный
Max Наибольшее значение поля.
и Счетчик
Число значений поля без учета Текстовый, Числовой, Дата/время, Денежный,
Count
пустых значений. Счетчик, Логический, Поле объекта OLE
Среднеквадратичное
StDev отклонение от среднего Числовой, Дата/время, Денежный и Счетчик
значения поля.
Var Дисперсия значений поля. Числовой, Дата/время, Денежный и Счетчик

Элемент Результат
Определяет группы, для которых выполняются вычисления. Например,
Группировка чтобы показать суммарные продажи по типам товаров, выберите элемент
Группировка для поля «Тип».
Создает вычисляемое поле с помощью выражения, включающего
Выражение статистическую функцию. Обычно вычисляемое поле создается, если
требуется включить в выражение несколько функций.
Определяет условия отбора для поля, которое не участвует в группировке.
Условие Если для поля выбирается этот параметр, автоматически снимается флажок
Вывод на экран, и поле не выводится на экран при выполнении запроса.

Задание 1. Сгруппировать отношение Общая ведомость по значению столбца


Дисциплина . Группировки полей задается в разделе GROUP BY.

Технология.
1. Откройте базу данных «Университет»
2. Вызовите команду Создание >> Конструктор запросов
3. Закройте окно Добавление таблицы.
4. На инструментальной панели Результаты меню Конструктор выберите команду
Режим SQL
5.В открывшемся окне наберите следующий запрос:

SELECT [Наименование дисциплины], ФИО, Оценка FROM [Общая ведомость]


GROUP BY [Наименование дисциплины] , ФИО, Оценка ;
6. Сохраните запрос для контроля преподавателя

Задание на самостоятельное выполнение: Создать запрос, группирующий по студентам,


сдающим экзамены.

Задание 2. Создать запрос посчитывающий количество студентов, сдававших каждый


экзамен

41
1.Выполнить пункты 1-4 задания 1.
2.В открывшемся окне наберите следующий запрос

SELECT [Наименование дисциплины], Count(*) AS [Кол-во сдававших]


FROM [Общая ведомость]
GROUP BY[Наименование дисциплины];

Результат

3.Сохраните запрос для контроля преподавателя


Задание 3. Создать запрос, посчитывающий количество студентов успешно сдавших
сессию
Технология.
1.Выполнить пункты 1-4 задания 1.
2.В открывшемся окне наберите следующий запрос
SELECT Count(*)AS [Кол-во успешно сдававших]
FROM [Общая ведомость]
WHERE Оценка>2;
Результат

3.Сохраните запрос для контроля преподавателя.

Задание 4. Создать запрос, подсчитывающий средний балл по дисциплине


Технология.
1.Выполнить пункты 1-4 задания 1.
2.В открывшемся окне наберите следующий запрос
SELECT [Наименование дисциплины], AVG (Оценка) AS [Средний балл]
FROM [Общая ведомость]
GROUP BY [Наименование дисциплины];
1.Выполнить пункты 1-4 задания 1.
2.В открывшемся окне наберите следующий запрос

Результат

3.Сохраните запрос для контроля преподавателя.

Задание 1 на самостоятельное выполнение: Определить для каждой дисциплины


количество успешно сдавших экзамены и средний балл по дисциплине.
Задание 2 на самостоятельное выполнение: Определить для каждой дисциплины
количество успешно сдавших экзамены и средний балл по дисциплине в разрезе факультета.
Контрольные вопросы:
1. Назовите основные этапы создания базы данных.
2.Сравните понятия потенциальный, первичный и внешний ключ. Опишите процессы
ограничения и каскадирования операции.
3.Опишите операции реляционной алгебры: объединение, пересечение, разность и

42
декартово произведение отношений. Приведите примеры.

43
ЛИТЕРАТУРА

1 . К. Дейт. Введение в системы баз данных. Издание восьмое. Вильямс, 2005.


2. Д. Мейер. Теория реляционньх баз данньх.-М.: Мир, 1987.
3. Диго С.М. Базы данных: проектирование и использование. Учебник для вузов. -
М.:Финансы и статистика”, 2005.
4. Баженова И.Ю. Visual FoxPro 6.0. — М.: Диалог МИФИ, 2000.
5. Ульман Дж. и др. Введение в системы баз данных. - М.: Лори, 2000
6. Ульман Дж. и др. Системы баз данных. Полный курс. - М.: Финансы и статистика”,
2003.
7. С.Д.Кузнецов Основы баз данных. Курс лекций. – М.: Интернет-университет
информационных технологий, 2005.
8. Буч Г. Язык UML. Руководство пользователя: Пер. с англ. / Серия «Для про-
граммистов» / Г. Буч, Д. Рамбо, А. Джекобсон. – М.: ДМК, 2000. – 432 с.
9. Голицына О.Л., Максимов Н.В., Попов И.И.. Базы данных. – Форум, 2004.
10. Петерсен Т.Б., Йенсен К. Технология многомерных баз данных. –
http://www.osp.ru/os/2002/01/180958/
11. Вирт Н. Алгоритмы и структуры данных: пер. с англ. – М.: Мир, 1989.
12. Дунаев С.Б. Доступ к базам данных и техника работы в сети. Практические приемы
современного программирования. – М.: ДИАЛОГ-МИФИ, 1999. –416с.
13. Мартин Дж. Организация баз данных в вычислительных системах. –М.: Мир, 1980, -
662с.
14. Грофф Дж., Вайнберг П. SQL: полное руководство. Пер. с англ. – К.: BHV, 2001.
15. Арсеньев Б.П., Яковлев С.А. Интеграция распределенных баз данных. С-Пб.: «Лань»,
2001.
16. Analysis Services: Повышение производительности куба, используя Microsoft SQL
Server 2000 Analysis Services. – http://www.iso.ru/journal/articles/217.html

44

Вам также может понравиться