1 / 9

Tietokannat

Tietokannat. Tietotekniikan perusteet 17.11.1998 Pekka Orponen. Tiedonhallinta. Suurten tietomäärien hallinta on tietotekniikan tärkeimpiä sovelluksia (hallinnon rekisterit, pankkien tilitiedot, lentoyhtiöiden paikanvaraus, yliopiston opiskelijarekisteri jne. jne.)

hallie
Télécharger la présentation

Tietokannat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Relaation rivit t. monikot Relaatiotaulut • Esimerkki: matematiikan laitoksen henkilökunnan tietoja sisältävä relaatiotaulu: JYMAT sukunimi etunimi oppiaine virka huone Astala Kari mat/yl prof MaD359 Koskela Pekka mat/yl prof MaD360 Kuusalo Tapani mat/yl prof MaD358 Lehtonen Ari mat/tie leht MaD374 Orponen Pekka mat/tie prof MaD307 Säntti Hannele mat/yl aman MaD357 • Relaatiotaulun avain = jokin minimaalinen attribuuttijoukko, joka yksilöi taulun rivit (esim. edellä sukunimi; jos laitoksella olisi useita samansukuisia, pitäisi valita (sukunimi, etunimi)). Relaation nimi Attribuutit

  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 sE(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 sE(JYMAT) = sukunimi etunimi oppiaine virka huone Koskela Pekka mat/yl approf MaD360 Orponen Pekka tietot prof MaD30

  6. Relaatioalgebra ja SQL (jatkuu) • sarakejoukon S valinta relaatiosta R pS(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 pS(JYMAT) = sukunimi huone Astala MaD359 Koskela MaD360 Kuusalo MaD358 Lehtonen MaD374 Orponen MaD307 Säntti MaD357

  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: sukunimi etunimi oppiaine virka huone Ernvall Jarmo tietot leht MaD304 Hämäläi Pentti tietot leht MaD309 Koikkal Pasi tietot prof MaE318 Lappalai Vesa tietot leht MaD305 Neittaan Pekka tietot prof MaE317 Santanen Jukka tietot leht MaE320 • 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 sE(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: kno tekijät otsikko hetu 1 Goldschl Computer Sci 1231231231 2 Ullman Database Sys 1231231231 3 Kreyszig Engineering Math 1001001001 4 Randell Origins of Computers 5 Feller Probability Theory 6 Welsh Running Linux 7 Kernighan C 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] [groupby attribuutit] [having ryhmäehto] [orderby 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.)

More Related