Контакти

Запит на оновлення прикладних прикладів. Загальні відомості про запити

Російський університет кооперації

Кафедра інформаційних технологій

Дисципліна «Інформатика»

Підготувала доцент Гудзенчук З.В.

Тема. СУБД Access-запити на оновлення

Загальні відомості про запити

Запити використовуються для перегляду. сортування, фільтрації, зміни та аналізу даних різними способами. Запити також можна використовувати як джерела записів для форм, звітів та сторінок доступу до даних

У Access запити можна створювати у двох режимах:

    QBE(Query By Example) – запити за зразком, параметри яких встановлюються у вікні конструктора запитів – бланку запиту;

    SQL(Structured Query Language) - структурована мова запитів, під час створення яких застосовуються оператори та функції мови SQL.

В Access легко переключити запит із режиму QBEв режим SQL- запиту:

У режимі таблиціЗапит відображає результати виконання запиту.

Типи запитів

У режимі Конструктора тип запиту вибирається клацанням однією з кнопок групи Тип запиту(Таблиця 1).

Таблиця 1

Кнопка запиту

Тип запиту

Призначення запиту

Створення запиту, який вибирає записи з бази даних і показує їх.

Створення таблиці

Створення запиту, який виконує відбір записів із бази даних та зберігає їх як нову таблицю

Додавання

Створення запиту, який додає дані до існуючої таблиці

Оновлення

Створення запиту, який змінює дані у існуючій таблиці

Перехресний

Створення запиту, який виконує зведення даних за двома наборами значень, один із яких відображається у лівій частині, а інший – у верхній її частині.

Вилучення

Створення запиту, який видаляє дані, що відповідають зазначеним умовам, із існуючої таблиці

Об'єднання

Створення запиту, який організовує отримання та перегляд даних із кількох зв'язаних таблиць.

Запит на сервер

Створення запиту SQL. При використанні пов'язаних таблиць серверних баз даних, таких як SQL Server або Oracle, може виникнути необхідність виконати на сервері запит, який має розширені можливості порівняно з «власною» мовою SQL Access, яку підтримує сервер.

Управління

Створення запиту визначення даних (керуючі запити) у режимі SQL. У запиті Access, що управляє, можна використовувати інструкції CREATE TABLE (створення таблиці) і ALTER TABLE (зміна структури таблиці).

Тип запиту на зміну

Запит на зміни- це запит, який дозволяє, виконавши одну операцію, внести зміни до багатьох записів. Існує чотири типи запитів на зміну:

    створення таблиці

    видалення записів

    додавання записів

    оновлення записів.

Перелічені типи запитів на зміну дозволяють автоматично створювати нові таблиці або змінювати базові таблиці відповідно до даних результуючих таблиць.

Створення запитів на оновлення таблиць

Запит на оновлення даних використовується для зміни наявних записів у таблицях. Основна відмінність таких запитів від запитів на додавання та видалення – це те, що змінюються значення окремих полів записів. Можна видаляти значення полів, залишаючи порожніми, при цьому операція буде рівнозначна видаленню частини запису. Крім того, можна заповнювати порожні значення окремих полів даними, що дорівнює додаванню даних. Але якщо потрібно додати або видалити рядки повністю, потрібно використовувати запити на додавання або видалення записів відповідно.

Оновлювати дані можна не у всіх полях. Нижче наведено список полів, значення яких не можна змінити запитом на оновлення:

Поля, джерелом записів для яких є підсумкові запити або перехресні запити, які будуть розглянуті далі в цьому розділі;

Поля-лічильники, тому що їхнє значення змінюється лише при додаванні записів до таблиці;

Поля у запитах на об'єднання, оскільки ці дані не зберігаються у базі, а вибираються із зазначених таблиць;

Поля у запитах на унікальні значення та запити на унікальні записи – запити, що повертають неповторні значення або записи;

Первинні ключі, що беруть участь у відносинах між таблицями, крім тих випадків, коли ці відносини були налаштовані на автоматичне виконання каскадного оновлення через поля ключа та будь-які пов'язані поля.

З книги Комп'ютер на 100. Починаємо з Windows Vista автора Зозуля Юрій

Створення та редагування таблиць Таблиці можна створювати як у режимі конструктора, так і в режимі таблиці. У режимі таблиці на стрічці з'являється вкладка Режим таблиці (рис. 7.13), де можна знайти команди для роботи з полями та їх властивостями. Мал. 7.13. Створення нової

З книги AutoCAD 2009 автора Орлов Андрій Олександрович

