Бази от данни Съдържание Необходимост от бази от данни Определение и характеристика



страница7/11
Дата12.05.2017
Размер1.04 Mb.
#21212
1   2   3   4   5   6   7   8   9   10   11

Запитвания


  1. Същност на запитванията

  2. Създаване на запитване без ползване на Query Wizard

  3. Изгледи в Query прозореца

  4. Включване на полета от таблица в запитването

  5. Подреждане, вмъкване и отстраняване на полета. Промяна ширината на колоните от мрежата

  6. Промяна имената на полетата в запитване

  7. Задаване последователността за сортиране

  8. Задаване на критерии за запитването

  9. Изключване на полета от Dynaset

  10. Ползване на глобални символи в запитване

  11. Ползване на “And” и “Or” в едно поле

  12. Ползване на “And” в различни полета

  13. Ползване на “Or” в различни полета

  14. Едновременно ползване на And и Or

  15. Създаване на изчисляеми полета

  16. Запитване на базата на повече от една таблица

  17. Пресмятане на стойности чрез запитване

  18. Пресмятане на стойност над всички записи от таблица

  19. Пресмятане на стойност над група записи от таблица

  20. Пресмятане на стойност над група записи от таблица с едновременно задаване на условие

  21. Пресмятане на стойности за група записи чрез израз


Същност на запитванията


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

Най-често се използва т.нар. селектиращо запитване (select query). Чрез такова запитване могат да се извличат данни от една или няколко таблици, да се анализират получените чрез тях резултати и да се правят промени в базата от данни.

Други видове запитвания са: кръстосано запитване (crosstab query), което показва резюмирани стойности от едно поле и ги подрежда в колони и редове; актуализиращо запитване (action query), което осъ­ществява актуализация на множество записи за едно действие, като се ползва за създаване на нова таблица, за изтриване, добавяне и правене на промени в записи; свързващо запитване (union query), което комби­нира полета от две и повече таблици; изпращащо (преминаващо) запит­ване (pass-through query), което изпраща команди до SQL база от данни; дефиниращо запитване (data-definition query), чрез което се създават, актуализират и изтриват таблици от Access базата от данни, пос­редством SQL оператори.



Създаване на запитване без ползване на Query Wizard


За създаване на запитване без да се ползват възможностите на Query Wizard, трябва да се изпълнят следните стъпки:

1. В прозорец Database се активизира подпрозорец Query.

2. Натиска се бутон New. Access извежда New Query диалоговата кутия. Избира се от различните възможности Design View и се натиска бутон ОК.

Access извежда Select Query диалоговия прозорец и върху него отваря Show Table диалоговия прозорец, в които са имената на таблиците и запитванията в отворената база от данни.

3. В диалоговия прозорец Show Table се избира името на таблицата, в която се съдържат нужните данни и след това се натиска бутон Add. В резултат на това в Query прозореца се извежда списък с полетата на избраната таблица.

4. Натиска се бутон Close, за затваряне на диалоговият прозорец Show Table.

Ако са добавени няколко таблици, то Access свързва автоматично таблиците по съответстващите им полета, когато предварително са създадени връзки между таблиците при създаване на базата от данни. Ако обаче такива връзки не са създадени, то Access създава такива автоматично, при положение, че открие между таблиците кореспондиращи си полета (полета със съвпадащи имена и тип на данните в тях). Последната възможност е връзките между таблиците да се направят за нуждите на запитването в прозорец Select Query.

За съхраняване в базата от данни на създадено запитване, трябва да се изпълни следната последователност от действия:

1. Изпълнява се команда File | Save или се натиска бутон Save от стандартната ивица с бутони.

2. Ако запитването се записва за пръв път, се отваря диалогов прозорец Save as, в който трябва да се въведе името на запитването и да се натисне бутон ОК. Името на запитването може да е до 64 символа и да съдържа интервали.

 



Изгледи в Query прозореца


Query прозорецът има няколко изгледа:

Design view – за създаване на запитване или за промяна на съществуващо запитване (вж. Фиг. 6.1.);

 


 

Datasheet view – за разглеждане на данните, извлечени чрез запитването;

