Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода БД Delphi.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
834.05 Кб
Скачать

Завдання:

За допомогою засобу Visual Query Builder і QBE сформувати тексти SQL-операторів SELECT, що виконують:

– пошук інформації за заданою умовою у декількох таблицях (розглянути випадки декількох умов, з’єднаних зв’язками AND і OR);

– обчислення агрегатних функцій (COUNT, SUM, MAX, MIN) з групуванням за значенням деякого стовпця;

– накладення умови на групу.

Зміст звіту:

  1. Структури таблиць робочої бази даних.

  2. Опис запитів: а) словесний; б) мовою SQL; в) мовою QBE.

  3. Аналіз результатів роботи.

Порядок виконання роботи

Формування тексту SQL-оператора SELECT може здійснюватися за допомогою вбудованого в Delphi засобу Visual Query Builder або засобу QBE, що входить до складу DatabaseDesktop. Використання цих конструкторів дозволяє спростити процес побудови складних запитів.

Для формування тексту SQL-оператора SELECT за допомогою Query Builder необхідно виконати такі операції:

  1. Помістити на форму (звичайну або модуля даних) компонент типу TQuery. Задати ім’я об’єкту запита (властивість Name). Надати значення властивості DatabaseName.

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

  3. У вікні Add Table необхідно вибрати імена таблиць, які будуть брати участь в запиті. Двічі клацнути на відповідних іменах таблиць і закрити діалогове вікно. З’явиться вікно Visual Query Builder, що включає вибрані таблиці.

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

  5. Необхідно визначити, які стовпці таблиць, що з’єднуються, будуть входити до результуючої таблиці. Щоб додати стовпець до запиту, необхідно двічі клацнути на ньому. Назва стовпця повинна з’явитися в нижній частині вікна Query Builder.

  6. Умови, що накладені на значення стовпців, вводяться в графі Criteria цих стовпців в нижній частині вікна Query Builder. Для динамічних запитів в графі Criteria вказується умова порівняння з параметром.

  7. Для групування даних, що повертаються запитом, за значенням деякого стовпця необхідно в нижній частині вікна Query Builder клацнути правою кнопкою миші на полі Options цього стовпця і зі списку, що з’явиться, вибрати пункт Group.

  8. Для визначення умови обчислення агрегатних функцій (COUNT, SUM, MAX, MIN) використовується Expression Builder (кнопка a+b) панелі інструментів засобу Query Builder. В діалоговому вікні Expression можна сформувати необхідний вираз. Для цього:

– В рядку Expression Name ввести псевдонім стовпця, що обчислюється;

– Із списку Tables вибрати ім’я таблиці, для якої буде обчислюватися агрегатна функція;

– Двічі клацнути на імені агрегатної функції в списку Function і двічі на імені відповідного стовпця в списку Columns;

– Повернутися в головне вікно Query Builder, натиснувши Save і Close.

  1. Для перегляду SQL-оператора, згенерованого системою Query Builder, натиснути кнопку View SQL (на піктограмі кнопки зображені окуляри).

  2. Після закінчення роботи з Query Builder запит буде автоматично збережено у властивості SQL відповідного компонента TQuery. Імена параметрів, що використовуються в запиті, будуть автоматично внесені у властивість Params цього компонента.

Для формування тексту SQL-оператора SELECT за допомогою засобу QBE необхідно виконати такі операції:

  1. Запустити DatabaseDesktop (опції Tools / DBD) і настроїти Working Directory на необхідний аліас.

  2. Вибрати пункти меню File / New / QBEQuery. З’явиться діалогове вікно зі списком усіх таблиць зазначеної БД.

  3. Виберіть необхідні таблиці у вікні Select File і закрийте його. У вікні Query з’являться шаблони таблиць, що додані до запиту. При необхідності можна збільшити розміри вікна Query. Ще раз відкрити вікно Select File можна клацнувши на піктограмі Add Table (кнопка +) панелі інструментів.

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

– У випадку природного з’єднання клацніть на піктограмі Join Tables. Потім клацніть на стовпцях, за якими виконується з’єднання для обох таблиць. В кожному полі з’явиться слово join1. Повторіть цей процес для з’єднання інших таблиць, що входять до запиту.

– У випадку -з’єднання введіть умову з’єднання, натисніть F5 (або введіть знак підкреслення) і зазначте екземпляр елемента, що ідентифікує поля, які порівнюються. Екземпляр елемента буде виділено червоним кольором.

  1. Щоб додати стовпчик до результуючої таблиці запиту, необхідно клацнути на прапорці, що пов’язаний з цим стовпчиком. З’явиться прапорець , який вказує, що в результуючій таблиці будуть виведені унікальні дані в порядку їх збільшення. У випадку, коли необхідно вивести усі результуючі дані, включаючи дублікати, виберіть прапорець + (з меню за правою кнопкою миші). У цьому випадку дані не будуть сортуватися. Для сортування у порядку зменшення даних виберіть прапорець  .

  2. Умови, що накладені на значення стовпця, вводяться в полі стовпця. Для введення умов, що з’єднані зв’язкою OR необхідно ввести ще один рядок в шаблон таблиці (клавіша Insert). Для вилучення рядка з шаблону натиснути Ctrl+Del.

  3. Для визначення умови обчислення агрегатних функцій (COUNT, SUM, MAX, MIN) необхідно описати поле, що обчислюється (типу cаlc) в будь-якому з стовпців шаблона. Встановити прапорець  в полі, за значеннями якого треба згрупувати дані.

  4. Для перевірки своєї роботи можна переглянути результуючу таблицю. Для цього клацніть на піктограмі з зображенням блискавки.

Для перетворення оператора QBE в SQL-оператор, клацніть на піктограмі SQL. Отриманий SQL-вираз можна зберегти на диску або скопіювати в буфер обміну і вставити у властивість SQL об’єкта TQuery.

Приклад: Знайти прізвища всіх студентів, які вчаться на спеціальності ІТЕП.

Результат виконання запиту:

Практична робота № 12

Тема: Побудова звітів

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