PostgreSQL:n ja JDBC-ajurin asennus- ja käyttöohje



Samankaltaiset tiedostot
Tietokantakurssit / TKTL

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tietokannat II -kurssin harjoitustyö

Java ja tietokannan käsittely (JDBC)

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Pedacode Pikaopas. Tietokantaa hyödyntävän sovelluksen luominen

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

12. Näppäimistöltä lukeminen 12.1

Mikä yhteyssuhde on?

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

1 Tehtävän kuvaus ja analysointi

Metodien tekeminen Javalla

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

5. HelloWorld-ohjelma 5.1

Tietokannat II -kurssin harjoitustyö

Listarakenne (ArrayList-luokka)

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi Harri Laine 1. SQL:n käyttö ohjelmissa

RDBMS - Yhteyskäytännöt

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

CSE-A1200 Tietokannat

LINUX-HARJOITUS, MYSQL

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

HELIA 1 (14) Outi Virkki Tiedonhallinta

Pakkauksen kokoaminen

4. Luokan testaus ja käyttö olion kautta 4.1

käännös käännösvaiheessa tarkasettaan linkitys

Loppukäyttäjän ohje Asennus- ja käyttöohje Mac

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

5. HelloWorld-ohjelma 5.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Taulukoiden käsittely Javalla

Fiscal INFO TV -ohjelmisto koostuu kolmesta yksittäisestä ohjelmasta, Fiscal Media Player, Fiscal Media Manager ja Fiscal Media Server.

Tietokantasovellus: drinkkiarkisto

11. Javan valintarakenteet 11.1

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

11. Javan valintarakenteet 11.1

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

Metodien tekeminen Javalla

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

Ohjelmointi 2 / 2010 Välikoe / 26.3

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

TIETORAKENTEET JA ALGORITMIT

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

9. Periytyminen Javassa 9.1

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Pakkauksen kokoaminen

Loppukäyttäjän ohje Asennus- ja käyttöohje - Windows

JAVA-OHJELMOINTI 3 op A274615

Visma GATEWAY INSTALLER. asennusopas

7. Näytölle tulostaminen 7.1

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

SQL - STRUCTURED QUERY LANGUAGE

YHTEYSSUHDE (assosiation)

14. Poikkeukset 14.1

3. Taulujen määrittely ja muuttaminen

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Olio-ohjelmointi Käyttöliittymä

14. Poikkeukset 14.1

Rinnakkaisohjelmointi, Syksy 2006

Ohjelmointityö 3. Mikko Laamanen

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Autentikoivan lähtevän postin palvelimen asetukset

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Web Services tietokantaohjelmoinnin perusteet

Microsoft Visual Studio 2005

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Basics of databases

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Rajapinta (interface)

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Java-kielen perusteita

7. Oliot ja viitteet 7.1

public static void main (String [] args)

Luokan sisällä on lista

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Transkriptio:

PostgreSQL:n ja JDBC-ajurin asennus- ja käyttöohje Tietokannat II Kevät 2009 Sampsa Rauti 1 Johdanto Seuraavat ohjeet käsittelevät PostgreSQL:n ja PostgreSQL JDBC -ajurin asentamista Windows-ympäristöön. Lisäksi käydään läpi, miten company-tietokannan saa lisättyä omalle koneelle, ja miten Java-luokkia käännetään ja suoritetaan. Jos lisäkysymyksiä ilmenee, ota yhteyttä kurssiassistenttiin. 2 PostgreSQL:n asennus 1. Lataa PostgreSQL osoitteesta http://www.enterprisedb.com/products/pgdownload.do#windows 2. Suorita asennusohjelma. 3. Kaikissa asennusohjelman kohdissa voi säilyttää oletusasetukset. Eräässä vaiheessa ohjelma kysyy salasanaa, joka tulee käyttöön pääkäyttäjätunnukselle postgres. 3 Tietokannan luonti Kun PostgreSQL on asennettu, voit luoda company-tietokannan tai minkä tahansa muun tietokannan). Luonti tapahtuu pgadmin III -työkalua käyttämällä seuraavasti: 1. Valitse Käynnistä-valikosta Kaikki ohjelmat - PostgreSQL 8.3 - pgadmin III. 2. Kaksoisnapsauta objektien selaus -kohdassa paikallista PostgreSQL 8.3 -palvelinta, jolloin ohjelma kysyy sinulta pääkäyttäjän salasanaa. Jos saat virheilmoituksen, ettei serveri kuuntele, käynnistä serveriohjelma: Käynnistä-valikko - Kaikki ohjelmat - PostgreSQL 8.3 - Start Server. Vaihtoehtoisesti palomuurisi asetukset saattavat estää porttiin 5432 yhdistämisen.) 3. Avaa Tietokannat-objektin pikavalikko ja valitse Uusi tietokanta.

