Материал: Лабораторна робота №3

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Міністерство освіти і науки України

Технічний коледж

Національного університету “Львівська політехніка”

Кафедра інформаційних технологій

Звіт

до лабораторної роботи №3

Проектування запитів до бази даних

Виконав:

Студент групи: 31-КІ

Мартинюк Р.

Прийняла:

Заяць М.М.

Львів – 2020

Мета роботи: Вивчення засобів розробки запитів RQBE, видів запитів, їх виконання та застосування для роботи з реляційними базами даних.

Теоретична частина

Що таке запит

Запити застосовуються користувачем для вибірки з бази даних інформації, яка його цікавить, тобто відповідає певним критеріям. Наприклад, мова може йти про пошук всіх клієнтів, що живуть в Україні, або про вибір відомостей про торгові операції здійснені за останній квартал.

Якщо необхідно скласти запит на основі декількох таблиць, то між цими таблицями попередньо необхідно встановити відношення зв’язуючи поля одне з одним.

Результат роботи запиту Access являє собою таблицю яка називається Dynaset (динамічний, тимчасовий набір даних). При кожному виконанні запиту заново здійснюється вибірка даних.

Типи запитів

За способом побудови запити діляться на: QBE-запити (Query By Example – запит за зразком), користувач дає їм визначення, специфікуючи окремі параметри у вікні проектування з використанням підказок (зразків), та SQL-запити (Structured Query Language – структурована мова запитів), формулюючи їх, користувач застосовує інструкції і функції, створюючи деякий опис. QBE-запит Access легко транслює у відповідний SQL-запит. При зворотній операції можливі деякі нюанси та неточності.

Поле

Опис

Field

Поле таблиці, дозволяється вказати й таке, якого ще не існує

Table

Назва таблиці, в якій розміщене дане поле

Sort

Порядок сортування (в порядку зростання/спадання/не сортувати)

Show

Показувати/не показувати

Criteria

Критерії відбору (умови, за якими буде проведено вибірку даних при виконанні запиту; при відсутності умови вибираються всі значення поля)

Категорія

Призначення

Group By (Групування)

Збирає записи, що мають спільні ознаки , в групи, над якими потім виконуються операції

Набір операцій

Визначає математичну операцію, яка буде виконана над полем

Expression (Вираз)

Об’єднує декілька операцій у вираз

Where (Умова)

Накладає деяке обмеження

Sum

Сума всіх значень поля

Лічильник, числовий, грошовий, дата/час, логічний

Avg

Середнє значення всіх значень поля

Лічильник, числовий, грошовий, дата/час, логічний

Min

Найменше значення поля

Лічильник, числовий, грошовий, дата/час, логічний, текстовий

Max

Найбільше значення поля

Лічильник, числовий, грошовий, дата/час, логічний, текстовий

Count

Кількість ненульових (непорожніх) елементів

Лічильник, числовий, грошовий, дата/час, логічний, текстовий, МЕМО, об’єкт OLE

First

Значення з першого запису в таблиці чи запиті

Лічильник, числовий, грошовий, дата/час, логічний, текстовий, МЕМО, об’єкт OLE

Last

Значення з останнього запису в таблиці чи запиті

Лічильник, числовий, грошовий, дата/час, логічний, текстовий, МЕМО, об’єкт OLE

Перехресний запит (Crosstab Query)

У Access можна створювати особливі типи запитів – перехресні. Вони відрізняються тим, що відображають сумарну інформацію в компактному та в зручному для читання вигляді. Перехресний запит створює з таблиці звичайну матрицю, яка описує відповідність значень одного поля значенням іншого поля в таблиці. Він надає кінцеву інформацію для вказаних полів у формі розрідженого масиву. По вертикалі такого масиву відображаються значення першого поля, по горизонталі – другого. На перетині відповідних рядка та стовпчика розміщується підсумкове значення, яке вираховується для поєднання їх в таблиці. Підсумкове значення може бути вибране в якості агрегатної функції типу сума, кількість, тощо. Для наочності нижче подано приклади перехресних запитів.

Результат роботи звичайного Select запиту

Результат роботи перехресного запиту (Crosstab Query)

Приклад 1.

Рис. 1. Результат виконання перехресного запиту

Перехресний запит, як і інші запити на вибірку, можна створювати двома способами: за допомогою Майстра запитів та використовуючи Конструктор запитів. Зазвичай швидше і легше створювати перехресні запити за допомогою Майстра запитів. Він виконує велику частину роботи, проте існує кілька параметрів, які він не підтримує.

При використанні майстра створення перехресних запитів необхідно в якості джерела записів для перехресного запиту вибрати тільки одну таблицю або один запит. Якщо дані, які потрібно включити до перехресного запиту, містяться в декількох таблицях, спочатку потрібно створити запит на вибірку, який повертає необхідні дані.

Для створення перехресного запиту за допомогою Майстра запитів виконайте такі дії:

в головному меню Microsoft Access 2010 у вкладці Создание виберіть розділ Запросы і натисніть кнопку Мастер запросов (рис.4);

у вікні Новый запрос, яке відкриється виберіть Перекрестный запрос і натисніть ОК (рис.5);

на першій сторінці Создание перекресных таблиц виберіть таблицю або запит, які слід використовувати для створення перехресного запиту і натисніть Далее (рис.24);