Створення простих запитів на вибірку Для створення простих запитів на вибірку найкраще використовувати Майстер запитів. Розглянемо два види найпростіших запитів:? детальні – в результаті виконання таких запитів будуть відображені всі записи з одного або кількох

З книги Обробка баз даних на Visual Basic®.NET автора Мак-Манус Джеффрі П

Створення таблиць Команда TABLE створює табличний об'єкт: вставляє порожню таблицю в малюнок, починаючи з зазначеної точки, або в певну область за допомогою стилю таблиці, кількості рядків, стовпців та розмірів, які ви призначаєте. Для виклику команди TABLE потрібно

З книги Word 2007. Популярний самовчитель автора Країнський І

Створення запитів TOP PERCENT Можна писати запити, що повертають записи, кількість яких визначається заданим відсотком загальної кількості записів у таблиці. Наприклад, якщо у вас є таблиця з 1000 записів і необхідно повернути один відсоток перших записів, то як

З книги AutoCAD 2010 автора Орлов Андрій Олександрович

5.1. Створення таблиць Робота з таблицями не є основним призначенням Microsoft Word. Однак іноді документ повинен вставити дані, які краще сприймаються саме у вигляді таблиці. Якщо таблиця нескладна, використовувати спеціальні програми для роботи з

З книги Реферат, курсова, диплом на комп'ютері автора Баловсяк Надія Василівна

Створення таблиць Команда TABLE створює табличний об'єкт: вставляє порожню таблицю в малюнок, починаючи з зазначеної точки, або в певну область з використанням стилю таблиці, кількості рядків, стовпців та розмірів, які ви призначаєте. Після запуску команди TABLE

З книги TCP/IP Архітектура, протоколи, реалізація (включаючи IP версії 6 та IP Security) автора Фейт Сідні М

Створення таблиць Вставити таблицю в документ Word можна кількома способами. Найпростіший з них – скористатися кнопкою Вставити таблицю, розташовану на панелі інструментів Стандартна, та вказати розмір, тобто кількість рядків та стовпців. Щоправда, у цьому випадку ви

З книги HTML 5, CSS 3 та Web 2.0. Розробка сучасних веб-сайтів. автора Дронов Володимир

8.9.2 Оновлення таблиць RIP Як видно з рис. 8.5 маршрутизатор А пересилає трафік у мережу 136.10.0.0 через маршрутизатор B. А отримав зміни від свого сусіда D, який оголосив про більш короткий маршрут, і А змінив свою таблицю маршрутизації. Зазначимо, що кількість влучень від

З книги HTML 5, CSS 3 та Web 2.0. Розробка сучасних Web-сайтів автора Дронов Володимир

формують саму таблицю:

З книги XSLT автора Хольцнер Стівен

Створення таблиць Таблиці HTML створюються в чотири етапи. На першому етапі в HTML-коді за допомогою парного тега

формують саму таблицю:
Таблиця HTML є блоковим елементом Web-сторінки. Це означає, що вона розміщується окремо від усіх інших блокових.

З книги Microsoft Access 2007 автора Днепров Олександр Г.

З книги Firebird КЕРІВНИЦТВО РОЗРОБНИКА БАЗ ДАНИХ автора Боррі Хелен

Створення запитів на додавання даних Запит на додавання використовується, коли потрібно додати нові записи до наявної таблиці. Вихідних таблиць може бути одна або кілька, при цьому вони можуть знаходитися в тій же базі даних, що і результуюча, або в

Як приручити комп'ютер за кілька годин автора Ремнєва Ірина

Створення запитів на видалення записів Запит на видалення записів використовується, якщо потрібно видалити запис. Такий запит видаляє всі дані кожного поля запису разом зі значенням ключа, який робить цей запис

З книги Просування порталів та інтернет-магазинів автора Грохівський Леонід О.

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

З книги автора

Створення таблиць Давайте створимо табличку (будете, наприклад, розклад уроків дітям писати, чи розпорядок дня, чи…). Щоб не заплутатися, створимо новий файл. Пам'ятаєте як? Відкриваємо Word, бачимо Документ 1 (якщо програма відкрита, то Файл? Відкрити), зберігаємо новий документ

З книги автора

Створення груп запитів Після чищення ми отримаємо дуже довгий список, що складається з важливих для нашого порталу або інтернет-магазину запитів, проте працювати з цим списком буде дуже складно, оскільки він неструктурований. Наступне завдання – побудувати структуру,

Ms Access підтримує два режими блокування.

    Оптимістичне блокування. Використовується за промовчанням. Запис блокується лише під час збереження, а в процесі редагування залишається незаблокованим. При збереженні Access блокує змінені записи, щоб уникнути хибної ситуації. Наприклад, коли користувач може внести до запису або неправильні зміни, або змінити не той запис.

    Песимістична блокування. Це блокування змін. Дозволяє лише одному користувачеві писати у заблоковані дані. Інші користувачі можуть читати їх, незважаючи на блокування, але не писати в них.

