Tietokannan hakukielet: esitelmä. DataLog & SQL. Sami El-Mahgary. HOPL TKK, marraskuu 09
|
|
- Niko Sipilä
- 8 vuotta sitten
- Katselukertoja:
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 A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
LisätiedotSQL - 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ätiedotTietokannat. 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ätiedotHakukyselyt: 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ätiedotTIEDONHALLINTA - 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ätiedotHELIA 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ätiedotTietokannan 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ätiedotSQL. ! 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ätiedotCSE-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ätiedotTietokannat. 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ätiedotSELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
LisätiedotTä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ätiedotInsert 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ätiedot1.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ätiedotFinFamily 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ätiedot1.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ätiedotHELIA 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ätiedotTietokannat. 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ätiedot7.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ätiedotHELIA 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ätiedotHELIA 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ätiedotHELIA 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ätiedot1. 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ätiedotTietokannat 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ätiedotTIETOKANNAT: 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ätiedotMEETING 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ätiedotOhjelmoinnin 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ätiedotCSE-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ätiedotKyselyn 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ätiedotCSE-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ätiedotHELIA 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ätiedot812336A 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ätiedotProlog 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ätiedotOpiskeluoikeuksien 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ätiedotOhjelmointikielet 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ätiedotTiedonhallinnan 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ätiedotTehtä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ätiedotCapacity 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ätiedotVisual 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ätiedotHSMT 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ätiedotHAAGA-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ätiedotOn 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ätiedotOpettajana 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ätiedotProseduurit, 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ätiedotPROSEDUURIT, 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ätiedotInformation 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ätiedotTIEDONHALLINTA - 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ätiedotCS-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ätiedotanna 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ätiedotInformation 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ätiedotOn 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ätiedotEfficiency 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ätiedotFinFamily 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ätiedotTIETOKANTOJEN 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ätiedotTIEDONHALLINTA - 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ätiedotUusi 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ätiedotTietokannanhoitaja 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ätiedotKielioppia: 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ätiedotGap-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ätiedotRelaatiomalli 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ätiedotTIEDONHALLINNAN 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ätiedotHarjoitustehtä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ätiedot4. 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ätiedotTIETOKANNAT 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ätiedotChoose 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ätiedotHarjoituksen 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ätiedotmake 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ätiedotselect 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ätiedotKirjasto 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ätiedotJohdatus ohjelmointiin
Johdatus ohjelmointiin Ohjelmistot tietokonejärjestelmissä Jaana Holvikivi Ohjelmistojen tehtävät Sovellusohjelmat tekstinkäsittely ja muut toimistosovellukset kirjanpito, tuotannonohjaus selaimet, mediaohjelmat
Lisätiedot5. 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ätiedotKoostefunktiot. 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ätiedotADA. 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ätiedotHelsingin 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ätiedotECVETin 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ätiedotKuva 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ätiedotOhjelmointikielet 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ätiedotInformation 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ätiedotWindows 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ätiedotSisä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ätiedotApuja 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ätiedotOhjelmoinnin 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ätiedotOhjelmistojen 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ätiedotLOAD 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ätiedotTietokannat 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ätiedotTravel 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ätiedotHELIA 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ätiedotHELIA 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ätiedotOpiskelijat 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ätiedotTW-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ätiedot2. 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ätiedotTIEP114 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ätiedotMiksi 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ätiedotHarjoitus 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ätiedotJava-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ätiedotTIE 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ätiedot815338A 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ätiedotInformation 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ätiedotTIETEEN 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ätiedotHELIA 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