Тема: Використання мови SQL для розробки запитів на пошук відсутніх даних про об’єкти предметної області та вибірки за зразком

Мета:

1. Навчитись використовувати оператори Like, IN при розробці запитів на мові SQL

2.Навчитись використовувати запити для організації контролю за появою незаповнених полів у базі даних.

Для ознайомлення з теоретичними відомостями необхідно розглянути підрозділ 5.1.4 – 5.1.5 даного посібника.

Лабораторне завдання №4

1. Побудувати перелік кодів авто, у яких виявлено “гіперфункції” роботи двигуна, тобто перевищення нормативів при роботі двигуна;

2. Побудувати список складових двигуна, назва яких не починаються словом “Система”;

3. Розробити списки несправностей, вартість тестування яких відповідає наведеному переліку;

4. Проаналізувати наявність незаповнених полів за допомогою предиката IS NULL.

Хід виконання роботи:

1. Повторити теоретичний матеріал підрозділів 5.1.2 -5.1.3. Ознайомитись з теоретичним матеріалом, див. підрозділи 5.1.4-5.1.5;

2. Відкрити тренінгову базу даних “Тестування авто 1”, див. Додаток А. ;

3. Перейти в режим SQL (вкладка Запрос, <Cоздать>, Конструктор, <Создать> , Вид, Режим SQL);

4. Розглянути задачу: “Побудувати перелік кодів авто, у яких виявлено “гіперфункції” роботи двигуна”. Скласти відповідну інструкцію. Ввести текст інструкції, запустити на виконання, перевірити правильність виконання. Записати запит.

5. Повторити пункт 4, для кожної задачі із списку лабораторних завдань.

6. Підготувати звіт з виконання лабораторної роботи № 4. У звіт включити:

· -Титульну сторінку;

· -По кожній задачі включити в звіт відомості у наступній послідовності:

номер задачі, постановка задачі (див. розділи 51.4-5.1.5), інструкція SQL. Інструкція оформлюється у звіті з коментарем до запису речень та використання операторів. Коментарі в тексті інструкції починаються символом <‘>(апостроф).

8. Відповісти на контрольні запитання.

Тривалість виконання лабораторної роботи №4 – 2 академічні години.

Контрольні запитання

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

2. Вказати синтаксис та аргументи оператора Like?

3. У яких випадках застосовується оператор IN?

 


 

Лабораторна робота № 5

 

Тема: Запити з агрегованими функціями

Мета:Навчитись проводити розрахунки за значеннями полів таблиць бази даних при розробці запитів на мові SQL та опанувати роботу з групуванням даних.

Для ознайомлення з теоретичними відомостями необхідно розглянути підрозділ 5.1.6 даного посібника.

Лабораторне завдання №5

1. Автоматизувати підрахунок кількості виявлених під час тестувань несправностей;

2. Автоматизувати засобами SQL підведення підсумків та формування груп за змінною умовою;

3. Виконати індивідуальне завдання.

Хід виконання роботи:

1. Повторити теоретичний матеріал підрозділів 5.1.3-5.1.5. Ознайомитись з теоретичним матеріалом, див. підрозділу 5.1.6;

2. Відкрити тренінгову базу даних “Тестування авто 1”, див. Додаток А;Перейти в режим SQL (вкладка Запрос, <Cоздать>, Конструктор, <Создать> , Вид, Режим SQL);

3. Розглянути задачу: “ Автоматизувати підрахунок кількості виявлених під час тестувань несправностей ”; Скласти відповідну інструкцію. Ввести текст інструкції, запустити на виконання, записати запит.

4. Розглянути задачу: “Автоматизувати засобами SQL підведення підсумків та формування груп за змінною умовою”. Скласти відповідну інструкцію. Ввести текст інструкції, запустити на виконання, записати запит.

5. Вибрати індивідуальне завдання із таблиці 7.5. Відкрити індивідуальну базу даних, див. [1].

8. Скласти відповідну інструкцію. Ввести текст інструкції, запустити на виконання, записати запит.

9. Підготувати звіт з виконання лабораторної роботи № 5. У звіт включити:

· Титульну сторінку;

· По кожній задачі подати відомості у наступній послідовності: задача №; постановка задачі; інструкція SQL. Інструкція оформлюється у звіті з коментарем до запису речень та використання операторів. Коментарі в тексті інструкції починаються символом <‘>(апостроф).

· Зробити висновки про технологію розробки однотабличних запитів в SQL-вказавши наступне:

a ). синтаксис для розробки однотабличних запитів;.

b ). Призначення речень FROM, WHERE;

c ). Оператори, які використовуть для розробки предикатів (арифметичні, логічні, оператори SQL);

d ). Технологію розробки групових запитів.

e ). Перелік агрегованих функцій та способи їх використання.

f ). Правило запису імен для агрегованих функцій.

10. Відповісти на контрольні запитання.

Тривалість виконання лабораторної роботи №5 – дві академічні години. На оформлення роботи відводиться 45 хвилин.

Індивідуальні завдання

Індивідуальні завдання виконуються з використанням індивідуальних баз даних, див. [1]. Номери індивідуального завдання співпадають з номером індивідуальної бази даних.

Таблиця 7.5

