Dobrica Pavlinušić's random unstructured stuff
Baze podataka: Revision 12
Ova stranica opisuje kratke bilješke koje su pripreme za vježbe iz baza podataka
{toc: } ---- ^ Linkovi * Moodle za "zimski"<http://ozk.unizd.hr/moodle/course/view.php?id=10> i "ljetni"<http://ozk.unizd.hr/moodle/course/view.php?id=34> semestar * "evidencija pohađanja vježbi"<http://spreadsheets.google.com/ccc?id=o11368380564949856400.7970684271145869286.14503874528257044348.679233668556299649> * 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` .pre deb http://ftp.indexdata.dk/pub/yaz/debian/ etch main .pre i nakon toga .pre sudo apt-get update sudo apt-get install libnet-z3950-zoom-perl yaz .pre ^^ Z39.50 serveri Popis Z39.50 servera http://www.loc.gov/z3950/agency/resources/testport.html NSK Z39.50 server: .pre $ 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> .pre ^^ 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, pa kraćim nazivom štedite tipkanje. * napišite upit korištenjem novog servera, nešto kao `select * from search('moj server','moj upit')` |