SQL view – за въвеждане на SQL оператор за създаване или промяна на запитването.


Включване на полета от таблица в запитването


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

4.1. Включване на поле в запитването

Избира се нужното поле от списъка над QBE мрежата и се “провлачва” до Field реда в мрежата или се чуква в полето Field, и от падащия списък се избира името на полето.

4.2. Включване на няколко полета едновременно в запитването

Избират се няколко полета чрез клавиш Ctrl и чукване върху всяко едно от тях. След това се включват избраните няколко полета, така както се включва едно поле в запитването (вж. 4.1.).

4.3. Включване на всички полета от списъка в запитването

Когато е нужно да се включат всички полета от таблица или запитване, то има възможност да се използват два подхода – да се изберат всички полета от списъка и да се включат като група в QBE мрежата или да се избере и включи звездичката (*), стояща в началото на списъка от полета. Трябва да се има предвид, че двата подхода създават различни запитвания: Ако се включат полетата в група, то само тези полета съставят запитването. Ако по късно се наложи да се модифицира структурата на таблицата, която обработва запитването, то трябва промените да се отразят и в самото запитване. В случаите, когато се ползва звездичката, то всички промени които се правят в структурата на таблицата автоматично се отразяват в запитването.



Подреждане, вмъкване и отстраняване на полета. Промяна ширината на колоните от мрежата


След като полетата са включени в QBE мрежата на заявката, то може да се наложи да се променят местата им. Промяната на местата на полетата се отразява в подреждането на информацията, извлечена чрез запитването.

За преместване на поле, първо то трябва да въде избрано чрез селектора на колона от мрежата. След това селектора се “хваща” и премества на нова позиция.

 

 

За вмъкване на поле, първо се избира полето от списъка с полета. След това то се “провлачва” до позиция в мрежата, където е необходимо. С отпускане бутона на мишката, полето се появява в QBE мрежата.



За отстраняване на поле, първо се избира полето чрез селектора му. След това се натиска клавиш Del или се изпълнява Edit | Delete. За отстраняване на всички полета от мрежата едновременно се изпълнява командата Edit | Clear Grid.

За промяна ширината на колоните от мрежата трябва да се постави показалеца на мишката върху границата между два селектора на полета. След това показалецът се премества наляво за да бъде намалена (или надясно – за да бъде увеличена) ширината на колона от QBE мрежата. За задаване оптималната ширина на колона, трябва да се постави маркера между два селектора на колони от мрежата и двукратно да се щракне с левия бутон на мишката, което води до задаване на оптимална ширина за колоната, намираща се в ляво спрямо моментната позиция на показалеца на мишката.




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


За промяна име на поле в запитването вж. Фиг. 6.3.

 

 




7. Задаване последователността за сортиране

 



Задаване последователността за сортиране


Когато се стартира едно запитване, може да се желае данните да бъдат подредени в някаква последователност.

За задаване на начина на подреждане на данните в Datasheet View вж. Фиг. 6.4.

 

 



 Възможностите между които трябва да избира потребителят са: сортиране в нарастващ ред – от 0 до 9 и от A към Z (Ascending); сортиране в намаляващ ред – от 9 към 0 и от Z към А (Descending).

По аналогичен начин се задава сортиране на стойностите в няколко полета едновременно, като сортирането е в зависимост и от положението на полетата в QBE мрежата – т.е. сортира се първо по най-лявото поле, след това по полето отдясно.

Забележка: не могат да се сортират Memo и OLE полета.



Задаване на критерии за запитването


За ограничаване броя на извежданите записи от едно запитване, трябва да се посочат критерии за него. Например, може да се въведе един прост критерий – за извличане само на студентите от град Свищов, може да се зададе критерий за полето Grad – Свищов. Критериите могат да бъдат и много по сложни – представени с израз.

На Фиг. 6.5. е посочено как се задава критерий чрез директното му изписване в QBE мрежата. Конкретно посоченият в примера критерий може да се изпише като: Свищов, =Свищов, “Свищов” и =”Свищов”.

 

