Tietokannan hakukielet: esitelmä. DataLog & SQL. Sami El-Mahgary. HOPL TKK, marraskuu 09

Koko: px
Aloita esitys sivulta:

Download "Tietokannan hakukielet: esitelmä. DataLog & SQL. Sami El-Mahgary. HOPL TKK, marraskuu 09"

Transkriptio

1 Tietokannan hakukielet: esitelmä HOPL TKK, marraskuu 09 DataLog & SQL Sami El-Mahgary

2 Osa I Lyhyt katsaus DATALOG:iin Osa II Katsaus SQL:n kehitykseen Tietokantakehityskieliä: Osa IIIA Katsaus Paradox tietokantakieleen (4. GL) Osa IIIB Katsaus Delphiin 2

3 Osa I. DATALOG/SQL sijoittuminen.. Kehitysvaihe 2GL Assembler Huomatuksia Ei enää käytössä 3GL Perinteiset algoritmiset/proseduraal iset kielet 4GL Ylemmän tason ohjelmointikielet 5GL Ongelman määrittelykielet (declarative prog. Languages) Entäpä nykyiset Visuaaliset sovelluskehittimet (Delphi, Visual Basic, Visual C++)? C/C++, Java, Pascal, Python. Esim. SQL, Datalog, Focus, sekä tietokantasovelluskehittim et ja kyselykielet. Nopeuttavat Prolog, CLP(R) ohjelmointia. sekä OPS5(Asiantuntijajärjestel mät) Luultavasti 4GL, jotkut voivat lajitella omaan luokkansa. 3

4 5 GL joidenkin mielestä tarkoittaa luonnolisia kieliä : 4

5 DATALOG: Lyhyt kehityshistoria 1/2 (vuosi) Kehitysvaihe (1973) Alain Colmerauer ja työryhmä julkaisevat Prologin raportin. (1974) Robert Kowalski julkaisee paperin Predicate Logic as a Programming Language (1977) Käsitys logiikkaohjelmoinnin sekä tietokantojen yhdistämisestä syntyy kongressissa Ranskassa (Toulouse). Huomatuksia Oivallus, että logiikasta on ohjelmointikieleksi. Mukana myös A. Colmerauer:in ajatuksia. Logiikka + Kontrolli=Algoritmi Hervé Gallaire, Jack Minker, Jean-Marie Nicolas järjestämä kongressi toteaa: logiikka & tietokanta ovat oma aihepiirinsä: käsitys päättellytietokannasta 5

6 DATALOG: Lyhyt kehityshistoria 2/2 (vuosi) Kehitysvaihe Huomatuksia (1978) John Lloyd, Foundations of Logic Programming (1978) H. Gallaire & J. Minker (eds.), Logic & Databases (1980-luvun puoliväli) DATALOG nimitys, peräisin tutkijaryhmältä (1989) Stefano Ceri et al, What you always wanted to know About Datalog (Transct. in Knowledge Eng.) Logiikkaohjelmoinnin merkkiteoksia. Tietokannan formalisointi logiikan puitteissa. vertaa Wikipedia, jonka mukaan 1 hlö nimesi kielen. Datalogia tutkittu laajasti v , vakiintunut asema tutkijoiden keskuudessa. 6

7 Deklaratiivisen ohjelmoinnin etuja. Ei varsinaista proseduuria, ei muistin-viittaustoimintoja, jne. Ohjelma yksinkertaistuu. There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. - Tony Hoare (Turing palkinto v. 1980) 7

8 DATALOG: Viisi Faktaa Hakukieli tietokantaan (query language). Deklaratiivinen kieli (kuten Prolog ja SQL). Syntaksi on osajoukko Prologista. Datalog-tulkki osaa päätellä (ETEENPÄIN KETJUTUS) uusia faktoja lähtötiedoista. Ei käytännössä kaupallisia toteutuksia, tutkijoiden kielenä (toy language). 8

9 DATALOGin perusteita Perustuu logiikkaohjelmaan: kokoelma faktoja (facts, extentional database) sekä sääntöjä (rules). Esim. Predikaatista: OnSuoritettavaEnnen (X,Y ) Luetaan X suoritetaan ennen Y :tä. Parametrien määrä predikaatissa aina vakio (tässä 2). Muuttuja merkitään Isolla alkukirjaimella, vakiot pienellä. Predikaatti OnSuoritettavaEnnen vastaa tietokannan relaatiota. 9

10 DATALOG OHJELMA (1/3) Määritellään ohjelma, joka koostuu säännöistä. Rekursio OK. Esitieto (X, Y ) :- OnSuoritettavaEnnen (X, Y ). Esitieto(X, Y) :- OnSuoritettavaEnnen (X, Z ), Esitieto(Z, Y). Pilkkuerotin, ilmaisee JA-operaation. Lisäksi määritellään faktat (facts, extentional database): OnSuoritettavaEnnen (kie , kie ). //Fakta 1 10

11 DATALOG OHJELMA (2/3) ly: Mitä vaaditaan esitietoina kurssille kie-98 kie kie kie kie

