XML and databases 246

Koko: px
Aloita esitys sivulta:

Download "XML and databases 246"

Transkriptio

1 XML and databases 246

2 A three-tier model of application development: Tier 1: a Web browser or a client application Tier 2: a Web server or an application server Tier 3: a database system or a transaction system Tier 1 HTML/ Tier 2 XML e.g., a client application e.g., application running in Tomcat e.g., a JDBC query result set Tier 3 e.g., RDBMS Java provides a common API called Database Connectivity (JDBC) for accessing a data base system. It provides a highlevel interface for database interactions. 247 Sekä internet- että intranetympäristöissä hajautettujen järjestelmien toteutuksessa on yleisesti käytetty kolmikerrosmallia, joka koostuu seuraavista toiminnallisista yksiköistä: Kerros 1: selain, joka toimiin käyttöliittymänä Kerros 2: Web-palvelimella oleva sovellusohjelma Kerros 3: tietokanta (tai esim. transaktiopalvelut) Vastaavaa mallia käytetään myös Web-palvelukonseptissa erityisesti silloin kun sovellukset (Webpalvelut) käyttävät erillistä tietokantaa. Tällöin asiakasohjelma voi Web-selaimen ohella edustaa ensimmäistä kerrosta. Web-palvelimella sijaitseva palvelu edustaa toista kerrosta. Tietokanta puolestaan edustaa kolmatta kerrosta kuten edellä esitetyssä mallissakin. Tietokanta itsessäänkin voi tarjota Web-palvelun toiminnallisuuden. Tietokantainteraktioiden toteuttamiseksi (esim. kyselyt) on tarjolla korkean tason rajapintoja. Esimerkiksi Java tarjoaa Database Connectivity (JDBC) APIn tähän tarkoitukseen. JDBC on osana (standardi-) JDK:ta. Se tarjoaa esimerkiksi rajapinnan SQL-kyselyille. Useat tietokannat tarjoavat JDBC-ajureita, jotka toteuttavat ko. API:n. Nämä ajurit muuttavat JDBC-operaatiot natiivioperaatioiksi, mutta eivät kaikissa tapauksissa toteuta kaikkia JDBC:n piirteitä. Tällä kurssilla ei käsitellä JDBC API tai muutakaan vastaavaa APIa vaan keskitytään lähinnä siihen problematiikkaan, joka koskee XML-pohjaisen tiedon tallettamista tietokantaan. Aiheesta voi opiskella lisää esim. osoitteessa josta löytyy kattava ja päivitetty selvitys aiheeseen. Tätä lähdettä on käytetty hyväksi myös tätä kurssimateriaalia (luku XML and databases ) kehitettäessä.

3 Storing XML-based data in databases 1. Storing an XML document as a structured document an XML (or SGML) native database no need to design mappings between an XML document and tables storing, retrieval, and quering using standard methods XPath and XQuery 2. Storing an XML document as a DOM tree object Object-Oriented Database (OODB) systems can be used no need to design mappings between an XML document and tables pointing using XPath with possible extensions 248 Seuraavaksi käsitellään kolmea tietokantatyyppiä XML-pohjaisen tiedon tallentamisen kannalta: natiivi XML-tietokanta, oliotietokanta ja relaatiotietokanta. Talletettaessa natiiviin XML-tietokantaan, XML-dokumentin sisällölle ei tarvitse tehdä muutoksia. Kyselyitä ko. tietokannasta voidaan tehdä esimerkiksi XML-pohjaisen tiedon käsittelyyn tarkoitetuilla kielillä kuten XPath. XML-tietokannasta voidaan tehdä kyselyitä myös käyttäen template-pohjaisia (template on XML-dokumentti, joka sisältää kyselyn) kyselykieliä kuten XQuery. Tällaiset kyselykielet ovat usein hyvin joustavia. Talletettaessa XML-dokumentin tieto oliotietokantaan ei sille myöskään tarvitse muutoksia. Tällöin DOM-puu voidaan tallettaa sellaisenaan. Tietoalkioihin osoittaminen tapahtuu tässäkin XPath-kielen avulla.

