Новини високих технологій
» » Для чого призначені запити? Мови запитів

Для чого призначені запити? Мови запитів

25-09-2018, 16:50
2 292
Бази даних займають все більше місця в нашому житті. Їх використовують в компаніях і банках, магазинах і на складах. Стикаючись з ними в повсякденному житті, багато хто хоче навчитися управління базами. Тому в статті ми познайомимо читача з поняттям запитів.

Що таке запити

Запити в базі даних – це спеціальні команди, за допомогою яких змінюють дані в таблицях і отримують з них потрібну інформацію. Ці команди можуть застосовуватися як до форм, так і до інших об'єктів БД – індексами, триггерам, уявлень, а також до БД в цілому. При цьому СУБД (системи управління базами даних) дозволяють робити зміни в таблиці цілком, так і в окремих записах і групах рядків.

Які бувають запити

Види команд залежать від того, для чого призначені запити і що за дії вони виконують. Основних типів операцій два: на вибірку; на дію. Другий тип включає в себе команди, що виконують зміни в БД: вставка, заміна і видалення полів або рядків. Всі операції також поділяють на такі типи: за зразком (QBE – Query by example); SQL (Structured Query Language). Перший вид використовує спеціальний "Конструктор запитів". Такий майстер створення команд є в СУБД Access. Він дозволяє створювати запити користувачів без спеціальних знань. SQL-запит формує програміст, використовуючи спеціальні інструкції.

Мови

Основною мовою практично у всіх СУБД SQL. Це гнучка система команд, що дозволяє отримати необхідну інформацію з таблиць, що відповідає зазначеним умов. З допомогою цієї мови можна робити вибірку, так і вносити зміни в об'єкти БД. Для обробки документів у форматі XML – розширюваному мовою розмітки – задіяні спеціальні мови запитів. Це XQuery і XPath, останній служить для запитів до елементів документів.

Запити на вибірку

Найбільш затребувана операція в БД – це отримання даних з таблиць, для чого призначені запити на вибірку. Ці команди дозволяють подивитися потрібні дані з БД згідно введеним умовам. Для цього користувач "Конструктора запитів" або програміст вказує список полів (стовпців), які він хоче отримати, присвоює їм найменування, розставляє в потрібному порядку.


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

Код



Ім'я студента



Прізвище студента



Дата народження



Факультет



Курс



1



Іван



Іванов



16051999



Технологічний



3



2



Сергій



Козлов



19011999



Економічний



3



3



Валерій



Пяткіна



22122000



Економічний



2



4



Тимофій



Трещоткин



01052001



Юридичний



1

Відкриваємо вкладку "Створення" і вибираємо пункт «Конструктор запитів». Додаємо таблиці "Студенти". Для вибору потрібних полів двічі клікаємо на них. Внизу вікна додаємо сортування, якщо вона необхідна, і додаткові умови відбору.
Після натискання на кнопку «Виконати» вкладки «Конструктора» у вікні з'являються результати вибірки.
Такі ж результати можна отримати з використанням SQL-запиту. Перехід в режим SQL відбувається по пункту контекстного меню. Наша операція тут виглядає так: SELECT Студенти.[Имя студента], Студенти.[Фамилия студента], Студенти.[Дата рождения]

FROM Студенти

ORDER BY Студенти.[Имя студента];

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

Запити на додавання

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

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

<script> (adsbygoogle = window.adsbygoogle ||[]).push({});

Створимо ще одну таблицю «Нові студенти» і додамо в неї 2 записи:

Код Ім'я Прізвище Дата народження
1 Юрій Семенов 11122002
2 Олексій Торопов 13082002

А тепер вставимо ці дані в таблиці «Студенти» за допомогою "Конструктора запитів". Для цього на вкладці "Конструктор" виберемо пункт «Додати», а у вікні вікні вкажемо таблиці «Студенти», в яку будуть вставлятися дані. У вікні запиту додамо таблицю «Нові студенти», з якої будемо брати запису. Виберемо поля, інформація з яких буде додана в таблиці «Студенти»:

І виконаємо запит. Таблиця стала виглядати так.

