Базите данни заемат все повече място в живота ни. Използват се в компании и банки, магазини и складове. Изправени пред тях в ежедневието, много хора искат да се научат как да управляват бази данни. Затова в статията ще запознаем читателя с концепцията за заявките.
Запитванията в базата данни са специални команди, които променят данните в таблиците и получават необходимата информация от тях. Тези команди могат да се прилагат както за таблици, така и за други обекти на базата данни - индекси, тригери, изгледи, както и за базата данни като цяло. В същото време СУБД (системи за управление на бази данни) могат да правят промени както в цялата таблица, така и в отделни записи и групи редове.
Типовете команди зависят от това за какво са предназначени заявките и какви действия изпълняват. Има два основни вида операции:
Вторият тип включва команди, които извършват промени в базата данни: вмъкване, замяна и изтриване на полета или редове. Всички операции също са разделени на следните видове:
Първият тип използва специален "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". В третата колона правим условие, чрез което да избираме данни за промяна. Името на ученика на таблицата „Ученици” трябва да бъде „Семенов”.
В SQL режим виждаме:
UPDATE Студенты SET Студенты.Факультет = "Юридический", Студенты.Курс = 1
WHERE Студенты.[Фамилия студента]="Семенов";
Изпълнете операцията и получете резултата.
И накрая, има ситуации, когато някои записи са ненужни и трябва да бъдат изтрити, за които исканията за изтриване на редове са предназначени в СУБД. Нека да дадем пример за такъв екип, изтривайки ново добавено вписване от таблицата „Студенти” - студент Алексей Торопов.
В "Дизайнер на заявки" изберете типа "Изтрий" и създайте команда, като използвате условията:
В SQL режим виждаме текста:
DELETE
FROM Студенты
WHERE Студенты.[Фамилия студента]="Торопов";
След като изпълни командата, получаваме резултата в таблицата:
Така на практика научихме за какво са запитванията в базата данни. Тяхното разнообразие е по-голямо и приложението е по-широко от описаното в тази статия. Ако се интересувате от темата на базите данни, можете да продължите да учите сами.