12 DATALOG OHJELMA (3/3) Annetaan tulkin käydä läpi säännöt kunnes ei enää uusia faktoja. 1.Kierros: Muuttujat X ja Y sitoutuvat (instantiation) kursseihin. saadaan Esitieto{(kie , kie ); (kie , kie ) ; (kie , kie )}; 2.Kierros : Esitieto saa uudet faktat: (kie , kie ) ; (kie , kie ) ; ( sääntö nr 2) 3.Kierros : Esitieto saa uuden faktan: (kie ,kie ) kun yhdistetään (kie , kie ) sekä (kie , kie ) 12

13 DATALOG OHJELMA 1/1 Halvat Autot.. Cheap_car(Car) :- sells(carshop1, Car, Price1), sells(carshop2, Car, Price2), Price1 sells(autotalonen, < 5000, VW-Golf GS, 4570). sells(autotalonen, Price2 < 5000, VW-Golf CarShop1 GS, 4950) <>. sells(autotalonen, CarShop2. Peugeot 207, 5000). sells(dasautohaus, VW-Golf GS, 4800). sells(pikkuautot Oy, Peugeot 207, 4999). Faktat, extensional database ETEENPÄIN KETJUTUS: kokeillaan vaihtoehtoja kun kaikki Säännön alitavoitteet täyttyvät. Vastauksena olisi VW-Golf 13

14 Datalog Vs. Prolog Datalog: ohjelman semantiikka perustuu 100% logiikkaan, sääntöjen järjestyksellä ei ole väliä. Eteenpäinketjutus (forward-chaining/bottom-up) eli annetuista faktoista ja säännöistä johdetaan uusia faktoja kunnes uusia faktoja ei enää voi johtaa (vrt. Taaksepäin ketjutus). Päättelyjärjestystä ei voida hallita proseduraalisin keinoin (vrt. cut eli! operaation avulla). Vain yksinkertaisia muuttujiaa parametreina (Prologissa sallitaan 14

15 Datalog nyt ja myöhemmin.. Vaikutteita SQL-1999 standardiin, rekursio. Vaikutteita kaupalliseen kieleen :.QL (object-oriented query language) ilmestyi v Hajautetuissa järjestelmissä käyttöä laajennetulle Datalogille (Datalog with constraints), käytetty autentikoinnissa (trust management). 15

16 Osa II. SQL:n perusteita 1/2 Relaatiotietokantojen haku- sekä käsittely kieli. Perustuu ns. (turvalliseen) rivikalkyyliin, engl. safe tuple relational calculus. Eli etsittäessä vastaus kysymykseen ketkä EIVÄT ole opiskelijoita, tarkoittaa käytännössä ketkä henkilöistä EIVÄT kuulu opiskelijatauluun (eli kyselyt rajautuvat aina tietokannan tauluihin). Turvallisuudesta johtuen universaalikvanttori operaatio ei ole sallittu, 16

17 SQL:n perusteita 2/2 Vastaavat loogiset predikaatit merkitään AND OR sekä NOT. Haun perusmuoto: SELECT <attribuutit> FROM <relaatiot (taulut)> WHERE <rajoitusehto> Esimerkki: SELECT Student_ID, Student_Name = Biology FROM Students WHERE Student_Major SQL sidottu tietokantaan: yksittäistä SQL-tulkkia ei saatavilla ( Datalog). 17

18 SQL Kehityshistoria 1/2 (vuosi) Kehitysvaihe (1970) Tri E.F. Codd (IBM) julkaisee A Relational Model for Large Shared Data (1973) Banks IBM:n ryhmä julkaisee kyselykielen SQUARE, tarkoitettu myös ei-ohjelmoijille. (1974) IBM:n System R kehitys alkaa, 1. SEQUELpaperi ilmestyy (1974) 1. Ingres prototyyppi (yliopisto) (1979) Larry Ellison julkaisee kaupallisen tietokantansa, Oracle (1979) V2 IBM julkaisee System R:n Huomatuksia Määrittelee relaatiomallin perusteet. Codd:ille AM. Turing palkinto v SQUARE = Specifying Queries as Relational Expressions. SEQUEL = Structured English Query Language QUEL-kyselykieli (ei standardia) firma: Software Development Labs, alkanut vain viikkoja vasta Oracle:n 1977! jälkeen SEQUEL jo varattu 18

19 SQL:n Kehityshistoria (2/2) (vuosi) Kehitysvaihe (1981)IBM julkaisee SQL/DS (1986) SQL:n 1. standardi (ANSI) (1992) Merkittävä standardi SQL-2 (1999) standardi SQL 1999 (SQL-3) Huomatuksia IBM:n 1.kaupallinen DBtuote! ( mainframes ) ISO-standardi v mm. NATURAL JOIN, Temp -taulut. mm. Herättimet (triggers), kontrollirakenteet, (2003) standardi SQL:2003 mm. XML-tuki. rekursio. (2008) Standardi SQL:2008 Pieniä parannuksia esim. TRUNCATE Table tyhjentää koko taulun 19

20 Miksi IBM myöhästyi (1/2) Eräs SQL:n pääarkkitehteista muistelee.. * in the summer of 1978, I got a phone call from a guy named Larry Ellison, he said he was the president of Software Development Laboratories, and they were developing an implementation of the SQL language. * As you know, many papers came out of the System R project describing the language The project was not a secret and.., we d been telling everybody about it that would listen. And one of the people that had listened was Larry he was interested in implementing the SQL language in the UNIX environment. IBM wasn t interested in UNIX at all. (PDP-11 platform) 20

21 Miksi IBM myöhästyi (2/2) * I told Larry that, unfortunately we wouldn t be able to exchange information other than in the public literature. But that didn t slow down Software Development Laboratories. They released their implementation of SQL it was the first commercial implementation of SQL to go on the market.. * Larry's success had a..beneficial impact on our research group, because we finally got IBM s attention for this technology. Here was an outside company that had beat us to the punch as far as releasing a commercial implementation of these ideas, which were based on Ted Codd s concepts and our language coming out of the research division at IBM, and people were eating it up They Donald were Chamberlain paying money muistelee for it. That s (2009 a good ) way to get 21

22 SQL: Taulujen käsittely Käytetään ns. Data Definition Language komentoja. Olettaen, että tietokanta on jo määritelty, voidaan määritellä uusi tyhjä taulurakenne komennolla CREATE TABLE. Aineistoa lisätään komennolla INSERT TABLE. Aineistoa muunnetaan komennolla UPDATE TABLE. Aineistoa poistetaan komennolla

23 SQL: Taulujen generointi CREATE TABLE Transcript (Taken_ID Number Not Null, Course_ID Varchar2(9) Not Null, Student_ID Number Not Null, Teacher_ID Number Not Null, Course_Status Varchar2(3) Not Null, Semester_Taken Varchar2(9) Not Null, Grade_Obtained Number Not Null, Extra_Info Varchar2(65) ) 23

24 SQL: Aineiston Lisäys Komento INSERT lisää yhden tietueen. Lopuksi lisäykset tallennetaan levylle. INSERT INTO Transcript VALUES ( 100, CS-102, 3270, 1, OK, SPRING-09, SP, 4, ) );... 24

