- •Тема: Багатотабличні запити на вибірку. Перехресні запити
- •1. Теорія
- •1.1. Об'єднання записів зв'язаних таблиць
- •1. 2. Перехресні запити
- •2. Хід роботи На рівень «Достатній»
- •2.1. Конструювання багатотабличного запиту на вибірку
- •2. 1.1. Конструювання запиту на основі кількох взаємозалежних таблиць
- •2.1. 2. Введення параметрів у запит
- •2.1. 3. Групові операції в багатотабличному запиті
- •На рівень «Середній»
- •2. 1. 4. Рішення задачі, що вимагає виконання декількох запитів
- •2. 2. Створення перехресної таблиці
- •На рівень «Високий»
- •2.3. Створення перехресної таблиці на основі даних з кількох таблиць
Лабораторна робота № 28
Тема: Багатотабличні запити на вибірку. Перехресні запити
Мета: Засвоїти поняття багатотабличного запиту. Навчитися будувати багатотабличні запити для розв'язання задач різної складності. Ознайомитися з поняттям перехресного запиту, відпрацювати навички роботи з Мастером перекрестных запросов, навчитися будувати перехресні запити будь-якої складності.
План
1. Теорія
1.1. Об 'єднання записів зв'язаних таблиць 1.2. Перехресні запити
2. Хід роботи
2.1. Конструювання багатотабличного запиту на вибірку
2.1.1. Конструювання запиту на основі кількох взаємозалежних таблиць
2.1.2. Введення параметрів у запит
Групові операції у багатотабличному запиті
Рішення задачі, що вимагає виконання декількох запитів
Створення перехресної таблиці
Створення перехресної таблиці на основі даних з кількох таблиць
1. Теорія
1.1. Об'єднання записів зв'язаних таблиць
Багатотабличний запит дає можливість сформувати записи результату обробки
шляхом об'єднання взаємопов'язаних записів з таблиць бази даних. Багатотабличний запит здійснює об'єднання даних, які на етапі проектування були поділені на декілька об'єктів у відповідності з вимогою щодо відсутності дублювання даних в базі.
Між таблицями в базі даних може бути встановлений зв'язок для об'єднання записів таблиць по спільному полю при їх обробці. Для будь-якої пари таблиць мо же бути вибраний один з трьох способів об'єднання записів:
• Спосіб 1 - об'єднання тільки тих записів, в яких зв'язані поля обох таблиць
співпадають (відбувається за замовчуванням);
Спосіб 2 - об'єднання тих записів, в яких зв'язані поля обох таблиць співпадають, а також об'єднання всіх записів з першої таблиці, для яких немає зв'язаних у другій, з порожнім записом другої таблиці;
Спосіб 3 - об'єднання тих записів, в яких зв'язані поля обох таблиць співпа дають, а також об'єднання всіх записів з другої таблиці, для яких немає зв'язаних у першій, з порожнім записом першої таблиці.
При встановленні в схемі даних міжтабличних зв'язків, за замовчуванням вибраний перший спосіб об'єднання. При побудові багатотабличних об'єктів (в тому числі запитів), застосовується саме цей спосіб, якщо інше окремо не обумовлено.
Якщо між таблицями зв'язок не встановлений, то програмі невідомо, які записи з якими зв'язані, тому в результаті запиту будуть відображатися усі комбінації записів таблиць, тобто будуть об'єднуватись усі з усіма. Так, якщо одна таблиця містить 10 записів, друга 4 записи, то в результаті запиту отримаємо 40 записів. Це називається повне об'єднання.
1. 2. Перехресні запити
Перехресний запит є спеціальним запитом підсумкового типу. Такий запит дозволяє отримати значення, що обчислюються, у вигляді перехресної таблиці, що нагадує зведену електронну таблицю. У перехресній таблиці лівий стовпець утворить заголовки рядків зі значень одного поля, верхній рядок утворить заголовки стовпців зі значень Іншого поля, а на перетині рядків і стовпців розміщуються підсумкові значення, обчислені за значеннями третього поля. Для одержання підсумкових значень записи групуються по полям, що використовуються як заголовки рядків і стовпців, і для значень третього поля в отриманих групах записів застосовується одна з обраних статистичних функцій. Можна передбачити виконання статистичної функції й одержання загального підсумкового значення для кожного рядка в цілому.
Перехресні запити створюються за допомогою Майстра перехресних запитів. Відповідаючи на питання Майстра, можна побудувати перехресну таблицю на основі однієї таблиці. У разі потреби створення перехресного запиту на основі декількох
таблиць потрібно спочатку створити запит на вибірку, використовуючи ці таблиці, а потім на його основі - перехресний запит.
