Лабораторна робота № 10а.
-
Тема.
|
Створення запитів на вибірку та на поєднання в режимі SQL.
|
Мета.
|
Формування вмінь та навичок створення запитів на вибірку даних в режимі SQL для аналізу даних таблиць. Закріплення вмінь і навичок використання запитів для аналізу даних. Усвідомлення послідовності етапів виконання запитів на вибірку та ролі зв'язків між таблицями при формуванні джерела даних. Вдосконалення вмінь створення та коригування об'єктів додатків СУБД MS Access.
|
Підготовчий етап заняття. Актуалізація знань.
Віднайдіть на гнучкому диску збережений архів Sklad.rar та розархівуйте його вміст у власну папку в папці Мои документы.
Завантажте Access, відкрийте розроблену раніше БД Sklad.
Перейдіть на закладку Запросы.
Сортування найпростіших запитів на вибірку в режимі SQL.
-
Створіть запит SQLАлфавітнийСписокПостачальників в режимі SQL для формування алфавітного списку постачальників з зазначенням адреси та дати реєстрації. Для цього
Перейдіть в режим конструктора для створення запиту одним з двох способів завантажте ярлик Создание запроса в режиме конструктора, або натисніть у верхній частині вікна кнопку Создать та оберіть в списку варіант створення запиту Конструктор
Закрийте вікно Добавление таблицы, оскільки текст запиту буде вводитися в режимі SQL;
Для створення тексту запиту перейдіть в режим SQL одним з двох способів: за допомогою пункту контекстного меню Режим SQL області джерела даних запиту чи за допомогою аналогічного підпункту з пункту Вид головного меню;
У вікні режиму SQL введіть текст запиту:
SELECT Постачальники.ПІБ, Постачальники.Адреса, Постачальники.ДатаРеєстрації
FROM Постачальники
ORDER BY Постачальники.ПІБ;
-
Завантажте створений запит на виконання, обираючи в контекстному меню заголовка вікна запиту чи в пункті Вид головного меню позицію Режим таблицы;
Перегляньте структуру створеного запиту в режимі конструктора. Де в цьому режимі відображається кожна структурна частина запиту, створеного в режимі SQL?
Закрийте вікно конструктора та збережіть запит під назвою SQLАлфавітнийСписокПостачальників.
Самостійно створіть аналогічний запит SQLАлфавітнийСписокКлієнтів – для відображення в алфавітному порядку прізвищ клієнтів з зазначення місця роботи (назви необхідних полів можна виписати чи безпосередньо скопіювати з вікна режиму конструктора таблиці Клієнти). Переконайтеся в дієздатності запиту та перегляньте і проаналізуйте його структуру в режимі конструктора.
Створення обчислювальних полів та формування умов відбору записів
джерела даних запитів в режимі SQL.
-
Доповніть запит SQLАлфавітнийСписокПостачальників полем День реєстрації для зазначення дня тижня, в якому було зареєстровано постачальника. Для цього
Відкрийте вказаний запит в режимі SQL
Відредагуйте текст запиту до вигляду:
SELECT Постачальники.ПІБ, Постачальники.Адреса, Постачальники.ДатаРеєстрації, Weekday([ДатаРеєстрації]) AS [День реєстрації]
FROM Постачальники
ORDER BY Постачальники.ПІБ;
-
Завантажте відредагований запит на виконання, переглядаючи його в режимі таблиці;
Перегляньте запит в режимі конструктора. Як в цьому режимі відображається обчислювальне поле?
Закрийте запит та збережіть внесені зміни.
-
Створіть в режимі SQL запит SQLНекоректноЗареєстрованіПостачальники для відображення даних постачальників, зареєстрованих в неділю. Для цього
Скопіюйте запит SQLАлфавітнийСписокПостачальників в буфер обміну та вставте його під назвою SQLНекоректноЗареєстрованіПостачальники, оскільки ці запити мають однакові джерела даних, поля для відображення та сортування
Відкрийте запит SQLНекоректноЗареєстрованіПостачальники в режимі SQL та відредагуйте його текст до вигляду:
SELECT Постачальники.ПІБ, Постачальники.Адреса, Постачальники.ДатаРеєстрації, Weekday([ДатаРеєстрації]) AS [День реєстрації]
FROM Постачальники
WHERE Weekday([ДатаРеєстрації])=1
ORDER BY Постачальники.ПІБ;
-
Завантажте відредагований запит на виконання;
Перегляньте запит в режимі конструктора. Як в цьому режимі відображається умова відбору записів з джерела даних?
Закрийте запит та збережіть внесені зміни.
Самостійно доповніть в режимі SQL запит SQLАлфавітнийСписокКлієнтів полями Місяць реєстрації для відображення місяця реєстрації та День реєстрації для відображення дня тижня, в якому було зареєстровано клієнта.
Самостійно створіть запит SQLНекоректноЗареєстрованіКлієнти для відображення даних клієнтів, зареєстрованих в неділю.
Перегляньте запит ПрацюючіПенсіонера в режимах конструктора та SQL. Як поєднуються в режимі SQL умови, що записані в режимі конструктора в одному рядку? В різних рядках?
Конструювання параметрів поєднання таблиць джерела даних в режимі SQL.
-
Створіть запит SQLСпівробітникиБезВідділів для відображення прізвищ співробітників, у яких не вказаний відділ, де вони працюють. Для цього
Розпочніть створення запиту в режимі SQL
У вікні режиму SQL введіть текст запиту:
SELECT Співробітники.ПІБ
FROM Відділи RIGHT JOIN Співробітники ON Відділи.КодВідділу = Співробітники.КодВідділу
WHERE Відділи.КодВідділу Is Null
ORDER BY Співробітники.ПІБ;
-
Завантажте введений запит на виконання;
Перегляньте цей запит в режимі конструктора. Як в цьому режимі відображаються параметри поєднання між таблицями джерела даних? Встановіть в режимі конструктора інші параметри поєднання полів таблиць джерела даних та з'ясуйте, як ці зміни відображаються в режимі SQL;
Закрийте та збережіть створений запит.
Самостійна створіть в режимі SQL запити SQLСпівробітникиБезПостачань, SQLСпівробітникиБезПостачаньЗаПеріод, SQLСпівробітникиБезЗамовлень, SQLСпівробітникиБезЗамовленьЗаПеріод.
Створення запитів з групуванням даних в режимі SQL.
-
Створіть запит SQLКількостіЗареєстрованихПостачальниківПоДняхТижня в режимі SQL для відображення кількостей зареєстрованих постачальників за кожен день тижня. Для цього:
Розпочніть створення запиту в режимі SQL
У вікні режиму SQL введіть текст запиту:
SELECT SQLАлфавітнийСписокПостачальників.[День реєстрації], Count(SQLАлфавітнийСписокПостачальників.ПІБ) AS [Кількість постачальників]
FROM SQLАлфавітнийСписокПостачальників
GROUP BY SQLАлфавітнийСписокПостачальників.[День реєстрації]
ORDER BY SQLАлфавітнийСписокПостачальників.[День реєстрації];
-
Завантажте введений запит на виконання;
Перегляньте цей запит в режимі конструктора. Як в цьому режимі відображаються поля групування і поля з груповими операціями?
Закрийте та збережіть створений запит.
Самостійна створіть в режимі SQL запити SQLКількостіЗареєстрованихКлієнтівПоДняхТижня, та SQLКількостіЗареєстрованихКлієнтівПоМісяцях.
Створення запитів на поєднання даних в режимі SQL.
-
Створіть запит SQLПостачальникиТаКлієнти в режимі SQL для відображення алфавітного списку постачальників та клієнтів з зазначенням дати реєстрації. Для цього:
Внесіть у форми Постачальники та Клієнти по запису з однаковими ініціалами та датами реєстрації;
Розпочніть створення запиту в режимі SQL
Не закриваючи вікна запиту, відкрийте в режимі SQL запит АлфавітнийСписокПостачальників та скопіюйте через буфер обміну його текст у вікно створюваного запиту;
Не закриваючи вікна запиту, відкрийте в режимі SQL запит АлфавітнийСписокКлієнтів та скопіюйте через буфер обміну його текст у вікно створюваного запиту після скопійованого раніше тексту;
Відредагуйте текст запиту до вигляду:
SELECT Постачальники.ПІБ, Постачальники.ДатаРеєстрації
FROM Постачальники
UNION
SELECT Клієнти.ПІБ, Клієнти.ДатаРеєстрації
FROM Клієнти
ORDER BY 1;
-
Завантажте введений запит на виконання та запам'ятайте кількість записів, що відображається при цьому на екрані;
Спробуйте переглянути його структуру в режимі конструктора. Чому це не вдалося?
Поверніться в режим SQL і після слова Union допишіть слово All;
Знову завантажте введений запит на виконання і порівняйте кількість записів, що відображається на екрані, з кількістю записів, отриманою раніше. Віднайдіть ті записи, що призвели до розбіжності результатів;
Закрийте та збережіть створений запит.
Самостійно створіть запит SQLФізичніОсоби для відображення алфавітного списку унікальних прізвищ та ініціалів співробітників, постачальників і клієнтів
Завершальний етап заняття. Повторення вивченого матеріалу.
Стисніть створену БД
Завершіть роботу Access
Віднайдіть створену БД та заархівуйте її вміст
Збережіть створений архів на гнучкому диску в двох екземплярах.
Контрольні запитання.
Чи відрізняється послідовність виконання запитів, створених в режимі SQL, від послідовності виконання запитів, створених в режимі конструктора?
Яка загальна структура запитів на вибірку в режимі SQL?
Чим відрізняється синтаксис опису обчислювальних полів в режимах конструктора та SQL?
Як в режимі SQL описуються зв’язки та параметри поєднання між таблицями?
Де в режимі SQL описуються поля групування і де – поля з груповими операціями?
Де в режимі SQL описуються умови відбору записів джерела даних і як – умови відбору груп?
Яка загальна структура запитів на поєднання в режимі SQL?
Які основні вимоги висуваються до запитів на вибірку у загальному запиті на поєднання?
Перелік запитів, створених чи модифікованих в результаті виконання лабораторної роботи.
SQLАлфавітнийСписокКлієнтів.
SQLАлфавітнийСписокПостачальників.
SQLКількостіЗареєстрованихКлієнтівПоДняхТижня.
SQLКількостіЗареєстрованихКлієнтівПоМісяцях.
SQLКількостіЗареєстрованихПостачальниківПоДняхТижня.
SQLНекоректноЗареєстрованіКлієнти.
SQLНекоректноЗареєстрованіПостачальники.
SQLПостачальникиТаКлієнти.
SQLСпівробітникиБезВідділів.
SQLСпівробітникиБезЗамовлень.
SQLСпівробітникиБезЗамовленьЗаПеріод.
SQLСпівробітникиБезПостачань.
SQLСпівробітникиБезПостачаньЗаПеріод.
SQLФізичніОсоби.
|