На Фиг. 6.6. е посочено как трябва да се въведе критерий за обработка на поле от тип Date, когато настройката в Control Panel е за дата от тип “dd.mm.yyyy г.”. За такива случаи трябва да се ползва функцията DateValue за преобразуване на стринг в дата. В примера от Фиг. 6.6. е показано запитване за извличане на стойности от полетата Fn, Grad и Bdate за студентите родени през 1968 г.

 





Изключване на полета от Dynaset


За изключване на едно поле от Dynaset се ползва реда Show от QBE мрежата. Пример за това е представен на Фиг. 6.7.




Ползване на глобални символи в запитване


Когато се създава едно запитване, може да е нуждо да се извлекат само имената на студентите, чиито фамилии започват с буквата “П” или завършват на “ВА”.

За такива цели е предвидено използването на глобалните символи “?” и “*”.

На Фиг. 6.8. е представено запитване, чрез което се извличат данни за студентите, чиито имена започват с буквата “П”. В мрежата се въвеждат само двата символа П*, а Access променя написаното на Like “П*”.

 

 

На Фиг. 6.9. е представен вариант на запитване, чрез което се извличат записи за студентите, чиито фамилии не започват с буквата “П”. Изписването е Not П*, което Access променя на Not Like “П*”.



 

 

За извеждане само на имена, в които втората буква е буквата “И” трябва да се ползва записването ?И*, което Access преобразува в Like “?И*”. Понеже в използването на глобалният символ “?” има доста особености, затова на Фиг. 6.10. е представен пример за съвместното използване на “?” с “*”, включително и резултатата от изпълнението на запитването.



 




Ползване на “And” и “Or” в едно поле


За задаването на различни критерии в едно поле, трябва да се ползват оператори And и Or. Например, за извличане на данните за студентите от Свищов ИЛИ София, то в полето Grad на запитването трябва да се укаже “Свищов” Or “София” (вж. Фиг. 6.11).

 




Ползване на “And” в различни полета


За задаване на критерии в различни полета, трябва отделните критерий да се въведат в различни полета, но на един ред – реда Criteria от QBE-мрежата. На Фиг. 6.12. е показан пример за задаване на условието за извличане на студентите, които са от Свищов и получават стипендия по-висока от 310 лв. т.е. условието е Grad=“Свищов” And St>310.

 

 

 




Ползване на “Or” в различни полета


За задаване на критерии в различни полета, трябва отделните критерий да се въведат в различни полета, и освен това – в различни редове от редовете Criteria от QBE-мрежата. На Фиг. 6.13. е показан пример за задаване на условието за извличане на студентите, които са (или) от Свищов ИЛИ получават стипендия по-висока от 310 лв. т.е. условието е Grad=“Свищов” Or St>310.

 



Едновременно ползване на And и Or


Когато е нужно да се конструира запитване, което да извлича имената на студентите, започващи с букви от А до П, и допълнителните критерии са, тези студенти да са от Свищов или да получават стипендия по-висока от 310 лв., т.е. условията са: (Ime <= ”П” And Grad = ”СВИЩОВ”) Or (Ime <= ”П” And St > 310), то запитването трябва да изглежда по начина показан на Фиг. 6.14.




Създаване на изчисляеми полета


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

На Фиг. 6.15. е показано как се създава ново изчисляемо поле с име Nov razmer и как се задава израз за осъществяване на нужните пресмятания над данните.






Запитване на базата на повече от една таблица


Няма ограничение в едно запитване да се ползват данните само от една таблица. На Фиг. 6.16 е показан такъв пример.

От Фиг. 6.16. се вижда, че в резултатната таблица ще участват данни от полетата Fn и Ime на таблицата Stud и полето ISP на таблицата Spec. Ако връзката между таблиците е създадена предварително, то тя автоматично се появява при включването на таблиците в прозорец Query. В противен случай, връзката трябва да се създаде ръчно в този прозорец.




Пресмятане на стойности чрез запитване


Често се налага да бъдат създавани запитвания за обработка на стойности от таблица, а не за извличане на отделни полета от таблица. За тази цел се използват т.нар. обобщаващи (total query, aggregate query) запитвания. В следващата таблица са изведени типовете пресмятания, достъпни в Access.

Функция

Резултат

Допуска се за:

Sum

Сбор на стойностите от полето.

Number, Date/Time, Currency, and AutoNumber
Avg

Средна аритметична стойност на стойностите от полето.

Number, Date/Time, Currency, and AutoNumber

Min

Най-малката стойност от полето.

Text, Number, Date/Time, Currency, and AutoNumber

Max

Най-високата стойност от полето.

Text, Number, Date/Time, Currency, and AutoNumber

Count

Брой на стойностите от полето, несъдържащи стойност Null (blank).

Text, Memo, Number, Date/Time, Currency, AutoNumber, Yes/No, and OLE Object

StDev

Стандартно отклонение на стойностите от полето.

Number, Date/Time, Currency, and AutoNumber

 Var

Вариране (variance) на стойностите от полето.

Number, Date/Time, Currency, and AutoNumber


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


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

 

 

Резултата се извежда в т.нар. snapshot, в който не се допуска редактиране на стойностите.




Пресмятане на стойност над група записи от таблица


Възможно е пресмятане на стойности над група записи от таблица. Например, на Фиг. 6.18. е показано запитване и получените чрез него резултати – от кои населени места и по колко студенти има от всяко населено място. Групирането се извършва по полето Grad, а преброяването може да стане по полето Ime или всяко едно от останалите полета на таблицата.

 



 

          Възможните за използване оператори са представени в таблицата:



Оператор

Действие

Group By

Определя групите над които ще се извършват операциите. На Фиг. 6.18. например е показано използване на Group By за определяне на групи по населени места.

Expression

Създава изчисляемо поле, включващо обобщаващи функции.

Where

Определя критерий за поле, което не се използва за формиране на група. Ако се избере тази опция, Access няма да включи полето в резултатната таблица, тъй като се изчиства Show check box..


Пресмятане на стойност над група записи от таблица с едновременно задаване на условие


Както се вижда от Фиг. 6.19. възможно е да се задава условие към полето, на базата на което се създават отделните групи. В примера, групирането се извършва само за студентите от София и Свищов.




Пресмятане на стойности за група записи чрез израз


В представеният на Фиг. 6.20. пример е използвана опцията Expression, чрез която в резултатната таблица е включено изчисляемо поле. В примера е демонстрирано как се подменя името на съществуващо поле с ново име – полето Ime е променено на Broiki посредством записването Broiki: Ime. За новосъздаваното поле е избрано име Sredno, тъй като в него ще се извежда средния размер на стипендията на студентите от едно населено място. Самото изчисление се извършва след предварително групиране – това условие е зададено в полето Grad. За пресмятането на нужния резултат първо трябва да се намери сбора на стипендиите на студентите от едно населено място – Sum([St]). След това тази стойност се разделя на броя на студентите от едно населено място - ([Broiki]) !!! Особеното тук е, че полето Broiki е от същото запитване. И накрая, полученият резултат се извежда като цяло число – чрез функцията Int. Резултата от работата на запитването също може да се види на Фиг. 6.20.


7.

Каталог: wp-content -> uploads -> 2011
2011 -> Евгений Гиндев световната конспирация
2011 -> Наредба №36 от 30 ноември 2005 Г. За изискванията към козметичните продукти
2011 -> Наредба №36 от 30 ноември 2005 Г. За изискванията към козметичните продукти
2011 -> За минималния и максималния бал по паралелки в рио област софия-град
2011 -> 130 годишнината на ввму “Н. Й. Вапцаров” разкрива новите предизвикателства и перспективи в развитието на флагмана на морското образование
2011 -> Съюз на математиците в българия – секция бургас пробен изпит по математика за 7 клас – март, 2011
2011 -> Член на Приятели на Земята Интернешънъл
2011 -> Права и задължения на учениците
2011 -> В съответствие с ангажиментите в рамките на фаза 1 от мониторинга за изпълнение на задълженията по Конвенцията и Препоръката, през 2000 г
2011 -> Разграничение на трафика на хора от сродни престъпни дейности д-р Ива Пушкарова


Сподели с приятели:
1   2   3   4   5   6   7   8   9   10   11




©obuch.info 2024
отнасят до администрацията

    Начална страница