В режимі мови запитів SQL на додавання приймає вигляд:

INSERT INTO Студенти ([Имя студента],[Фамилия студента],[Дата рождения])

SELECT[Новые Студенты].Ім'я,[Новые Студенты].Прізвище,[Новые Студенты].[Дата рождения]

FROM[Новые Студенты];

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

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


<script type="text/jаvascript">
var blockSettings12 = {blockId:"R-A-116722-12",renderTo:"yandex_rtb_R-A-116722-12",horizontalAlign:!1async:!0};

if(document.cookie.indexOf("abmatch=") >= 0){
blockSettings12 = {blockId:"R-A-116722-12",renderTo:"yandex_rtb_R-A-116722-12",horizontalAlign:!1statId:7async:!0};
}

!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings12)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");

Зараз в таблиці «Студенти» є два записи з порожніми полями «Факультет» та «Курс» - нещодавно додані рядки. Давайте зробимо в них зміни і внесемо необхідні дані у ці рядки.

Студент Семенов вступив на перший курс юридичного факультету. У Конструкторі запитів вибираємо тип команд «Оновлення» і додаємо потрібні дані і умова зміни записів. Нам потрібно змінити два поля, тому вносимо дані для зміни у двох стовпцях параметрів запиту – поле «Факультет» таблиці «Студенти» має прийняти значення «Юридичний», поле «Курс» цієї таблиці – значення «1». У третьому стовпці вносимо умову, за яким відбирати дані для зміни. Прізвище студента таблиці «Студенти» повинна бути «Семенов».

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

<script> (adsbygoogle = window.adsbygoogle ||[]).push({});

У режимі SQL бачимо:

UPDATE Студенти SET Студенти.Факультет = "Юридичний", Студенти.Курс = 1

WHERE Студенти.[Фамилия студента]="Семенов";

Виконуємо операцію і отримуємо результат.

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

І нарешті бувають ситуації, коли частина записів виявляються непотрібними і їх слід видалити, для чого в СУБД призначені запити на видалення рядків. Наведемо приклад такої команди, видаливши нещодавно додану запис з таблиці «Студенти» - учня Олексія Торопова.

У "Конструктора запитів" вибираємо тип «Видалення» і формуємо команду з допомогою умов:

У режимі SQL бачимо текст:

DELETE

FROM Студенти


WHERE Студенти.[Фамилия студента]="Торопов"; Виконавши команду, отримуємо результат у таблиці:
Таким чином, ми на практиці вивчили, для чого призначені запити в БД. Їх різноманітність більше і ширше застосування, ніж описано в цій статті. Якщо вас зацікавить тема баз даних, ви можете продовжити вивчення самостійно.
Цікаво по темі
Microsoft Access - реляційна система управління базами даних: склад, сумісність
Microsoft Access - реляційна система управління базами даних: склад, сумісність
Поняття баз даних (DB – database) використовується скрізь. Компанії, фірми та організації різного рівня використовують БД у своїй роботі, довіряючи
Як додати рядки в таблиці Excel - порядок дій
Як додати рядки в таблиці Excel - порядок дій
При побудові таблиці Excel не завжди можна заздалегідь передбачити, які рядки і стовпці в ній потрібні.
Що це - первинний ключ в базі даних?
Що це - первинний ключ в базі даних?
У статті популярно описано поняття первинного ключа таблиці БД, а також супутніх понять простого, складного, природного, сурогатного та зовнішнього
Докладно про те, як зв'язати таблиці в access
Докладно про те, як зв'язати таблиці в access
Багато хто з нас працюють на виробництві, де найчастіше для ведення звіту використовуються бази даних. У даній статті ми докладно розповімо про те,
Як створювати запити в Access: покрокова інструкція та рекомендації
Як створювати запити в Access: покрокова інструкція та рекомендації
Робота з великими базами даних вимагає значних зусиль і вмінь, тому більшість користувачів, які використовують СУБД, шукають в інтернеті відповідь на
Створення запитів в Access. Види запитів
Створення запитів в Access. Види запитів
Створення запитів в Access відбувається для формування записів для інших запитів, звітів і форм. За допомогою певних запитів збираються дані з