Для завдання рівня блокування даних у Ms Access 2007 слідує:

    У розділі Додатково встановлено параметри блокування Access (рис.6).

Мал. 6 Розділ вікна для керування блокуваннями

Проблема під час виконання запитів

Оскільки в Access за замовчуванням увімкнено прапорець ,

при відкритті бази даних під стрічкою з'являється повідомлення про блокування записів.

У такому режимі захисту записів створені запити на зміну не працюють. Для виконання запитів на зміну необхідно зняти блокування.

Відобразиться вікно Параметри безпеки Microsoft Office (мал.7).

Рис.7 Вікно оповіщення системи безпеки

Запит на оновлення

У сумі недоїмки комунальних платежів повинні нараховуватися пені у вигляді 1/300 ставки рефінансування Банку Росії, чинної день оплати, кожний день прострочення сплати.

Вказівка ​​Банку Росії від 31.05.2010 № 2450-У

Запити на оновлення для зміни значення поля дозволяють змінити дані у таблиці. Вони використовуються для поновлення значень полів за допомогою одного загального виразу. Приклад запиту на оновлення для змінизначень у стовпці Пенізалежно від значення полів Сума, Недоплатата від значення ставки рефінансування Банку Росії.

Пені = Сума * Недоплата * 8.75/300

Завдання 1. Створити запит до таблиці ОплатаКоммПослугна оновлення значень поля Пені.

Дії

З'явиться вікно

Список полів таблиці ОплатаКоммПослуг з'явиться на верхній половині вікна Конструктора.

Бланк запитупризначений для визначення полів та умов, які будуть використані для виконання запиту.

Нижня половина вікна бланка запиту спочатку має вигляд (рис.8).

Мал. 8 Нижня половина вікна Конструктора для створення конкретного типу запиту

За замовчуванням у бланку запиту міститься 6 рядків (кількість рядків може змінюватись в залежності від типу запиту).

Заголовок рядка

Призначення

Ім'я поля, вибраного з таблиці

Ім'я таблиці

Ім'я таблиці доданої до бланку запиту. Додати до бланку запиту можна кілька таблиць. Ви можете створити новий запит на основі існуючого запиту.

Сортування

Сортування за зростанням/зменшенням або відсутнім

Виведення на екран

Під час прапорця /відображає або не відображає на екрані значення полів записів - результат виконання запиту

Умова відбору

Критерій/критерії фільтрації записів із таблиці/запиту для результуючого набору даних. Якщо критеріїв кілька, фільтрація здійснюється для логічної операції І (AND).

Критерій логічної операції АБО (OR) для включення додаткових записів у результуючий набір даних

    У першому стовпці нижньої половини вікна Конструктора виконати дії створення запиту на оновлення поля Пені (рис.9).


Мал. 9 Вікно будівельника виразів

Відобразиться вікно повідомлення (рис.10).

Рис.10 Вікно - попередження про зміну даних

Рис.11 Вікно підтвердження оновлення записів

      Перегляд результатів виконання запиту можна, відкривши запит у режимі Таблиці або, відкривши таблицю ОплатаКоммПослуг у режимі таблиці.

Завдання 2 . Створити запит до таблиці ОплатаКоммПослугна оновлення значень поля СумаЗ рахункомПені.

Дії

    Виконання запиту на оновлення записів стовпця СумаЗ рахункомПеніздійснюється аналогічно до попереднього завдання, повторенням кроків попереднього завдання з 2-го пункту до пункту 5.4.

    Потім слід створити вираз для обчислення значень поля СумаЗ рахункомПені(Рис. 12).

Мал. 12 Вигляд виразу для зміни значень для стовпця СумаСучетоПені

      Результат виконання двох запитів оновлення записів представлений на рис.13

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

Примітка


Мал. Фрагмент форми з підказкою для кнопки Оновлення

На малюнку 16 представлено оновлення трьох полі при зміні даних записах з номерами 1,7,12,22,23.

Рис.16 Таблиця ОплатаКоммПослуг після виконання запиту на оновлення трьох стовпців

Окрім запитів на вибірку, за допомогою яких здійснюється лише відбір необхідних даних, Access надає можливість модифікувати дані за допомогою запитів на оновлення. При виконанні такого запиту результуюча таблиця не формується, оскільки його завданням є зміна даних у таблиці, обраної джерела даних під час формування запиту. Тому бланк запиту може містити лише поля, значення яких потрібно оновити, та поля, за значеннями яких відбираються записи для зміни даних.

