Dobrica Pavlinušić's random unstructured stuff
Baze podataka: Revision 16

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



Datoteke


Linkovi


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:

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:

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')