Saimaan ammattikorkeakoulu Tekniikka Lappeenranta Tietotekniikka Organisaation IT-palvelut. Aleksi Stenholm. Kemikaalitietokanta
|
|
- Vilho Järvenpää
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Saimaan ammattikorkeakoulu Tekniikka Lappeenranta Tietotekniikka Organisaation IT-palvelut Aleksi Stenholm Kemikaalitietokanta Opinnäytetyö 2015
2 Tiivistelmä Aleksi Stenholm Kemikaalitietokanta, 24 sivua Saimaan ammattikorkeakoulu Tekniikka Lappeenranta Tietotekniikka Organisaation IT-palvelut Opinnäytetyö 2015 Ohjaajat: lehtori Mikko Huhtanen, Saimaan ammattikorkeakoulu, Laboratiorioinsinööri Eero Kaipainen, Lappeenrannan teknillinen yliopisto, Nuorempi tutkija Esko Lahdenperä, Lappeenrannan teknillinen yliopisto Opinnäytetyön tuloksena syntyi kemikaalitietokanta sekä tietokantaa käyttävä verkkosovellus Lappeenrannan teknillisen yliopiston kemiantekniikan osastolle. Tietokantaan tallennetaan kemiantekniikan osastolla olevat kemikaaliastiat ja niiden käyttömäärät. Kemikaalitietokanta luotiin aikaisemmin käytössä olleen Microsoft Access - tietokannan pohjalta. Tietokanta saatettiin kolmanteen normaalimuotoon, jotta tietokanta pysyy eheänä ja tiedon toistuvuus saadaan poistettua. Verkkosovelluksen toiminnallisuus rajattiin kemikaalien hallintaan, astioiden hallintaa, astioiden käyttöön sekä raportointiin. Kemikaalien hallinnassa käyttäjä ylläpitää listaa kemiantekniikan osastolla käytettävissä olevista kemikaaleista. Astioiden hallinnassa ylläpidetään listaa kemiantekniikan osaston varastoissa olevista kemikaaliastioista. Kun kemikaalia käytetään, käyttö kirjataan sovelluksessa. Sovelluksesta saadaan neljää erilaista raporttia: varastohuoneen inventaarioraportti, kemikaalin käyttöraportti, kemikaalien määrä vaaralausekkeiden mukaan sekä laboratoriolle kuuluvat kemikaalit. Verkkosovelluksen ohjelmointiympäristönä käytettiin Visual Studio 2013:a. Sovelluksen ohjelmointiin käytettiin ASP.NET MVC 4-viitekehystä, eli sovelluksen verkkosivut ohjelmoitiin HTML:ää käyttäen ja taustalla oleva koodi C#-ohjelmointikieltä käyttäen. Tietokanta luotiin käyttäen Microsoft SQL Serveriä. Asiasanat: ASP.NET, MVC, Tietokanta, SQL Server, C# 2
3 Abstract Aleksi Stenholm Chemical database, 24 pages Saimaa University of Applied Sciences Technology Lappeenranta Degree Programme in Information Technology IT-services in Organization Bachelor s Thesis 2015 Instructors: Mr. Mikko Huhtanen, Lecturer in Saimaa University of Applied Sciences, Mr. Eero Kaipainen, Laboratory Manager in Lappeenranta University of Technology, Mr. Esko Lahdenperä, Doctoral Student in Lappeenranta University of Technology The result of this thesis was a chemical database and a web application that uses the database, made for the chemistry department of Lappeenranta University of Technology. The amount that department has of each chemical and their usage are stored in the database. The database was created according to chemical department s old Microsoft Access database. It was normalized in to 3 rd normal form in order to prevent redundancy. The functionality of the web application was delimited to chemical management, container management, container usage, and reporting. In the chemical management users maintain a list of chemicals that chemistry department has in their use. In container management users maintain a list of containers that chemistry department has in their storage rooms. When chemical is used, the usage will be recorded in the application. There are four different reports that can be taken from the application: Inventory report, usage report, report according to hazard statements, and report of laboratories chemicals. The web application was programmed using Visual Studio 2013 integrated development environment. The application was programmed using ASP.NET MVC4 framework, meaning that views were done using HTML and code running behind was done using C# programming language. The database was done using Microsoft SQL Server. Keywords: ASP.NET, MVC, Database, SQL Server, C# 3
4 Sisällys Termit ja käsitteet Johdanto Tavoitteet Lappeenrannan teknillinen yliopisto Käytetyt teknologiat ASP.NET MVC Model View Controller PetaPoco Microsoft SQL Server Työvaiheet Tietokannan suunnittelu Tietokannan normalisointi Tietokannan toteutus Verkkosovelluksen toteutus Kemikaalien hallinnointi Astioiden hallinnointi Astioiden käyttö Käyttäjien todennus Raportit Sovelluksen laajuus Testaus ja jatkokehitys Testaus Jatkokehitys Yhteenveto Kuviot Lähteet Liitteet Liite 1 Tietokannan rakenne 4
5 Termit ja käsitteet.net Access Microsoftin luoma ohjelmistokomponenttikirjasto Microsoftin Office-pakettiin kuuluva tietokantaohjelmisto C# Microsoftin kehittämä ohjelmointikieli CAS Kemikaalien tunnistenumerojärjestelmä CSS Cascading Style Sheets. Verkkosivujen tyylejä määrittävä kieli HTML HTTP JavaScript jquery SDK SQL VB.NET Hypertext Markup Language. Verkkosivujen luomiseen suunniteltu kuvauskieli Hypertext Transfer Protocol. Palvelinten ja selainten käyttämä tiedonsiirto protokolla Verkko-ohjelmointi kieli JavaScript kirjasto Software Development Kit Structured Query Language. IBM:n kehittämä kyselykieli Visual Basic. Ohjelmointikieli 5
6 1 Johdanto Aihe opinnäytetyöhön tuli Lappeenrannan teknillisen yliopiston kemiantekniikan osastolta. He halusivat päivittää kemikaalien varastointi- ja käyttötietokantansa toimivampaan järjestelmään. Tietokanta oli toteutettu Microsoft Accessille ja sen käyttö oli haastavaa osalle käyttäjistä. Vanha tietokanta pitää sisällään noin 1700 kemikaalia, joihin on liitetty noin 4000 astiaa. Uudeksi tietokannaksi valikoitui Microsoft SQL Server 2012, sekä ohjelmistokehykseksi valkoitui ASP.NET MVC 4. Sovelluksen kehityksessä käytettiin myös teknologioita kuten JavaScript, jquery sekä PetaPoco. Opinnäytetyö keskittyy pääasiallisesti kyseisiin teknologioihin sekä uuden tietokannan tekniseen toteutukseen. 1.1 Tavoitteet Opinnäytetyön tavoitteena on päivittää kemiantekniikan osastolla käytössä oleva kemikaalitietokanta Microsoft SQL Server 2012-relaatiotietokantaohjelmalle sekä kehittää verkkosovellus tietokannan käyttöä varten käyttäen ASP.NET MVC 4- ohjelmistokehystä. 1.2 Lappeenrannan teknillinen yliopisto Lappeenrannan teknillinen yliopisto LUT on yksi Suomen viidestätoista yliopistosta ja se on toiminut vuodesta 1969 tekniikan ja talouden yhdistävänä tiedeyliopistona 1. Kemiantekniikan osasto kuuluu School of Engineering Science -schooliin, jonka tarkoitus on kehittää turvallisempia, ekologisempia ja energiatehokkaampia toimintatapoja, sekä luoda ratkaisuja teollisuuteen ja sen eri tuotantovaiheisiin. Kemikaalitietokanta-sovellus tulee palvelemaan erotus, puhdistus ja prosessit osaamisalueilla. 2. Erotus osaamisalueen tavoiteena on kehittää entistä ympäristöystävällisempiä, vähemmän jätettä tuottavia, energiatehokkaampia ja kustannustehokkaampia erotusprosesseja 3. Puhdistus osaamisalue tutkii ja kehittää erilaisia menetelmiä jätevesien, raakavesien sekä prosessivirtojen käsittelemiseksi. Keskeisimipiä 6
7 tutkimusaiheita ovat erityisesti haastavat jäteveden käsittelyprosessit kemian, sellu- ja paperiteollisuuden, kaivannaisteollisuuden sekä elintarvike- ja lääketeollisuuden sovellutuksissa. 4. Prosessit osaamisalueen painopisteenä on kehittää uusia valmistusmenetelmiä ja laitteistoja prosessiteollisuudelle. Keskeisiä aihepiirejä ovat prosessien intensifionti, mallinnus ja simulointi, suunnittelun metodiikka, prosessien turvallisuus sekä uusien prosessilaitteiden kehitys. 5. Opinnäytetyössä yhteyshenkilöinä kemiantekniikan osastolta toimivat nuorempi tutkija Esko Lahdenperä sekä laboratorioinsinööri Eero Kaipainen. Kemikaalitietokannan käyttäjiä kemiantekniikan osastolla tulee olemaan noin 100, joista 6 on järjestelmän ylläpitäjiä. 2 Käytetyt teknologiat Tässä luvussa käydään läpi opinnäytetyössä käytetyt teknologiat. 2.1 ASP.NET ASP.NET Active Server Pages.NET on Microsoftin kehittämä dynaamisten verkkosivujen ja sovellusten kehittämiseen tarkoitettu arkkitehtuuri. ASP.NETarkkitehtuurissa käyteään hyväksi HTML:ää, CSS:ää, JavaScriptiä sekä palvelinskriptejä. ASP.NET on kehitetty vanhan ASP-teknologian Active Sever Pages pohjalta, joka on palvelimella tulkittava ohjelmointikieli. Näin ollen myös ASP.NET-koodi tulkitaan palvelimella. 6. ASP.NET on osa.net-arkkitehtuuria joten ohjelmistokehittäjän on mahdollista käyttää hyödykseen kaikkia.net-arkkitehtuurin ominaisuuksia, joita ovat esimerkiksi kattavat luokkakirjastot..net-arkkitehtuuri mahdollistaa myös palvelinskriptien luomisen jollain.net-arkkitehtuuriin kuuluvalla ohjelmointikielellä C#, VB.NET, jne.. 7. ASP.NET-arkkitehtuuri jakautuu kolmeen eri ohjelmistoarkkitehtuurityyliin: Web Forms, Web Pages ja MVC. Web Pages-tyyli on hyvin samanlainen kuin PHP ja vanha ASP, eli verkkosivu koostuu yhdestä tiedostosta johon koodi on kirjattu 7
8 käyttäen Razor nimistä palvelimella tulkittavaa merkintäkieltä. Web Formstyylissä verkkosivut koostuvat kahdesta tiedostosta..aspx-päätteinen tiedosto pitää sisällään käyttäjälle näkyvät sovelluksen osat. Toinen tiedosto on päätteeltään.aspx.cs C# tai.aspx.vb VB.NET. Tähän tiedostoon on ohjelmoitu sovelluksen logiikka. Tässä opinnäytetössä käytettiin MVC-tyyliä ja sen toiminta selvitettään seuraavassa kappaleessa tarkemmin MVC Model View Controller eli MVC on yksi ASP.NET-arkkitehtuurin ohjelmistoarkkitehtuurityyleistä. MVC:ssa sovellus on jaettu kolmeen osaan jotka kommunikoivat keskenään. Osat ovat Model, View ja Controller. Kuviossa 1 kuvataan arkkitehtuurin kolmen osan keskenäistä kommunikaatiota. 9. Kuvio 1: MVC-arkkitehtuuri Model MVC-arkkitehtuurisa on kolmenlaisia modeleita: Data, business ja view model. Data modelit ovat luokkia jotka kommunikoivat tietokannan kanssa. Business modelit ovat luokkia jotka prosessoivat dataa sekä kommunikoivat Data modelien kanssa lukeakseen ja tallettaakseen dataa tietokantaan. View modelit ovat luokkia jotka sisältävät datan joka lähetetään käyttäjän ruudulle. View modelit 8
9 eivät prosessoi dataa milläänlailla vaan ne ovat puhtaasti vain datan esittämiseen tarkoittettuja luokkia View Viewt ovat käyttäjälle selaimessa näkyviä HTML-sivuja. Näiltä sivuilta käyttäjien tekemät komennot lähetetään Controller luokille HTTP-protokollan avulla. Viewt sisältävät myös palvelimella tulkittavaa merkintäkieltä, jotka View moottori tulkitsee HTML:äksi. MVC-arkkitehtuurissa on mahdollista valita kahdesta eri View moottorista joilla kummallakin on eri merkintäkieli. View moottorit antavat ohjelmoijalle mahdollisuuden yhdistää C#- tai VB.NET-koodia HTML:än kanssa viewejä tehdessään. Ensimmäinen view moottori on ASPX. ASPX on ollut kuulunut ASP.NET MVC-arkkitehtuuriin sen alusta alkaen ja sen syntaksi muistuttaa hyvin paljon Web Forms-syntaksia. Kuviossa 2 on esimerkki ASPXsyntaksista. 12. Kuvio 2: Esimerkki ASPX-syntaksista Toinen view moottori on Razor. Razor view moottori lisättiin ASP.NET MVCarkkitehtuuriin MVC3 julkaisussa. Kuviossa 3 on esimerkki Razor-syntaksista. 9
10 Kuvio 3: Esimerkki Razor-syntaksista Controller Controller luokat prosessoivat HTTP-pyyntöjä joita View sivut lähettävät käyttäjän tehdessä toimintoja sivulla. Controller toimii viewn ja modelin välissä ohjaten käyttäjän tekemät toiminnot oikeaan model luokkaan sekä välittävän modelin tietokannasta hakemat tiedot takaisin käyttäjälle PetaPoco PetaPoco on pieni yhdestä C# tiedostosta koostuva ORM Object-Relational Mapping.NET-viitekehykseen. Sen tehtävänä on jäljitellä relaatiotietokannan rakennetta ja kommunikoida tietokannan sekä sovelluksen välissä. ORM luo tietokannassa olevat taulut objekteiksi joita voidaan käyttää tietokantaa käyttävässä sovelluksessa. 14. Ohjelmoija voi myös luoda oman ORM:n. Tässä opinnäytetyössä päädyttiin käyttämään PetaPoco ORM:ää sen sijaan, että oltaisi päädytty luomaan oma ORM alusta alkaen tai käytetty.net-viitekehyksessä jo valmiina olevaa Entity Frameworkiä. Päätös tehtiin aikaisempien kokemuksieni pohjalta. Olin aikaisemmin työskennellyt PetaPocon kanssa ja huomannut sen toimivat Entity Frameworkiä nopeammin. 2.4 Microsoft SQL Server 2012 Microsoft SQL Server on tietokanta-ohjelmisto jolla voidaan luoda relaatiotietokantoja. Microsoft SQL Server on tarkoitettu luomaan tietokantoja 10
11 Windows pohjaisten sovellusten käyttöön. Ohjelmiston mukanaan kuuluu myös tietokannan hallintajärjestelmä, mutta tätä käytetään harvoin suurissa tietokantakokonasuuksissa. Pääasiallisesti käyttäjät kommunikoivat tietokannan kanssa jonkin muun sovelluksen kautta. Käyttäjän ja tietokannan välinen kommunikaatio tapahtuu SQL kielen avulla. 15. Microsoft SQL Server soveltuu monenlaisten tietokantojen ylläpitoon. Pienissä tietokantatoteutuksissa tietokanta voidaan asentaa paikallisesti tietokoneelle, jolla sitä käytetään. Näin ollen tietokannan hallinnointi tapahtuu paikallisesti. Suurissa tietokantatoteutuksissa tietokanta asennetaan palvelimelle. Näin ollen käyttäjät käyttävät sekä hallinnoivat tietokantaa internetin yli. Microsoft SQL Serverin toimiessa palvelimella järjestelmässä tapahtuvat työt jaetaan asiakasja palvelintietokoneiden välille. Palvelintietokoneet hallinnoivat sekä ylläpitävät tietokantaa. Asiakastietokoneet vastaavat tietokannan sisältämästä tiedosta, eli tallentavat ja muokkaavat tietokannassa olevaa tietoa Työvaiheet Tässä luvussa käydään läpi työvaiheet, jotka opinnäytetyössä käytiin läpi. 3.1 Tietokannan suunnittelu Uuden tietokannan pohjana on käytetty kemiantekniikan osaston vanhaa Microsoft Access-pohjaista kemikaalitietokantaa. Kyseinen tietokanta ei täyttänyt hyvin suunnitellun tietokannan kriteerejä. Tieto ei ollut eheää ja tiedossa oli paljon toistoa. Asiakas halusi saada tietokannan uudistettua uudelle alustalle sekä muokata tietokannan rakennetta niin, että hyvän tietokannan kriteerit täyttyvät. Uusi tietokanta luotiin vanhan tietokannan pohjalta. Tietokannan suunnittelu aloitettiin saattamalla vanha tietokanta parhaaseen mahdolliseen normaalimuotoon. Tässä tapauksessa kyseinen tietokanta saatiin kolmanteen normaalimuotoon ja näin tietokannasta saatiin poistettua tiedon turha toisto. Vanhan tietokannan tauluja jaettiin useampiin tauluihin sekä monen suhde moneen relaatioita luotiin huomattavasti lisää. 11
12 LUT:n IT-osasto ilmoitti, mitä tietokanta-alustoja heillä on ylläpidettävänä ja mille niistä on mahdollista luoda uusi kemikaalitietokanta. Näistä alustoista valituksi tuli Microsoft SQL Server. Asiakas toivoi uuden kemikaalitietokantasovelluksen olevan verkkosovellus, jotta mitään ylimääräisiä asennuksia käyttäjien tietokoneille ei tarvita. Koska SQL Server tukee Windows-pohjaisia sovelluksia valittiin LUT:n IT-osaston kanssa käytettäväksi ASP.NET-ohjelmistoarkkitehtuuria. MVC-arkkitehtuurimalli valikoitui käytettäväksi, sillä se soveltuu hyvin kemikaalitietokanta tyylisiin sovelluksiin sekä minulla oli jo ennestään hieman kokemusta kyseisestä mallista. Vanhaa tietokantaa käytettiin kemiantekniikan osastolla tietokannan päälle tehdyllä VBA-sovelluksella. Tätä sovellusta käytettiin uuden verkkosovelluksen suunnittelun pohjana. Asiakkaan kanssa kävimme läpi kaikki sovelluksen toiminnot ja niihin liittyvät ongelmat ja näiden keskustelujen pohjalta suunnittelin uuden sovelluksen toiminnallisuuden. 3.2 Tietokannan normalisointi Tietokannan normalisoinnilla pyritään ehkäisemään tiedon toistuvuus tietokannassa sekä säilyttämään tietokannan eheys. Normaalimuotoja on monia, ja tietokantaa suunnitelessa vähimmäisvaatimuksena on hyvä pitää kolmatta normaalimuotoa. Kolmas normaalimuoto tarkoittaa, että tietokanta täyttää ensimmäisen ja toisen normaalimuodon vaatimukset, sekä jokaisen tietokantataulun sarakkeen on oltava riippuvainen taulun pääavaimesta 17. Ensimmäinen normaalimuoto tarkoittaa, että tietokantatauluissa ei ole toistuvaa tietoa. Jos taulussa on toistuvia tietoja, siirretään ne omiksi tauluikseen. 17. Toisessa normaalimuodossa tietokantataulu on ensimmäisessä normaalimuodossa ja taulujen sarakkeet, jotka eivät ole avaimia, ovat riippuvaisia ainoastaan taulujensa avaimista. Tämä tarkoittaa siis sitä, että jos tiedetään taulun avain, tiedetään myös muut arvot
13 3.3 Tietokannan toteutus Tietokannan suunnittelun jälkeen tietokannasta laadittiin relaatiomalli jossa on kuvattuna tietokannan taulut, taulujen perusavaimet, kenttien tietotyypit sekä taulujen väliset suhteet. Relaatiomalli luotiin Oraclen Datamodeler-ohjelmaa käyttäen. Kyseiseen ohjelmaan syötetään taulujen tiedot ja se luo relaatiomallin näiden tietojen pohjalta. Kuviossa 4 on osa kemikaalitietokannan relaatiomallista. Kuvio 4: Esimerkki relaatiomallista Tietokannan luomiseen tarkoitettu SQL-skripti on rakennettu relaatiomallin pohjalta. Oraclen Datamodelerissa skriptin luominen onnistuu helposti, sillä relaatiomallista pystyy suoraan luomaan SQL-skriptin tietokannan luomiseen Oraclen, Microsoftin sekä IBM:n DB2-tietokannoille. Tässä opinnäytetyössä Oraclen Datamodelerista saatua skriptiä jouduttiin hieman muokkaamaan. Kuviossa 5 on esimerkki Kemikaalitietokannan luomiseen tarkoitetusta SQLskriptistä. Skriptissä luodaan Chemical-taulu tietokantaan. 13
14 Kuvio 5: SQL-skripti Chemical-taulun luomiseen Verkkosovelluksen toteutusvaiheessa tietokantaa käytettiin lokaalisti, eli tietokanta oli luotu siihen tietokoneeseen, jolta sovellusta ohjelmoitiin. Testausvaiheeseen siirryttäessä tietokanta siirrettiin LUT:n IT-hallinnon tietokantapalvelimelle, jotta tietokantaa pystyttiin alkaa käyttämään normaalissa käyttöympäristössään. 3.4 Verkkosovelluksen toteutus Verkkosovelluksen pohjana käytettiin vanhaa Access-sovellusta. Uuteen sovellukseen haluttiin tuoda vanhan sovelluksen toiminnot, mutta niitä muokattiin helppokäyttöisemmiksi. Pidimme asiakkaan kanssa palavereja kahden viikkon välein ja näissä palavereissa kävimme läpi toimintoja joita sovellukseen tarvitaan. Tarvittaviksi toiminnoiksi rajasimme kemikaalien hallinnoinnin, astioiden hallinnoinnin, astioiden käyttön, astioiden haun, kemikaalien hakemisen synonyymeillä sekä raportoinnin Kemikaalien hallinnointi Kemikaalien hallinnoinnilla tarkoitetaan kemikaalien syöttämistä tietokantaan, niiden poistamista sekä muokkaamista. Kun kemikaali lisätään tietokantaan, ainoa pakollinen kenttä on suomenkielinen nimi. Kemikaaleja saatetaan lisätä 14
15 tietokantaan vajanaisin tiedoin, joita täydennetään myöhemmin, mutta suomenkielinen nimi on pakollinen. Kemikaalin poistamiseen tietokannasta on luotu T-SQL-transaktio, sillä kemikaali on viiteavain monessa taulussa. Kun kemikaali poistetaan, siihen liittyvät muut tietueet on poistettava myös. Transaktio yrittää poistaa kaikki kemikaaliin liittyvät tietueen ja jos ongelmia ei ilmene, poisto tapahtuu. Ongelmien ilmetessä poistaminen kumotaan ja käyttäjälle näytetään virheilmoitus, jossa selostetaan ongelma. Transaktiolla saadaan tietokannan eheys pidettyä paremmin hallinnassa, sillä poisto ei voi tapahtua vain puoliksi käyttäen transaktiota. Kemikaaleille syötetään myös synonyymejä, koska samalla kemikaalilla voi olla monta eri kaupallista nimeä. Hakutoiminto mahdollistaa kemikaalin löytymisen tietokannasta, vaikka kemikaali olisi syötetty toisella nimellä tietokantaan. Tällaisen toiminnon tarpeellisuus nousi usein esille palavereissa. Synonyymien käyttö on toteuttettu seuraavalla tavalla. Tietokantaan luotiin Synonym-niminen taulu, johon kaikki tietokantaan syötettävät synonyymit lisätään. Chemical- ja Synonym-taulujen väliin luotiin M:N-relaatio, eli käytännössä taulu, jonka tietueet koostuvat Chemical-taulun pääavaimesta sekä Synonym-taulun pääavaimesta. Näin ollen kemikaalille on saatu linkitettyä synonyymejä. Hakutoiminto hakee ensin Chemical-taulusta kemikaaleja nimen mukaan, ja jos haku ei palauta tuloksia, se katsoo, onko hakusana synonyymi. Jos hakusana on synonyymi, haku tarkistaa, mihin kemikaaliin kyseinen synonyymi liittyy ja näyttää kemikaalin käyttäjälle. Hakutoiminnolla voidaan kemikaaleja hakea tietokannasta myös uniikkia CAS-numeroa käyttäen. Kuviossa 6 on esimerkki hakutoiminnosta ja siitä, kuinka se on palauttanut kemikaalin, vaikka haku on tehty synonyymillä. Kuvio 6: Hakutoiminto 15
16 3.4.2 Astioiden hallinnointi Astioiden hallinnointiin kuuluu astioiden lisääminen, poistaminen ja muokkaaminen. Uutta astiaa lisätessä käyttäjä valitsee, mitä kemikaalia astia sisältää sekä mikä laboratorio omistaa kyseisen astian. Käyttäjä myös syöttää tiedot astiasta. Pakollisia tietoja ovat astian numero sekä varastohuone, jossa astiaa säilytetään. Kemikaali ja laboratorion valintaa varten tehtiin jqueryä käyttäen tekstikenttä, joka hakee tietokannan taulusta koko ajan käyttäjän syöttämää merkkijonoa vastaavia kemikaaleja, eli siis ennakoiva tekstinsyöttö. Kemikaaleja voi olla tuhansia tietokannassa, joten normaalia pudotuvalikkoa ei voitu käyttää. Kuviossa 7 on esimerkki ennakoivan tekstinsyötön toimivuudesta. Kuvio 7: Astian lisäämiseen tehty kemikaalinvalinta Astian poistaminen tietokannasta on järjestelmänvalvojan tehtävä. Normaalikäyttäjän poistaessa astia verkkosovelluksessa muuttuu Container taulussa IsRemoved-kentän arvo, mutta kemikaali ei poistu tietokannasta. Tämän jälkeen astia ei tule esille hauissa eikä listauksissa. Tällainen toiminnallisuus tehtiin, koska asiakas haluaa säilyttää poistettujen astioiden tietoja sekä käyttötietoja pidempään kuin astia on käytössä. Koska käyttötietoihin tallentuu astian id-numero viiteavaimena, on käyttötietoja mahdotonta säilyttää, jos kemikaali poistetaan tietokannasta kokonaan. Näin ollen järjestelmänvalvoja on ainoa, joka voi poistaa kemikaalit kokonaan tietokannasta. Tietokannassa olevia astioita voidaan sovelluksessa hakea kahdesta paikasta. Astioiden hakemiseen on luotu oma sivu, jolla voidaan hakea astioita joko 16
17 käyttäen astian numeroa tai kemikaalin nimeä. Kuviossa 8 on esitetty tämä sivu. Kemikaalin nimen mukaan hakiessa haku toimii samalla tavalla kuin aikaisemmin selitetty kemikaalihaku. Kemikaaliin liittyät astiat on myös listattu kemikaalin tarkemmissa tiedoissa, kuten kuviosta 9 voi nähdä. Kuvio 8: Astiahaku Kuvio 9: Astia lista kemikaalin tiedoissa 17
18 3.4.3 Astioiden käyttö Astioiden käytön taltiointi on kemikaalitietokantasovelluksen yksi päätehtävistä. Käyttäjä kirjaa sovelluksessa ylös, kuinka paljon hän käytti kemikaalia, milloin hän käytti ja mihin projektiin. Nämä tiedot tallentuvat tietokantaan. Sovellus päivittää automaattisesti astiassa jäljellä olevan määrän syötetyn käytön perusteella Käyttäjien todennus Jokainen käyttäjä kemiantekniikan osastolla omistaa LUT:n toimialueeseen liitetyn käyttäjätunnuksen jolla käyttäjä kirjautuu tietokoneelleen. Kemikaalitietokanta-sovellus todentaa käyttäjät käyttäen tätä samaa käyttäjätunnusta. Kun käyttäjä avaa sovelluksen, sovellus tarkistaa, onko tietokannan käyttäjätaulussa saman nimistä käyttäjää samalta toimialueelta. Jos käyttäjää ei löydy, evätään häneltä pääsy sovellukseen. Jos käyttäjä löytyy, pääsee hän käsiksi sovellukseen, mutta laajuus riippuu rooleista, jotka käyttäjälle on asetettu. Sovelluksessa on kaksi roolia: NormalUser sekä Administrator. NormalUser pääsee hakemaan, lisäämään, poistamaan ja muokkaamaan astioita sekä kemikaaleja. Administrator pääsee näiden lisäksi vielä suorittamaan lopullisia poistoja, hallinnoimaan käyttäjiä sekä hakemaan raportteja Raportit Asiakkaan kanssa pidetyissä palavereissa tulimme siihen tulokseen, että järjestelmästä on saatava ulos neljää eri tyyppistä raporttia: vaaralausekkeiden mukaan tehtävä raportti, varastohuoneen inventaarioraportti, kemikaalien käyttöraportti sekä raportti laboratorioiden omistuksessa olevista kemikaaleista. Vaaralausekkeiden mukaan tehtävässä raportissa käyttäjä valitsee vaaralausekkeet, joihin liitetyt astiat hän haluaa mukaan raporttiin. Järjestelmä hakee kaikki kyseisiin vaaralausekkeisiin yhdistetyt astiat ja niiden kemikaalimäärät. Suomen laissa on määritetty tietyt rajat, milloin kemikaaleista täytyy tehdä ilmoitus tai anoa lupaa kemikaalien säilyttämiseen 18. Kyseisellä raportilla saadaan helposti selvitettyä, onko rajoissa pysytty. 18
19 Varastohuoneen inventaarioraporttiin käyttäjä syöttää huoneen numeron ja järestelmä palauttaa tiedot kaikista astioista, jotka ovat säilötty kyseiseen huoneeseen. Kemikaalien käyttöraportiin käyttäjä syöttää aikavälin, jolta raportti halutaan saada ja järjestelmä näyttää käyttäjälle kaikkien kemikaalien käyttömäärät tältä aikaväliltä. Laboratorion omistamat kemikaalit näytetään käyttäjälle hänen valitseman laboratorion mukaan. Raportit luodaan Microsoftin OpenXML SDK:ta hyväksikäyttäen. Järjestelmä kopioi verkkolevylle tallennetun Word-pohjan, avaa sen ja kirjoittaa SQL-haun palauttamat rivit dokumenttiin. Kuviossa 10 on esimerkki metodista joka luo inventaarioraportin Kuvio 10: Metodi inventaarioraportin luomiseen 19
20 3.5 Sovelluksen laajuus Vanha Microsoft Accessilla toteutettu tietokanta piti sisällään 20 taulua. Tietokannan kolmanteen normaalimuotoon saattamisen jälkeen, sekä turhien taulujen poistamisen jälkeen uuteen tietokantaan tuli 19 taulua. Koko tietokannan rakenne löytyy liitteestä 1. Verkkosovellus koostuu 12 controller-luokasta, 18 model-luokasta sekä 45 viewsivusta. Contoller ja model-luokat sisältävät yhteensä 194 metodia ja koko sovellus koostuu noin 5000 rivistä koodia. Tarkemmat yksityiskohdat löytyvät sovelluksesta. Verkkosovelluksen toiminnallisuudesta tehtiin yksinkertaiset käyttötapauskaaviot, mutta niiden tarkempaa dokumentointia ei katsottu tarpeelliseksi, sillä sovelluksen tekijä ja suunnittelija on sama henkilö. 4 Testaus ja jatkokehitys Tässä luvussa käydään läpi kemikaalitietokanta-sovelluksen testausprosessi sekä kemiantekniikan osastolta saadut jatkokehitysideat 4.1 Testaus Kemikaalitietokanta-sovelluksen testaus suoritettiin kemiantekniikan osaston yhteyshenkilöiden toimesta. Sovelluksen ollessa vielä keskeneräinen, se laitettiin LUT:n palvelimille, jotta sovelluksessa valmiina olleita toiminnallisuuksia päästiin testaamaan niiden oikeassa käyttöympäristössä. Kemiantekniikan osaston yhteyshenkilöt toimittivat testaustensa perusteella listan muutettavista asioista, joiden perusteella sovellusta lähdettiin muuttamaan. Kun muutokset saatiin suoritettua, ajettiin uusi versio palvelimille ja asiakas toimitti uuden listan muutoksista. 4.2 Jatkokehitys Asiakkaan kanssa pidetyissä kokouksissa nousi esille monia ehdotuksia järjestelmän parantamiseksi, mutta osa niistä jouduttiin jättämään opinnäytetyöstä pois aikasyistä. 20
21 Viivakoodien lukeminen astioista oli yksi ehdotus, joka nousi esille. Jokaiseen astiaan on merkitty viivakoodi, joka pitää sisällään astian tunnuksen. Tätä voisi käyttää hyväksi esimerkiksi astian käyttöä kirjatessa. Toinen ajatus, joka nousi esille kokouksissa, oli, että sovellusta voisi lähteä kehittämään enemmän kohti varastokirjanpitoa tekemällä sovellukseen hälytysrajat. Kyseiset rajat tarkkailisivat kemikaalien määriä varastohuoneissa, ja kun määrä alittaa asetetun rajat, ilmoittaa sovellus siitä käyttäjälle. Näin kemikaalia olisi aina saatavilla, kun sitä tarvitaan. Raportointiin tullaan tulevaisuudessa todennäköisesti myös tarvitesemaan lisää toimintoja. Tähän opinnäytetyöhön sisällytettiin vain kaikkein oleellisimmat raportit, mutta on hyvin todennäköistä että käytön edetessä huomataan uusia tarpeita. Myös raportteihin käytetyt valmiit Microsot Word-pohjat haluttaisiin tulevaisuudessa kääntää Microsoft Exceliin, jotta saaduissa raporteissa voitaisi mahdollisesti suorittaa laskutoimituksia. Tällä hetkellä sovelluksessa ei ole käyttäjää ohjaavia toimintoja. Tällaisen tekeminen helpottaisi sovelluksen käyttöä sellaisille henkilöille jotka eivät ole aikaisemmin kyseistä sovellusta tai vanhaa sovellusta käyttäneet. Kemikaali voi olla monessa eri muodossa, esimerkiksi nesteenä tai rakeena. Tällä hetkellä tietokannan kemikaalitauluun on syötettävä kumpikin tapaus erikseen. Tulevaisuudessa tietokantaa ja sovellusta voisi muokata niin, että kemikaali lisättäisiin vain kerran ja eri olomuodot löytyisivät kemikaalin tarkemmista tiedoista. 5 Yhteenveto Opinnäytetyön tavoitteena oli luoda LUT:n kemiantekniikan osastolle kemikaalitietokanta sekä verkkosovellus sen käyttämistä varten. Verkkosovelluksen toivottiin olevan helppokäyttöinen. Verkkosovellus ja tietokanta on siirretty yliopiston IT-hallinnon palvelimille testikäyttöön. Kun sovelluksen viimeinen versio saadaan valmiiksi, siirtyy ylläpito vastuu LUT:n ITosastolle sekä muutamalle admin-käyttäjälle kemiantekniikan osastolta. Kaikki 21
22 sovelluksen tulevat käyttäjät eivät ole vielä sovellusta päässeet testaamaan, joten helppokäyttöisyydestä ei tässä vaiheessa voida vielä puhua. Palaute opinnäytetyössä mukana olleilta henkilöiltä on ollut positiivista. Verkkosovelluksen kehittäminen jatkuu vielä alkukesälle Omat tavoitteeni opinnäytetyössä oli luoda vaatimusten pohjalta toimiva ratkaisu päästä syventymään tietokantoihin, niiden luontiin, hallinnointiin sekä tietokantaohjelmointiin. Vaikka olin aikaisemmin työskennellyt samanlaisten tekniikoiden parissa, opin paljon uutta ja hyödyllistä tietokantojen käytöstä ja niiden käyttämisestä sovelluksen osana. Vaikenta opinnäytetössä oli aikamääreiden asettaminen. Yliopiston kemiantekniikan osastolla ei ollut kiire saada tietokantaa ja sovellusta käyttöön, joten heiltä ei asetettu opinnäytetyölle määräaikaa. Näin ollen jouduin itse asettamaan aikataulun ja ajan edetessä huomasin sen olevan haastavampaa kuin luulin. Eri sovellusten osien valmistukseen kuluvaa aikaa arvoidessa arvio saattioi olla liian vähän, mutta useammin se oli liian paljon. Verkkosovelluksen vieminen yliopiston IT-hallinnon palvelimelle aiheutti eniten harmia opinnäytetyön läpi viemisen kannalta. Toiminnallisuudet jotka olivat valmiina ja toimivat hyvin kehitysympäristössä, eivät välttämättä toimineet palvelimella. Tämä opinnäytetyö tuotti LUT:n kemiantekniikan osastolle kemikaalitietokannan sekä sitä käyttävän verkkosovelluksen. Niiden toivotaan tulevan käyttöön kesän 2015 kuluessa. 22
23 Kuviot Kuvio 1. MVC-arkkitehtuuri, s. 8 Kuvio 2. Esimerkki ASPX-syntaksista, s.9 Kuvio 3. Esimerkki Razor-syntaksista, s. 10 Kuvio 4. Esimerkki relaatiomallista, s. 13 Kuvio 5. SQL-skripti Chemical-taulun luomiseen, s. 14 Kuvio 6. Hakutoiminto, s. 15 Kuvio 7. Astian lisäämiseen tehty kemikaalinvalinta, s. 16 Kuvio 8. Astiahaku, s. 17 Kuvio 9. Astialista kemikaalin tiedoissa, s. 17 Kuvio 10. Metodi inventaarioraportin luomiseen, s.19 23
24 Lähteet 1. Lappeenrannan teknillinen yliopisto. Esittely. Luettu LUT School of Engineering Science. Luettu LUT Erotus. Luettu LUT Puhdistus. Luettu LUT Prosessit. Luettu ASP.NET. Luettu What is ASP.NET? Luettu Paz, J Beginning ASP.NET MVC 4, 1 9. Paz, J Beginning ASP.NET MVC 4, Google. MVC Architecture. Luettu Paz, J Beginning ASP.NET MVC 4, Paz, J Beginning ASP.NET MVC 4, Paz, J Beginning ASP.NET MVC 4, Topten Software. PetaPoco Luettu FunctionX. Introduction to Microsoft SQL Server. Luettu Granroth, K. Mitä SQL-kieli on? Luettu Microsoft. Tietokannan normalisoinnin perusteiden kuvaus. Luettu Valtioneuvoston asetus vaarallisten kemikaalien käsittelyn ja varastoinnin valvonnasta. 24
25 Liitteet Tietokannan rakenne -- Generated by Oracle SQL Developer Data Modeler at: :47:13 EET -- site: SQL Server type: SQL Server 2008 Create type idlist as Table Id integer go create procedure as dbo.idlist readonly as begin select distinct Container.ContainerId, Container.Remaining, Container.ContainerNumber, Container.ChemicalId, Container.Unit from Container left join Chemical on Chemical.ChemicalId = Container.ChemicalId left join ChemicalStatement on ChemicalStatement.Chemical_ChemicalId = Chemical.ChemicalId where ChemicalStatement.Statement_StatementId in select Id AND Container.IsRemoved=0 end go create procedure DeleteChemical@Id int as begin transaction begin try delete from ChemicalStatement where Chemical_ChemicalId delete from ChemicalDanger where Chemical_ChemicalId delete from Container where ChemicalId delete from ChemicalGHS where Chemical_ChemicalId delete from ChemSynonym where Chemical_ChemicalId delete from Chemical where ChemicalId commit end try begin catch rollback end catch go create procedure DeleteProject@Id int as begin transaction begin try delete from Usage where Usage.ProjectId delete from Project where Project.ProjectId commit end try begin catch rollback end catch go 25
26 create procedure varchar50 as begin transaction int begin try insert into SYNONYM = select SYNONYM.SynonymId from SYNONYM where SYN- ONYM.Name=@Name insert into commit end try begin catch rollback end catch go CREATE TABLE ChemSynonym Chemical_ChemicalId INTEGER NOT NULL, Synonym_SynonymId INTEGER NOT NULL, CONSTRAINT ChemSynonym IDX PRIMARY KEY CLUSTERED Chemical_ChemicalId, Synonym_SynonymId ; CREATE TABLE Chemical ChemicalId INTEGER NOT NULL IDENTITY1,1, FinName VARCHAR 80 NOT NULL, EngName VARCHAR 80, Formula VARCHAR 90, CAS VARCHAR 50, "ETY/EY-num" VARCHAR 50, WasteGlass VARCHAR 20, MolecularMass FLOAT, ProtectiveEq VARCHAR 500, Comments VARCHAR 100, MSDS VARCHAR 100, CONSTRAINT Chemical_PK PRIMARY KEY CLUSTERED ChemicalId ; CREATE TABLE ChemicalDanger DangerSign_DangerSignId INTEGER NOT NULL, Chemical_ChemicalId INTEGER NOT NULL, CONSTRAINT ChemicalDanger IDX PRIMARY KEY CLUSTERED DangerSign_DangerSignId, Chemical_ChemicalId ; CREATE TABLE ChemicalGHS Chemical_ChemicalId INTEGER NOT NULL, GHSSign_GHSSignId INTEGER NOT NULL, CONSTRAINT ChemicalGHS IDX PRIMARY KEY CLUSTERED Chemical_ChemicalId, GHSSign_GHSSignId ; 26
27 CREATE TABLE ChemicalStatement Chemical_ChemicalId INTEGER NOT NULL, Statement_StatementId INTEGER NOT NULL, CONSTRAINT ChemicalStatement IDX PRIMARY KEY CLUSTERED Chemical_ChemicalId, Statement_StatementId ; CREATE TABLE DangerSign DangerSignId INTEGER NOT NULL IDENTITY1,1, Symbol VARCHAR 10 NOT NULL, Picture VARCHAR 50, EngExplanation VARCHAR 50, FinExplanation VARCHAR 50, CONSTRAINT DangerSign_PK PRIMARY KEY CLUSTERED DangerSignId ; CREATE TABLE FilePath [Path] VARCHAR200 NOT NULL ; CREATE TABLE GHSSign GHSSignId INTEGER NOT NULL IDENTITY1,1, Symbol VARCHAR 10 NOT NULL, Picture VARCHAR 50 NOT NULL, EngExplanation VARCHAR 50 NOT NULL, FinExplanation VARCHAR 50 NOT NULL, SweExplanation VARCHAR 50 NOT NULL, CONSTRAINT GHSSign_PK PRIMARY KEY CLUSTERED GHSSignId ; CREATE TABLE Laboratory LaboratoryId INTEGER NOT NULL IDENTITY1,1, Name VARCHAR 100 NOT NULL, CONSTRAINT Laboratory_PK PRIMARY KEY CLUSTERED LaboratoryId ; CREATE TABLE Producer ProducerId INTEGER NOT NULL IDENTITY1,1, Name VARCHAR 50 NOT NULL, VARCHAR 50, WebPage VARCHAR 50, Phone VARCHAR 15, ContactPerson VARCHAR 40, CONSTRAINT Producer_PK PRIMARY KEY CLUSTERED ProducerId ; CREATE TABLE Project 27
28 ; ProjectId INTEGER NOT NULL IDENTITY1,1, Name VARCHAR 100 NOT NULL, CONSTRAINT Project_PK PRIMARY KEY CLUSTERED ProjectId CREATE TABLE STATEMENT StatementId INTEGER NOT NULL IDENTITY1,1, StatementName VARCHAR 15 NOT NULL, FinExplanation VARCHAR 250 NOT NULL, SweExplanation VARCHAR 250 NOT NULL, EngExplanation VARCHAR 250 NOT NULL, CONSTRAINT Statement_PK PRIMARY KEY CLUSTERED StatementId ; CREATE TABLE Supplier SupplierId INTEGER NOT NULL IDENTITY1,1, Name VARCHAR 50 NOT NULL, VARCHAR 50, WebPage VARCHAR 50, Phone VARCHAR 15, ContactPerson VARCHAR 40, CONSTRAINT Supplier_PK PRIMARY KEY CLUSTERED SupplierId ; CREATE TABLE SYNONYM SynonymId INTEGER NOT NULL IDENTITY1,1, Name VARCHAR 50 NOT NULL, CONSTRAINT Synonym_PK PRIMARY KEY CLUSTERED SynonymId ; CREATE TABLE Usage UsageId INTEGER NOT NULL IDENTITY1,1, Amount Float NOT NULL, Unit VARCHAR 2, UseDate DATE NOT NULL, UserId uniqueidentifier, ProjectId INTEGER, ContainerId INTEGER, CONSTRAINT Usage_PK PRIMARY KEY CLUSTERED UsageId ; CREATE TABLE Container ContainerId INTEGER NOT NULL IDENTITY1,1, ReceiveDate DATE NOT NULL, ContainerNumber VARCHAR 10 NOT NULL, Amount FLOAT NOT NULL, Unit VARCHAR 2 NOT NULL, Remaining FLOAT NOT NULL, StorageRoom VARCHAR 20, StorageCabin VARCHAR 20, 28
29 ; StorageShelf VARCHAR 20, Quality VARCHAR 100, ProductCode VARCHAR 20, ChemicalId INTEGER, ProducerId INTEGER, SupplierId INTEGER, LaboratoryId INTEGER, IsRemoved BIT NOT NULL, CONSTRAINT Container_PK PRIMARY KEY CLUSTERED ContainerId ALTER TABLE ChemSynonym ADD CONSTRAINT FK_ASS_2 FOREIGN KEY Chemical_ChemicalId REFERENCES Chemical ChemicalId ALTER TABLE ChemSynonym ADD CONSTRAINT FK_ASS_3 FOREIGN KEY Synonym_SynonymId REFERENCES SYNONYM SynonymId ALTER TABLE ChemicalDanger ADD CONSTRAINT FK_ASS_4 FOREIGN KEY DangerSign_DangerSignId REFERENCES DangerSign DangerSignId ALTER TABLE ChemicalDanger ADD CONSTRAINT FK_ASS_5 FOREIGN KEY Chemical_ChemicalId REFERENCES Chemical ChemicalId ALTER TABLE ChemicalGHS ADD CONSTRAINT FK_ASS_6 FOREIGN KEY Chemical_ChemicalId REFERENCES Chemical ChemicalId 29
30 ALTER TABLE ChemicalGHS ADD CONSTRAINT FK_ASS_7 FOREIGN KEY GHSSign_GHSSignId REFERENCES GHSSign GHSSignId ALTER TABLE ChemicalStatement ADD CONSTRAINT FK_ASS_8 FOREIGN KEY Chemical_ChemicalId REFERENCES Chemical ChemicalId ALTER TABLE ChemicalStatement ADD CONSTRAINT FK_ASS_9 FOREIGN KEY Statement_StatementId REFERENCES STATEMENT StatementId ALTER TABLE Usage ADD CONSTRAINT Usage_Project_FK FOREIGN KEY ProjectId REFERENCES Project ProjectId ALTER TABLE Usage ADD CONSTRAINT Usage_User_FK FOREIGN KEY UserId REFERENCES aspnet_users UserId ALTER TABLE Usage ADD CONSTRAINT Usage_Container_FK FOREIGN KEY ContainerId REFERENCES Container ContainerId ALTER TABLE Container 30
31 ADD CONSTRAINT Container_Chemical_FK FOREIGN KEY ChemicalId REFERENCES Chemical ChemicalId ALTER TABLE Container ADD CONSTRAINT Container_Laboratory_FK FOREIGN KEY LaboratoryId REFERENCES Laboratory LaboratoryId ALTER TABLE Container ADD CONSTRAINT Container_Producer_FK FOREIGN KEY ProducerId REFERENCES Producer ProducerId ALTER TABLE Container ADD CONSTRAINT Container_Supplier_FK FOREIGN KEY SupplierId REFERENCES Supplier SupplierId go create trigger syndelete on ChemSynonym after delete as declare cursorid cursor for select Synonym_SynonymId from deleted int open cursorid fetch next from cursorid while begin delete from SYNONYM where fetch next from cursorid end close cursorid deallocate cursorid go -- Oracle SQL Developer Data Modeler Summary Report: CREATE TABLE CREATE INDEX 0 -- ALTER TABLE 20 31
32 -- CREATE VIEW 0 -- CREATE PACKAGE 0 -- CREATE PACKAGE BODY 0 -- CREATE PROCEDURE 0 -- CREATE FUNCTION 0 -- CREATE TRIGGER 0 -- ALTER TRIGGER 0 -- CREATE DATABASE 0 -- CREATE DEFAULT 0 -- CREATE INDEX ON VIEW 0 -- CREATE ROLLBACK SEGMENT 0 -- CREATE ROLE 0 -- CREATE RULE 0 -- CREATE PARTITION FUNCTION 0 -- CREATE PARTITION SCHEME DROP DATABASE ERRORS 0 -- WARNINGS 0 32
33 33
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
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...
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ä
TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010
HELIA TIKO-05 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n tietotyypit... 8 Eheyssääntöjen määrittely...
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
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)
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)
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
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
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
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,
TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö
TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3
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...
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
Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)
SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert
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
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
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...
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
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ä
Lohdutus - tietokantadokumentti
Lohdutus - tietokantadokumentti Ohjelmiston tietokanta on toteutettu Oracle-ympäristöön, ja sitä käytetään ohjelmassa Hibernaten kautta. Tietokannan rakenne Tietokannan taulujen merkitykset Taulu Project
HELIA 1 (15) Outi Virkki Tietokantasuunnittelu
HELIA 1 (15) Luento 2.6 Käyttöoikeuksista ja suojauksesta... 2 Suojausten suunnittelu... 3 Käyttäjätunnukset... 4 Tunnuksen luominen... 5 Tunnuksen muuttaminen... 6 Tunnuksen poistaminen... 6 Oikeudet
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
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen
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,
Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto
Muita tietokantaobjekteja Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto Näkymät Näkymä (view) on looginen näyte tietokannan tauluista tai näkymistä Näkymä ei voi sisältää SELECT INTO,
MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO
MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO NÄKYMÄT Näkymä (view) on looginen näyte tietokannan tauluista tai näkymistä Näkymä ei voi sisältää SELECT INTO,
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,
Web Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36
!!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat
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
TIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata
HELIA 1 (11) Outi Virkki Tiedonhallinta
HELIA 1 (11) Luento Käyttöoikeuksista ja tiedon suojauksesta... 2 Käyttäjätunnukset... 3 Tunnuksen luominen... 4 Oikeudet / Valtuudet... 5 Oikeuksien hallinta SQL:ssa... 6 Suojaustarkkuus?... 7 Roolit...
Tietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava
3. Taulujen määrittely ja muuttaminen
3. Taulujen määrittely ja muuttaminen DDL: Taulujen luonti, muutos ja poisto DML: taulujen tietojen ylläpito Tapahtumien (transaktioiden) hallinta Näkymät, synonyymit ja muut tietokantaobjektit Taulujen
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
TIEDONHALLINNAN PERUSTEET - SYKSY 2013
TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 4 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Relaatiotietokannan suunnitteluprosessin
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
Tietokantakurssit / TKTL
Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien
Testidatan generointi
Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska
TIEDONHALLINNAN PERUSTEET - SYKSY 2013
TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin
3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN
3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN DDL: TAULUJEN LUONTI, MUUTOS JA POISTO DML: TAULUJEN TIETOJEN YLLÄPITO TAPAHTUMIEN (TRANSAKTIOIDEN) HALLINTA NÄKYMÄT, SYNONYYMIT JA MUUT TIETOKANTAOBJEKTIT TAULUJEN
Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000
Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->
Action Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta
Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)
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)
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 27.3.2018 CS-A1150 Tietokannat 27.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641)
Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä
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
Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri
Ylläpitodokumentti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 14.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
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
Kari Aalto Saariston IT
Saariston IT perustettu helmikuussa 2005 pitkä kokemus koulutuspalveluiden toimittamisesta Suomessa, Euroopassa ja Lähi-Idässä Arvot keskinäinen luottamus ja aito kumppanuus pitkäjänteinen yhteistoiminta,
Microsoft SQL Server -tietokannan hallinta. Jouni Huotari
Microsoft SQL Server -tietokannan hallinta Jouni Huotari 13.2.2008 Tavoite Saada käsitys SQL Serverin (v. 2005) ominaisuuksista + eri vaihtoehtojen hyvistä ja mahdollisista huonoista puolista Oppia luomaan
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 44
CS-A1150 Tietokannat 2.4.2019 CS-A1150 Tietokannat 2.4.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan taulujen (relaatioiden) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
Visual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot
T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi
EASY Tiedostopalvelin - mobiilin käyttöopas
EASY Tiedostopalvelin - mobiilin käyttöopas ios www.storageit.fi - Äyritie 8 D, 01510 VANTAA Salorantie 1, 98310 KEMIJÄRVI Sisältö 1. Lataaminen ja asennus 2. Kansiot ja tiedostot Uusien tiedostojen luonti
Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0
Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...
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...
SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010
SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus
Johdanto PHP PostgreSQL. PHP & PostgreSQL. Paul Tötterman 5. helmikuuta PHP & PostgreSQL.
Paul Tötterman paul.totterman@iki.fi 5. helmikuuta 2008 LAMP SQL LAMP LAMP L = Linux tai *BSD, Solaris... A = Apache M = MySQL tai... P =, Perl, Python, Ruby... Flickr, Yahoo, Facebook... : Hypertext Preprocessor
Visma Software Oy
pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n
Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas
Visma Liikkuvan työn ratkaisut Pääkäyttäjän opas Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan
Navistools Standard. Navistools
Navistools Standard Navistools on Naviswork pohjainen Asset management sovellus, jota käytetään laitoksen, infrakohteen tai rakennuksen elinkaarenaikasen tiedonhallintaan, suunnittelusta työmaavaiheen
Visual Basic -sovelluskehitin Juha Vitikka
Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen
HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki
HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin
PIC-koodin luominen URF-tietokantaan Participant Portal
PIC-koodin luominen URF-tietokantaan Participant Portal ECAS-tunnuksen hankkiminen Participant Portal osoite: http://ec.europa.eu/education/participants/portal/ Uudet käyttäjät, joilla ei vielä ole ECAS-tunnuksia:
Tietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................
L models. Käyttöohje. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
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.
ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus
Atte Aspiola ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Insinöörityö 13.9.2017 Tiivistelmä Tekijä(t) Otsikko Sivumäärä
Sisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology
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
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
Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto
Jyväskylän yliopisto SUUNNITELMA Tietotekniikan laitos 5.11.2003 Käki-projekti TIETOKANTASUUNNITELMA 1. Johdanto Suunnitelma sisältää kuvauksen tietokannan suunnittelussa käytetyistä periaatteista, kuvan
Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Mainosankkuri.fi-palvelun käyttöohjeita
Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...
Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia
Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,
HELIA 1 (16) Outi Virkki Tietokantasuunnittelu
HELIA 1 (16) Luento 3.2 Suorituskyvyn optimointi jatkuu...... 2 Tietojen tallennusratkaisut... 2 Tiedon tallennuksen yksiköitä... 3 Loogiset... 3 Fyysiset... 3 Tallennusmäärittelyt Oraclessa... 5 Loogiset
ALMU-järjestelmä Suunnitteludokumentti
ALMU-järjestelmä Suunnitteludokumentti Helsingin yliopisto TKTL Ohjelmistotuotantoprojekti Projektiryhmä: Peter Ahlberg, Marika Korhonen, Tomi Kuittinen, Iikka Meriläinen, Jukka Narkiniemi SISÄLLYS 1 Johdanto...
Kieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
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.
Coolselector Asennusohje
MAKING MODERN LIVING POSSIBLE Coolselector Asennusohje Täydellinen valinta on vain muutaman klikkauksen päässä www.danfoss.fi/kylma Yleiset vaatimukset Windows XP asennus Windows 7 asennus Asennuksen poisto
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
Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi!
Harjoitustyö CSE-A1200 Tietokannat Jasse Lahdenperä 345396 killedwhale@kapsi.fi Henri Nurmi 345545 henri.nurmi@kapsi.fi 1 Ensimmäisen vaiheen ratkaisu ER-Kaavio 2 Relaatiomalli: Loanable(Id, MaximumLoanTime)
Microsoft Visual Studio 2005
Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa
Visma Liikkuvan työn ratkaisut
Visma Liikkuvan työn ratkaisut Päivitysohje Pääkäyttäjän opas Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta.
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)
määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta
SQL tietokantakieli SQL:llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman
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...
Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI
Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5
Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa
Samanaikaisuuden hallinta Optiot transaktionaalisissa työnkuluissa Sisältö Transaktionaaliset työnkulut Samanaikaisuuden ongelmat Optiot idea käyttökohteet WorkMan Optioiden toteutus Arviointi Transaktionaaliset
HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät
HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...
Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli
tietokantakieli :llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman käyttöön
MySQL ja PostgreSQL Seminaarityö
Jani Ahde (1401497, TI14SPeli) MySQL ja PostgreSQL Seminaarityö Essee Opintojakso 206101312_TP Marraskuu 2015 SISÄLLYS 1 JOHDANTO... 3 2 RELAATIO JA SQL... 3 2.1 Relaatiotietokanta... 3 2.2 SQL... 4 3