25 SQL: Aineiston Haku (1/5) SELECT S. Student_ID, S. Student_Name FROM Students S, Transcript T WHERE T.Student_ID = S.Student_ID AND T. Course_ID = CS-101 Varsinainen rajoitus Taulujen liitos Hakulauseissa (queries) tärkein ominaisuus on aineiston rajoittaminen, joten WHERE lausekkeista helposti pitkät. 25

26 SQL: Aineiston Haku (2/5) SELECT S. Student_ID, S. Student_Name FROM Students S, Transcripts T WHERE T. Student_ID = S. Student_ID AND T. Course_ID = CS-101 Student_ Student_Na ID me 3270 Adel 3270 Adel 3271 Jill 3272 Joseph Opiskelija Adel ilmestyy tuplana?! Voi hämmentää käyttäjää, SQL sallii toisteiset arvot (bagoriented, instead of setoriented) Korjaantuu käyttämällä

27 SQL: Aineiston Haku (3/5) SELECT S. Student_ID, S. Student_BirthDate FROM Students S WHERE S. Student_BirthDate < ALL (SELECT Student_Birthdate FROM Students S2 Hakee opiskelijat, jotka ovat vanhempia kuin WHERE jokainen S2. Department Luonnontieteiden = Natural opiskelija. Science ) ALL ei siis itsessään palauta kaikkia opiskelijoita. 27

28 SQL: Aineiston Haku (4/5) Haetaan opiskelijat, jotka ovat suorittaneet kaikki Prof. Eleichen :n (opettaja ID 3) opettamat kurssit. Ongelma: yleinen kysely, mutta SQL:ssä ei SELECT suoraa DISTINCT Tukea Student_ID kaikki operaattorille. FROM Transcripts T1 WHERE NOT EXISTS ( SELECT * FROM Transcripts WHERE Teacher_ID = 3 AND Course_ID NOT IN (SELECT Course_ID FROM Transcripts T2 WHERE T2.Student_ID = T1.Student_ID )) 28

29 SQL S // muuttujien avulla taulu liitetään itseensä. // (NAME, SAL, MGR,DEPT) // ( ANDERSON, 32000, JOHNSTON, SALES ) // ( JOHNSTON, 55000, BIGBOSS, SALES ) 29

30 Ei vain rivitasolla vaan myös ryhmityksiä.. Ryhmitys (grouping) ja tietuiden/rivien yhdistäminen (aggregates) on tutkimusten mukaan joskus hankalaa ainakin ei-ohjelmoijille. GROUP BY Muodostaa ryhmiä. AVG, MIN, MAX, SUM ryhmien yhteenveto laskentaa varten. 30

31 Ryhmityksiä.. esim. (1/4) Oletus: aineisto sijaitsee (väliaikaisessa) taulussa T3, jossa mm. Opiskelija 3270 on vaihtanut osastoa. Halutaan laskea montako opiskelijaa on suorittanut kunkin kurssin (sekä op:summan). Student_ID Dept Course_ID Credits 3270 French Comp.S CS ci Comp. CS Sci CS Comp. CS Sci Biology CS Biology CS

32 Ryhmityksiä.. esim. (2/4) Tavoitteena siis saada seuraava tulos: Course_ID Student_Co unt_taken Sum_of_Credit s) CS CS

33 Ryhmityksiä.. esim. (3/4) Kun kokeillaan seuraavaa: SELECT Course_ID, COUNT(Course_ID), SUM (Credits) FROM T3 GROUP BY Course_ID saadaankin alla oleva, ei-haluttu tulos. Course_ ID Count (Course_ID ) Sum_of_Cred its CS CS

