Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietokannat Tietotekniikan perusteet 17.11.1998 Pekka Orponen.

Samankaltaiset esitykset


Esitys aiheesta: "Tietokannat Tietotekniikan perusteet 17.11.1998 Pekka Orponen."— Esityksen transkriptio:

1 Tietokannat Tietotekniikan perusteet 17.11.1998 Pekka Orponen

2 Tiedonhallinta Suurten tietomäärien hallinta on tietotekniikan tärkeimpiä sovelluksia (hallinnon rekisterit, pankkien tilitiedot, lentoyhtiöiden paikanvaraus, yliopiston opiskelijarekisteri jne. jne.) Organisaation tiedonhallinta ja organisaation toiminta ovat kiinteässä yhteydessä toisiinsa (minkälaisia rekistereitä, mitä tietoa tarvitaan, kenen käyttöön...) –Käytännön atk-tehtävissä vaikeinta on usein tarvittavien tietojen määrittely ja jäsentäminen, ohjelmointi yms. on rutiinia  systeeminsuunnittelu, ohjelmistotuotanto  tietojärjestelmätiede Tiedonhallinnan työkalu: tiedonhallintaohjelmisto –perinteisesti: tietokantajärjestelmä –uusia haasteita:ääni- ja kuvatiedon hallinta; hajautettu tieto (inter-, intranet).

3 Relaatiotietokannat Tietomalli = tietokantajärjestelmän pohjana oleva matemaattinen malli sille, miten reaalimaailman tiedot esitetään tietokoneessa Relaatiomalli (E. F. Codd 1970): tiedot esitetään relaatiotauluina. Muita malleja: verkkomalli, hierarkkinen malli –toteutusläheisempiä (”tehokkaampia”?), mutta hankalampia käyttää –relaatiomalli lähes kaikkien nykyisten tietokantajärjestelmien (Access, dBase, Ingres, Oracle, Paradox,...) perustana

4 Esimerkki: matematiikan laitoksen henkilökunnan tietoja sisältävä relaatiotaulu: JYMAT sukunimietunimioppiainevirkahuone AstalaKarimat/ylprofMaD359 KoskelaPekkamat/ylprofMaD360 KuusaloTapanimat/ylprofMaD358 LehtonenArimat/tielehtMaD374 OrponenPekkamat/tieprofMaD307 SänttiHannelemat/ylamanMaD357 Relaatiotaulun avain = jokin minimaalinen attribuuttijoukko, joka yksilöi taulun rivit (esim. edellä sukunimi; jos laitoksella olisi useita samansukuisia, pitäisi valita (sukunimi, etunimi)). Relaatiotaulut Relaation nimi Attribuutit Relaation rivit t. monikot

5 Relaatioalgebra ja SQL-kyselykieli Relaatiotauluja voidaan yhdistellä ja niistä poimia tietoja tavanomaisin joukko-opin operaatioin (taulujen yhdiste, leikkaus jne.) ”Relaatioalgebran” standardoitu esitys: kyselykieli SQL (Structured Query Language, ANSI/ISO 1992). Perusoperaatiot: rivien ja sarakkeiden valinta annetusta relaatiosta (taulusta): –rivien valinta relaatiosta (taulusta) R ehdolla E  E (R) = uusi relaatio (taulu), joka sisältää ne R:n rivit, joilla ehto E on voimassa –SQL-muoto: select * from R where E –esim. jos E  (etunimi = ”Pekka”), niin  E (JYMAT) = sukunimietunimioppiainevirkahuone KoskelaPekkamat/ylapprofMaD360 OrponenPekkatietotprofMaD30

6 Relaatioalgebra ja SQL (jatkuu) –sarakejoukon S valinta relaatiosta R  S (R) = uusi relaatio (taulu), joka sisältää vain joukkoon S sisältyvät R:n attribuutit (sarakkeet) –SQL-muoto: select S from R –esim. jos S  (sukunimi, huone), niin  S (JYMAT) = sukunimihuone AstalaMaD359 KoskelaMaD360 KuusaloMaD358 LehtonenMaD374 OrponenMaD307 SänttiMaD357

7 Relaatiotaulujen yhdistäminen Yleensä relaatiotietokantaan kuuluu useita relaatioita (tauluja), jotka vastaavat kuvattavan järjestelmän eri osakokonaisuuksia. –Taulujen osittaminen on tärkeää myös, jotta samaa tietoa vältettäisiin tallettamasta moneen paikkaan  relaatiotaulujen ”normalisointiteoria” Esim. tietotekniikan laitoksen taulu JYTIE: sukunimietunimioppiainevirkahuone ErnvallJarmotietotlehtMaD304 HämäläiPenttitietotlehtMaD309 KoikkalPasitietotprofMaE318 LappalaiVesatietotlehtMaD305 NeittaanPekkatietotprofMaE317 SantanenJukkatietotlehtMaE320 Tauluja, joilla on sama rakenne, voidaan yhdistää joukko-operaatioilla: esim. matematiikan ja fysiikan laitosten tiedot yhdessä: (select * from JYMAT) union (select * from JYTIE)

8 Relaatiotaulujen liitos Tärkein yhdistämistapa on erirakenteisten taulujen liittäminen yhteen yhteisten attribuuttien määräämällä tavalla: –relaatioalgebra: R  S = uusi relaatio, jonka rivit ovat kaikki mahdolliset R:n ja S:n riviparit  E (R  S ) = edellisestä ne rivi(pari)t, jotka täyttävät ehdon E –SQL: select * from R, S where E Esim. kirjaston kokoelmataulu JYKIRJAT: knotekijätotsikkohetu 1GoldschlComputer Sci 1231231231 2UllmanDatabase Sys1231231231 3KreyszigEngineering Math1001001001 4RandellOrigins of Computers 5FellerProbability Theory 6WelshRunning Linux 7KernighanC Programming Matematiikan laitoksella lainassa olevien kirjojen tiedot: select * from jykirjat, jymat where jykirjat.hetu = jymat.hetu

9 SQL yleisesti SQL-kyselyissä on esiteltyjen lisäksi myös mahdollisuus ryhmitellä tuloksia attribuuttien arvojen mukaan jne. Kyselyn yleinen muoto on: select attribuutit from taulut [where ehto] [group by attribuutit] [having ryhmäehto] [order by attribuutit] missä hakasulkuihin merkityt osat voivat puuttua. SQL:ää käytetään usein vain ”välikielenä” niin, että käyttäjä luo kyselyt jonkin graafisen käyttöliittymän kautta (esim. koneislomakkeet) tai jokin muu ohjelma tuottaa kyselyt (esim. massapostituksen tarratulostusohjelma) Kyselytoimintojen lisäksi SQL-standardiin kuuluu taulujen käsittelyoperaatioita (taulujen luonti, attribuuttien määrittely, taulujen päivitys jne.)


Lataa ppt "Tietokannat Tietotekniikan perusteet 17.11.1998 Pekka Orponen."

Samankaltaiset esitykset


Iklan oleh Google