4 Storing XML-based data in databases 3. Storing an XML document as a set of relational tables in a relational database management system (RDBMS) mappings needed between an XML document and tables (XML is semi-structured data) retrieving data from a RDBMS an application-specific query language XPath + possible extensions XPath expressions can also be converted to SQL queries XQuery Structured Query Language (SQL) 249 Kolmas tapa on tallettaa XML-pohjainen tieto relaatiotietokantaan. Jatkossa keskitymme tähän vaihtoehtoon. Tällöin XML-dokumentin sisältö (ja joissain tapauksissa osa merkkauksesta) talletetaan tavalla tai toisella - relaatiotietokannan tauluihin. Tähän liittyvät ongelmat (joihin palaamme myöhemmin) johtuvat periaatteessa siitä, että XML on osittain rakenteista (semi-structured) tietoa. Osittain rakenteisella tiedolla tarkoitetaan tässä karkeasti ottaen tietoa, jolle täsmällisen ja tarkan skeeman määrittäminen on vaikeaa tai mahdotonta. XML esimerkiksi sallii iteroinnin mielivaltaiselle määrälle elementtejä (mikäli niin halutaan määritellä). Tällainen joustavuus tekee joissain tapauksissa vaikeaksi kuvata XML-pohjaista tietoa relaatiotietokannan taulujen avulla (tai päinvastoin). Lisäksi elementtien, jotka sisältävät sekä merkkidataa että elementtejä (mixed content), sisältö on usein hankalaa tallettaa relaatiotietokannan tauluihin. Kyselyitä relaatiotietokannasta voidaan tehdä esimerkiksi JDBC:n kaltaisella kyselykielellä (JDBC on toki muutakin kuin kyselykieli). Joissain tapauksissa voidaan käyttää myös XPath-kieltä. Sen ilmaisut voidaan konvertoida myös SQL-kyselyiksi. Tällöin voidaan usein myös käyttää XPath-ilmaisuihin perustuvaa XQuery-kieltä.

5 Choosing a DBMS Storing document-centric information data is of coarse granuality and has irregular structure the smallest data item can be an element with mixed content or even the whole document itself the order of elements is typically important examples: books, s,.. OODBs and XML databases could be used 250 Tietokantaratkaisua valittaessa yksi peruskysymys koskee XML-muotoisen informaation luonnetta. Tällöin tehdään usein ero dokumenttikeskeisen ja datakeskeisen informaation välillä. Dokumenttikeskeinen tieto on usein rakenteeltaan epäsäännöllistä ja talletettu tietosisältö on karkeajakoista. Esimerkiksi kirjaa tai artikkelia koskeva tieto voidaan tallettaa hyvinkin vähäisellä merkkauksella. Tällöin esimerkiksi lukujen kappaleet voivat kokonaisuudessaan olla yhden elementin sisällä (<paragraph> </paragraph>). Toinen luonteenomainen piirre dokumenttikeskeiselle tiedolle on elementtien järjestyksen tärkeys. Tämä pätee esimerkiksi edellä mainittuun esimerkkiin. Dokumenttikeskeistä tietoa talletettaessa oliotietokanta tai natiivi XML-tietokanta on yleensä paras ratkaisu. Tällöin DOM-puu voidaan tallettaa sellaisenaan säilyttäen elementtejä koskeva järjestys.

6 Choosing a DBMS (cont d) Storing data-centric information data is of fine graduality and has a regular structure the smallest data item can be a PCDATA element, CDATA attribute, or CDATA block only few or no mixed content elements the order among sibling element is often insignificant examples: time tables, purchase orders,... RDBMSs could be used a middleware is needed (mappings) between RDBMSs and XML documents 251 Datakeskeinen tieto on puolestaan yleensä hienojakoista, jolloin myös merkkaus on yksityiskohtaisempaa. Lisäksi tieto on rakenteeltaan säännöllistä. Esimerkiksi tilaustiedot voivat olla talletettu XML-dokumenttiin datakeskeisesti. Tällöin jokaisella yksittäisellä tilauksella on sama rakenne. Käytännössä tiedon pienen yksikkö on merkkijonon sisältävä elementti (PCDATA), attribuutti (CDATA) tai CDATA-lohko. Datakeskeisessä dokumentissa tulisi olla mahdollisimman vähän osittain merkattua tietoa (mixed content), jossa siis elementin sisältä on osin merkkijonopohjaista (ja rakenteetonta) ja osin rakenteista. Toisin kuin dokumenttikeskeisen tiedon tapauksessa, datakeskeisen dokumentin sisarelementtien järjestyksellä ei ole merkitystä. Esimerkiksi tilaustiedot sisältävä XML-dokumentti sisältää joukon tilaustietoja, jotka on talletettu dokumenttiin mielivaltaisessa järjestyksessä tai joiden järjestyksellä ei tietosisällön kannalta ole merkitystä. Datakeskeinen tieto voidaan tallettaa esimerkiksi relaatiotietokantaan. Vaikka dokumentti olisikin hyvin ja tarkkaan merkattu, ei sisällön tallettaminen tietokannan tauluihin ole yksinkertaista. Näihin ongelmiin paneudumme seuraavaksi. Ero datakeskeisen ja dokumenttikeskeisen tietomallin välillä ei ole aina selkeä. Esimerkiksi kirja voi sisältää metadataa (kirjoittaja, julkaisija, julkaisuvuosi, kustantaja jne.), joka on datakeskeistä, vaikka dokumentti on muuten dokumenttikeskeinen. Lisäksi kannattaa muistaa, että tietty tieto voidaan merkata monella eri tavalla. Käytetyllä merkkauksella on siis myös suuri merkitys sille kuinka dokumentti- tai datakeskeistä merkattu tieto on.