Після включення до бланку запиту полів вибраної таблиці виконується команда Запит® Оновлення, після чого в нижній частині бланка рядок Сортуваннязамінюється рядком Оновлення. У цей рядок у комірку поля, значення якого необхідно змінити, вводиться вираз. Наприклад, у комірку поля Зарплатабуде введено вираз 1,5* [оклад] – 0,13*1,5* [оклад] , з якого видно, що зарплата кожного співробітника в 1,5 разу більша за його оклад мінус 13% відрахувань. Найменування полів, значення яких будуть використані при обчисленні введеного виразу, мають бути укладені у квадратні дужки.

За допомогою запиту на оновлення можна змінювати дані не всіх записів, а вибірково. Для цього до бланку запиту включаються поля, за значеннями яких вестиметься відбір записів. Наприклад, у таблиці Співробітникнеобхідно збільшити оклади на 25% лише інженерам. З цією метою в осередок стовпця Окладвводиться вираз 1,25* [Оклад] , а в комірку, що знаходиться в рядку Умова на вибіркуі в стовпці поля Посада, записується критерій пошуку інженер.

Іноді важко вводити з клавіатури імена полів, що використовуються у виразах, особливо якщо ці імена довгі. У цьому випадку доцільно скопіювати їх у буфер обміну, попередньо виділивши імена цих полів у рядку Полебланка запит.

При запуску запиту на оновлення (клацання на кнопці Запуск! ) або його відкриття у вікні бази даних Access попередить, що буде оновлено значення такої кількості записів.

Для перегляду результатів розрахунку після виконання запиту необхідно у вікні бази даних натиснути на значку об'єкта Таблиці, виділити ім'я таблиці (у разі таблиці Співробітник) і відкрити її клацанням на кнопці Відкрити.

Підсумкові запити

Підсумкові запити дозволяють виконувати обчислення (суму, середнє значення та ін) по всіх записах для будь-якого числового поля, визначати кількість записів. Підсумкові запити формуються, як раніше розглянуті види запитів, з допомогою бланка запиту за зразком. У нижню частину бланка запиту включаються поля, котрим розраховуються підсумкові значення, і навіть поля, якими проводиться групування записів. Наприклад, необхідно визначити для кожного підрозділу (див. таблицю Співробітник) кількість співробітників, які обіймають певну посаду, і навіть суму окладів і середнє значення зарплати з кожної посади. Для цього в запит включаються поля Підрозділі Посада, за якими групуються записи, а також поля Посада(тобто в нижню частину бланка запиту це поле вставляється двічі), Окладі Зарплата, щоб підрахувати відповідно кількість працівників, суму окладів та середню зарплату для кожного найменування посади.

Після включення потрібних полів у запит необхідно клацнути на кнопці S (Групові операції), розташованої на інструментальній панелі, після чого з'явиться рядок Групові операції. У кожному осередку цього рядка з'явиться слово Угруповання. Для полів Підрозділі Посадазначення Угрупованняв рядку Групова операціямає бути залишено. Клацніть на осередках інших полів зі значенням Угрупованнявикликає появу кнопки вибору даних зі списку, з якого вибирається потрібна операція: для поля ПосадаCount(кількість), для поля ОкладSum(сума), для поля ЗарплатаAvg(середнє значення). Крім зазначених функцій також часто використовуються функції Max(максимальне значення) та Min(мінімальне значення). Для полів Підрозділі Посададоцільно включити сортування за зростанням.

Редагування запитів

Для внесення необхідних змін до запиту будь-якого виду його ім'я слід маркувати у вікні бази даних та клацнути на кнопці Конструктор. На екрані з'являється бланк запиту, який можна вносити зміни: вставити, видалити чи перейменувати поля, змінити умови відбору, тип сортування та інших.

Щоб видалити поле, необхідно клацнути на будь-якому осередку цього поля, а потім виконати команду Виправлення® Видалити.

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

Додавання нового поля здійснюється так само, як вставка поля при формуванні запиту.

Форми

Створення форм

Access надає можливість вводити дані безпосередньо в таблицю, як було розглянуто раніше, або за допомогою форм. Форми рекомендується використовувати, якщо дані часто змінюються або база постійно поповнюється новими записами. Якщо дані вводяться безпосередньо з бланків, то графічними засобами форму можна подати так, щоб вона повторювала оформлення бланка, що полегшує роботу користувача.

За допомогою форм дані можна не тільки вводити, а й відображати у зручному для користувача вигляді.

