11. Упити над базом података¶
Садржај
11.1. Директива dbpetlja
¶
11.1.1. Основна употреба директиве¶
Директива dbpetlja
омогућава аутору да постави задатак у коме је потребно написати SQL упит.
Приликом писања директиве, потребно је навести име базе података на коју се односи упит (параметар :dbfile:),
као и (један могући) упит којим се добија тачан резултат (параметар :solutionquery:).
Пример 1: Написати упит којим се приказују сви подаци о запосленим особама у библиотеци.
reST кôд:
.. dbpetlja:: db_jedinstveni_identifikator_1
:dbfile: it3_biblioteka.sql
:solutionquery: SELECT *
FROM zaposleni
Изглед компоненте:
Резултат упита се кликом на дугме Изврши упит
приказује у веб страници.
Уједно, након првог притиска на дугме Изврши упит
(чак и када упит није унет), појављује се
списак свих табела изабране базе података. Кликом на неку од табела добија се њен садржај, тј. првих
неколико редова те табеле.
Притиском на дугме Тестирај упит
покреће се поређење резултата унетог упита и очекиваног резултата.
Као одговор се добија коментар, који говори да ли је резултат унетог упита једнак очекиваном резултату.
11.1.2. Могућност приказа очекиваног резултата¶
Директива dbpetlja
има и опциони параметар :showresult:. Ако се наведе овај параметар, појављује се и
дугме Прикажи очекивани резултат
. Притиском на ово дугме добија се приказ резултата који треба да се
добије као резултат унетог упита.
Пример 2: Написати упит којим се приказује назив књиге која је издата током последње позајмице.
reST кôд:
.. dbpetlja:: db_4249
:dbfile: it3_biblioteka.sql
:showresult:
:solutionquery: SELECT naziv
FROM pozajmice JOIN primerci ON (pozajmice.inventarski_broj=primerci.inventarski_broj)
JOIN knjige ON (primerci.id_knjige=knjige.id_knjige)
WHERE datum_uzimanja = (SELECT MAX(datum_uzimanja) FROM pozajmice)
Изглед компоненте: