1 / 20

Tietokannat I

Tietokannat I. Kevät 2007 Olli Luoma. Kurssista. Yleistä Laajuus 5 op, taso riippuu suuntautumisvaihtoehdosta Luennot 28 h, Demot 10h ja loppukuulustelu Kurssin kotisivu: http://staff.cs.utu.fi/~olallu/TKAN1/ Henkilöt, ajat ja paikat Luennot: Olli Luoma; Ke 14-16 ja To 10-12 Alpha

neil
Download Presentation

Tietokannat I

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 I Kevät 2007 Olli Luoma

  2. Kurssista • Yleistä • Laajuus 5 op, taso riippuu suuntautumisvaihtoehdosta • Luennot 28 h, Demot 10h ja loppukuulustelu • Kurssin kotisivu: http://staff.cs.utu.fi/~olallu/TKAN1/ • Henkilöt, ajat ja paikat • Luennot: Olli Luoma; Ke 14-16 ja To 10-12 Alpha • Demot: Olli Luoma, Mikko Savela ja Kimmo Tarkkanen; Ma 8-16 B2033 ja B2038 • Kurssimateriaali • Luentomoniste, jota jaetaan luennoilla • Luentokalvot • Linkkejä kurssin kotisivulla

  3. Kurssin asioista • Relaatiomalli • Mikä on relaatio? Mikä on relaatiotietokanta? • Miten tietokannasta haetaan tietoa? • Miten tietokannan sisältämää tietoa muokataan? • Tietokannan suunnittelu • Mitä on käsitteellinen mallintaminen? • Mikä on käsitteellisen mallin ja relaatioiden suhde? • SQL • Miten SQL:n avulla luodaan tietokantoja? • Miten tietokannasta haetaan tietoja SQL:n avulla? • Miten tietokantaa päivitetään?

  4. Kurssin tarpeellisuudesta • Tekeekö näillä jutuilla oikeasti mitään? • Käytännössä kaikki tietojärjestelmät perustuvat relaatiotietokantaan • Tietokantaosaaminen on tarpeen lähes kaikissa alan tehtävissä • Eli kaikki sitten kai osaavat? No ei... • Relaatiomallia ei ymmärretä, vaikka kyse on oikeastaan varsin yksinkertaisesta asiasta • SQL:ää ei edellisestä johtuen osata kovinkaan hyvin • Esitietona monille kiinnostaville kursseille • Tietokannat II, Advanced Course on Databases, XML Technologies and Applications, Multimedia Databases, ...

  5. Demoista • Poikkeavat demojärjestelyt • Demotehtävät ratkaistaan ryhmätyönä demotilaisuuksista • Hyötyäkseen demoista on syytä seurata luentoja tai ainakin opiskella demoissa tarvittavat asiat itsenäisesti • Osa demoista pyritään järjestämään mikroluokissa • Tenttioikeuden saavuttaminen • Osallistuttava vähintään neljään viidestä demotilaisuudesta • Jos edellisen vaatimuksen täyttäminen on (jostain hyvästä syystä) ongelma, ota yhteyttä luennoitsijaan

  6. Tieto • Digitaalisesti tallennettua informaatiota • Rakenteeton tieto • Teksti, puhe, kuvat jne. • Käsitellään yleensä kokonaisuutena • Rakenteinen tieto • Taulukot, puurakenteet jne. • Tieto jäsennelty osiin, tietoalkoihin • Kurssilla perehdytään ennen kaikkea rakenteisen tiedon hallintaan

  7. Tietomallit • Relaatiomalli • Tieto jäsennellään relaatioihin eli käytännössä tauluihin • Suhteellisen helppoa omaksua ja toteuttaa tehokkaasti • Ylivoimaisesti suosituin lähestymistapa • Verkkomalli • Tietoalkiot yhdistyvät toisiinsa verkoksi • Käytännössä vaikea toteuttaa • Hierarkkinen tietomalli • Tietoalkiot sisältyvät toisiinsa; puurakenne, XML-dokumentti • Helposti omaksuttavissa, vaikea toteuttaa

  8. Abstraktiotasot • Käsitteellinen taso • Tietoalkioiden merkitys • ”Tietokannassa on tietoa asiakkaista, osoitteista, tilauksista, ...” • Rakenteellinen taso • Tietoalkioiden suhteet ja jäsennys • ”Asiakkaat on esitetty taulukossa, jossa ensimmäinen sarake kuvaa asiakkaan nimeä, toinen lempiruokaa, ...” • Fyysinen taso • Tietoalkioiden fyysinen tallennustapa • ”Orimatti Teuras; Maksalaatikko; ...”

  9. Kurssien ”abstraktiotasot” • Käsitteellinen taso • Tietojärjestelmien mallintaminen • Jossain määrin myös Tietokannat I • Rakenteellinen taso • Tietokannat I, Tietokannat II • Jossain määrin myös Multimedia Databases • Fyysinen taso • Advanced Course on Database Systems • Multimedia Databases • Jossain määrin myös Tietokannat II

  10. Tietokanta • Laveasti määritellen kokoelma rakenteista tietoa • Puhelinluettelo; tietoa henkilöistä, puhelinnumeroista ja osoitteista • Kaupan tietokanta; tietoa asiakkaista, tilauksista, tuotteista, toimittajista varastosaldoista jne. • Tiukemmin määritellen tietokokoelma, joka • On itsekuvaileva • Tukee useita yhtäaikaisia käyttäjiä • On tarkasteltavissa eri näkökulmista • Toimii erillään kokoelman tietoja käyttävistä ohjelmista

  11. Itsekuvailevuus • Tietokanta sisältää • Varsinaisen tiedon eli datan • Datan rakennetta kuvailevan tiedon eli metadatan • Onko alla esitetty taulukko itsekuvaileva? • Mitä ovat ”Potkukelkka” ja ”Teuras”? • Ovatko silakkapihvit ja maksalaatikko lempi- vai inhokkiruokia? • Voimme erikseen tallentaa tiedon siitä, mitä sarakkeet sisältävät

  12. Yhtäaikainen käyttö • Käytännössä tietokannalla on aina useita käyttäjiä • Verkkokaupalla ehkä satoja tai jopa tuhansia käyttäjiä • Yhtäaikaisen käytön ongelmat • Kaksi asiakasta yrittää samaan aikaan tilata ainoan tuotteen tai varata saman paikan lennolle • Voiko useampi käyttäjä muokata tekstitiedostoa samaan aikaan? • Kyllä, jos tähän tarkoitukseen toteutetaan ohjelma

  13. Monta näkökulmaa tietoon • Eri käyttäjäryhmät tarvitsevat eri tietoja • Pankkitoimihenkilön on haettava eri tietoja kuin pankin asiakkaan • Pankkitoimihenkilön on päästävä käsiksi tietoihin, joita pankin asiakas ei voi muuttaa • Voidaanko käyttäjille tarjota erilaisia näkökulmia tekstitiedostoon? • Kyllä, jos tähän tarkoitukseen toteutetaan ohjelma

  14. Riippumattomuus ohjelmista • Uusien ohjelmien toteuttaminen • Voimme toteuttaa uusia tietokantaa käyttäviä ohjelmia muuttamatta tietokantaa tai kajoamatta vanhoihin ohjelmiin • Uusien tietojen lisääminen • Voimme tarvittaessa lisätä uusia tietoja tietokantaan muuttamatta ohjelmia • Voidaanko tekstitiedostosta tehdä ohjelmariippumaton? • Kyllä, jos kirjoitetaan ohjelma, jonka avulla muut ohjelmat käyttävät tiedostoa

  15. Tietokannanhallintajärjestelmä • TKHJ on ohjelmisto, jonka avulla voidaan • Luoda uusia tietokantoja • Lisätä, poistaa ja hakea tietoa tietokannasta • Hallita suuria tietomääriä (gigatavuja, teratavuja, petatavuja) tehokkaasti • Kohdistaa tietokantaan useita yhtäaikaisia operaatioita • Toteuttaa sovelluksia, jotka käyttävät tietokantaa • Esimerkkejä tietokannanhallintajärjestelmistä • Oracle, SQL Server, ... (kaupallisia) • MySQL, Postgres, Interbase, ... (ilmaisia) • Access (monilla ehkä kotikoneella) • Jonkin TKHJ:n kokeileminen myös itsenäisesti on erittäin suositeltavaa

  16. TKHJ:t • Koostuvat monista osista • Tallennusmoottori, kyselymoottori, lukitusjärjestelmä, ... • Hallintaohjelmat, varmuuskopiointiohjelmat, ... • Teknisesti hyvin kypsiä • Pankkitoiminta, arvopaperikauppa, ... • Hallittavana valtavia tietomääriä • Periaatteessa standardoituja • Relaatiotietokannat tukevat SQL:ää, Hierarkkiset tietokannat XML-kyselykieliä jne. • Monissa kuitenkin lisäominaisuuksia

  17. Eli siis... • TKHJ:n tehtävänä on piilottaa tietokannan fyysinen toteutus ja tarjota rakenteellisen tason rajapinta tiedon käsittelyyn • Periaatteessa tietokannanhallintajärjestelmä käyttää tiedostoja siinä missä muutkin ohjelmat • Tallennettavat tiedot ovat jäsennettävissä TKHJ:n tietomallin avulla • Relaatiomalli: taulukot • Verkkomalli: tietoalkioiden muodostama verkko • Hierarkkinen malli: puu

  18. Kertaus • Tietokanta • Itsekuvaileva • Useita käyttäjiä • Erilaisia näkymiä tietoon • Erillinen tietoja käyttävistä ohjelmista • TKHJ on tietokantojen käsittelyyn tarkoitettu ohjelmisto • Käytännössä nykyiset TKHJ:t perustuvat relaatiomalliin

  19. Relaatio (1) • Puhumme usein jonkinlaisista suhteista • ”Mikki tykkää Minnistä” • ”Aku tykkää Iineksestä” • ”Kaarle Kustaa XI on Ruotsin kuningas” • ... • Suhdetta voidaan ajatella relaationa, joka kytkee • Havainnollisimmin relaatiota voi ajatella tauluna

  20. Relaatio (2) • Relaation ominaisuuksia kutsutaan attribuuteiksi • Kaava... • ...

More Related