Syntax highlighting of Archiv/Dotazovací jazyky I

{{predmet|Dotazovací jazyky I|Jaroslav Pokorný|DBI001}}
Dotazovací jazyky, povídání o SQL.

* zkouška: písemná – příklady
* zápočet: referát na semináři (po trojicích, PowerPointová prezentace), jinak psané (Word)

== Odkazy ==
* [http://kocour.ms.mff.cuni.cz/~pokorny/vyuka.html#DBI006 info u Pokorného]
* [http://urtax.ms.mff.cuni.cz/~novap2am/poznamky/dotazovaci.sxw sporadické poznámky] (OpenOffice)

== Zkoušky ==
== 31.1.2007 ==
*1) Tri relacie, urobit nad nimi dva dotazy v SQL92. (3+2 body)
*2) V SQL:1999 napisat pre dve z tych relacii ADT a na zaklade nich vytvorit tabulky, s vazbou medzi nimi. (3)
*3) Nad tymito dvomi tabulkami urobit dotaz. (2)
*4) Dva texty, vektory model.
**4a) Vytvorit maticu podla TF*IDF. (2)
**4b) Definovat kosinusovu mieru. (1)
**4c) Pre dva dotazy urcit Sim (klasicke) a zoradit dokumenty podla relevancie. (2)
*5) Pre relacie z otazky 1 su dane indexy (klastrovane a klasicke B+-stromy), ich vyska, statistiky poctu riadkov a blokovaci faktor
**5a) Nakreslit strom dotazu (akykolvek). (1)
**5b) Navrhnut optimalny plan a spocitat pocet I/O operacii. (3)
**5c) Pre tento optimalizovany dotaz nakreslit strom. (1)
**5d) Navrhnut novy optimalizovany plan, ak sa zmenia indexy. (3)
Celkom bolo 23 bodov, hodnotenie 20-23 za 1, 18-19 za 2, 16-17 za 3. Cas 90 minut.

=== 19.1.2006 ===
*1. v sql92 vyjadrite v definicii tabulky FILM ze reziser byva tam co kino, + otazka co sa stane ak je reziser bezdomovec 
*2. kina v ktorych davaju len tie filmy ktorych reziser byva na rovnakej adrese 
*3. v xml-ql najst nejake podelementy zo zadanaeho xml, xml bolo zadane :) 
*4. kina kde davaju len jeden film 
*5. kina ktore davaju vsetko co dava kino blanik 
*6. uvazujem Sim(Q,D_i)=suma(q_k*w_ik) ---> taky ten vzorecek zo slejdov potom vyjadrite nenulovy Sim pomocou bool modelu ak je vektorovy model binarny 
*7. definujte koef. uplnosti a presnosti 
*8. co su datove typy list, bag, set v sql99 
*9. uvazujte typy entit osoba(atributy meno, adresa*), hviezdicka znaci ze adresa je viac hodnotovy atribut a ukol(atributy cislo_ukolu, nazov). kazda osoba riesi niekolko ukolov, kazdy z nich v nejakej kapacite poc_h. navrhnite v sql99 odpovedajuce uzivatelske typy dat a na zaklade tychto typov definujte prislusne tabulky. a este tam potom bol jeden dotaz na ale ten si napametam :) 
*este tam boli nejake otazky na xml ... 

=== 10.2.2005 ===
zkousene okruhy: 
*SQL 92, 89 dotazy z oblasti KINO, FILM, .. celkem pohoda, jen to vymyslet 
*IO pro tabulku + co kdyz reziruje bezdomovec (viz predchozi prispevky) 
*UNION JOIN - stejena otazka jako tady byla (vyjde prazdna tabulka) 
*SQL 99 - definovat tabulku s pouzitim typu (tez definovat) a reference + napsat zadanej dotaz nad tim 
*DIS definovat miru TF*IDF (napsal jsem nejakou sumu + log a stacilo) 
*DTD napsat schema (nemel jsem tam zadny hvezdicky coz je ve vetsine pripadu blbe - elementy se pak nesmely opakovat, tak pozor na to) 
*XML-QL dotaz na vsechny podelementy elemetu 

=== 7.2.2005 ===
*1)-6) byly selecty nad danou databazi napsane prostredky SQL89:
**databaze Studio
**Dava(nazef_f,nazev_k);
**Film(nazev_f,reziser);
**Kino(nazev_k,adresa);
**D1(1 bod) Filmy, co davaji nekde. 
**D2(3 body) Filmy, co davaji vsude. 
**D3(2 body) Filmy, co nedavaji nikde. 
**D4(3 body) Kina, kde davaji vsechny filmy. 
**D5(2 body) Kina, kde davaji jen Kolju. 
**D6(3 body) Kina, kde davaji vsechny filmy rezisera Sveraka a nic jineho. 
**D7(1 bod) vyjadrit D3 pomoci SQL92 

*8) (3 body) popiste pojeti ADT v SQL99 

*9) (2 body) vyjadrete NATURAL JOIN prostredky SQL89, konkretne mame tabulky R(A,B,C) a S(D,A,C) a mame vyjadrit pomoci sql89 prikaz "SELECT B FROM R NATURAL JOIN S" 

*10) (1+2body) uvazujeme dva texty a vektorovy model dat:
**A Rano, rano, ranicko. Bude prset. Bude hodne prset. 
**B Rano bude prset. Kazde rano bude prset. 
**a) definujte TF a IDF 
**b) zkonstrujte matici dokumenty*termy zalozenou na TF*IDF 
**Uvazujte pouze vyznamova slova, nehledte na koncovky podstatnych jmen. Eventualne symbolicke logaritmy vyjadrete pouze symbolicky. 
**// slova rano a ranicko se daly brat jako jeden term, slovo "bude" zrejme neni vyznamove slovo 

*11) (2 body) K databazi Studio navrhnete DTD tak, aby byla zachovana referencni integrita mezi strukturou Dava a strukturami Film a Kino. 
Hodnocení: 16-18 bodu 3, 19-22 bodu 2, 23-26 bodu 1
=== 22.1.2005 ===
* 1. Napsat SQL selecty nad nejakym zadanym DB schematem. Vetsinou se tam pouzival EXISTS, nekde GROUP BY a HAVING, jendou se dalo urychlit pomoci EXCEPT... cele to melo byt SQL92. 
* 2. Dve tabulky T1(A,B,C) a T2(B,C,D), byly v nich i hodnoty a bylo treba napsat jak vypada RIGHT OUTER JOIN. (Bez ON, cili to byl asi NATURAL) 
* 3. Napsat SEMIJOIN tech tabulek... tak to netusim, co je. 
* 4. Napsat DTD definici databaze z prikladu 1. Cili <!ATTLIST>, <!ELEMENT>... bylo treba vedet celou syntax DTD. 
* 5. Dva texty s podtrzenymi termami, dva DIS dotazy, udelat TF a IDF, udelat vahy D, pak na to poslat ty dotazy a spocitat (klasicky skalarni soucin). 
* 6. Napsat XQL2 (v praxi je to X-Path) dotaz nad zadanym XML. Bylo potreba najit vsechna tel a fax cisla osob, cili: osoba/(tel|fax)