7 Problematic types All data in an XML document is text (i.e., no real types ) conversions of data from text to other types (used in databases) is needed...and vice versa Dates many different formats Binary data many data transfer (XML<->database) products do not support binary data strict rules used in relational databases for managing binary data might cause problems 252 Yksi syy käytännön ongelmiin XML-dokumentin tiedon tallettamiseksi relaatiotietokannan tauluihin liittyy käytettyihin tyyppeihin: XML-dokumentti sisältää tekstiä (silloinkin kun teksti esittää toista tietotyyppiä) eikä siinä käytetä samoja tyyppejä kuin tietokannassa. Mikäli kuitenkin XMLdokumentin kielioppi on määritelty XML Schman avulla ja ko. skeema on käytettävissä, on tilanne huomattavasti helpompi, koska ainakin perustyypit on käytettävissä. Myös päivämäärien esittämiselle on olemassa monia eri tapoja, edellyttäen myös konversioita. Lisäksi binääridata saattaa aiheuttaa ongelmia. Suurin ongelma liittyy siihen, että useat ohjelmat, joita käytetään konvertoimaan tietoa XML-dokumenttien ja relaatiotietokannan välillä, eivät tue binääridatan esittämistä. Lisäksi tietokannassa voi olla käytössä sellaisia sääntöjä binääridatan esittämiseksi, jotka saattavat aiheuttaa ongelmia. XML-dokumenteissa esimerkiksi yleinen (mutta ei ainoa) tapa tallettaa binääridataa on base64 (MIME koodaus, jolla binääridata esitetään US-ASCIIn alijoukkona [0-9a-zA-Z+/]).

8 Problematic types (cont d) XML documents use Unicode while many databases offer limited (if any) support for Unicode Null data null/zero values vs. data that does not exist in a database, the non-existing data is marked as null data, destinguishing from zero value data XML supports null data through optional elements and attributes if the value of an optional element/attribute is null, it is often just left out Processing instructions and comments not actual data can appear almost anywhere in the XML document often ignored in data transfer XML markup 253 XML-dokumentit tukevat unicode standardia, kuten aiemmin on todettu. Vaikka se onkin varsin kätevää tiedonsiirronkannalta yleisesti, saattaa se aiheuttaa ongelmia talletettaessa tietoa tietokantaan. Tämä johtuu siitä, että tietokannat saattavat tarjota vain rajoitettua tukea unicoden käytölle. Lisäksi ne saattavat vaatia erityistä konfigurointia, jotta ASCII merkistöön kuulumattomia merkkejä voitaisiin käsitellä. Yksi suurista ongelmista koskee pois jätetyn tiedon ja arvoltaan tyhjän (tai nolla) tiedon erottelua. Pois jätetty tieto merkitään tietokannassa usein eksplisiittisesti (ns. null data ). Arvoltaan 0 (numerot) tai pituudeltaan (string) 0 oleva tieto tarkoittaa eri asiaa ja merkitään myös eri tavoin. XML:ssä voidaan myös jokin tieto jättää pois käyttäen optionaalisia elementtejä tai attribuutteja. Jos optionaalisen elementin arvo on nolla, se kuitenkin usein jätetään pois XML-dokumentista. Nämä erilaiset tavat käsitellä arvoltaan 0 olevaa tietoa ja toisaalta tyhjää/pois jätettyä tietoa aiheuttaa luonnollisesti ongelmia.