34 Ryhmityksiä.. esim. (4/4) Oikea SQL-kysely olisi: SELECT Course_ID, COUNT( DISTINCT Student_ID), COUNT( DISTINCT Student_ID), * Credits FROM T3 GROUP BY Course_ID Eli olisi mm. osattava : Käyttää DISTINCT :iä Sijoitettava laskukaava 34

35 SQL: Aineiston Haku (5/5 ) Helpompi esitystapa aikaisempaan opettaja kyselyyn : SELECT T1.Student_ID, COUNT(t.course_id) FROM Transcript T1 WHERE T1.Teacher_ID = 3 // oikea Proffa GROUP BY student_id HAVING COUNT(T1. Course_ID) = (SELECT COUNT(DISTINCT T2. Course_ID) FROM Transcript T2 35

36 HIEMAN SQL KRITIIKKIÄ (1/2) Sama kysely (ketkä saaneet arvosanan 5 monella eri tavalla esitettynä (peräti 7!, tässä muutamia): (1) SELECT T. Student_ID FROM Transcripts T, Students S, WHERE T.Student_ID = S.Student_ID T AND T.Course_Grade = 5 (2) SELECT Student_ID FROM Students S WHERE Student_ID IN (SELECT Student_ID FROM Transcripts WHERE T.Course_Grade = 5) (3) SELECT Student_ID FROM Students S WHERE = ANY (SELECT Student_ID FROM Transcripts 36

37 HIEMAN SQL Kritiikkiä (2/2) (4) SELECT Student_ID FROM Students S WHERE 5 IN (SELECT Course_Grade FROM Transcript T WHERE = T.Student_ID = S.Student_ID) Yllä: Muuttuja S näkyvyysalue ulottuu siis sisäiseen SELECT -lauseeseen (5) SELECT Student_ID FROM Students S WHERE EXISTS (SELECT * FROM Transcript T WHERE = T.Student_ID = S.Student_ID AND Course_Grade = 5 ) (6) SELECT Student_ID FROM Students S WHERE 0 < (SELECT COUNT(*) FROM Transcript T WHERE = T.Student_ID = S.Student_ID AND 37

38 SQL: Jotain positiivistakin Yksi harvoista ennen v kehitetyistä kielistä, joka silti voimissaan. Laajennettavissa mm. sulautetun SQL:n avulla (embedded SQL). Esim. IBM:llä ja Oracle:lla C/C++ tuki. Tällä hetkellä mysql ei tue sulautettua SQL:ää. Kielen luonne antaa ohjelmoijan keskittyä haluttuun tulokseen. Toiminut perusteena mm. OQL-kielellle (Object Query Language) oliopohjaisissa 38

39 SQL Vs. Datalog Datalog vastaa SQL:n SELECT- FROM-WHERE kyselyitä ilman ryhmityksiä/yhteenvetoja. Kun rekursio sallitaan Datalogissa, ilmaisuvoima on suurempi kuin SQL. 39

40 Tietokantakehityspaketit, 4GL (erityisesti ). Tunnetuimmat dbase ja Paradox myöhemin mm. FoxPro. Tunnetaan nimellä 4GL. (4th Generation Languages) Sisältävät relaatiotyyppisen tietokannan pohjautuen tiedostopalvelimeen (fileserver technology) Sisältävät ohjelmointikielen sekä laajan joukon komentoja data-aineiston käsittelyyn (SQL ei välttämättä tuettu!) 40

41 Paradox:in (DOS) kehitys (vuosi) Kehitysvaihe (1980) Ashton-Tate julkistaa W. Ratliff:in kehittämän dbase 2.0 (1985) Paradox 1.0 (DOS), Dr R.Shostak & Dr R.Schwartz (1987) Paradox 2.0 DOS julkistetaan (1993) Paradox 1.0 (Windows) (1995) Delphi 1.0 (Windows) uusi tuote, korjaa PW:n virheet Lisäksi: Huomatuksia PC:t saavat oman tietokantansa, ei varsinaisesti relaatiokanta. Hieno QBE (Query-by- Example) kielen toteutus PC-lle. Monikäyttäjätuki (LAN), Borland ostaa tuotteen Parhaimmillaan Borland:illa 85% PC:n tietokantamarkkinoista Microsoft liittää Accesstuotteensa osaksi Office pakettia, kaikki muut PC tietokantapaketit häviävät.. 41

42 Paradox sovelluskehitin (DOS-versio) sisälsi: QueryByExample (hyvä toteutus, mm. every, only tuki). Ohjelmointiympäristön (mm. PAL). Paradox-tietokannan 42

43 PAL: Paradox Application Language 1/2 Tulkattava kieli laajalla komentopohjalla. V InfoWorld antoi PAL osuudelle arvosanan erinomainen (8.loka 1990) Normaalit kontrollirakenteet. Sisennyksillä ei merkitystä. Lisäksi runsaasti komentoja/funktioita 43

44 PAL: Paradox Application Language 2/2 PAL kuuluu ryhmään 4GL koska: sisältää makrokomentoja, jotka säästävät koodin kirjoitusta. Esimerkiksi komento REPORT T3 tulostaisi T3 väliaikaistaulusta kirjallisen raportin. Kuitenkin ei-systemaattinen, SQL:n puute korvattava esim. komentosarjalla: Menu {Ask} Select {Students} Check Moveto [Dept] Typein Biology Do_It! 44

45 PAL Esimerkki 1/2 Esimerkki kuvitteelliesta ongelmasta: Samaan kenttään tallennettu virheellisesti sekä Suku että etunimi, (esim. Wiren, Ville ) erotellaan ne omiin kenttiinsä. EDIT Students työtilaan, lukitaan. MOVE [Name] Name ; taulu tuodaan ; siirrytäään kenttään ; ; -erotellaan sukunimi etunimi, oletuksena ; että tieto muotoa Sukunimi, Etunimi separate_names ; kutsutaan 45

46 PAL esimerkki 2/2 PROC separate_names () PRIVATE last, first ; - automaattinen tyypitys ; ; SCAN aloittaa ensimmäisestä tietueesta. ; MATCH erottaa lainausmerkeissä olevan stringin. SCAN FOR MATCH([],..,.., last, first ) ; Miltäköhän [Last_Name] tämä näyttäisi = last nykypäivän Delphillä? 46 [First_Name] = first ; talleta etunimi

47 Vastaava Delphi esim. 1/3 PROCEDURE separate_names; // Var st1, last, first : ShortString; nr_rows, i:integer; {-- Students_tbl on komponentti, viittaa --} {-- opiskelijatauluun eli lyhennys --} {--- merkinnästä Students_tbl.RecordCount --} With Students_tbl Do Begin 47

48 Vastaava Delphi esim. 2/3 {-- aloita ensimmäisestä tietuuesta, lue kenttä --} First; FOR i := 1 To nr_rows Do Begin (* kaikki rivit läpi *) st1 := FieldByName( Name ).AsString ; // oma kirjastofunktio eroittelee suku ja etunimen my_match_strutls (st1, last, first ) ; FieldByName( Last_Name ).AsString := last ; FieldByName( First_Name ).AsString := first ; 48

49 Vastaava Delphi esim. 3/3 Kutsutaan aliohjelmaa: separate_names; Try Try Students_tbl.Post ; // kommitoidaan Except on E: Exception Do // virheen hallinta ShowMessage(E.ClassName + error found with message + E.Message); End; Finally; // taulu suljettava joka tapauksessa, virhe tai ei. 49

50 DELPHI: Visuaalinen ohjelmointiväline tietokantasovelluksille. Delphin pääsuunnittelijana Anders Hejlsberg (Tanska), joka kehitti myöhemmin C# kielen Microsoftilla. Olio-ohjelmointia sekä SQL-tuki lähes kaikkiin tietokantoihin (mysql, Oracle). Lomakepohjainen ja tapahtumaohjattu. Tapahtumia paitsi lomakkeille, myös tietokannan tauluille (esim. OnNewRecord, OnFieldModified). Laajennettavuus: valmis koodi taltioidaan 50

51 Katsaus Delphi ohjelmointiin 1/2 Begin, End kirjoitus ei enää työlästä..(editori) Koodin luettavuus korkea. 51

52 Katsaus Delphi ohjelmointiin 2/2 Oliopohjaista koodia, jossa SQL-tuki (SQL:n lause käsitellään tietokantapalvelimella). 52

53 Lyhyt Delphi:n kehityshistoria 1/2 (vuosi) Kehitysvaihe Huomatuksia (1970) Pascal 1.toteutus julki, alustana CDCmainframe (1973) Multum. (vrt. Pascal C- kieli julki julki Skotlannissa n. V. 1972) (U. Of Glasgow) N Wirth (Zürichin korkeakoulu) Ensim. 16-bit toteutus? Tavoite: tehdä Pascalista systeemikieli. (1977) Pascal/R julki Perinteistä Pascalia laajennettu taulu tyypillä (type relation). (1982) Pascal:ista ISO standardi (1983) Turbo Pascal ilmestyy Anders Hejlsberg kehittää oman nopean kääntäjänsä Pascalille. Borland ostaa tuotteen Hejlsbergiltä. 53

54 Lyhyt Delphi:n kehityshistoria 2/2 (vuosi) Kehitysvaihe (1989) Turbo Pascal 5.5 ilmestyy (1995) Borland julkistaa Delphi 1.0 Huomatuksia Olio tuki, kieltä kutsutaan myös Object Pascal, myös Mac:ille. Ympäristönä 16-bittinen Windows (1997) C++ Builder Borland väittää MS:n ilmestyy, Delphin tuotetta J++ Delphi for pääarkitehteja siirtyy Javaksi. (2001) Microsoftille. Kylix ilmestyy Delphi Linux ympäristöön (2008) Delphi 2009 ilmestyy. Pascaline kieli julki (2009) Delphi 2010 Unicode tuki Delphille. Pascaline yhteensopiva Pascal, lisänä mm. oliot vrt. C# vastine C:lle. 54

55 Vertailu, Datalog, SQL, Pascal, Delphi (1/2) Lasketaan tietyn opiskelijan keskiarvo kun tiedetään arvosanojen summa ja DATALOG kurssien (olettaen lkm. että jakolasku tuettu) Compute_GPA(SumGrades, NrCourses, GPA) :- GPA = SumGrades / NrCourses. SQL SELECT SumGrades / NrCourses FROM Transcript WHERE Student_ID = 55075B 55

56 Vertailu, Datalog, SQL, Pascal, Delphi (2/2) Pascal/Delphi Function Compute_GPA (SumGrades:Real;NrCourses : Integer) :Real; BEGIN Compute_GPA := SumGrades Real / NrCourses ; END; Delphi Function Compute_GPA (Const SumGrades:Real ; BEGIN Const NrCourses : Integer) :Real; Result := SumGrades Real / NrCourses ; 56

57 Lähteitä DATALOG: *Grigoris Karvounarakis, DATALOG, Univ. Of Pennsylvania. * Jack Minker, Invited Keynote: Logic and Databases: A 20 Year Retrospective, Workshop on Logic in Databases, San Miniate, Italy, * GNU Datalog tulkki: (kirjoitettu Lua:lla!) tml * S Constantini, Datalog, Maggioli Informatica. Constantini_slides.pdf * S Ceri, G Gottlob, L Tanca, What You Always Wanted to Know About Datalog (and Never Dared to Ask), IEEE Transactions on Knowledge & Data Eng, Vol. 1, March 1989, pp

58 Lähteitä SQL: *Claudio Fratarcangeli, Technique for Universal Quantification in SQL,Sigmod, Vol. 20, *Fabien Pascal, SQL and Relational Basics, * RF Boyce, DD Chamberlin, MM Hammer, WK King III, Specifying Queries as Relational Expressions, IBM Thomas Watson Research Center, (SQUARE Kieli) * Oral History of Donald Chamberlain, Computer History Museum, July 21, 2009, California. * RDMBS Workshop: Technology through 1983, Recorded 2007, CA. * 58

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)] Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010 HELIA TIKO-05 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n tietotyypit... 8 Eheyssääntöjen määrittely...

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1 perusteita - relaatiokalkyylit perusteita - relaatiokalkyylit Relaatioalgebra on luonteeltaan proseduraalinen tapa käsitellä tietoa. Tiedon haetaan sarjaksi järjestettyjen operaatioiden avulla. Edellä

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010 kielenä 9. joulukuuta 2010 Historia kielenä Historia Sovelluksia kehitettiin vuonna 1972 Kehittäjinä ranskalaiset Pääkehittäjä Alain Colmerauer Philippe Roussel programmation en logique Robert Kowalski

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

TIETOKANNAT JOHDANTO

TIETOKANNAT JOHDANTO TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2011 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely Harjoitustehtävä 1 Puutarha Puutarhatunnus omistaja sijainti Vastuualue puutarhatunnus aluenumero maaperä, kosteus valaistus sijainti vastuutonttu Tonttu Tonttutunnus Istutus istutuspäivä paikka_alueella

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata

Lisätiedot

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana Taustaa KAO mukana FINECVET-hankeessa, jossa pilotoimme ECVETiä

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo Windows Phone Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja hankkia

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

Lisätiedot

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Kuva 7.2 vastaustaulu harjoitukseen 7.2 Harjoitus 7. Lataa tiedosto http://users.metropolia.fi/~pasitr/opas/ran13b/data/ran13b.zip levylle Z: ja pura se. Kun olet tehnyt kaikki seuraavat 17 tehtävää palauta Tuubiin harjoituksen 7 vastauksena

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

Lisätiedot

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki 25.10.2006

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki 25.10.2006 HELIA TIKO-05 1 (15) SQL / DML 3 Liitos...2 SQL-92:n join operaatio...4 SQL-89:n join operaatio:...5 Karteesinen tulo... 10 Ulkoliitos (Outer join)... 11 Vasemmanpuoleinen ulkoliitos... 12 Oikeanpuoleinen

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki

Lisätiedot

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

TW-LTE 4G/3G. USB-modeemi (USB 2.0) TW-LTE 4G/3G USB-modeemi (USB 2.0) Tiedonsiirtonopeus: 100 Mbps/50 Mbps LTE: 1800/2100/2600 MHz GSM/GPRS/EDGE: 850/900/1800/1900 MHz UMTS: 900/2100 MHz Pikaohje (Finnish) CE Käyttöönotto- ohje SIM- kortin

Lisätiedot

TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015

TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015 1 TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015 Oulun Yliopisto / Tieteen päivät 2015 2 TIETEEN PÄIVÄT Järjestetään Oulussa osana yliopiston avajaisviikon ohjelmaa Tieteen päivät järjestetään saman konseptin mukaisesti

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI Tarkastellaan Tietokannan fyysistä suunnittelua Menetelmän vaihetta 4 Looginen suunoitelma muutetaan toimiviksi tauluiksi Id enimi snimi muuta 1 Aki Joki xxx

Lisätiedot

Asynkroninen ohjelmointi.net 4.5 versiolla

Asynkroninen ohjelmointi.net 4.5 versiolla Asynkroninen ohjelmointi.net 4.5 versiolla Jari Kallonen Software Specialist at Tieturi Oy Régis Laurent Director of Operations, Global Knowledge Competencies include: Gold Learning Silver System Management

Lisätiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi 23.2.2000. Harri Laine 1. SQL:n käyttö ohjelmissa

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi 23.2.2000. Harri Laine 1. SQL:n käyttö ohjelmissa SQL:n käyttö ohjelmissa Tietokannan käyttö ohjelmasta Miksi vuorovaikutteinen käyttö ei riitä? kielen hallinta: maallikot? yhdistetään yleiskielen ja tietokantakielen edut, mm.» monimutkaisempi laskenta»

Lisätiedot

A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää

Lisätiedot

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset

Lisätiedot

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos Insert lauseella on kaksi muotoa: insert into

Lisätiedot

EXEC SQL BEGIN DECLARE SECTION

EXEC SQL BEGIN DECLARE SECTION Tietokantaohjelmointi Tietokantaa käytetään harvoin suoraan kyselyliittymän kautta Tyypillisesti käyttö tapahtuu sovellusohjelman kautta Sovellusohjelmaa laadittaessa vaihtoehtoja tietokantakäsitettelyn

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi Network to Get Work Tehtäviä opiskelijoille Assignments for students www.laurea.fi Ohje henkilöstölle Instructions for Staff Seuraavassa on esitetty joukko tehtäviä, joista voit valita opiskelijaryhmällesi

Lisätiedot

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000 HELIA 1 (17) Luento 2.8 Talletetut rutiinit... 2 Talletetut rutiinit SQL3:ssa... 3 Ulkopuoliset rutiinit... 4 Talletetut rutiinit Oraclessa... 7 Ohjelmakoodista... 8 Koodin virheet... 8 Virhetilanteiden

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio Päättääkö opettaja ohjelmasta? Vai voisivatko opiskelijat itse suunnitella

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava. Muistutus: Tietokanta

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 02 Tietokantojen perusteita Tietokanta Näistä vaatimuksista seuraa: tietokantaan liittyy ohjelmisto, joka hoitaa sitä tämä ohjelmisto varsinaisesti lukee ja kirjoittaa

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien Monen taulun kyselyt FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: SELECT FROM Tuloksena on taululistassa lueteltujen taulujen rivien karteesinen

Lisätiedot

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen 11.4.2016. Osa II: Projekti- ja tiimityö

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen 11.4.2016. Osa II: Projekti- ja tiimityö ENE-C2001 Käytännön energiatekniikkaa Aloitustapaaminen 11.4.2016 Osa II: Projekti- ja tiimityö Sisältö Projektityö Mitä on projektityö? Projektityön tekeminen: ositus, aikatauluhallinta, päätöksenteon

Lisätiedot

SQL:N PERUSTEET MARKKU SUNI

SQL:N PERUSTEET MARKKU SUNI SQL:N PERUSTEET MARKKU SUNI Relaatiomallisen tietokannan käsittely Tietojen saanti, talletus ja päivitys tapahtuu SQL-kielellä Yhtä operaatiota sanotaan kyselyksi (query) Kyselyjä voidaan laittaa peräkkäin

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Tietokannan suunnitteluprosessin osat sivu 2 Käsiteanalyysi ER-mallinnus, tietomallinnus

Lisätiedot

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi!

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi! Harjoitustyö CSE-A1200 Tietokannat Jasse Lahdenperä 345396 killedwhale@kapsi.fi Henri Nurmi 345545 henri.nurmi@kapsi.fi 1 Ensimmäisen vaiheen ratkaisu ER-Kaavio 2 Relaatiomalli: Loanable(Id, MaximumLoanTime)

Lisätiedot

Avoimen lähdekoodin kehitysmallit

Avoimen lähdekoodin kehitysmallit Avoimen lähdekoodin kehitysmallit Arto Teräs Avoimen lähdekoodin ohjelmistot teknisessä laskennassa -työpaja CSC, 25.5.2009 Avoimen lähdekoodin kehitysmallit / Arto Teräs 2009-05-25

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Rekisteröiminen - FAQ

Rekisteröiminen - FAQ Rekisteröiminen - FAQ Miten Akun/laturin rekisteröiminen tehdään Akun/laturin rekisteröiminen tapahtuu samalla tavalla kuin nykyinen takuurekisteröityminen koneille. Nykyistä tietokantaa on muokattu niin,

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävistä: Pankkitilit kotitehtävä 7 Toteuttakaa kotitehtävä 1:n kuvan mukaiset metodit open(), close(), deposit(), withdraw(), joilla voi Nostaa

Lisätiedot

käännös käännösvaiheessa tarkasettaan linkitys

käännös käännösvaiheessa tarkasettaan linkitys Upotettu SQL Ohjelmoitaessa 3GL kielillä, käytetään relaatiotietokantaa yleensä esikääntäjien avulla. Tietokannan valmistaja toimittaa funktiokirjaston, jota esikääntäjän avulla hyödynnetään. Ongelmaksi

Lisätiedot

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing 13.10.2010 Jan Nyman, jan.nyman@posintra.fi Background info STOK: development center for technology related to building automation

Lisätiedot

3. Taulujen määrittely ja muuttaminen

3. Taulujen määrittely ja muuttaminen 3. Taulujen määrittely ja muuttaminen DDL: Taulujen luonti, muutos ja poisto DML: taulujen tietojen ylläpito Tapahtumien (transaktioiden) hallinta Näkymät, synonyymit ja muut tietokantaobjektit Taulujen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto Serve Research Brunch 24.10.2013 Esityksen sisältö ATLAS-hanke lyhyesti ATLAS-kartan kehittäminen:

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Miten koulut voivat? Peruskoulujen eriytyminen ja tuki Helsingin metropolialueella

Miten koulut voivat? Peruskoulujen eriytyminen ja tuki Helsingin metropolialueella Miten koulut voivat? Peruskoulujen eriytyminen ja tuki Helsingin metropolialueella 26.4.2012 1 "There is often a property bubble around catchment areas. If a school makes a house more saleable or desirable,

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

Use of spatial data in the new production environment and in a data warehouse

Use of spatial data in the new production environment and in a data warehouse Use of spatial data in the new production environment and in a data warehouse Nordic Forum for Geostatistics 2007 Session 3, GI infrastructure and use of spatial database Statistics Finland, Population

Lisätiedot

Alueellinen yhteistoiminta

Alueellinen yhteistoiminta Alueellinen yhteistoiminta Kokemuksia alueellisesta toiminnasta Tavoitteet ja hyödyt Perusterveydenhuollon yksikön näkökulmasta Matti Rekiaro Ylilääkäri Perusterveydenhuollon ja terveyden edistämisen yksikkö

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

Liitokset - haut useaan tauluun

Liitokset - haut useaan tauluun Liitokset Liitokset - haut useaan tauluun Tavallisin liitos on valintaliitos ehtona =,!=, yhtäläisyysliitos (=) yleisin (vrt. Inner join) taulut liitetään toisiinsa yleensä avaimilla (perus-

Lisätiedot

Mitä mahdollisuuksia tuloksemme tarjoavat museoille?

Mitä mahdollisuuksia tuloksemme tarjoavat museoille? Mitä mahdollisuuksia tuloksemme tarjoavat museoille? Prof. Eero Hyvönen Helsinki Institute for Information Technology HIIT University of Helsinki, Dept. of Computer Science Semantic Computing Research

Lisätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN 3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN DDL: TAULUJEN LUONTI, MUUTOS JA POISTO DML: TAULUJEN TIETOJEN YLLÄPITO TAPAHTUMIEN (TRANSAKTIOIDEN) HALLINTA NÄKYMÄT, SYNONYYMIT JA MUUT TIETOKANTAOBJEKTIT TAULUJEN

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

FeedNavigator. BMF 28.11.2006 Tiina Heino. Terveystieteiden keskuskirjasto - Terkko Lääketieteellinen tiedekunta

FeedNavigator. BMF 28.11.2006 Tiina Heino. Terveystieteiden keskuskirjasto - Terkko Lääketieteellinen tiedekunta FeedNavigator BMF 28.11.2006 Tiina Heino Terveystieteiden keskuskirjasto - Terkko Lääketieteellinen tiedekunta FeedNavigator Uutuusseurantapalvelu Luoneet: Jukka Englund ja Pasi Keski-Nisula, Terkko Kategorioita:

Lisätiedot

SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE

SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE Toukokuu, 2013 Pekka Pykäläinen Tuote- ja ratkaisupäällikkö Application Platform Microsoft HYÖDYNNÄ KAIKKI KÄYTETTÄVISSÄ OLEVA TIETO NEW WORLD OF DATA

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

Lisätiedot

Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE

Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE November 7, 2014 Paula Kilpinen 1 7.11.2014 Aalto University

Lisätiedot

A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09

A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää

Lisätiedot

RDBMS - Yhteyskäytännöt

RDBMS - Yhteyskäytännöt HAAGA-HELIA Heti-09 1 (11) RDBMS - Yhteyskäytännöt Johdanto... 2 Upotettu SQL... 3 ESQL esimerkki... 4 ODBC... 5 Visual Basic ja ADO... 6 JAVA ja JDBC... 7 JDBC esimerkki... 8 Oracle ja JDBC... 9 Connection

Lisätiedot

Relaation tyhjyyden testaaminen

Relaation tyhjyyden testaaminen Tulostaulun tyhjyyden testaaminen Luettele ne asiakkaat, joilla on sekä talletus että laina -konttorissa. (Leikkaus!) useita mahdollisia toteutustapoja INTERSECT sisäkysely sisäkysely + tulostaulun tyhjyyden

Lisätiedot

ROCKFON SYSTEM G DIRECT

ROCKFON SYSTEM G DIRECT Järjestelmän kuvaus: ROCKFON SYSTEM G DIRECT Suoraan asennettava järjestelmä Nopea ja tehokas asennusprosessi Oikea valinta mataliin huoneisiin Tyylikäs ja yhtenäinen ilme alakattoon G 300 mm ROCKFON SYSTEM

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Bootstrap / HTDP2 / Realm of Racket. Vertailu

Bootstrap / HTDP2 / Realm of Racket. Vertailu Bootstrap / HTDP2 / Realm of Racket Vertailu Bootstrap http://www.bootstrapworld.org/ Tarkoitettu yläkoululaisille (12-15v) Ohjelmointi on integroitu matematiikan opetukseen Materiaalina tuntisuunnitelmat

Lisätiedot

Konesali ilman rajoja Kongressi A 5.3.2013

Konesali ilman rajoja Kongressi A 5.3.2013 Konesali ilman rajoja Kongressi A 5.3.2013 t SC Orchestrator 2012 SP1 Harri Puupponen 5.3.2013 t 2012 Microsoft Corporation. All rights reserved. Sisältö Yleistä Arkkitehtuuri Uudet ominaisuudet Demoja

Lisätiedot