4. Anna uuden tietokannan nimeksi company. 5. Valitse company-tietokanta listalta ja valitse työkaluriviltä Suorita SQL-kysely. Kyselyikkuna avautuu. 6. Kopioi tähän ikkunaan company-tietokannan luontikäskyt, jotka löytyvät esimerkiksi tämän dokumentin liitteestä A. Paina sitten Suorita kysely vihreä nuoli). Nyt company-tietokanta on luotu palvelimelle. Kyselyikkunassa voi testata SQL-kyselyjen tekemistä company-tietokantaan.

4 Ajurin asennus ja käyttö Seuraavaksi company-tietokannan käyttöä voi testata Javalla. Tähän tarvitaan JDBC PostgreSQL -ajuri. 1. Lataa ajuri osoitteesta http://jdbc.postgresql.org/download.html 2. Laita lataamasi jar-tiedosto samaan hakemistoon kuin java-luokka, jonka aiot kääntää ja ajaa. 3. Avaa komentorivi ja mene hakemistoon, johon laitoit ajurin. 4. Käännä luokka komennolla javac -classpath postgresql-8.3-604.jdbc3.jar;. Testi.java 5. Aja ohjelma komennolla java -classpath postgresql-8.3-604.jdbc3.jar;. Testi Yllä olevassa kuvassa näkyy toimivan ohjelman tuloste suorituksen jälkeen. Käännös- ja ajokomennoissa korvaa tarvittaessa ajurin nimi, jos käytät eri versiota ajurista JDBC 4 -versio). Kuvassa suoritettu Testi.java, joka tekee company-tietokantaan yksinkertaisen kyselyn, on tämän dokumentin liitteenä B. Huomaa, että salasana on vaihdettava vastaamaan omaa PostgreSQL-salasanaasi.

Liite A: Company-tietokannan luontikäskyt CREATE TABLE EMPLOYEE Fname VARCHAR15) NOT NULL, Minit CHAR, Lname VARCHAR15) NOT NULL, Ssn CHAR9) NOT NULL, Bdate DATE, Address VARCHAR30), Sex CHAR, Salary DECIMAL10, 2), Super_ssn CHAR9), Dno INT NOT NULL, PRIMARY KEYSsn), FOREIGN KEYSuper_ssn) REFERENCES EMPLOYEESsn) CREATE TABLE DEPARTMENT Dname VARCHAR15) NOT NULL UNIQUE, Dnumber INT NOT NULL PRIMARY KEY, Mgr_ssn CHAR9) NOT NULL, Mgr_start_date DATE, FOREIGN KEYMgr_ssn) REFERENCES EMPLOYEESsn) CREATE TABLE DEPT_LOCATIONS Dnumber INT NOT NULL, Dlocation VARCHAR15) NOT NULL, PRIMARY KEYDnumber, Dlocation), FOREIGN KEYDnumber) REFERENCES DEPARTMENTDnumber) CREATE TABLE PROJECT Pname VARCHAR15) NOT NULL, Pnumber INT NOT NULL, Plocation VARCHAR15), Dnum INT NOT NULL, PRIMARY KEYPnumber), UNIQUEPname), FOREIGN KEYDnum) REFERENCES DEPARTMENTDnumber) CREATE TABLE WORKS_ON Essn CHAR9) NOT NULL, Pno INT NOT NULL, Hours DECIMAL3, 1), PRIMARY KEYEssn, Pno), FOREIGN KEYEssn) REFERENCES EMPLOYEESsn), FOREIGN KEYPno) REFERENCES PROJECTPnumber) CREATE TABLE DEPENDENT Essn CHAR9) NOT NULL, Dependent_name VARCHAR15) NOT NULL, Sex CHAR, BDate DATE,

Relationship VARCHAR8), PRIMARY KEYEssn, Dependent_name), FOREIGN KEYEssn) REFERENCES EMPLOYEESsn) EMPLOYEE-taulun data 'James', 'E', 'Borg', '888665555', DATE'1937-11-10', '450 Stone, Houston, TX', 'M', 55000, NULL, 1 'Franklin', 'T', 'Wong', '333445555', DATE'1955-12-08', '638 Voss, Houston, TX', 'M', 40000, '888665555', 5 'John', 'B', 'Smith', '123456789', DATE'1965-01-09', '731 Fondren, Houston, TX', 'M', 30000, '333445555', 5 'Jennifer', 'S', 'Wallace', '987654321', DATE'1941-06-20', '291 Berry, Bellaire, TX', 'F', 43000, '888665555', 4 'Alicia', 'J', 'Zelaya', '999887777', DATE'1968-01-19', '3321 Castle, Spring, TX', 'F', 25000, '987654321', 4 'Ramesh', 'K', 'Narayan', '666884444', DATE'1962-09-15', '975 Fire Oak, Humble, TX', 'M', 38000, '333445555', 5 'Joyce', 'A', 'English', '453453453', DATE'1978-07-31', '5631 Rice, Houston, TX', 'F', 25000, '333445555', 5 'Ahmad', 'V', 'Jabbar', '987987987', DATE'1969-03-29', '980 Dallas, Houston, TX', 'M', 25000, '987654321', 4 DEPARTMENT-taulun data INSERT INTO DEPARTMENT Dname, Dnumber, Mgr_ssn, Mgr_start_date) 'Research', 5, '333445555', DATE'1988-05-22' INSERT INTO DEPARTMENT Dname, Dnumber, Mgr_ssn, Mgr_start_date) 'Administration', 4, '987654321', DATE'1995-01-01' INSERT INTO DEPARTMENT Dname, Dnumber, Mgr_ssn, Mgr_start_date) 'Headquarters', 1, '888665555', DATE'1981-06-19' DEPT_LOCATION-taulun data INSERT INTO DEPT_LOCATIONS Dnumber, Dlocation) 5, 'Bellaire'