9 XML:n prosessointiohjeet eivät ole osa varsinaista XML-dokumentin tietosisältöä ja ne jätetäänkin usein pois tietoa talletettaessa tietokantaan. Joskus myös merkkauksen tallettaminen tietokantaan voi olla aiheellista (jäsentämättä sitä tarkemmin). Näin saattaa olla esimerkiksi osittain merkatun tiedon (mixed content) tapauksessa. Aina ei kuitenkaan ole helppoa määritellä onko XML-dokumentin merkkaus relevanttia tietoa talletettavaksi tietokantaan vai ei. Ajatellaan esimerkiksi XMLdokumentin seuraavaa osaa: <description> <b>confusing example:</b> <foo/> </description> Tietokantaan voitaisiin talletettaa description kenttään esim. <b>confusing example:</b> <foo/> Ovatko <b> ja <foo> näin ollen tietokannalle merkkausta vai tekstiä? Lisäksi, esimerkiksi </foo> merkkijonon etsiminen ei ole yksinkertaista kyselykielillä, jotka eivät ole XML-pohjaisia (esim. SQL). Ko. kielen tulee tietää, että itse asiassa etsitään merkkijonona <foo/>.

10 RDBMS schema -> DTD/XML Schema nested approach 1. For each table, create an element type 2. For each data (non-key) column in that table, as well as for the primary key column(s), add an attribute to the element type or a child element of PCDATA type to its content model 3. For each primary key/foreign key relationship in which a column of the table contributes the primary key, add a child element to the content model and process the table recursively. In addition, use wrapper elements, if needed or desired e.g., and <address> element may capture <street>, <areacode>, <city>, etc. elements 254 be aware not to create name collisions Seuraavassa on esitetty yksi suoraviivainen ja melko yksinkertainen proseduuri DTD/XML Schema - kieliopin määrittämiseksi relaatiotietokannan skeemasta. Tästä proseduurista käytetään nimitystä nested approach, koska se muodostaa joissain tapauksissa hyvinkin syviä sisäkkäisiä elementtirakenteita. Myöhemmin esitämme toisen tavan, joka tarjoaa mahdollisuuden esittää tietokannan taulujen sisältämä tieto hieman kompaktimmin XML-dokumenttina. 1) Luo jokaista taulua kohden elementtityyppi. 2) Luo jokaista tavallista saraketta sekä perusavainsaraketta kohden joko attribuutti (CDATA) tai lapsielementti (PCDATA) edellä luodulle elementtityypille. 3) Lisää jokaista perusavain-vierasavain suhdetta kohden lapsielementti, ja käsittele linkitetty taulu (vierasavain) rekursiivisesti Edellä olevan proseduurin lisäksi voidaan tarpeen mukaan luoda erillisiä säiliöelementtejä. Tämä voidaan tehdä mikäli halutaan hienojakoisempi rakenne XML-dokumentteihin. Vaikka nämä säiliöelementit ovatkin hyödyllisiä XML:n kannalta, saattavat ne aiheuttaa turhaa monimutkaisuutta relaatiotietokannan skeemoissa tehtäessä käänteistä konversiota (DTD->RDBMS). Edellä esitetyssä menetelmässä kuten muissakin menetelmissä relaatiotietokannan tietojen konvertoimiseksi XML-pohjaiseksi tiedoksi tulee huolehtia siitä, ettei elementtien nimien kanssa tule ongelmia.

