Манипулиране на данни
Работни страници


Съдържанието на произведението
Тема 5. Манипулиране на данни
Данните, съхранявани в базата данни, могат да се обработват ръчно чрез последователно преглеждане и редактиране на данни в таблици с помощта на инструментите, налични в СУБД. За да се подобри ефективността на обработката на данни, се използват заявки, които позволяват многократна обработка на данни, т.е. едновременно въвеждане, редактиране и изтриване на много записи, както и избор на данни от таблици.
Заявката е специално описано изискване, което определя състава на операциите, извършвани в базата данни за избор, изтриване или модифициране на съхранени данни.
За подготовка на заявки в различни СУБД най-често се използват два основни езика за описание на заявки: QBE (Query By Example) - език за заявки, базиран на модел; SQL (Structured Query Language) е структуриран език за заявки.
QBE Query Description Language
Езикът QBE използва визуален подход за организиране на достъпа до информация, базиран на използването на шаблони (формуляри за заявки). Този метод осигурява висока видимост и не изисква посочване на алгоритъма за извършване на операцията - достатъчно е да се опише извадка от очаквания резултат. Можете да зададете заявки за една таблица и много таблици (избор или обработка на данни от няколко свързани таблици).
Езикът е разработен от IBM през 70-те години, получи широко признание от потребителите и в момента е представен в най-популярните СУБД.
Когато изпълнява QBE заявка, СУБД имплицитно конструира еквивалентен SQL оператор.
С QBE заявките можете да правите следното:
-изчисление върху данни;
- вмъкване на нови записи;
- модификация (промяна) на данни.
Резултатът от изпълнението на заявката е нова таблица (за избор, изчисления) или актуализирана изходна таблица. В реални приложения за бази данни QBE се използва главно за извличане на данни.
Изборът, вмъкването, изтриването и модифицирането могат да се извършват безусловно или в съответствие с условия, посочени с помощта на логически изрази. Изчисленията върху данни се определят с помощта на аритметични изрази и генерират нови полета в таблиците с отговори, наречени изчислени полета.
Формулярът за заявка обикновено изглежда като таблица, чието име и имена на полета са същите като името и имената на полетата на съответната изходна таблица. Имената на полетата на изходната таблица могат да бъдат въведени в шаблона ръчно или автоматично. В съвременните СУБД като Access и Visual FoxPro много от стъпките за подготовка на заявките в QBE се извършват визуално с мишката.
Създаване (формиране) на заявки в Microsoft Access
В процеса на работа със СУБД можете да използвате специални спомагателни обслужващи програми - съветници. В процеса на създаване на заявка трябва да посочите: - таблици и полета от таблици в базата данни, които ще се използват за търсене на информация; - критерии за търсене в базата данни; - списък с полета - резултати от изпълнение на заявка.
Съветникът за заявки ви позволява да генерирате няколко типа заявки:
- проста заявка за избор;
- търсене на дубликати (повтарящи се записи) (вижте Repeat_Clients, Repeat_Clients_Mounth - клиенти, които са направили повече от 1 поръчка);
Забележка. Условието за избор има формата
В (SELECT [Field] FROM [Table] As Tmp GROUP BY [Field] HAVING Count(*)>1 )
- търсене на записи, които нямат съвпадение в някоитаблица/заявка (записи без подчинени) (вижте Стоки без поръчка - стоки, които не са поръчани през посочения месец).
Помощникът в процеса на диалог с потребителя изисква информация за попълване на формуляра за заявка и накрая предлага да направи корекции на полученото оформление самостоятелно. Оформлението на заявката съдържа списък с полета на таблица, условия за избор, сортиране и атрибути за показване.
По-сложните заявки се създават веднага с помощта на конструктора.
Изберете Заявки
Заявките за избор на данни са най-често срещаният тип заявки. Те ви позволяват да извличате данни от една или повече таблици. Информацията се показва в табличен вид. Допуска се групиране на редове, изчисляване на междинни суми.
Прозорецът за заявка се състои от две части. Горният отразява свързани обекти (таблици, заявки) - източници на записи (кортежи). В долната част се определят характеристиките на заявката. Формулярът за заявка е представен в табличен вид. Всяка колона (поле за заявка) характеризира определен домейн на база данни. Полето за заявка съдържа следната информация:
- поле (таблица или заявка), можете да посочите псевдоним;
- име на таблица (заявка);
- (групиране или групова операция) - незадължителна характеристика за генериране на суми;
- показване на екрана (знак);
- условия (критерии) за подбор.
Условията се определят с помощта на диалоговия прозорец Expression Builder. Изразът съдържа константи, оператори, вградени функции, атрибути на обекти на база данни (таблици, заявки, формуляри, отчети).