4-Tietokantaohjelmointi Teuhola 2012 221 4. Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
TIES322 Tietoliikenneprotokollat 2
Ohjelmiston tekninen suunnittelu
Active directory.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
Luku 5 – Tietojen hakeminen sovelluksiin
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Erik Fallenius Kevät  Taustaa ◦ Ontologiat  Tavoitteet  Teknologiat ◦ Dojo/AJAX ◦ JSON ◦ SOAP  Projektin kulku  Lopputulos – demo.
1. Olio-ohjelmointi.
Antti Tiihala, Esa Tuuri, Matti Ali-Löytty, Janne Karhu
Tietokannat II Lasse Bergroth Turun yliopisto, IT-laitos Kevät 2013

OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
VB:n tietokantakäsittely
Ketterä kehitys käytännössä – TFS & Meteor
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
© Jukka Harju, Jukka Juslin
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Ohjelmointi.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos.
Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.
4.1-SQL-toimintoja Teuhola Relaatioskeemaa täydentäviä piirteitä: Näkymät (views) Näkymä on johdettu relaatio, jota ei fyysisesti ole välttämättä.
vuorovaikutteiset www-sivut1 Palvelinpuolen www- ohjelmointi Dynaaminen Internet  käyttäjän tai selaimen tunnistaminen  käyttäjän toiveiden.
SQL Standardoitu kieli, jonka avulla voidaan
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
HAJAUTTAMISEN IDEAA SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta, 4 op.
Tietokannan luominen Tietokanta luodaan komennolla CREATE DATABASE
FINAN TIETOJÄRJESTELMÄT
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
Tietokannat –kurssi SQL peruskyselyt
Komponenttipohjainen ohjelmistotekniikka (TJTSS56) Osa 4 Kevätlukukausi 2010 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Markku Sakkinen.
Tietojenkäsittelyn toisen lukuvuoden 1. lukukausityö Syksy 2010.
Tietokantaohjelmointi Kevät Tietokantaohjelmointi 3 op  Tavoite  Opiskelija osaa ohjelmoida tietokantoja käyttäviä käyttöliittymäsovelluksia.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Kaksi- ja kolmitasoiset sovellukset Two and Three Tier Systems.
4.2-Sulautettu SQL Teuhola Sulautettu (embedded) SQL Ohjelmointikielen (ns. isäntäkielen) laajennus ISO-standardi, määritelty kielille Ada,
Vesa Ollikainen & Outi Grotenfelt
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
ARKKITEHTUURIESITTELY JA KOULUTUS PLUSTERVEYS Dentego-palvelin.
II opponointi KOPPELO-projekti. Projektiorganisaatio Jäsenet: * Minna Hillebrand * Markus Silván * Antti Vanhanen * Marko Ylitalo Tilaajat.
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Relaatiomalli kilpailijoineen ja 1970-luvuilla
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
XSL Teppo Räisänen
Kaakkuri Sovellusprojekti Esityksen rakenne Projektiorganisaatio Projektiorganisaatio Taustatietoja Taustatietoja Sovelluksen ominaisuudet.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
PHP ja MySQL PHP: Hypertext Preprosessor. PHP, johdanto Komentosarjakieli, joka on suunniteltu dynaamisen sisällön tuottamiseen verkossa PHP on sekä kieli,
Tietokantapalvelimet Ville Parviainen. Sisältö Yleistä tietokannoista SQL PostgreSQL MySQL MySQL vs. PostgreSQL Linux -työ.
Kiiruna-projekti 2. Väliesittely
1 ASIAKAS/PALVELIN -JÄRJESTELMÄ Järjestelmän tarkoituksena on mahdollistaa käyttäjän kyselyt tietokantaan asiakasohjelman avulla. Asiakasohjelma ottaa.
Tietokantapalvelimet -Mikko Pehkonen, Tite4. Tietokantapalvelimista  DBMS (Database Management Systems)  Tarkoitettu tiedon keskitettyyn hallintaan.
PHP Muuttujien määrittely, sijoituslause ja aritmeettiset operaattorit Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
Opiskelijan ajanhallintajärjestelmä OAJ Ohtu Miniprojekti 2010 Vaatimusmäärittely.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
FINAN TIETOJÄRJESTELMÄT
Sisältö PostgreSQL MySQL Historia yms. ORDBMS Ominaisuuksia Asennus
LIIKEKIRJEET.
Istuntojen hallinta PHP-sovelluksessa
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
PHP Tietokantaohjelmointi 1
PHP Tietokantaohjelmointi 2
Esityksen transkriptio:

4-Tietokantaohjelmointi Teuhola Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java + SQL = SQLJ 4.3. Ohjelmointirajapinnat 4.4. Web-tietokantasovellusten ohjelmointi