INSERT INTO DEPT_LOCATIONS Dnumber, Dlocation) 1, 'Houston' INSERT INTO DEPT_LOCATIONS Dnumber, Dlocation) 5, 'Houston' INSERT INTO DEPT_LOCATIONS Dnumber, Dlocation) 4, 'Stafford' INSERT INTO DEPT_LOCATIONS Dnumber, Dlocation) 5, 'Sugarland' PROJECT-taulun data INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'ProductX', 1, 'Bellaire', 5 INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'ProductY', 2, 'Sugarland', 5 INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'ProductZ', 3, 'Houston', 5 INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'Computerization', 10, 'Stafford', 4 INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'Reorginization', 20, 'Houston', 1 INSERT INTO PROJECT Pname, Pnumber, Plocation, Dnum) 'Newbenefits', 30, 'Stafford', 4 WORKS_ON-taulun data INSERT INTO WORKS_ON Essn, Pno, Hours) '123456789', 1, 32.5 INSERT INTO WORKS_ON Essn, Pno, Hours) '123456789', 2, 7.5 INSERT INTO WORKS_ON Essn, Pno, Hours) '666884444', 3, 40 INSERT INTO WORKS_ON Essn, Pno, Hours) '453453453', 1, 20 INSERT INTO WORKS_ON Essn, Pno, Hours) '453453453', 2, 20 INSERT INTO WORKS_ON Essn, Pno, Hours) '333445555', 2, 10 INSERT INTO WORKS_ON Essn, Pno, Hours) '333445555', 3, 10 INSERT INTO WORKS_ON Essn, Pno, Hours) '333445555', 10, 10 INSERT INTO WORKS_ON Essn, Pno, Hours) '333445555', 20, 10 INSERT INTO WORKS_ON Essn, Pno, Hours) '999887777', 30, 30 INSERT INTO WORKS_ON Essn, Pno, Hours) '999887777', 10, 10 INSERT INTO WORKS_ON Essn, Pno, Hours) '987987987', 10, 35 INSERT INTO WORKS_ON Essn, Pno, Hours) '987987987', 30, 5 INSERT INTO WORKS_ON Essn, Pno, Hours) '987654321', 30, 20 INSERT INTO WORKS_ON Essn, Pno, Hours) '987654321', 20, 15 INSERT INTO WORKS_ON Essn, Pno, Hours) '888665555', 20, NULL DEPENDENT-taulun data INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '333445555', 'Alice', 'F', DATE'1986-04-05', 'Daughter' INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '333445555', 'Theodore', 'M', DATE'1983-10-25', 'Son' INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '333445555', 'Joy', 'F', DATE'1958-05-03', 'Spouse' INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '987654321', 'Abner', 'M', DATE'1942-02-28', 'Spouse' INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '123456789', 'Michael', 'M', DATE'1988-01-04', 'Son' INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '123456789', 'Alice', 'F', DATE'1988-12-30', 'Daughter'

INSERT INTO DEPENDENT Essn, Dependent_name, Sex, Bdate, Relationship) '123456789', 'Elizabeth', 'F', DATE'1967-05-05', 'Spouse'

Liite B: Testi.java import java.sql.*; public class Testi { private static Connection kanta = null; public static void mainstring[] args) { Testi.alusta Testi.teeKyselykanta Testi.sulje public static Connection alusta) { try { Class.forName"org.postgresql.Driver").newInstance kanta = DriverManager.getConnection"jdbc:postgresql:company", "postgres", "admin" catch Exception e) { System.out.println"Virhe tietokantakerroksessa: " + e return kanta; public static void sulje) { try { kanta.close catch SQLException e) { System.out.println"Virhe tietokantakerroksessa: " + e public static void teekyselyconnection kanta) { try { Statement lause = kanta.createstatement String kysely = "SELECT fname FROM employee;"; ResultSet tulos = lause.executequerykysely while tulos.next)) { System.out.printlntulos.getString"fname") tulos.close lause.close catch Exception e) { System.out.println"Virhe tietokantakerroksessa: " + e