Файл: Лабораторная работа 2 Создание запросов в субд ms access по дисциплине Базы данных Вариант 8 студент группы.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.04.2024
Просмотров: 24
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Пример 4.8
UPDATE Должности
SET Сумма_оклада=Сумма_оклада * 1.1;
На рисунке 4.13 представлено, как выглядела таблица «Должности» до выполнения запроса.
На рисунке 4.14 показана данная таблица после выполнения запроса.
4.6 Выборка записей с использованием SELECT
Используя команду SELECT, создадим запрос на выборку записей из двух (или более) таблиц, используя правила внешнего и внутреннего соединения, а также различные условия отбора и сортировки.
В примере 4.9 приведен запрос с использованием правила внутреннего соединения, выдающий сведения о сотрудниках, которые выходят в отпуск летом, с сортировкой в алфавитном порядке по ФИО сотрудника.
Пример 4.9
SELECT Сотрудники.Фамилия, Сотрудники.Имя, Сотрудники.Отчество, Сотрудники.Табельный_номер_сотрудника AS Табельный_номер, Отпуска.Дата_отпуска AS Дата_выхода_в_отпуск, Должности.Название_должности AS Должность
FROM Отпуска INNER JOIN (Должности INNER JOIN (Сотрудники INNER JOIN Занимаемая_должность ON Сотрудники.Код_сотрудника=Занимаемая_должность.Табельный_номер_специалиста) ON Должности.Код_должности=Занимаемая_должность.Должность) ON Отпуска.Табельный_номер_сотрудника=Занимаемая_должность.Табельный_номер_специалиста
WHERE Отпуска.Дата_отпуска Between #6/1/2019# And #8/31/2019#
ORDER BY Сотрудники.Фамилия ASC;
Результат выполнения запроса представлен на рисунке 4.15.
В примере 4.10 приведен запрос с использованием правила внешнего соединения, выдающий сведения об обращениях пациентов, при этом в результирующий набор данных будут вкючены также пациенты, чьи сведения об обращениях отсутствуют. Сведения отсортированы в порядке убывания № медицинских карточек, то есть наверху выборки находятся пациенты, зарегистрированные недавно.
Пример 4.10
SELECT Пациенты.№_медицинской_карточки, Пациенты.Фамилия, Пациенты.Имя, Пациенты.Отчество, Обращения.Дата_обращения, Услуги.Наименование AS Услуга
FROM Пациенты LEFT JOIN
((Услуги RIGHT JOIN Услуги_специалистов ON Услуги.Код_услуги_специалиста=Услуги_специалистов.Услуга) RIGHT JOIN Обращения ON Услуги_специалистов.Код_услуги_специалиста=Обращения.Услуга)
ON Пациенты.Код_пациента=Обращения.№_медицинской_карточки
ORDER BY Пациенты.№_медицинской_карточки DESC;
Результат выполнения запроса представлен на рисунке 4.16.
4.7 Перекрестный запрос с использованием TRANSFORM
Используя команду TRANSFORM, создадим перекрестный запрос.
В примере 4.11 приведен запрос, отображающий количество посещений типов врачей по датам.
Пример 4.11
TRANSFORM Count (Обращения.Услуга)
SELECT Обращения.Дата_обращения AS Дата
FROM Обращения INNER JOIN (((Должности INNER JOIN Занимаемая_должность ON Должности.Код_должности=Занимаемая_должность.Должность) INNER JOIN Сотрудники ON Занимаемая_должность.Табельный_номер_специалиста=Сотрудники.Код_сотрудника) INNER JOIN Услуги_специалистов ON Сотрудники.Код_сотрудника=Услуги_специалистов.Специалист) ON Обращения.Услуга=Услуги_специалистов.Код_услуги_специалиста
GROUP BY Обращения.Дата_обращения
PIVOT Должности.Название_должности;
Результат выполнения запроса представлен на рисунке 4.17.
4.8 Удаление таблицы и индекса с использованием DROP
Используя команду DROP, создадим запросы на удаление таблицы и индекса, созданных ранее в БД.
В примере 4.12 приведен запрос, который удаляет ранее созданную таблицу «Списанное_оборудование».
Пример 4.12
DROP TABLE Списанное_оборудование;
Изменения в схеме данных после удаления таблицы приведены на рисунке 4.18.
В примере 4.13 приведен запрос, который удаляет ранее созданный индекс ind_4 из таблицы «Оборудование».
Пример 4.13.
DROP INDEX ind_4 ON Оборудование;
Изменение списка индексов таблицы «Оборудование» показано на рисунке 4.19.