Ova stranica opisuje kratke bilješke koje su pripreme za vježbe iz baza podataka

Contents: [Dobrica Pavlinušić's random unstructured stuff]
• Dobrica Pavlinušić's random unstructured stuff (Datoteke) 
• Dobrica Pavlinušić's random unstructured stuff (Linkovi) 
• Dobrica Pavlinušić's random unstructured stuff (RSS) 
• Dobrica Pavlinušić's random unstructured stuff (Konverzije podataka) 
• Dobrica Pavlinušić's random unstructured stuff (Pronaći podatke o korisncima u Moodle‑u) 
• Dobrica Pavlinušić's random unstructured stuff (Napraviti export file za gmail) 
• Dobrica Pavlinušić's random unstructured stuff (Kreirati novu tablicu od podataka) 
• Dobrica Pavlinušić's random unstructured stuff (Z39.50) 
• Dobrica Pavlinušić's random unstructured stuff (Instalacija) 
• Dobrica Pavlinušić's random unstructured stuff (Z39.50 serveri) 
• Dobrica Pavlinušić's random unstructured stuff (Upiti) 
• Dobrica Pavlinušić's random unstructured stuff (Zadatak) 

Datoteke
• pregled.odp  ‑ kratak pregled sadržaja vježbi
                                                  
Linkovi
• Moodle za zimski  i ljetni  semestar
• evidencija pohađanja vježbi 
• sučelje za upisivanje i vježbanje SQL upita http://sqlsession.rot13.org/ 
                                                  
RSS
Kod SQL funkcije nalazi se na http://svn.rot13.org/index.cgi/pg‑getfeed 
                                                  
Konverzije podataka
Ideja ovih vježbi je vidjeti kako možemo podatke iz jedne baze (u ovom slučaju podatke o e‑mail adresama iz Moodle‑a) editirati, prebaciti u drugu bazu i na kraju na http://gmail.com/ 
Pronaći podatke o korisncima u Moodle‑u
Proučimo shemu moodle baze, odaberimo kolone za ime, prezime i e‑mail adresu
Napraviti export file za gmail
Odabrati odgovarajuće kolone i broj korisnika
Kreirati novu tablicu od podataka
Povezati se ODBC‑om na nju, povuću podatke u Excel i editirati ih
                                                  
Z39.50
Nastavak ideje o data munglingu
Pokazati:
• povlačenje podataka sa Z39.50 servera u bazu
• neki select/count/group by query
• zoogle kao Google‑to‑Z39.50 gateway
• eventualno upit sa nekog vanjskog izvora na Z39.50 server koji sjedi na našoj shemi
Instalacija
Dodati u /etc/apt/sources.list
deb http://ftp.indexdata.dk/pub/yaz/debian/ etch main

i nakon toga
sudo apt-get update
sudo apt-get install libnet-z3950-zoom-perl yaz

Z39.50 serveri
Popis Z39.50 servera:
• http://www.loc.gov/z3950/agency/resources/testport.html 
• http://targettest.indexdata.com/  ‑ veoma dobar automatski generiran (i zbog toga ažuran) popis
NSK Z39.50 server, primjer korištenja command‑line klijenta:
$ yaz-client tcp:161.53.240.27:8090/voyager
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID     : 34
Name   : Voyager LMS - Z39.50 Server
Version: 2005.0.1
Options: search present
Elapsed: 0.998618
Z> find "sloboda"
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 2
records returned: 0
Elapsed: 0.150642
Z> show
Sent presentRequest (1+1).
Records: 1
[VOYAGER]Record type: USmarc
00747cab  2200217 ir450 
001 57988
005 20061115131529.0
008 990414s1998                      b hrvy 
015    $2 HR $a HP98-0511
035    $9 990414007
035    $a 590821
040    $a HR NSB $b hrv $e HR PPIAK
041 0  $a hrv $b eng
080    $a 342.7
100 1  $9 910905040 $a �Segvi�c, Sa�sa
245 10 $a Etni�cke zajednice u zemljama u tranziciji i europska sigurnost / $c Sa�sa �Segvi�c
500    $a Znanstveni skup "Klasifikacija prava i sloboda �covjeka prema posljedicama njihova...
504    $a Summary
650  7 $a Ljudska prava $x Etni�cke zajednice
773 0  $w 910607039 $g 35 (1998), 1/2(49/50) ; str. 271-274
886 0  $2 unimarc $b 00744naa2 2200205   450

nextResultSetPosition = 2
Elapsed: 0.429275
Z>

Upiti
Postoje više formata upitnih jezika:
• RPN ‑ http://www.icbl.hw.ac.uk/~santiago/perx/z3950.html 
• CQL ‑ http://www.loc.gov/standards/sru/cql/  ‑ jako loše podržan od strane dostupnih Z39.50 servera
Zadatak
• pokušajte pronaći na Internetu neki vama zanimljiv Z39.50 server koristeći neki pretraživač, npr. http://www.google.com/ 
• Z39.50 serveri nisu nužno javni, tj. može vam se desiti da nađete instituciju koja ima Z39.50 server, ali ne dopušta pritup do njega (bilo namjerno traženjem korisničkog računa i zaporke, bilo posredno ne objvaljivanjem svih podataka koji su nam potrebni za spajanje)
• podaci koje trebamo naći su:
• host (ili hostname napisano kao neko.ime.i.domena ili u obliku brojeva ‑‑ 192.168.0.1)
• port (najčešće 210, ali nije pravilo)
• database (ime baze)
• dodajte novo‑pronađeni server u tablicu servers koristeći insert into servers values ('kratki naziv','host', port, 'database') ‑‑ pazite da alfanumeričke vrijednost (name, host, database) budu u jednostrukim navodnicima, dok port (koji je broj) ne treba biti.
• savjet je da za naziv servera stavite nešto kratko, jer ćete isti naziv (kolona name u tablici servers) koristiti kod svakog upita kao prvi parametar, pa kraćim nazivom štedite tipkanje.
• napišite upit korištenjem novog servera, nešto kao select * from search('kratki naziv','moj upit')