Тема:  "Програмування реляційних запитів"

Мета:  дати учням поняття про запити  SQL.

Тип уроку:  комбінований.

Форма проведення уроку:  лекція.

Структура уроку

1. Організаційна частина

2. Актуалізація опорних знань учнів

3. Пояснення нового матеріалу

-  призначення перехресних запитів;

 -  створення перехресного запиту за допомогою майстра;

 -  створення перехресного запиту без допомоги майстра.

4. Закріплення вивченого матеріалу

5. Домашнє завдання

 

Структура уроку

 

 1. ОРГАНІЗАЦІЙНА ЧАСТИНА

·        перевірка присутності учнів

·        перевірка готовності до уроку

 

 2. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ УЧНІВ

 1. Яке призначення оператора SELECT?

 2. Для чого використовується директива From?

 3. Для чого використовується директива From?

 4. Коли використовується предикат LIKE?

 5. Які функції використовуються для отримання підсумкових даних?  

 6. Для чого використовується команда GROUP BY?

 7. Як задати порядок сортування результатів запиту?

 8. За допомогою яких директив можна задати параметри зв’язку між об’єктами бази даних?

 

 3. ПОЯСНЕННЯ НОВОГО МАТЕРІАЛУ

 План:

 -  призначення перехресних запитів;

 -  створення перехресного запиту за допомогою майстра;

 -  створення перехресного запиту без допомоги майстра.

 

Перехресні запити

 У перехресному запиті відображаються результати статистичних розрахунків (суми, кількість записів і середні значення), виконаних за даними з одного поля таблиці. Ці результати групуються за двома наборами даних, один із яких розташований у лівому стовпці таблиці, а інший — у верхньому рядку.

 

Створення перехресних запитів за допомогою майстра

 Перед початком створення перехресного запиту потрібно створити запит, де будуть представлені всі поля, інформація з яких буде використовуватись у перехресному запиті.

 1. У вікні бази даних виберіть команду Створити (Создать)  Майстер запитів (Мастер Запросов).

 2. У діалоговому вікні Новий запит (Новый запрос) виберіть майстер Перехресний запит (Перекрестный запрос)

 

 

  4. Натисніть кнопку OK.

  5. Виконайте інструкції діалогових вікон майстра:

      ·  оберіть джерело даних

      · оберіть поля, значення яких будуть використовуватися як назви рядків;

      · оберіть поля, значення яких будуть використовуватися як назви стовпців

      ·  задайте підсумкові обчислення;

      · задайте ім'я запиту;

      · натисніть Готово

 

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

 

 Якщо одержаний запит не відповідає вимогам, можна знову звернутися до майстра або внести зміни в режимі конструктора.

 

Створення перехресного запиту без допомоги майстра

 Перші кроки створення перехресного запиту виконуються за алгоритмом створення запиту за зразком у режимі конструктора.

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

 2. На панелі інструментів натиснути кнопку Тип запиту (Тип запроса) і вибрати Перехресний (Перекрестный).

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

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

 5. Для поля, значення якого потрібно використовувати в створеній перехресній таблиці, в рядку Перехресна таблиця (Перекрестная таблица) вибрати Значення (Значение). У рядку Групова операція (Групповая операция) вибрати статистичну функцію, яка буде використана для заповнення перехресної таблиці (наприклад, Sum, Avg або Count).

 

 Перехресний запит можна також створити, написавши інструкцію SQL. Наприклад:    TRANSFORM Avg(usp.ocinka) AS [Avg-ocinka]

 SELECT uchni.prizv_u, Avg(usp.ocinka) AS sb

 FROM uchni INNER JOIN (predm INNER JOIN usp ON predm.kod_p = usp.kod_p) ON uchni.k_ush = usp.k_ush

 GROUP BY uchni.prizv_u

 PIVOT predm.nazv;

Алгоритм створення перехресного запиту:

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

 · на панелі інструментів натиснути кнопку Тип запиту (Тип запроса) і вибрати Перехресний (Перекрестный);

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

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

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

Створення управляючого запиту

 Управляючі запити SQL використовуються для створення, вилучення та зміни таблиць або для створення індексів в поточній базі даних.

 1. У вікні бази даних виберіть команду Створити (Создание) - Конструктор запитів (Конструктор запросов)

 2. У вікні діалогу Додавання таблиці (Добавление таблицы), не додаючи таблиці або запити, натисніть кнопку Закрити.

 3. У меню Запит (Запрос) виберіть команду Запит SQL - Управління (Запрос SQL - Управление).

