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. *

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

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

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

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

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 DDL... 5 Tietokantaobjektien määrittely... 5 SQL:n tietotyypit... 6 Eheyssääntöjen määrittely... 9 Indeksin määrittely... 11 Syntaksikuvaukset...

Lisätiedot

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto

Lisätiedot

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX SQL - perusteet SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät

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

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

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

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

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

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

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

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

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 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

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

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin

Lisätiedot

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu HELIA 1 (21) Luento 4.1 Oliot ja Relaatiot... 2 Relaatiomalli... 2 Oliomalli... 2 Termejä... 4 Yhteensovituksen 3 tapaa... 5 1) Oliot relaatioina / tauluina ja RDBMS... 6 Olioluokka... 7 Olion identiteetti...

Lisätiedot

1. Liikkuvat määreet

1. Liikkuvat määreet 1. Liikkuvat määreet Väitelauseen perussanajärjestys: SPOTPA (subj. + pred. + obj. + tapa + paikka + aika) Suora sanajärjestys = subjekti on ennen predikaattia tekijä tekeminen Alasääntö 1: Liikkuvat määreet

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

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

MEETING PEOPLE COMMUNICATIVE QUESTIONS

MEETING PEOPLE COMMUNICATIVE QUESTIONS Tiistilän koulu English Grades 7-9 Heikki Raevaara MEETING PEOPLE COMMUNICATIVE QUESTIONS Meeting People Hello! Hi! Good morning! Good afternoon! How do you do? Nice to meet you. / Pleased to meet you.

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 22.3.2016 CSE-A1200 Tietokannat 22.3.2016 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä SQL:llä kyselyitä, jotka käyttävät hyväkseen toisen kyselyn tuloksia (alikyselyt).

Lisätiedot

Kyselyn yleisrakenne:

Kyselyn yleisrakenne: 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

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

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

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

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

Opiskeluoikeuksien maaran tiedonkeruu

Opiskeluoikeuksien maaran tiedonkeruu Opiskeluoikeuksien maaran tiedonkeruu Määrittely Opinto-oikeuksista tarvitaan seuraavat tiedot: Tieto jokaisesta yksittäisestä opinto-oikeudesta ja kytkentä niistä opinto-oikeuksista jotka ovat samalla

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

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

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

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

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

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine 4.1.2018 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1 Harjoitustyö Harjoitustöiden tilanne

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39 CS-A1150 Tietokannat 20.2.2018 CS-A1150 Tietokannat 20.2.2018 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine Information on Finnish Language Courses Spring Semester 2017 Jenni Laine 4.1.2017 KIELIKESKUS LANGUAGE CENTRE Puhutko suomea? Do you speak Finnish? -Hei! -Moi! -Mitä kuuluu? -Kiitos, hyvää. -Entä sinulle?

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

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

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

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt

Lisätiedot

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

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

Gap-filling methods for CH 4 data

Gap-filling methods for CH 4 data Gap-filling methods for CH 4 data Sigrid Dengel University of Helsinki Outline - Ecosystems known for CH 4 emissions; - Why is gap-filling of CH 4 data not as easy and straight forward as CO 2 ; - Gap-filling

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin

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

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

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

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

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

make and make and make ThinkMath 2017

make and make and make ThinkMath 2017 Adding quantities Lukumäärienup yhdistäminen. Laske yhteensä?. Countkuinka howmonta manypalloja ballson there are altogether. and ja make and make and ja make on and ja make ThinkMath 7 on ja on on Vaihdannaisuus

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

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

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin Ohjelmistot tietokonejärjestelmissä Jaana Holvikivi Ohjelmistojen tehtävät Sovellusohjelmat tekstinkäsittely ja muut toimistosovellukset kirjanpito, tuotannonohjaus selaimet, mediaohjelmat

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa: Funktiot Koostefunktiot Viisi standardifunktiota: AVG -- keskiarvo MIN -- pienin arvo MAX -- suurin arvo SUM -- summa COUNT-- lukumäärä Esim. montako henkilöä on henkilo-taulussa: SELECT Count(*) AS Lkm

Lisätiedot

ADA. Ohjelmointikieli. Ryhmä 5 Henna Olli, Päivi Hietanen

ADA. Ohjelmointikieli. Ryhmä 5 Henna Olli, Päivi Hietanen ADA Ohjelmointikieli Ryhmä 5 Henna Olli, Päivi Hietanen 1 JOHDANTO Ada on käännettävä ohjelmointikieli, joka kehitettiin vähentämään sulautettujen ja reaaliaikaisten järjestelmien käyttökustannuksia. Kieli

Lisätiedot

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi

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

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

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

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku 24.8.2017 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve terve!

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

Apuja ohjelmointiin» Yleisiä virheitä

Apuja ohjelmointiin» Yleisiä virheitä Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Tulkki: proseduurit, abstrakti syntaksi, quote ja cond (mm. SICP 44.1.5 osin) Riku Saikkonen 15. 11. 2011 Sisältö 1 Argumentittomat proseduurit ja käyttöliittymä

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

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

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

Travel Getting Around

Travel Getting Around - Location Olen eksyksissä. Not knowing where you are Voisitko näyttää kartalta missä sen on? Asking for a specific location on a map Mistä täällä on? Asking for a specific...wc?...pankki / rahanvaihtopiste?...hotelli?...huoltoasema?...sairaala?...apteekki?...tavaratalo?...ruokakauppa?...bussipysäkki?

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

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu HELIA 1 (13) Luento 2.9 Tietohakemistot 2 2 Coddin 12 säännöstä RDBMS:lle... 3 Oraclen tietohakemistonäkymät (osa) 4 Yleiset 4 Taulut 4 Säännöt 4 Näkymät 4 Synonyymit 5 Talletetut rutiinit 5 Käyttöoikeudet

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

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

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC; Tällä viikolla Kotitehtävien läpikäynti SQL-harjoituksia, osa 1 Jatketaan Pelifirman tietovaraston suunnittelua: tietotyyppien kertaus, taulun luonti ER-kaavioon, taulun luonti kaavion avulla tietokantaan,

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

Miksi Suomi on Suomi (Finnish Edition)

Miksi Suomi on Suomi (Finnish Edition) Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Click here if your download doesn"t start automatically Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Miksi Suomi on Suomi (Finnish Edition)

Lisätiedot

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5 Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät tekniset ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä

Lisätiedot

Information on preparing Presentation

Information on preparing Presentation Information on preparing Presentation Seminar on big data management Lecturer: Spring 2017 20.1.2017 1 Agenda Hints and tips on giving a good presentation Watch two videos and discussion 22.1.2017 2 Goals

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (17) Outi Virkki Tiedonhallinta HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain

Lisätiedot