Форми можна створювати в режимі Конструктор або за допомогою Майстра форм або використовувати автоформи. На відміну від таблиць та запитів, які рекомендується формувати за допомогою Конструктора, форми зручніше створювати, використовуючи автоформи або Майстер форм, а Конструктор застосовувати під час редагування та форматування форм.

Автоформи бувають трьох видів: «у стовпець» стрічкові та табличні. Табличні форми мають вигляд таблиць Автоформа "в стовпець" може відображати лише один запис.

Для створення автоформи у вікні бази даних потрібно натиснути на піктограму елемента Формиа потім клацнути на кнопці Створити. У діалоговому вікні Нова формавибирається вид автоформи та джерело даних: таблиця чи запит. Після клацання на кнопці OKавтоформа виводиться на екран.

Використання Майстра форм дозволяє відображати у формі не всі поля джерела даних, а вибірково за бажанням користувача. Для вибору поля у вікні Доступні полямаркується ім'я поля, а потім виконується клацання на кнопці переносу > . Для «перенесення» всіх полів джерела даних у вікно Вибрані полявикористовується кнопка >> .

Створюючи форму за допомогою Майстра, можна вибрати зовнішній вигляд форми: один стовпець (на екрані відображається лише один запис), стрічковий або табличний. Можна також встановити потрібний стиль та ім'я форми.

Під оновленням даних у БД мається на увазі зміна значень у існуючих записах таблиці. При цьому можлива як зміна значень полів у групі рядків (навіть усіх рядків таблиці), так і редагування значення поля окремого рядка.

У SQL, змінити запис у таблиці БД можна за допомогою команди UPDATE. У мінімальному вигляді команда оновлення даних виглядає наступним чином:

UPDATE таблиця SET поле = значення

Тут, UPDATE– команда, яка вказує, що запит на оновлення даних;

таблиця- Назва таблиці, в якій проводитиметься зміни;

SET- команда, після якої через кому вказуються поля з значеннями, що їм призначаються;

поле– поле таблиці, до якого буде внесено зміну;

значення– нове значення, яке буде внесено до поля.


Наприклад, якщо необхідно задати полю у всіх рядках таблиці значення, що дорівнює нулю, можна виконати такий запит:

UPDATE goods SET price = 0

У цьому випадку, поле price абсолютно у всіх наявних рядках таблиці набуде значення 0.

Зміна одного значення

Зміна значення всіх полів у таблиці необхідно вкрай рідко. Найчастіше необхідно змінити значення якогось конкретного запису. Для цього в кінці рядка з командою UPDATE буде додано директиву WHERE, в якій вказується умова, яка визначає з яким саме рядком потрібно виконати операцію оновлення.

Є таблиця:

Наприклад, потрібно оновити вартість товару з відомим нам значенням num. Для цього виконаємо наступний запит:

UPDATE goods SET price = 150 WHERE num = 2

Тепер, перед операцією зміни полів, буде вибрано рядок, який задовольняє умові num = 2. Такий рядок у таблиці один. У цьому стоку ціна буде змінена на значення 150. У результаті отримаємо таблицю зі зміненою ціною товару.

Внесення змін до кількох рядків за умови відбору

Якщо згадати все різноманіття умов у запиті, можна уявити, наскільки різноманітними можуть бути вибірки. Тому запити на оновлення можуть виконуватися або з одним рядком, або з групою рядків, або з усіма рядками таблиці. Все залежить від завдання, що стоїть перед вами, а так само з якими рядками таблиці потрібно виконувати операції оновлення.

Наприклад, ми хочемо зменшити вдвічі ціну всіх товарів, які зараз коштують від 100 і більше. Запит:

UPDATE goods SET price = price / 2 WHERE price >= 100

Умова WHEREтут містить правило, за яким будуть обрані тільки товари з ціною, що дорівнює або більше 100, а ті товари, ціна у яких нижче 100, торкнуться запитом не будуть.

price = price / 2– формула, за якою обчислюватиметься нова ціна товарів. Нова ціна буде записана рівною старою ціною, поділеною на два.

В результаті виконання такого запиту отримаємо таблицю зі зміненими записами:

Оновлення значень у кількох полях рядка

При необхідності оновлювати відразу кілька полів, всі поля з їх значеннями вказуються після директиви SET через кому. Наприклад, потрібно змінити назву та ціну товару з кодом 2 на «праску», вартістю 300:

UPDATE goods SET title = "праска"" , price = 300 WHERE num = 2 !}

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


Вище наведено основні види операцій оновлення. На основі формується запити на вирішення більшості завдань зміни даних у створенні із застосуванням SQL.



Сподобалася стаття? Поділіться їй