4-Tietokantaohjelmointi Teuhola Taustaa Peruskäyttäjät eivät käytä SQL:ää, vaan räätälöityjä sovelluksia ja käyttöliittymiä. Nämä pitää toteuttaa (ohjelmoida) erikseen. Yhdellä SQL-lauseella voi harvoin kuvata koko sovellusta. Sovellus koostuu yhdestä tai useammasta transaktiosta, joista kukin sisältää yhden tai useampia keskenään riippuvia lauseita ja lisäksi kontrollirakenteet. Transaktio on atominen käsittely-yksikkö, eli se pitää joko suorittaa kokonaan loppuun tai peruuttaa keskeneräinen suoritus.

4-Tietokantaohjelmointi Teuhola Esim. tilisiirto pankin järjestelmässä Tilit Tilisiirto: 100 € tililtä 111 tilille vaiheinen transaktio: UPDATE Tilit SET Saldo = Saldo – 100 WHERE TiliNo = 111; UPDATE Tilit SET Saldo = Saldo WHERE TiliNo = 333; TiliNoNimiSaldo 111Aalto Laine Virta3000

4-Tietokantaohjelmointi Teuhola Riskit ilman transaktioiden käyttöä Rinnakkaiset tapahtumat voivat muuttaa samaa tietoa ja sotkea tietokannan sisällön. Toipuminen virhetilanteista voi jäädä puolitiehen. Tilisiirtoesimerkki: –Jos toinen vaihe epäonnistuu, myös ensimmäinen pitäisi peruuttaa. Sisällyttämällä lauseet samaan transaktioon ensimmäinen vaihe peruutetaan automaattisesti.

4-Tietokantaohjelmointi Teuhola Sovellusohjelmointivaihtoehdot (1)Erikoistunut tietokantaohjelmointikieli, kuten Oraclen PL/SQL tai PostgreSQL:n PL/pgSQL. (2)Olemassaolevan ohjelmointikielen laajennus ‘sulauttamalla’ (embedding) siihen SQL. (3) Aliohjelma-/luokkakirjastojen käyttö kutsumalla niitä normaalista ohjelmointikielestä käsin. Kirjastot noudattavat standardeja rajapintoja. Jatkossa tarkastellaan kutakin vaihtoehtoa, mutta kurssin kannalta (3) on keskeisin.

4-Tietokantaohjelmointi Teuhola Kielten yhteensopimattomuudesta Engl. ‘impedance mismatch’ Tietokantajärjestelmän ja ohjelmointikielen käyttämät tietotyypit saattavat poiketa (ed. vaihtoehdot (2) ja (3)). SQL on joukoilla (taulut, rivit) operoiva kieli, kun taas ohjelmointikielet käsittelevät tietoa yleensä alkeistasolla. Tarvitaan jokin mekanismi (iteraattori tai vastaava), joka käy taulukkorakenteen läpi. Oliotietokannat ja oliokielet ovat lähempänä toisiaan. ORM (Object-Relational Mapping) -työkaluilla voidaan helpottaa yhteensopimattomutta (-> ‘persistent objects’)

4-Tietokantaohjelmointi Teuhola Viittaukset yhteiseen dataan Sulautetussa ratkaisussa SQL-lauseilla ja ohjelmointikielen lauseilla voi olla yhteisiä muuttujia. Tyyppiyhteensopivuus on tärkeää. Aliohjelma-/luokkakirjastoja käytettäessä data välittyy syöttö-/tulosparametrien kautta. Asiakassovelluksen on valittava oikeanlaiset parametrityypit ja metodit niiden käsittelyyn.

4-Tietokantaohjelmointi Teuhola Ohjelmistoarkkitehtuurit 2-kerrosarkkitehtuuri: 3-kerrosarkkitehtuuri: AsiakasTietokanta- palvelin SQL Tulos- relaatiot AsiakasTietokanta- palvelin SQL Tulos- relaatiot Sovellus- palvelin Käsittely- pyyntö Vastaus

4-Tietokantaohjelmointi Teuhola Tietokantasovelluksen suoritusvaiheet 2-kerrosarkkitehtuurissa Asiakassovellus (client) muodostaa yhteyden tietokantapalvelimeen (server). Asiakassovellus lähettää jonon kyselyitä ja/tai päivityspyyntöjä palvelimelle, joka vastaa kuhunkin erikseen. Asiakas käsittelee vastaukset. Kunkin käsittelykokonaisuuden (transaktion) jälkeen sovellus lähettää palvelimelle joko vahvistus- (commit) tai peruutuspyynnön (rollback). Lopuksi asiakassovellus sulkee yhteyden palvelimeen.

4-Tietokantaohjelmointi Teuhola Työnjako 3-kerrosarkkitehtuurissa Asiakasohjelmisto kommunikoi käyttäjän kanssa (= käyttöliittymä) ja lähettää pyyntöjä sovellus- palvelimelle. Sovelluspalvelin suorittaa varsinaisen laskennan käyttäen tietokannan palveluita. Tietokantapalvelin on vastaava kuin 2-kerros- arkkitehtuurissa.