№ варіанта Завдання
1. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 1 (задача 1) про розподіл робіт по тривалості ( в годинах) однієї операції: не більше 3 годин, не більше 4 годин, не більше 5 годин і т. д.
2. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 2 (задача 2) про розподіл несправностей по кількості замовлених робіт в підгрупах[10,15), [15,20).
3. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 3 (задача 3) про розподіл несправностей по їх кількості в підгрупах [1,50), [50,100), [100,150)і т. д.
4. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 4 (задача 4) про розподіл використання обладнання по тривалості (в годинах) однієї операції: не більше 2 годин, не більше 2,5 годині т. д.
5. (див.індивідуальну базу даних 4 Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 4 (задача 4) про розподіл обладнання по цінам , що складають підгрупи:[1,200), [200,300),[300,350) .
(див.індивідуальну базу даних 4 Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 4 (задача 4) про розподіл замовлень по підгрупам за темам і з кодом [10,20), [20,30), і т.д. .
7. (див.індивідуальну базу даних 4) Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 4 (задача 4) про використання обладнання, за кодом обладнання утворюються підгрупи [1,3), [3,5), причому обладнання А та обладнання В мають входити у одну групу..
8. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 8 (задача 8) про розподіл обладнання по підгрупам цін [5,25),[25,50) і т. д.
9. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 9 (задача 9) про розподіл моделей обладнання по кількості замовленого обладнання у підгрупах кількості замовлень [1,4), [4,7).
10. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 10 (задача 10) про розподіл путівок по вартості проїзду (у %) по підгрупам [1,4), [4,7).
11. (див.індивідуальну базу даних 8) Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 8 (задача 8) про розподіл обладнання по підгрупам кількості замовлених автозапчастин [1,50),[50,100) і т. д.
12 (див.індивідуальну базу даних 9). Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 9 (задача 9) про розподіл моделей обладнання по цінам за одиницю у підгрупах [900,1300), [1300,1700) і т. д.
13. (див.індивідуальну базу даних 10). Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 10 (задача 10) про розподіл путівок по вартості путівки у підгрупах [1000,3000), [3000,5000) і т. д.
14. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 14 (задача 14) про розподіл путівок по вартості проїзду однієї сім’ї у підгрупах [1000,5000), [3000,7000) і т. д.
15. (див.індивідуальну базу даних 14). Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 14 (задача 14) про розподіл путівок по підгрупам кількості реалізованих путівок по підгрупам [50,100), [100,150).
16. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 16 (задача 16) про розподіл операцій залежно від відсотка вартості обладнання (від ціни послуги) по підгрупам: до 10% та від 10% до 20%.
17. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 17 (задача 17) про розподіл послуг (вказати кількість послуг) по цінам за поточний період по підгрупам: [200,500), [500,800) і т. д .
18. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 18 (задача 18) про розподіл послуг з проектування та побудови (вказати кількість послуг) по цінам за поточний період по підгрупам: [200,500), [500,800) і т. д .
19. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 19 (задача 19) про розподіл послуг з прокладаннятунелів та укладання асфальтного покриття (вказати кількість послуг) по цінам за поточний період по підгрупам: [200,500), [500,800) і т. д .
20. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 20 (задача 20) про розподіл груп (вказати кількість послуг) по середній погодинній оплаті по підгрупам: [7,9), [9,11) і т. д .
21. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 21 (задача 21) про розподіл груп (вказати кількість робіт) по середній погодинній оплаті по підгрупам: [5,8), [8,11) і т. д .
22. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 22 (задача 22) про розподіл груп (вказати кількість робіт) по тривалості робіт у днях по підгрупам: [100,200), [200, 300) і т. д .
23. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 23 (задача 23) про розподіл груп (вказати кількість робіт) по тривалості робіт у днях по підгрупам: [150,300), [300,450) і т. д .
24. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 24 (задача 24) про розподіл груп (вказати кількість робіт) по плановим витратам по підгрупам: [5000,25000), [25000,50000) і т. д .
25. (див.індивідуальну базу даних 24). Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 24 (задача 24) про розподіл груп (вказати кількість робіт) по фактичним витратам по підгрупам: [1000,10000), [10000,20000) і т. д .
26. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 26 (задача 26) про розподіл груп послуг (вказати кількість робіт) по вартості одиниці послуг: [80,100), [100, 120) і т. д .
27. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 27 (задача 27) про розподіл груп послуг (вказати кількість робіт) по ціні одиниці послуг: [10,15), [15, 30) і т. д .
Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 28 (задача 28) про розподіл груп послуг (вказати кількість робіт) по числу замовлених перацій: [10,40), [40, 70) і т. д .
.29 Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 29 (задача 29) про розподіл груп систем двигуна, у яких було виявлено несправності, (вказати кількість несправностей, що відносяться до кожної з підгруп ) по підгрупам: [1,2), [2, 4) і т. д .
30. Розробити інструкцію SQL для одержання даних із індивідуальної бази даних 30 (задача 30) про розподіл замовлень по кількості заявок у підгрупах:[50,80), [80, 110) і т. д .

 

Контрольні запитання

1. Які агреговані функції передбачено стандартами ?

2. Як можна підрахувати кількість непорожніх записів в таблиці?

3. Яке призначення ключового слова AS?

4. Для чого використовують речення GROUP BY та HAVING ?


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