11 Example: invoice_id VARCHAR(32) name VARCHAR(128) area code INTEGER street VARCHAR(32) Tarja Systä Neulask Oskari Onnenkantamoinen Teekkarink. item_id VARCHAR(32) product_id VARCHAR(128) quantity INTEGER invoice_id VARCHAR(32) abc abc abc product_id VARCHAR(128) abc0010 abc0011 PName VARCHAR(128) Product X Product Y 255 Kalvolla esitetystä taulusta voidaan edellä esitetyllä proseduurilla tuottaa alla olevan kaltainen DTDmäärittely. <?xml version= 1.0?> <!DOCTYPE purchaseorderlist [ <!ELEMENT purchaseorderlist (invoice*)> <!ELEMENT invoice (areacode, name,street, items)> <!ATTLIST invoice invoiceno CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA> <!ELEMENT items (item*)> <!ELEMENT item (product)> <!ATTLIST item quantity CDATA #REQUIRED itemid CDATA #REQUIRED productid CDATA #REQUIRED> <!ELEMENT product (pname)> <!ELEMENT pname (#PCDATA)> ]>

12 Tämän jälkeen tietokannan taulujen sisältö voidaan tallettaa ko. kieliopin mukaiseen XMLdokumenttiin. <?xml version= 1.0?> <purchaseorderlist> <invoice invoiceno= > <areacode>33820</areacode> <name>tarja Systä</street> <street>neulask.</street> <items> <item quantity= 2 itemid= productid= abc0010 > <product> <pname>product X</pname> </product> </item> <item quantity= 1 itemid= productid= abc0011 > <product> <pname>product Y</pname> </product> </item> </items> </invoice> <invoice invoiceno= > <areacode>33720</areacode> <name>oskari Onnenkantamoinen</street> <street>teekkarink.</street> <items> <item quantity= 8 itemid= productid= abc0010 > <product> <pname>product X</pname> </product> </item> </items> </invoice> </purchaseorderlist>

13 RDBMS tables -> XML flat approach Elements appearing multiple times can be referred using the ID and IDREF type attributes... <!ELEMENT product (pname)> <!ATTLIST product productid ID #IMPLIED> e.g. in the purchase order example, information for each product appears once in the document Advantage: more compact XML documents, since elements need not be repeated as heavily as in the nested approach 256 Edellä esitetylle runsaasti sisäkkäisiä rakenteita luovalle tavalle ( nested approach ) vaihtoehtoinen tapa on nk. flat approach, jossa käytetään hyväksi ID ja IDREF attribuutteja. Tarkoituksena on välttää kirjoittamasta samoja elementtejä useampaan kertaan XML-dokumenttiin ja siten pyrkiä kompaktimpaan esitysmuotoon. Edellä esitetyssä esimerkissä elementti ProductX ja sitä koskeva tieto kirjoitetaan uudelleen aina kun jokin tilaus sisältää vastaavan elementin. Tämä ei ole XMLdokumentin ylläpidettävyyden kannalta paras mahdollinen ratkaisu; selkeämpää olisi, jos ProductX kuvattaisiin vain kerran ja siihen vain viitattaisiin eri item-elementeistä aina tarvittaessa. flat approach tähtää juuri siihen. Viittaus saadaan aikaan ID ja IDREF attribuuttien avulla. Muista, että IDREF-tyyppisen attribuutin arvon tulee olla ID-tyyppinen attribuutti.

14 Esimerkki: <?xml version= 1.0?> <purchaseorderlist> <invoice invoiceno= > <areacode>33820</areacode> <name>tarja Systä</street> <street>neulask.</street> <items> <item quantity= 2 itemid= productidref= abc0010 /> <item quantity= 1 itemid= productidref= abc0011 /> </items> </invoice> <invoice invoiceno= > <areacode>33720</areacode> <name>oskari Onnenkantamoinen</street> <street>teekkarink.</street> <items> <item quantity= 8 itemid= productidref= abc0010 /> </items> </invoice> <products> <product product_id= abc0010 > <pname>product X</pname> </product> <product product_id= abc0011 > <pname>product </pname> </product> </products> </purchaseorderlist>

15 From XML document to RDBMS It is often acceptable to loose a part of XML document information DTD entities: definitions and usage physical structure, e.g. the order of sibling elements (data-centric information) converting structured and ordered data (XML document) to a table data that is unordered Many tables are typically needed to store all the information in the XML document XML documents are semi-structured it is often impossible to map an XML document to a single table e.g. for queries, the tables need to be joined (using primary and foreign keys) there are many ways to do this! XML Schema/DTD is not available decompose XML documents by using XPath and store a pair of 257 an XPath expression and the content addressed by the expression Talletettaessa XML-dokumentin tietoja tietokantaan, ei kaikkea dokumentin sisältämää tietoa aina tarvitse tai ole mahdollistakaan siirtää. Esimerkiksi dokumentin fyysistä rakennetta erityisesti, jos kyseessä on datakeskeistä tietoa ei yleensä tarvitse tallettaa. Järjestetyn tiedon, kuten sisarelementtien järjestys, tallettaminen järjestämättömään tietokannan tauluun olisi joka tapauksessa hankalaa. Myös mahdollisesti käytettyjä entiteettejä koskeva tieto ja dokumentin sisäinen DTDmäärittely jätetään yleensä huomioimatta. Mikäli kielioppimäärittely (DTD tai XML Schema) on saatavilla, sitä voidaan käyttää apuna päätettäessä miten ja kuinka moneen tauluun dokumentin tieto tulee tallettaa. Tämä ei kuitenkaan ole yleensä suoraviivaista. XML-dokumentin tietoa ei tyypillisesti voida tallettaa yhteen tauluun. Tämä johtuu pääosin siitä, että XML on osittain rakenteista tietoa. Toisaalta XML-dokumentin rakenteen kannalta voi muutenkin olla mielekkäämpää esittää tieto useana tauluna. Toisaalta tiedon haun (esim. kyselyt) kannalta on oleellista, että ko. taulut on tavalla tai toisella linkitettyjä. Tämä linkitys toteutetaan käytännössä perusavaimien (primary key, suom. myös pääavain) ja vierasavaimien (foreign key, suom. myös viiteavain) avulla. Koska linkitys XML-pohjaisen tiedon ja toisaalta relaatiotietokannan taulujen välillä ei ole suoraviivaista ja koska se voidaan tehdä monella eri tavalla, tarjoavatkin tietokantojen tuottajat tukea ko. relaation määräämiseksi ja yleisesti XML:ää ja tietokantoja hyödyntävien sovellusten toteuttamiseksi. Esimerkiksi tällaisista työkaluista ovat Oraclen XML Developer s Kit (XDK) ja IBM:n DB2 XML Extender.

16 Mikäli kielioppimääritystä (XML Schema tai DTD) ei ole olemassa, yksi suoraviivainen tapa tallettaa XML-dokumentin tieto on käyttää XPath-kieltä yksittäisten tietoelementtien osoittamiseen ja tallettaa aina kullekin riville sekä XPath-polku että ko. kohdasta löytyvä tieto (eri sarakkeisiin). Esimerkki: Content XPath Primary Key Tarja /R[1]/P[1]/A[1] TF111 /R[1]/P[1]/B[1]

17 DTD/XML Schema -> RDBMS schema 1. For each complex element type, create a table and a primary key column When an XML element can contain a subelement, the subelement contains a foreign key corresponding to the parent's primary key 2. For each element type with mixed content, create a table in which PCDATA is stored and link it to the parent table with the parent table s primary key 3. For each single-valued attribute of that element type, and for each simple child element that may occur (max) once, create a column in that table. If the child element type or attribute is optional, make the column nullable. 4. For each multi-valued attribute and for each simple child element occuring multiple times, create a separate table to store values, linked to the parent table through the parent table's primary key. 5. For each complex child element, link the table corresponding to the parent element type to the table corresponding to the child element type with the parent table's primary key 258 Mikäli XML-dokumentin kielioppimääritys on olemassa, voidaan talletus tehdä vaikkapa (huom! tämä voidaan tehdä monella eri tavalla) käyttäen kalvolla (suom. alla) kuvattua proseduuria. Proseduuri on periaatteessa käänteinen edellä esitetylle RDBMS->DTD proseduurille. Harjoitus: tuottaako tässä kuvattu proseduuri edellä esitetystä DTD-määrittelystä ( nested approach esimerkki) ko. esimerkin mukaiset relaatiotietokannan taulut? 1. Luo jokaista kompleksista elementtityyppiä (sisältää alirakenteita) kohden taulu, jossa on yksi sarake perusavaimia varten. Jos elementillä voi olla alielementti, tulee ko. alielementillä olla vierasavain, joka vastaa isätaulun perusavainta. 2. Luo jokaista sekarakenteista (mixed content) tyyppiä kohden taulu, johon merkkijonopohjainen tieto (PCDATA) talletetaan. Linkitä ko. taulu isätauluun käyttäen sen perusavainta. 3. Luo jokaista elementtityypin yksiarvoista attribuuttia ja korkeintaan kerran esiintyvää lapsielementtiä kohden sarake edellä luotuun tauluun. Mikäli lapsielementti on optionaalinen, merkitse optionaalisuus myös ko. sarakkeeseen (nullable) 4. Luo jokaista elementtityypin moniarvoista attribuuttia (esim. XML HTML SGML ) ja mahdollisesti useamman kerran (*) esiintyvää yksinkertaista lapsielementtiä kohden uusi taulu. Linkitä tämä taulu käyttäen vierasavainta ja isätaulun perusavainta. 5. Jokaista kompleksista elementtityyppiä kohden linkitä isäelementtiä vastaava taulu tätä (kompleksista) elementtityyppiä vastaavaan tauluun käyttäen isätaulun perusavainta.

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

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

Lisätiedot

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

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

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

Lisätiedot

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

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

Lisätiedot

XML johdatus: DTD. Jaana Holvikivi

XML johdatus: DTD. Jaana Holvikivi XML johdatus: DTD Jaana Holvikivi Dokumenttityypin rakennemäärittely DTD = kielioppi esim. XML- esitykselle Elementit Attribuutit Entiteetit ja notaatiot Prosessointikomennot DTD:n suunnittelu 19.1.2013

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

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

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

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

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

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

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

Sovellusarkkitehtuurit

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

Lisätiedot

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

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

LUONNOS RT 80260 EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May 1998 1 (10)

LUONNOS RT 80260 EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May 1998 1 (10) RT 80260 EN May 1998 1 (10) AGREEMENT ON BUILDING WORKS This agreement template is based on the General Terms and Conditions of Building Contracts YSE 1998 RT 16-10660, LVI 03-10277, Ratu 417-7, KH X4-00241.

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

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU JA IIO30220 DATABASE MANAGEMENT / TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI,

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

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

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

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

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

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

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

Results on the new polydrug use questions in the Finnish TDI data

Results on the new polydrug use questions in the Finnish TDI data Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen

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

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

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

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

Lisätiedot

Liikenneverkot-tietotuote

Liikenneverkot-tietotuote Liikenneverkot-tietotuote Tietotuotteet kuntoon 27.10.2017 27.10.2017 Sisältö 1. Miten lähdettiin liikkeelle 2. Välineet ja prosessit 3. Haasteet 4. Validointi 5. Hyödyntäminen 6. Lessons learned 27.10.2017

Lisätiedot

Tietokantakurssit / TKTL

Tietokantakurssit / TKTL Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien

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

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO Tomi Kauppinen, Eero Hyvönen, Jari Väätäinen Semantic Computing Research Group (SeCo) http://www.seco.tkk.fi/

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

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

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit Fraktaalit Fractals Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.-7.10.2012 1 / 8 R. Kangaslampi Fraktaalit Bottomless wonders spring from simple rules, which are repeated

Lisätiedot

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 Chapter 2.4 Jukka Räisä 1 WATER PIPES PLACEMENT 2.4.1 Regulation Water pipe and its

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

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

EUROOPAN PARLAMENTTI

EUROOPAN PARLAMENTTI EUROOPAN PARLAMENTTI 2004 2009 Kansalaisvapauksien sekä oikeus- ja sisäasioiden valiokunta 2008/0101(CNS) 2.9.2008 TARKISTUKSET 9-12 Mietintöluonnos Luca Romagnoli (PE409.790v01-00) ehdotuksesta neuvoston

Lisätiedot

LAPPEENRANNAN TEKNILLINEN YLIOPISTO Tietotekniikan osasto. Diplomityö XML-VERKKOTIETOKANTOJEN SUORITUSKYKYVERTAILU

LAPPEENRANNAN TEKNILLINEN YLIOPISTO Tietotekniikan osasto. Diplomityö XML-VERKKOTIETOKANTOJEN SUORITUSKYKYVERTAILU LAPPEENRANNAN TEKNILLINEN YLIOPISTO Tietotekniikan osasto Diplomityö XML-VERKKOTIETOKANTOJEN SUORITUSKYKYVERTAILU Diplomityön aihe hyväksytty tietotekniikan osaston osastoneuvostossa 12.10.2005 Työn tarkastajat

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

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

Lisätiedot

Alternative DEA Models

Alternative DEA Models Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

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

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

Lisätiedot

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

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy t Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy Agenda 1. Office Excel 2013 2. SharePoint 2013 3. SQL Server 2012 SP1 4. SharePoint 2013 BI-arkkitehtuuri 5. Kunta-analyysi

Lisätiedot

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14 Relaatioista Sarakenimistä relaation kaava tulisi olla yksiselitteinen attribuutin roolinimen tulisi auttaa ymmärtämään attribuutin tarkoituksen OSASTO(NIMI,NRO, TNRO, SIJAINTI) mitä tarkoittaa TNRO? viiteavaimella

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

Other approaches to restrict multipliers

Other approaches to restrict multipliers Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of

Lisätiedot

LYTH-CONS CONSISTENCY TRANSMITTER

LYTH-CONS CONSISTENCY TRANSMITTER LYTH-CONS CONSISTENCY TRANSMITTER LYTH-INSTRUMENT OY has generate new consistency transmitter with blade-system to meet high technical requirements in Pulp&Paper industries. Insurmountable advantages are

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

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

Tiedon esitys tietokoneessa. Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

Tiedon esitys tietokoneessa. Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010 Tiedon esitys tietokoneessa Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010 Luennon sisältö 1. Kurssin loppupuolen rakenne 2. Tiedon binääriluonne AD-muunnos 3.

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

API:Hack Tournee 2014

API:Hack Tournee 2014 apisuomi API:Hack Tournee 2014 #apihackfinland Twitter: @ApiSuomi API:Suomi - Suomen metarajapinta apisuomi Apisuomi kerää vertailutietoa ja arvosteluja rajapinnoista madaltaen avoimen datan uudelleenkäytön

Lisätiedot

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj SUOMEN KUNTALIITTO Sosiaali- ja terveysyksikkö Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj ~ (operatiiviset-/tiedonjakelu-/si~llönhallinta~velluk~et)

Lisätiedot

LINUX-HARJOITUS, MYSQL

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

Lisätiedot

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

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

Lisätiedot

Collaborative & Co-Creative Design in the Semogen -projects

Collaborative & Co-Creative Design in the Semogen -projects 1 Collaborative & Co-Creative Design in the Semogen -projects Pekka Ranta Project Manager -research group, Intelligent Information Systems Laboratory 2 Semogen -project Supporting design of a machine system

Lisätiedot

6 XML-työkalut 1. 6 XML-työkalut

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

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

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

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita

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

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

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Esityksen sisältö: 1. EU:n energiapolitiikka on se, joka ei toimi 2. Mihin perustuu väite, etteivät

Lisätiedot

Millainen on onnistunut ICT-projekti?

Millainen on onnistunut ICT-projekti? Millainen on onnistunut ICT-projekti? Ohjelmistotuotannon lehtori Tero Tensu Ahtee Ohjelmistotekniikan laitoksella 1990- Projektityö-kurssilla 1991- pesunkestävä yliopistohampuusi ei päivääkään oikeissa

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

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

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

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

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja Lohtu-projekti Ylläpitäjän dokumentti Versiohistoria: 1.0 12.5.2003 Ensimmäinen versio Andreas Asuja Helsinki 12. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja, Mari Muuronen, Seppo Pastila, Virve Taivaljärvi

Lisätiedot

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä OHJ-5201 Web-palveluiden toteutustekniikat Kurssisisällöstä Tarja Systä 1 Yleistä Esitietovaatimukset OHJ-1400 Olio-ohjelmoinnin peruskurssi (pakollinen) OHJ-5010 Hajautettujen järjestelmien perusteet

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

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Denormalisointia turvallisesti Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Timo Raitalaakso Senior Database Specialist Solita Oy 2001- - 2001 Tampereen Teknillinen korkeakoulu Tietokannat

Lisätiedot

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi

Lisätiedot

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS Loppuseminaari 11.12.2018 YIT:n pääkonttori, Helsinki RAIN hankkeen loppuseminaari 11.12.2018 Käyttäjälähtöinen tiedonhallinta (WP 4) Professori Harri Haapasalo OY

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

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto Tech Conference 28.-29.5.2015 Power BI Pekka.Korhonen@sovelto.fi #TechConfFI Johdanto 2 1 Microsoft BI komponentit Azure Machine Learning Stream Analytics HDInsight DocumentDB Blob/table storage VM SQL

Lisätiedot

Olet vastuussa osaamisestasi

Olet vastuussa osaamisestasi Olet vastuussa osaamisestasi Ohjelmistoammattilaisuuden uudet haasteet Timo Vehmaro 02-12-2015 1 Nokia 2015 Mitä osaamista tulevaisuudessa tarvitaan? Vahva perusosaaminen on kaiken perusta Implementaatio

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

papinet -sanomastandardit

papinet -sanomastandardit papinet -sanomastandardit Tapio Räsänen Puutavaralogistiikan kehittämishaasteita 14.6.2007 1 papinet on An international paper and forest products industry e-business initiative. A set of standard electronic

Lisätiedot

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

Curriculum. Gym card

Curriculum. Gym card A new school year Curriculum Fast Track Final Grading Gym card TET A new school year Work Ethic Detention Own work Organisation and independence Wilma TMU Support Services Well-Being CURRICULUM FAST TRACK

Lisätiedot

MUSEOT KULTTUURIPALVELUINA

MUSEOT KULTTUURIPALVELUINA Elina Arola MUSEOT KULTTUURIPALVELUINA Tutkimuskohteena Mikkelin museot Opinnäytetyö Kulttuuripalvelujen koulutusohjelma Marraskuu 2005 KUVAILULEHTI Opinnäytetyön päivämäärä 25.11.2005 Tekijä(t) Elina

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

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

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

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

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