Тема: Використання мови SQL для розробки багатотабличних запитів

Мета:

· Опанувати правила встановлення відповідності записів, що вибираються із різних таблиць та запис цих правил в інструкції SELEСT.

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

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

1. Вирішити задачу: “Підготувати дані про результати тестування, відібраних за критерієм, що базується на даних із різних таблиць “.

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

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

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

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

3. Розглянути задачу “Підготувати дані про результати тестування перших трьох груп автомобілів, тестування яких проводили контролери, чиї прізвища починаються на літери від А до П, а коди частин двигуна у яких виявлено несправності можуть бути 1, 2, 3”.

4. Продумати алгоритм вирішення задачі. Визначити як записати критерій відбору записів.

5. Скласти інструкцію. Ввести текст інструкції, запустити на виконання, перевірити правильність виконання. Записати запит SQL.

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

7. Розглянути комплекс задач “Автоматизувати підрахунок вартості проведених тестувань для кожного виду несправностей, виявлених під час тестувань”. При цьому врахувати наявність, вказаних нижче, трьох форм вихідних таблиць. Автоматизація отримання кожної форми розглядається як відповідна задача.

8. Розробити документ Форма 1 (.Розрахунок1 вартості тестувань. Якщо несправність не була виявлена під час тестувань, то потрібно виставити вартість та кількість рівними значенню 0. Результуючу таблицю упорядкувати за спаданням вартості тестувань);

9. Розробити документ Форма 2. (У результуючу таблицю включити лише дані про виявлені несправності).

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

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

12. Скласти інструкції SQL для кожного вихідного документа як окремий запит. Почергово ввести текст кожної інструкції, запустити запит на виконання, перевірити правильність виконання. Записати запит SQL.

13. Внести зміни до таблиць та запустити запит на виконання. Проаналізувати зміни у одержаних документах Форма1 – Форма3 комплексу документів.

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

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

· Завдання 1: Записати постановку першої задачі та відповідну їй інструкцію.

· Завдання 2 оформити як окрему роботу, але з єдиною нумерацією сторінок. Для завдання 2 вказати:

a) Титульну сторінку з назвою роботи: Комплекс задач “Вартість тестування авто”;

b) Структуру бази даних;

c) Перелік задач (загальниий перелік задач для виведення документів Форма1 –Форма3);

d) Лістинги SQL інструкцій для кожної задачі (з вказанням коментарів для критеріїв відбору даних);

e) Отримані вихідні документи за формами 1-3 (результуючі таблиці);

15. Зробити висновки по роботі з багатотабличними запитами, до яких включити:

· Синтаксис для вибору даних із двох таблиць;

· Повну схему запису списку полів у реченні SELECT, див. (5.2.1.);

· Значення предикатів у списку полів реченні SELECТ;

· Призначення оператора JOINT;

· Стислу характеристику операцій з’єднання таблиць.

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

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

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

1. В чому полягає правило встановлення відповідності записів, що вибираються із різних таблиць?

2. Вкажіть операції з’єднання, які ви знаєте.

3. Вкажіть синтаксис речення FROM для вибору даних із зв’язаних таблиць.

4. Що вказує на відсутність відповідного запису у зв’язаних таблицях?

5. Вкажіть синтаксис речення FROM для вибору даних із зв’язаних таблиць з різними множинами значень полів зв’язку.

6. У якому реченні вказується умова вибору записів без повторень. Як записується предикат для такого вибору?

7. Як розуміти зовнішнє об’єднання таблиць?

8. Вкажить різновиди зовнішнього об’єднання таблиць.

9. Вкажіть синтаксис речення FROM для вибору даних при лівому зовнішньому об’єднанні таблиць.

10. Вкажіть синтаксис речення FROM для вибору даних при правому зовнішньому об’єднанні таблиць.


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