4. Уведіть інструкцію SQL для управляючого запиту. Кожен управляючий запит може містити лише одну керуючу інструкцію.

 

Microsoft Access підтримує такі керуючі інструкції:

 CREATE TABLE — створює таблицю.

 ALTER TABLE — додає нове поле або обмеження в наявну таблицю.

 DROP — вилучає таблицю з бази даних або вилучає індекс, визначений для поля або групи полів.

 CREATE INDEX — створює індекс для поля або групи полів.

 

 Приклад 1. Створити в базі даних Учні управляючий запит для створення таблиці Drus (Друзі).

CREATE TABLE drus

([kd] integer,

[pr_dr] text,

[im_dr] text,

[d_nar] date,

[tel] text,

CONSTRAINT [in1] PRIMARY KEY ([kd]));

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

 

 Приклад 2. Створити в базі даних Учні управляючий запит, що додає до таблиці Drus (Друзі) Adr (Адреса).

ALTER TABLE drus

ADD COLUMN [adr] text;

 Для перегляду результатів запустіть запит на виконання, а потім відкрийте таблицю Drus (Друзі).

 

Алгоритм створення таблиці бази даних:

 · у вікні бази даних виберіть команду Створити (Создание) - Конструктор запитів (Конструктор запросов);

 · у вікні діалогу Додавання таблиці (Добавление таблицы),  не додаючи таблиці або запити, натисніть кнопку Закрити;

 · у меню Запит (Запрос) виберіть команду Запит SQL - Управління (Запрос SQL - Управление);

 · введіть інструкцію SQL.

 

Використання вкладених запитів

 Вкладений запит є інструкцією SQL SELECT, вкладеною в запит на вибір або запит на зміну.

 Щоб визначити нове поле, цю інструкцію можна ввести до рядка Поле в бланку запиту.

 Щоб зазначити для поля умову відбору, введіть інструкцію в рядок Умова відбору (Условие отбора).

 Підлеглі запити використовуються, наприклад, для перевірки наявності результатів з підлеглого запиту, пошуку в головному запиті значень, що дорівнюють, більші або менші за значення, які повертаються підлеглим запитом.

 

Визначення умов для поля за допомогою підлеглого запиту

 1. Створіть новий запит.

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

 3. Якщо підлеглий запит використовується для визначення умов для поля, введіть інструкцію SELECT в осередок рядка Умова відбору (Условие отбора) в стовпці цього поля.

 Інструкцію SELECT необхідно вкласти в круглі дужки.

  Для збільшення області введення інструкції натисніть комбінацію клавіш Shft-F2

 4. Для перегляду результатів натисніть кнопку Вигляд (Вид) на панелі інструментів.

 Приклади інструкцій:

 1. Вибрати з таблиці Товари всі товари, ціна яких дорівнює ціні води Дзвіночок.

 (SELECT [zina] FROM [tovar] WHERE [n_tov] = "Дзвіночок")

 2. Вибрати з таблиці Товари всі товари, ціна яких більша за середню.

 (>(SELECT AVG ([zina]) FROM [tovar] ))

Алгоритм визначення умов для поля за допомогою підлеглого запиту:

 · створіть новий запит;

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

 · введіть інструкцію SELECT в осередок рядка Умова відбору (Условие отбора) в стовпці цього поля.

 

 4. ЗАКРІПЛЕННЯ ВИВЧЕНОГО МАТЕРІАЛУ

 1.  Для чого використовуються перехресні запити?

 2.  Як можна створити перехресний запит?

 3.  Яке призначення оператора TRANSFORM?

 4.   Які дії виконують управляючі запити?

  5.  Які керуючі інструкції підтримує Microsoft Access?

  6.  Як можна створити управляючий запит?

  7.   Що Ви розумієте під вкладеним запитом?

  8.  Як можна визначити умову відбору за допомогою підлеглого запиту?

  9.  Як записується інструкція SELECT  в умові відбору?

 

 5. ДОМАШНЄ ЗАВДАННЯ

 1. Навчальний посібник: Гуревич Р.С., Жиліна Л.В., Кадемія М.Ю. "Організація баз даних у  MS Access"

 § 3.1.4. Одержання підсумкових даних.

 § 3.1.6. Створення управляючих запитів.

 § 3.1.7. Використання вкладених запитів.

 

 2. Виконайте практичні завдання, описані у параграфі.

 Для того, щоб опрацювати матеріал заняття:

·   натисніть кнопку Приклад;

·   оберіть команду Зберегти (Сохранить);

·   збережіть приклад бази даних в папці, призначеній для збереження матеріалів заняття на Вашому комп'ютері.