Какви са исканията за? Езици за заявки

12.03.2019

Базите данни заемат все повече място в живота ни. Използват се в компании и банки, магазини и складове. Изправени пред тях в ежедневието, много хора искат да се научат как да управляват бази данни. Затова в статията ще запознаем читателя с концепцията за заявките.

Какво представляват исканията

Запитванията в базата данни са специални команди, които променят данните в таблиците и получават необходимата информация от тях. Тези команди могат да се прилагат както за таблици, така и за други обекти на базата данни - индекси, тригери, изгледи, както и за базата данни като цяло. В същото време СУБД (системи за управление на бази данни) могат да правят промени както в цялата таблица, така и в отделни записи и групи редове.

Какви са исканията

Типовете команди зависят от това за какво са предназначени заявките и какви действия изпълняват. Има два основни вида операции:

  • на проба;
  • относно действието.

Вторият тип включва команди, които извършват промени в базата данни: вмъкване, замяна и изтриване на полета или редове. Всички операции също са разделени на следните видове:

  • по образец (QBE - Query by example);
  • SQL (език за структурирани заявки).

Първият тип използва специален "Query Designer". Такъв съветник за създаване на екипи е в DBMS Access. Тя ви позволява да създавате заявки за потребители без специални познания.

SQL заявката се формира от програмиста с помощта на специални инструкции.

Заявки от базата данни

езици

Основният език в почти всички СУБД е SQL. Това е гъвкава командна система, която ви позволява да получите необходимата информация от таблиците, които отговарят на определените условия. Използвайки този език, можете да направите избор и да направите промени в обектите на базата данни.

За обработка на документи в XML формат - разширяем език за маркиране - се включват специални езици за заявки. Това са XQuery и XPath, последният служи за запитване на елементи от документа.

Искания за проба

Най-исканата операция в базата данни е да се получат данни от таблиците, за които са предназначени заявки за вземане на проби. Тези команди ви позволяват да прегледате необходимите данни от базата данни според въведените условия. За да направите това, потребителят на "Query Designer" или програмистът посочва списъка с полета (колони), които той иска да получи, им присвоява имена, поставя ги в желания ред.

Командата може да бъде безусловна или с дадените параметри. В първия случай потребителят ще бъде върнат масив от данни, състоящ се от всички редове в таблицата. Във втория - само тези линии, които отговарят на изискването. По този начин можете да зададете ограничения - да зададете филтър върху необходимите данни.

Получената информация може да се сортира по едно или няколко полета, да се комбинират линии по някакъв атрибут, да се правят изчисления с помощта на функции. Това са агрегирани функции, които преброяват броя, количеството, средното аритметично на полетата и другите суми.

В образците се комбинират няколко таблици, свързвайки ги един с друг според необходимия атрибут и получавайки финална таблица, съдържаща информация от няколко източника.

Нека се опитаме да направим извадка в Access, за която са предназначени запитванията в "Constructor". Нека създадем таблица "Студенти" в нашата база данни.

код Име на ученика Името на ученика Дата на раждане отдел курс
1 Иван Иванов 16.05.1999 технологически 3
2 Сергей Козлов 19.01.1999 икономически 3
3 Валери Pyatkin 22.12.2000 г. икономически 2
4 тимотейка Treschotkin 01.05.2001 правен 1

Отворете раздела „Създаване“ и изберете елемент „Дизайн на заявките“. Добавете таблицата "Студенти". За да изберете необходимите полета, кликнете два пъти върху тях. В долната част на прозореца се добавя сортиране, ако е необходимо, и допълнителни условия за избор.

Примерен дизайнер

След като щракнете върху бутона "Изпълни" в раздела "Дизайнер", резултатите от избора се появяват в прозореца.

Примерни резултати

Същите резултати могат да бъдат получени с помощта на SQL заявка. Преходът към SQL режим се извършва в контекстния елемент на менюто. Работата ни тук изглежда така:

SELECT Студенты.[Имя студента], Студенты.[Фамилия студента], Студенты.[Дата рождения]

FROM Студенты

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

По същия начин можете да създавате и изпълнявате команди на извадка от няколко таблици, с параметри и суми.

Добавяне на заявки

Този тип операция се използва за вмъкване на нови редове в съществуваща таблица на базата данни. Можете да добавите конкретни стойности на полета или да извлечете информация от една таблица и да я добавите към друга. Как да извлечем данни, ние вече знаем, нека видим как да добавяме редове.

Създайте друга таблица „Нови ученици“ и добавете към нея 2 записи:

код Име Фамилия Дата на раждане
1 жури Семьонов 11.12.2002 г.
2 Алексей Toropov 13 август 2002 г.

И сега ще вмъкнем тези данни в таблицата „Студенти“, като използваме „Query Builder“. За да направите това, в раздела "Конструктор" изберете елемента "Добавяне" и в отворения прозорец изберете таблицата "Студенти", в която ще бъдат вмъкнати данните. В прозореца на заявката ще добавим таблицата „Нови ученици“, от която ще правим бележки. Изберете полетата, информацията от която ще бъде добавена в таблицата „Студенти“:

Добавяне на конструктор

И изпълнете заявката. Масата започна да изглежда така.

Добавете резултати

На езика на SQL заявката за добавяне се приема формата:

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

SELECT [Новые Студенты].Имя, [Новые Студенты].Фамилия, [Новые Студенты].[Дата рождения]

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

Заявки за промяна

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

Сега в таблицата "Студенти" има две записи с празни полета "Факултет" и "Курс" - наскоро добавени редове. Да направим промени в тях и да въведем необходимите данни в тези колони.

Студент Семьонов постъпва в първата година на юридическия факултет. В конструктора на заявки изберете командния тип „Update“ и добавете необходимите данни и условие за промяна на записите. Ние трябва да променим две полета, така че въвеждаме данни за промяна в две колони от параметрите на заявката - полето "Факултет" на таблицата "Студенти" трябва да приема стойността "Правна", полето "Курс" на същата таблица трябва да бъде "1". В третата колона правим условие, чрез което да избираме данни за промяна. Името на ученика на таблицата „Ученици” трябва да бъде „Семенов”.

Update Designer

В SQL режим виждаме:

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

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

Изпълнете операцията и получете резултата.

Промяна на резултатите

Изтриване на заявки

И накрая, има ситуации, когато някои записи са ненужни и трябва да бъдат изтрити, за които исканията за изтриване на редове са предназначени в СУБД. Нека да дадем пример за такъв екип, изтривайки ново добавено вписване от таблицата „Студенти” - студент Алексей Торопов.

В "Дизайнер на заявки" изберете типа "Изтрий" и създайте команда, като използвате условията:

Премахване на конструктора

В SQL режим виждаме текста:

DELETE

FROM Студенты

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

След като изпълни командата, получаваме резултата в таблицата:

Резултати от премахването

Така на практика научихме за какво са запитванията в базата данни. Тяхното разнообразие е по-голямо и приложението е по-широко от описаното в тази статия. Ако се интересувате от темата на базите данни, можете да продължите да учите сами.