Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

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

Samankaltaiset esitykset


Esitys aiheesta: "4-Tietokantaohjelmointi Teuhola 2012 221 4. Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java."— Esityksen transkriptio:

1 4-Tietokantaohjelmointi Teuhola 2012 221 4. 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

2 4-Tietokantaohjelmointi Teuhola 2012 222 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.

3 4-Tietokantaohjelmointi Teuhola 2012 223 Esim. tilisiirto pankin järjestelmässä Tilit Tilisiirto: 100 € tililtä 111 tilille 333 2-vaiheinen transaktio: UPDATE Tilit SET Saldo = Saldo – 100 WHERE TiliNo = 111; UPDATE Tilit SET Saldo = Saldo + 100 WHERE TiliNo = 333; TiliNoNimiSaldo 111Aalto2000 222Laine1000 333Virta3000

4 4-Tietokantaohjelmointi Teuhola 2012 224 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.

5 4-Tietokantaohjelmointi Teuhola 2012 225 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.

6 4-Tietokantaohjelmointi Teuhola 2012 226 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’)

7 4-Tietokantaohjelmointi Teuhola 2012 227 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.

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

9 4-Tietokantaohjelmointi Teuhola 2012 229 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.

10 4-Tietokantaohjelmointi Teuhola 2012 230 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.


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

Samankaltaiset esitykset


Iklan oleh Google