ITKA204 Tietokannat ja tiedonhallinnan perusteet Kevä t 2016 To n i Ta i p a l u s Jy v ä s k y l ä n y l i o p i s t o
Opettaja Työskennellyt Jyväskylän yliopistossa erilaisissa opetus- ja tutkimustehtävissä vuodesta 2010. Opetus: Opiskelijoille: Tietokannat ja tiedonhallinnan perusteet Oliosuuntautunut analyysi ja suunnittelu XML: theory & practice XML tietoverkoissa Tietojärjestelmien kehittäminen Tietokone ja tietoverkot työvälineenä Johdatus informaatio- ja viestintäteknologiaan Yrityksille: GNU/Linux SQL:n perusteet SQL:n jatkokoulutus MongoDB-tietokannanhallintajärjestelmä Oracle-tietokannanhallintajärjestelmä Relaatiotietokantojen optimointi PL/SQL-ohjelmointi Python-ohjelmointi ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 2
Kurssin yleisesittely Esitiedot ja taidot Looginen ajattelu Joukko-opin alkeet Luokkakaavio Perustiedot laitteistosta (muisti, suoritin, kiintolevy) Halu omaksua uusia asioita Halu ja kyky selvittää asioita myös itsenäisesti Ensisijaisesti kuitenkin ahkera asenne ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 3
Kurssin yleisesittely Motivointia: Lähes jokaisen sovelluksen taustalla toimii tietokanta. Tietokantojen perustuntemus on alan yleissivistystä. Tämä kurssi antaa valmiudet mm. tietokantojen analysoinnille, suunnittelulle, toteutukselle ja loogisen tason optimoinnille. Tämä kurssi antaa tarvittavat esitiedot myöhemmälle erikoistumiselle esim. tietokanta-asiantuntijaksi, konsultiksi, back-end-sovelluskehittäjäksi tai tietokantaoptimoijaksi. Työhönhakuhaastattelussa SQL:n tuntemusta arvostetaan. Data on yhä tärkeämpi osa liiketoimintaa. Kurssilla ei ole pelkkää teoriaa, vaan monia asioita opitaan soveltamaan myös käytännössä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 4
Kurssin yleisesittely Kurssin suorittamisen jälkeen opiskelija: osaa selittää tiedonhallintaan ja tietokannanhallintajärjestelmiin liittyvien keskeisten käsitteiden, periaatteiden ja toimintojen merkityksen osaa soveltaa ER-mallia käsitteellisessä mallintamisessa ja ymmärtää mikä rooli käsitteellisillä malleilla on tietoarkkitehtuurissa osaa soveltaa relaatiomallin käsitteitä ja transformoida ER-kaavan relaatiotietokannan kaavaksi osaa soveltaa SQL:ää taulujen ja valtuutusten määrittämiseksi ja perusoperaatioiden suorittamiseksi osaa normalisoida relaatiot neljänteen normaalimuotoon osaa selittää tyypilliset samanaikaisten tapahtumien ongelmat, tapahtumalta vaaditut ominaisuudet, eristyvyystasot sekä lukitustavat ja niiden merkityksen tapahtumien ajoitukselle osaa kuvailla tietovarastonnin periaatteet, arkkitehtuurin, toiminnot ja hyödyt sekä soveltaa tähti- ja lumihiutalemallia tietää tiedonhallinnan ja tietokantojen uusista periaatteista ja paradigmoista ja osaa vertailla niitä perinteisiin malleihin. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 5
Tietokannat ja muut opinnot Tietokone ja tietoverkot Algoritmit Tilastomenetelmät Olioanalyysi ja - suunnittelu Ohjelmointi Käyttöjärjestelmät ITKA204 XML Jatkokurssi? Business data analytics and Big Data management Big Data Engineering ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 6
Usein kysyttyä Mitä pitää osata ennen kurssin alkua? Ymmärtää mikä on UML-luokkakaavio ja osata tehdä sellainen. Laitteiston perustuntemus auttaa ymmärtämään asioita. Joukko-opin alkeet hyvä tuntea. Onko kurssilla ohjelmointia? Ei ole, mutta kyselykieli SQL opetellaan. Onko kurssilla matematiikkaa? Ei varsinaisesti, mutta joitakin asioita on esitetty matemaattisella notaatiolla. TIM-materiaalissa on monivalintatehtäviä, onko tentti monivalintatentti? Ei. Mitä asioita voisi omatoimisesti kerrata kurssin alkuvaiheessa, jos uni ei meinaa tulla? Miten UML-luokkakaavio tehdään kohdealuekuvauksen perusteella. Joukko-opin perusteet: yhdiste, leikkaus, (todellinen) osajoukko jne. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 7
Kurssin yleisesittely Sisältörunko 1. Johdanto 2. Käsitteellinen mallintaminen 3. Relaatiomalli 4. Transformointi 5. Relaatioalgebra 6. SQL 7. Tapahtumanhallinta 8. Normalisointi 9. Tietovarastointi 10. Hajautus 11. Tietokantaparadigmat 10 8 6 4 2 0 Stressikäyrä 1 2 3 4 5 6 7 8 9 10 11 ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 8
Työmäärä Luennot MA klo 14:15-16:00, viikot 2-10 KE klo 12:15-14:00, viikot 2-9 Yht. 34h Demonstraatiot 6 krt viikoilla 4-9 Tapaamiset yht. 12h Tehtävien ratkaisu 6 krt * 7h = 42h Kurssi on tiedekunnan kursseihin suhteutettuna sieltä työläämmästä päästä. Valmistaudu työskentelemään tai suorita kurssi itsellesi parempana ajankohtana! Työmäärä on todellinen. Sinne päin vastauksilla ei tentissä pärjää. Etsi kaveri tai pienryhmä, jonka kanssa pohditte demotehtäviä. Tentti Suoritus 4h Valmistautuminen 45h Yhteensä 133h (5op * 26,6h) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 9
Kurssimateriaali Kurssimateriaali TIM:ssä https://tim.jyu.fi/view/kurssit/tktl/itka204 Kurssimoniste, jossa interaktiivisia tehtäviä Demonstraatiot Linkit luentokalvoihin ja videoihin sekä lisämateriaalia Kurssikirja (ei vaadita): Elmasri & Navathe. Fundamentals of Database Systems. Addison-Wesley. Jos et ymmärrä jotakin kurssilla käsiteltyä asiaa, selvitä kurssikirjasta. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 10
Tentti Kurssin suoritustapa on tentti. Tenttejä järjestetään 3 kpl. Tentistä (max. 24 pistettä) tulee saada vähintään 12 pistettä. Arvostelu: 1-5 tai hylätty. Tenttitehtävät ovat suureksi osaksi samankaltaisia kuin demotehtävät. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 11
Demonstraatiot Demotehtävien tekeminen ja tilaisuuksiin osallistuminen on vapaaehtoista ja erittäin suositeltavaa. Ilman demojen tekemistä ei tentissä pärjää! Tarkoituksena tukea luennoilla esitettyjen asioiden soveltamisvalmiuksien hankintaa: Kurssilla opetetaan paljon asioita, joista monia täytyy osata soveltaa. Soveltamisvalmiuksia ei voi hankkia millään muulla tavalla kuin tekemällä. Keskustelu pienryhmissä on massaluentoja luontevampaa. Demoryhmiin (5 vaihtoehtoista ryhmää) voi ilmoittautua Korpin kautta. Klo KE TO 10-12 X X 12-14 X 14-16 X 16-18 X ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 12
Demonstraatiot Yleiset pelisäännöt Tehtävät julkaistaan edellisellä viikolla. Tilaisuuden alussa jokainen merkitsee listaan nimensä ja tehtävät, jotka hän on ottanut tilaisuuteen mukaan joko paperilla (helpompi korjata) tai sähköisenä JA joista hän on valmis esittelemään ratkaisunsa muille. Listan perusteella merkitään hyvityspisteet Korppiin. Hyvityspisteillä voi korottaa läpäistyn tentin arvosanaa: 1 piste, jos kaikista tehtävistä on ratkaistu yli 20% 2 pistettä, jos yli 40% 3 pistettä, jos yli 60% 4 pistettä, jos yli 80% Edellisvuosina hankittuja demopisteitä ei lueta hyväksi. Ratkaisut julkaistaan demoviikon loppupuolella. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 13
Demonstraatiot Yleiset pelisäännöt (jatkuu) Tilaisuudet ovat ensisijassa oppimistilanteita. Tule paikalle sitä suuremmalla syyllä, jos et ehtinyt tai osannut tehdä demotehtäviä. Jos tulet tilaisuuteen myöhässä, et voi ruksata niitä tehtäviä, jotka on jo tilaisuudessa käsitelty. Et poistu tilaisuudesta, ennen kuin ruksaamasi tehtävät on käsitelty. Ratkaisun ei tarvitse luonnollisestikaan olla 100% oikein. Mutta jos itsekin tietää, ettei ole oikein ymmärtänyt asiaa, ei silloin kannata ruksata tehtävää, vaan on parempi kuunnella, miten tehtävä olisi pitänyt ratkaista. Tehtävän esittäjä kertoo yleisellä tasolla ratkaisustaan muille. Demo-ohjaaja korjaa ja kommentoi tarvittaessa ratkaisua, sekä esittää mahdollisia muita ratkaisutapoja. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 14
Demonstraatiot Yleiset pelisäännöt: ETÄ Poikkeuksellisesti (esim. toisella paikkakunnalla asuminen, pitempi matka tai sairaus) voi toimittaa omat ratkaisunsa sähköpostin välityksellä. Toimittaminen tulee tehdä ENNEN viikon ensimmäistä demotilaisuutta (KE klo 10). Toimita tehtävät luennoitsijalle sähköpostin välityksellä. Yllä mainittuun aikarajaan ei vaikuta se, mihin ryhmään on Korpissa ilmoittautunut. Myöhässä palautetuista tehtävistä ei anneta hyvityspisteitä. Luennoitsija antaa harkintansa mukaan pisteitä etänä palautetuista tehtävistä. Luennoitsijan velvollisuus ei ole kommentoida etänä palautettuja tehtäviä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 15
Demonstraatiot Demopisteet Tentin läpäisytodennäköisyys ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 16
Kurssin alustava läpivienti vko Luento (sulkeissa TIM-materiaalin luku) Demo 2 Esittely ja johdanto (1) 3 Analyysi ja arkkitehtuuri (2) 4 Relaatiomalli (3), SQL: DML (4) Käsitteellinen mallintaminen (2) 5 SQL: DML, DDL (4) Transformointi ja SQL (3 ja 4) 6 SQL: DCL, TxCL (4) SQL (4) 7 Normalisointi (5) SQL (4) 8 Tietovarastointi (6) Normalisointi (5) 9 Hajautus (7) ja tietokantaparadigmat (8) Kokoavia tehtäviä tms. 10 Tarvittaessa kertausta 11 Tentti 16 Tentti 23 Tentti ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 17