Difference between revisions of "IAG0582 - Programmeerimine II"

From ATI public wiki
Jump to: navigation, search
(C)
Line 24: Line 24:
 
[http://www.pld.ttu.ee/~hkinks/iag0582/psql.c Näidiskood] - loob ühenduse eelnimetatud PostgreSQL andmebaasiga ja pärib 10 esimest kirjet.
 
[http://www.pld.ttu.ee/~hkinks/iag0582/psql.c Näidiskood] - loob ühenduse eelnimetatud PostgreSQL andmebaasiga ja pärib 10 esimest kirjet.
  
Kompileerida on kõige lihtsam kasutades TTÜ klassiarvuteid. Soovi korral võib teha seda ka enda arvutist, kuid eelnevalt on vaja installeerida PostgreSQL ja kompilaatoris linkida selle teegid.
+
Kompileerida on kõige lihtsam kasutades TTÜ klassiarvuteid, kus on PostgreSQL eelnevalt paigaldatud.
 +
[http://ati.ttu.ee/wiki/index.php/Arvutiklassis_t%C3%B6%C3%B6tamise_juhend#Ligip.C3.A4.C3.A4s_v.C3.A4ljastpoolt_.C3.BClikooli_sisev.C3.B5rke Põhjalikum juhend väljastpoolt sisevõrku töötamiseks]
  
[http://ati.ttu.ee/wiki/index.php/Arvutiklassis_t%C3%B6%C3%B6tamise_juhend#Ligip.C3.A4.C3.A4s_v.C3.A4ljastpoolt_.C3.BClikooli_sisev.C3.B5rke Ligipääs kasutades SSH-d]
+
Üks kiireim viis Windowsi alt klassiarvutitesse ühenduda on alla laadida endale [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe Putty]. Putty käivitamisel tuleks ''Host Name'' lahtrisse kirjutada '''proksi.intra.ttu.ee''' ning vajutada ''Open''. Avaneb terminaliaken, kus küsitakse kasutajanime. Kasutajanimeks on '''Eesnimi.Perenimi@INTRA'''. Vajutada ''Enter'', sisestada parool(trükitud tähemärke ei kuvata tärnidena). Kui sisselogimine õnnestus, tuleks teha järgmine ühendus läbi SSH ühte ICT-502 klassiarvutitest, mis on parasjagu Linuxis. Klassiarvutite staatust on näha aadressil http://ati.ttu.ee/klassi-staatus/. Kui sobiv arvuti on leitud, siis ühenduse loomiseks kasutada käsku
 +
ssh lx22
 +
kus lx22 asemel on mistahes soovitud arvuti alias.
 +
Seejärel on võimalik tööd alustada. Näitekoodi allalaadimiseks terminalis võib kasutada käsku
 +
wget http://ati.ttu.ee/~hkinks/iag0582/psql.c
  
Lähtekoodi kompileerimine:
+
Lähtekoodi kompileerimiseks kasutada käsku:
 
  gcc psql.c -o psql -lpq
 
  gcc psql.c -o psql -lpq
  
Line 34: Line 39:
  
 
http://www.postgresql.org/docs/9.1/static/libpq.html
 
http://www.postgresql.org/docs/9.1/static/libpq.html
 +
 
====Java====
 
====Java====
 
[http://www.pld.ttu.ee/~hkinks/iag0582/java_example.zip Näidiskood] - pärib andmebaasist jõed ja moodustab neist jõgede hierarhia.
 
[http://www.pld.ttu.ee/~hkinks/iag0582/java_example.zip Näidiskood] - pärib andmebaasist jõed ja moodustab neist jõgede hierarhia.

Revision as of 19:53, 10 February 2014

Ainekaart

Materjalid

3. Kodune ülesanne

Andmebaasi ülesanne

  • Antud ülesande kaal on 10p eksamil ja see võib olla asendatud harjutustunni õppejõu poolt mingi teise ülesandega.
  • Ette on antud olemasolev PostgreSQL andmebaas, mis sisaldab Eesti jõgede andmeid.
Host: ewis.pld.ttu.ee
Andmebaas: ablid 
Port: 5432
Kasutaja: student
Parool: iag0582
  • Andmestruktuur

File:Jogede andmestruktuur.png

  • PostgreSQL dokumentatsioon
  • Ülesannete lahendamiseks kasutada C või Java programmeerimiskeelt. Abiks on mõlema kohta näidisprogramm.

C

Näidiskood - loob ühenduse eelnimetatud PostgreSQL andmebaasiga ja pärib 10 esimest kirjet.

Kompileerida on kõige lihtsam kasutades TTÜ klassiarvuteid, kus on PostgreSQL eelnevalt paigaldatud. Põhjalikum juhend väljastpoolt sisevõrku töötamiseks

Üks kiireim viis Windowsi alt klassiarvutitesse ühenduda on alla laadida endale Putty. Putty käivitamisel tuleks Host Name lahtrisse kirjutada proksi.intra.ttu.ee ning vajutada Open. Avaneb terminaliaken, kus küsitakse kasutajanime. Kasutajanimeks on Eesnimi.Perenimi@INTRA. Vajutada Enter, sisestada parool(trükitud tähemärke ei kuvata tärnidena). Kui sisselogimine õnnestus, tuleks teha järgmine ühendus läbi SSH ühte ICT-502 klassiarvutitest, mis on parasjagu Linuxis. Klassiarvutite staatust on näha aadressil http://ati.ttu.ee/klassi-staatus/. Kui sobiv arvuti on leitud, siis ühenduse loomiseks kasutada käsku

ssh lx22

kus lx22 asemel on mistahes soovitud arvuti alias. Seejärel on võimalik tööd alustada. Näitekoodi allalaadimiseks terminalis võib kasutada käsku

wget http://ati.ttu.ee/~hkinks/iag0582/psql.c

Lähtekoodi kompileerimiseks kasutada käsku:

gcc psql.c -o psql -lpq

PostgreSQL C API dokumentatsioon

http://www.postgresql.org/docs/9.1/static/libpq.html

Java

Näidiskood - pärib andmebaasist jõed ja moodustab neist jõgede hierarhia.

Ülesanded

Veendumaks, et ühendus andmebaasiga on olemas, võib teha päringu SELECT * FROM joe_andmed LIMIT 10; , mis peaks väljastama 10 esimest kirjet tabelist joe_andmed.

1. Pärida jõed, mille tyyp väli vastab matrikli viimasele numbrile.

2. Pärida seirejaamad, mis paiknevad eelmises punktis leitud jõgedel. (JOIN)

3. Sorteerida tulemus jõgede pikkuse järgi.

4. Lugeda valgla pindala väärtused (valgla_km2) programmi sisse ja leida nende kogusumma.

5. Kirjutada tekstifaili punktis 4 saadud tulemus, mis sisaldaks järgmiseid väljasid: id_jogi, joenimi, tyyp, pikkus_km, id_jaam, jaama_nimi, valgla_km2. Lõppu lisada leitud valglate kogusumma.

Lahenduseks on töötav programm koos lähtekoodiga, mis väljastab tekstifaili tulemusega.