на наступній сторінці виберіть поле, що містить значення, які потрібно використовувати як заголовки рядків; як джерела заголовків рядків можна вибрати до трьох полів, проте чим менше використовується заголовків рядків, тим легше буде вивчати перехресну таблицю і натисніть Далее;

Рис. 24

на наступній сторінці виберіть поле, що містить значення, які потрібно використовувати як заголовки стовпців; зазвичай слід вибирати поле, що містить менше значень, щоб результати було зручно читати і натисніть Далее;  якщо для заголовків стовпців вибрано поле типу Дата/час, на наступній сторінці майстра буде запропоновано задати інтервал для групування дат (можливі варіанти: Рік, Квартал, Місяць, Дата і Дата/час); у іншому випадку ця сторінка майстра пропускається;  на наступній сторінці виберіть поле і функцію для розрахунку зведених значень; набір доступних функцій залежить від типу даних обраного поля; встановіть або зніміть прапорець Да , щоб відповідно включити до запиту або виключити з нього підсумкові значення по рядках і натисніть Далее; Примітка. Якщо підсумки рядків включені, в перехресний запит додається заголовок рядка, в якому використовуються ті ж поле і функція, що і для значення поля; при включенні підсумку по рядку вставляється додатковий стовпець, що містить зведені дані по решті стовпцях. Примітка. Функцію, що використовується для отримання підсумків по рядках, можна змінити, відредагувавши перехресний запит у режимі конструктора.

на наступній сторінці майстра введіть ім'я запиту і вкажіть, чи потрібно переглянути результати або змінити структуру запиту, натисніть Готово.

При створенні перехресного запиту в режимі конструктора можна використовувати будь-яку кількість джерел записів (таблиць і запитів). Однак для спрощення структури рекомендується спочатку створити запит на вибірку, який повертає всі необхідні дані, а потім використовувати цей запит в якості єдиного джерела записів для перехресного запиту.

Для створення перехресного запиту за допомогою Конструктора запитів потрібно виконати такі дії:

в головному меню Microsoft Access 2010 у вкладці Создание виберіть розділ Запросы і натисніть кнопку Конструктор запросов (рис.8);

з’явиться вікно Конструктора запитів, а в ньому вікно Добавление таблицы (рис.9); в цьому вікні виберіть таблиці чи запити, інформація з яких потрібна для створення нового запиту, і натисніть Добавить; після вибору всіх таблиць натисніть Закрыть.

в головному меню на вкладці Конструктор у групі Тип запроса натисніть Перекрестный;

у бланку запиту (рис. 25) виберіть поля (поле), які будете використовувати як джерело заголовків рядків (можна вибрати до трьох полів); в рядку Перекресная таблица для кожного поля заголовків рядків виберіть значення Заголовки строк;

Рис. 25

у бланку запиту (рис. 25) виберіть поле, яке будете використовувати як джерело заголовків стовпчиків (можна вибрати тільки одне поле); в рядку Перекресная таблица для поля заголовків стовпчиків виберіть значення Заголовки столбцов; Примітка. Можна ввести вираз у рядку Условие отбора, щоб обмежити число результатів для поля заголовків стовпчиків. Проте використання умовного виразу не обмежує число стовпчиків, що повертаються перехресним запитом. Обмеження стосуються того, в яких стовпчиках можуть міститись дані. Примітка. Щоб обмежити набір значень, що відображаються як заголовки стовпчиків, можна задати список фіксованих значень за допомогою властивостей запиту

у бланку запиту (рис. 25) виберіть поле, яке будете використовувати для розрахунку зведених значень (можна вибрати тільки одне поле); в рядку Перекресная таблица для поля заголовків стовпчиків виберіть елемент Значение; в рядку Групповая операция виберіть статистичну функцію, за допомогою якої слід обчислювати значення

Приклад 2.

Нехай необхідно скласти запит, який підраховує кількість замовлень, зроблених покупцями тої чи іншої країни для кожної конкретної дати.

Формат результату типового перехресного запиту

Дата замовлення

Бельгія

Бразилія

Канада

17.04.97

2

3

18.04.97

1

19.04.97

1

4

2

20.04.97

1

21.04.97

1

Рис. 2. Результат виконання перехресного запиту

Значення в колонках – кількість замовлень покупців конкретної країни в конкретний день.

Запити, що вносять зміни

При побудові нового запиту Access по замовчуванню створює запит на вибірку (Select). Щоб змінити цю установку слід скористатись меню конструктора запитів.

Запити, що вносять зміни можна використовувати для наступних цілей:

  • для видалення з таблиці або групи таблиць вказаних записів;

  • для додавання записів з одної таблиці в іншу;

  • для оновлення інформації в групі записів;

  • для створення нової таблиці з записів, вказаних в запиті.

Запити, що вносять зміни безпосередньо працюють з даними, і повернути зміни назад неможливо. Тому рекомендується:

  • створювати резервні копії таблиць перед виконанням запиту;

  • після створення запиту, що вносить зміни, перевірити його область дії перед виконанням (в панелі інструментів натиснути кнопку переходу в режим перегляду результуючої таблиці – DataSheet View).

Источник: https://studfile.net/preview/14570533/