Tietokannat ja versionhallinta
|
|
- Pia Hänninen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ville-Pekka Vahteala Tietokannat ja versionhallinta Tietotekniikan kandidaatintutkielma 6. toukokuuta 2015 Jyväskylän yliopisto Tietotekniikan laitos
2 Tekijä: Ville-Pekka Vahteala Yhteystiedot: Työn nimi: Tietokannat ja versionhallinta Title in English: Databases and Version controlling systems Työ: Kandidaatintutkielma Sivumäärä: 20+0 Tiivistelmä: Tämän tutkielman taustalla on työelämässä havaitut ongelmat tietokantojen rakenteiden ylläpitoon. Tavoitteena on löytää ratkaisumalli, joka mahdollisimman hyvin ratkaisisi havaitut ongelmat. Tietokannan rakennetta muokkaavien SQL lauseiden järjestelmällinen tallentaminen version hallintaan näyttää ratkaisevan ongelmia, vaikkakin rinnakkaisen kehitystyön osalta kaikkia ongelmia ei saatu ratkaistua. Avainsanat: Tietokanta, versionhallinta Abstract: This study is based on problems acknowledged during development work of databases. Study tries to find solutions to these problems. It seems that storing database structure altering SQL batches into version controlling system will solve some of the problems. However parallel development of database still has some issues. Keywords: Database, Version controlling systems i
3 Kuviot Kuvio 1. Tietokannan rakenne... 4 Kuvio 2. Tiedoston versiointi graafisesti esitettynä... 7 Kuvio 3. Rinnakkaiset kehityshaarat versionhallinnassa... 8 Kuvio 4. Flyway järjestelmän perusversio tietokannassa... 9 Kuvio 5. Perusversion luonti olemassa olevaan tietokantaan Flyway järjestelmässä10 ii
4 Sisältö 1 JOHDANTO TIETOKANTA Tietokannan rakenne SQL kieli VERSIONHALLINTA Versiot Haarat ERÄS RATKAISUMALLI Tietokannan versiointi Perusversio Muutokset Jatkuva integraatio YHTEENVETO...14 KIRJALLISUUSLUETTELO...15 iii
5 1 Johdanto Tämän tutkielman aiheena on tietokannan rakenteen ylläpito ja kehittäminen versionhallintaa hyödyntäen. Tarkoituksena on löytää malli, jonka avulla tietokannan rakenteeseen tehtävät muutokset ovat toistettavissa ja hallittavissa suurempina kokonaisuuksina. Nykyisessä käytännössä tietokantamuutokset ovat yksittäisiä verkkolevylle tallennettuja tiedostoja. Tiedostojen hallinta on hoidettu excel tiedoston avulla, johon jokainen kehittäjä on lisännyt omat tiedostonsa. Tästä on aiheutunut monenlaisia ongelmia. Tehtäessä versiopäivitystä testi- tai tuotantoympäristöön on havaittu ongelmia tietokantaobjektien toiminnassa tai päivitysrutiini on keskeytynyt virheeseen. Näissä tapauksissa on usein ollut kyse siitä, että kehittäjät ovat unohtaneet lisätä luomansa tiedostot excel tiedostoon. Ongelma voidaan ratkaista tallentamalla tiedostot versionhallintaan, jolloin excel tiedostoa ei enää tarvitse käyttää. Ajoittain on sattunut tilanteita, joissa kahdella kehittäjällä on ollut tarve muuttaa samanaikaisesti tietokannan objektia. Nykyisessä käytännössä tällaista tilannetta ei ole huomattu ja näin ollen excel tiedostossa jälkimmäisenä oleva muutos on jäänyt voimaan ja toinen on saattanut kadota kokonaan. Ratkaisussa jokaista objektia muokataan vain yhden versionhallinnassa olevan tiedoston avulla. Tällöin ristiriita tulee ilmi tallennettaessa objektia versionhallintaan. Nykyinen käytäntö mahdollistaa muutostiedoston luomisen objektille, joka on riippuvainen toisesta kehitysympäristössä muokatusta objektista, jolle ei ole vielä tehty muutostiedostoa. Tällöin riippuvaisen objektin muutos epäonnistuu päivitysrutiinissa. Tätä ongelmaa voidaan ratkaista ainakin kahdella tavalla. Ensimmäinen tavassa jokaisella kehittäjällä on oma tietokantansa, jolloin keskeneräisiin objekteihin viittaaminen on mahdotonta. Toisessa tavassa muutokset versioidaan muokkauspäivämäärän perusteella, jolloin objektit luodaan tietokantaan oikeassa järjestyksessä. 1
6 Ohjelmiston julkaisussa on ongelmia aiheutunut myös siitä, että tietokantaa ei ole voitu testata osana jatkuvan integraation mallia muiden ohjelmiston osioiden tapaan. Tästä syystä tietokantaobjekteihin liittyvät ongelmat on havaittu vasta julkaisujen yhteydessä ja ongelmien syiden etsiminen on ollut haastavaa sekä aikaa vievää. Pahimmillaan tämä on aiheuttanut jopa julkaisun viivästymisiä. Ratkaisumallissa tulee ottaa huomioon, että tietokanta voidaan luoda ilman manuaalista työtä osana jatkuvan integraation mallia. Ohjelmistojen elinkaaren aikana on tullut vastaan tilanteita, joissa tuotantoympäristössä ilmenevää ongelmaa ei saada toistettua muissa ympäristöissä. Näissä tilanteissa ainoita vaihtoehtoja ovat olleet ongelman tutkiminen tuotantoympäristössä tai tuotantoympäristön palauttaminen kehitysympäristöön. Ensimmäinen vaihtoehto saattaa haitata ohjelmiston päivittäistä käyttöä. Toinen vaihtoehto taas vie paljon aikaa ja levytilaa. Jotta tämä ongelma voidaan ratkaista, tulee ratkaisussa voida palata mihin tahansa tietokannan versioon. Tutkielman tulevissa luvuissa käydään ensin läpi tarkemmin läpi tietokantaa ja sen rakennetta sekä kuinka rakennetta ja tietoa muokataan. Versionhallintaa käsittelevässä luvussa käydään läpi tutkielman kannalta keskeisiä versiohallinnan käsitteitä kuten versiot ja haarat. Peruskäsitteiden läpikäynnin jälkeen esitellään ratkaisumalli. Viimeisessä luvussa on tutkielman yhteenveto. 2
7 2 Tietokanta Martinin (1977) mukaan tietokanta on kokoelma toisiinsa liittyviä tietoja, jotka ovat tallennettu ohjelmien käytettäviksi. Tallennustapa on riippumaton tietoa käyttävästä ohjelmasta ja tietojen tallennusrakenne mahdollistaa jatkuvan ohjelmistokehityksen (Martin 1977). Mannila ja Räihä (1992) toteavat tietokantojen elinikien olevan pitkiä ja tietokannan uudelleen suunnittelemisen olevan hankalaa, ellei jopa mahdotonta, koska alkuperäiset ehdot usein muuttuvat ohjelmiston elinkaaren aikana. Tällaisia ehtoja ovat esimerkiksi käytettävä tietokantajärjestelmä tai tietokantaa hyödyntävien sovellusten vaihtuminen. Martin (1977) kertoo tietokantojen kehittyvän jatkuvasti ja uusien ohjelmien käyttävän niitä. Tietokantoihin lisätään uusia rakenteita ja käyttäjät hakevat niistä tietoja uusilla tavoilla. Tämän vuoksi on tärkeää, että tietokannan rakennetta pystytään muokkaamaan muuttuvien tarpeiden mukaan. Tässä tutkielmassa keskitytään erityisesti relaatiotietokantoihin, joskin malli on sovellettavissa myös muihin tietokantoihin. Relaatiotietokannat on valittu ominaisuuksiensa takia. Ominaisuuksista kaksi merkittävintä ovat tietojen tallennus tauluihin ja taulujen relaatiot toisiinsa yhteisten kenttien kautta (Wang ja Tan 2005). 2.1 Tietokannan rakenne Tietokannan tiedot tallennetaan tauluihin, jotka ovat kokoelmia riveistä ja sarakkeista (Wang ja Tan 2005). Tietokannan taulut voidaan edelleen järjestellä virtuaalisiksi tauluiksi eli näkymiksi. Näkymät koostuvat todellisten taulujen osajoukosta ja ne voivat sisältää vain osan taulujen sisällöstä, jolloin ne mahdollistavat tietoturvan tavoitteet (Wang ja Tan 2005). Rakennetta on kuvattu kuviossa 1. Tietokantaan suoritettavia kyselyitä voidaan yhdistää aliohjelmiksi. Eisenberg (1996) määrittelee kolme laajaa mallia aliohjelmien toteuttamiseen: monen kyselyn proseduurit, tallennetut rutiinit ja moduulit sekä ulkoiset rutiinit. 3
8 Kuvio 1. Tietokannan rakenne 2.2 SQL kieli Structured Query Language (SQL) on IBM:n kehittämä kyselykieli, joka perustuu Edgar F. Coddin vuonna 1970 julkaistuun artikkeliin A Relational Model of Data for Large Shared Data Banks (Chamberlin ja Boyce 1974; Codd 1970). Kielen alkuperäinen tavoite on ollut tarjota yksinkertainen kieli tehtävien tekemiselle. Vuosien saatossa ja tietojärjestelmien erilaisten tarpeiden vaatiessa kielestä on tullut hyvin laaja ja monimutkainen. SQL kieli voidaan jakaa useisiin alakieliin, kuten Data Query Language (DQL), Data Control Language (DCL), Data Manipulation Language (DML) ja Data Definition Language (DDL) (Chamberlin ja Boyce 1974). Tämän tutkielman osalta keskitytään kahteen jälkimmäisenä mainittuun. Tiedon hakuun ja muokkaukseen tietokannassa käytetään DQL ja DML kieliä. Yleisesti DQL kieltä ei eritellä omakseen vaan se sisällytetään DML kieleen. Tärkeimmät komennot edellämainittuihin tarkoituksiin ovat: SELECT, INSERT, UPDA- TE ja DELETE (Microsoft 2015). Komentoja yhdistelemällä voidaan muodostaa luvussa 2.1 mainittuja aliohjelmia ja näkymiä. Data Definition Language (DDL) lausekkeilla muokataan tietokannan tietorakenteita, näkymiä ja aliohjelmia (Microsoft 2015). Tutkielman kannalta merkittävimpiä komentoja ovat CREATE, DROP ja ALTER, joiden avulla voidaan luoda, poistaa ja 4
9 muuttaa tietokannan rakenteita ja aliohjelmia. Listauksessa 2.1 on yksinkertainen tietokantataulun luontilause. CREATE TABLE Asiakas ( tunnus INT, nimi VARCHAR(50), osoite VARCHAR(100) ); Listaus 2.1. Tietokantataulun luonti 5
10 3 Versionhallinta Versionhallinnan avulla voidaan seurata ohjelmiston osien muutoshistoriaa sovelluksen kehityksen aikana. Fonseca (1996) kertoo versionhallinnasta olevan hyötyä erityisesti, kun halutaan palata aikaisempaan tilaan tai selvittää, kuinka kehitys on johtanut nykyiseen tilaan. Versionhallinta mahdollistaa myös kehityshaarojen luomisen sovelluksen eri versioiden ylläpidon vuoksi (Midha 1997). 3.1 Versiot Alkeellisimmallaan versionhallinnassa tiedostojen versiot erotetaan toisistaan lisäämällä tiedostoon nimeen versionumero. Esimerkiksi create_table.sql tiedoston ensimmäinen versio voitaisiin nimetä create_table.sql.1 ja sitä seuraava versio create_table.sql.2. Edellisen kappaleen tallennusmuoto vaatii kuitenkin suhteellisen paljon tallennustilaa. Kehittyneemmissä järjestelmissä tiedostoista tallennetaan ensimmäinen versio ja erot siihen nähden. Kahden version välistä eroa kutsutaan deltaksi. Tämä matematiikasta lainattu termi viittaa siihen, että versioiden tulisi erota vain vähän toisistaan, käytännössä näin ei kuitenkaan aina ole (Conradi ja Westfechtel 1998). Pelkkä versio ei riitä kuvaamaan kaikkia kehityksessä olevia tiedostoja. Tiedoston versiota, jonka tarkoitus on korvata aiempi versio, kutsutaan revisioksi (Fogel 1999). Kuviossa 2 tiedoston versio 1.6 on version 1.5 revisio. Tiedostojen samanaikaisesti kehitettäviä versioita kutsutaan varianteiksi (Conradi ja Westfechtel 1998). Kuvion 2 tiedoston versio ja ovat versioiden 1.5 ja 1.6 variantteja sekä toistensa revisioita. 3.2 Haarat Ohjelmistosta voi olla samaan aikaan kehityksessä useampi ominaisuus ja näiden osalta yleinen käytäntö on muodostaa ominaisuutta vastaava haara. Näin kehittä- 6
11 Kuvio 2. Tiedoston versiointi graafisesti esitettynä jät pystyvät keskittymään yhden ominaisuuden tekemiseen kerrallaan muiden kehittäjien keskittyessä muihin ominaisuuksiin. Collins-Sussman, Fitzpatrick ja Pilato (2011) määrittelevät haaran olevan muista kehityslinjoista riippumattoman kehityslinjan. Kuviossa 3 on kuvattu vihreällä värillä alkuperäistä kehityshaaraa, josta on erkaantunut sinisellä ja punaisella kuvatut kehityshaarat. 7
12 Kuvio 3. Rinnakkaiset kehityshaarat versionhallinnassa 8
13 4 Eräs ratkaisumalli Tässä esitellään yksi ratkaisumalli, jolla tietokannan rakenne voidaan tallentaa versionhallintaan ja kuinka tietokannasta voidaan muodostaa versioita. Mallin pohjana ovat K. Scott Allenin työssään havaitsemat kolme sääntöä. Ensimmäinen sääntö kieltää keskitetyn tietokannan käytön kehitystyössä, koska käytäntö johtaa virheisiin ja on aikaa vievää. Toinen sääntö kehottaa ylläpitämään yhtä lähdettä tietokannalla, jotta tietokanta voidaan helposti asentaa mihin tahansa ympäristöön. Kolmannen säännön mukaan tietokanta tulee versioida, jotta muutokset voidaan hallitusti viedä kehitysympäristöstä testausympäristön kautta tuotantoympäristöön (Allen 2008a). 4.1 Tietokannan versiointi Tietokannan versioinnin avulla pystytään saattamaan tietokanta haluttuun versioon. Tämä versio voi olla esimerkiksi tuotantoa vastaava versio, jolloin johdannossa 1 esitetty ongelma saatetaan pystyä toistamaan kehitysympäristössä. Allen (2008a) kertoo lisäksi versioinnin mahdollistavan hallitun muutosten tekemisen kehityksestä tuotantoon asti. Kuvio 4. Flyway järjestelmän perusversio tietokannassa 4.2 Perusversio Allen (2008c) määrittelee perusversion sisältävän kaikki tietokannan luomiseksi tarvittavat komennot mukaan lukien koodistotaulujen sisällön tuottavat lisäyslauseet. Flyway järjestelmässä perusversio voidaan muodostaa myös jo olemassa olevan tietokannan perusteella. Perusversioksi suositellaan käytettäväksi tuotannon tietokantaa (Fontaine 2015). 9
14 Perusversio voisi sisältää listauksen 4.1 kaltaisen tietokannan määrityksen. Esimerkkinä käytetään kuvitteellisen verkkokaupan tilaustenhallintaa ja asiakasrekisteriä. CREATE TABLE Asiakas ( tunnus INT, nimi VARCHAR(50), osoite VARCHAR(100) ); CREATE VIEW AsiakkaanOsoite AS SELECT DISTINCT osoite FROM Asiakas; CREATE TABLE TilauksenTilanne(tunnus INT, tilanne VARCHAR(50)); Listaus 4.1. Perusversion tietokannan taulujen ja näkymien luonti Flyway järjestelmä tarjoaa mahdollisuuden luoda perusversio jo olemassa olevaan tietokantaan seuraavalla komennolle. Kuvio 5. Perusversion luonti olemassa olevaan tietokantaan Flyway järjestelmässä 4.3 Muutokset Tietokannan elinkaaren aikana tulee vastaan tilanteita, joissa tietokannan rakennetta täytyy muokata. Tällaisia tilanteita ovat esimerkiksi muuttuneet vaatimukset sovelluksessa tai suorituskyvyn kannalta tärkeän indeksin lisääminen tauluun. Allen (2008b) luettelee muutoksien kohteiksi taulut, indeksit, avaimet ja rajoitteet. Erikseen käsiteltäviksi kohteiksi hän luettelee näkymät ja aliohjelmat (proseduurit ja funktiot). Listauksessa 4.2 on tyypillinen esimerkki muutoksesta, jossa tietokantatauluun lisätään sarake ja koodistotauluun lisätään rivi. 10
15 ALTER TABLE Asiakas ADD KenganNumero int NOT NULL DEFAULT 0 INSERT INTO TilauksenTilanne (Tunnus, Tilanne) VALUES(3, Peruttu ) Listaus 4.2. Tietokannan tyypillinen muutos Tärkeänä osana mallissa on virheiden esiintulo mahdollisimman aikaisessa vaiheessa. Tietokannassa on kuitenkin mahdollista muokata olemassa olevia rakenteita siten, että olemassa olevat kohteet eivät enää toimi. Tällaisesta muokkauksesta ei seuraa minkäänlaista virhettä tai varoitusta. Tämän vuoksi Allen (2008d) haluaa erottaa näkymien, proseduurien ja niiden kaltaisten kohteiden luonnin erillisiksi tiedostoiksi. Hän jatkaa vielä, että kyseisten kohteiden osalta tulee kirjoittaa aina kohteen poisto ja uudelleen luonti. Esimerkiksi listauksen 4.3 kaltainen muutos Asiakas tauluun aiheuttaisi AsikkaanOsoite näkymän hajoamisen ilman virhettä. Tällainen virhe ei pääsisi tapahtumaan, jos tietokannan rakenteellisten muutosten jälkeen näkymät, proseduurit ja muut toisista kohteista riippuvaiset kohteet poistettaisiin ja luotaisiin uudelleen. -- Normalisoidaan tauluja CREATE TABLE Osoite (tunnus INT, osoite VARCHAR(100)); -- tuodaan osoitteet asiakas-taulusta INSERT INTO Osoite SELECT ROW_NUMBER() OVER (ORDER BY osoite), Osoite FROM Asiakas GROUP BY Osoite; ALTER TABLE Asiakas ADD osoitetunnus INT; -- asiakkaan osoitteet kuntoon 11
16 UPDATE Asiakas SET osoitetunnus = osoite.tunnus FROM Osoite WHERE osoite.osoite = Asiakas.osoite; -- poistetaan osoite - sarake ALTER TABLE Asiakas DROP COLUMN osoite Listaus 4.3. Virheen aiheuttava rakenteellinen muutos tietokantaan Näiden muutosten jälkeen listauksen 4.4 ajaminen epäonnistuisi, koska Asiakas taulussa ei ole enää osoite kenttää. SELECT * FROM AsiakkaanOsoite; Msg 207, Level 16, State 1, Procedure AsiakkaanOsoite, Line 28 Invalid column name osoite. Msg 4413, Level 16, State 1, Line 28 Could not use view or function AsiakkaanOsoite because of binding errors. Listaus 4.4. Epäonnistunut kysely 4.4 Jatkuva integraatio Jatkuvan integraation puuttuminen tietokannan osalta on nykyisen käytännön haastavampia ongelmia. Tietokannan muutostiedostoissa olevat virheet tulevat esiin vasta versiopäivityksen yhteydessä, jolloin korjauksen löytäminen niihin on hankalaa. Järjestelmien jatkuva integraatio parantaa ohjelmiston laatua ja kehittäjien tuottavuutta kääntämällä ja testaamalla lähdekoodia sekä löytämällä virheet ennakolta (Kim et al. 2008). Ratkaisumallissa on päädytty käyttämään Flyway järjestelmää, jotta mallissa voidaan käyttää jatkuvaa integraatioa. Jenkins alustalle flyway järjestelmän liittäminen vaatii vain muutaman tunnin työn (Anderson 2012). 12
17 Luvussa 4.3 mainittu virhe paljastuisi jatkuvan integraation mallissa, koska näkymän luonti olisi vasta taulujen luonnin jälkeen ja sarakkeen puuttuminen johtaisi listauksen 4.5 mukaiseen virheeseen. DROP VIEW AsiakkaanOsoite; CREATE VIEW AsiakkaanOsoite AS SELECT DISTINCT osoite FROM Asiakas; Msg 207, Level 16, State 1, Procedure AsiakkaanOsoite, Line 33 Invalid column name osoite. Listaus 4.5. Näkymän luonti lauseen virhe jatkuvassa integraatiossa 13
18 5 Yhteenveto Tietokannoilla on jo pitkä historia osana ohjelmistoja. Perinteisesti ne ovat olleet kokonaan erillisiä ohjelmistokehityksestä, mutta niiden suhteen petää samat lainalaisuudet kuin muuhinkin ohjelmistokehitykseen laadun ja tuottavuuden osalta. Tietokantoja muokataan muuttuvien tarpeiden mukaan nyt ja tulevaisuudessa. Tämä tutkielma lähti liikkeelle käytännön ongelmista työelämässä ja lopputuloksena tutkielmassa esitellään malli, jolla suurin osa esitetyistä ongelmista saadaan ratkaistua. Malli vaatii kehittäjiltä jonkin verran kurinalaisuutta ja tahtoa tehdä asiat sovitulla tavalla, mutta nämä vaatimukset näkyvät ohjelmiston parempana laatuna. Tämä tutkielma tuntuu vain raapaisevan jatkuvan integraation osa-aluetta. Jatkossa kiinnostavia aiheita voisivat olla jatkuvan integraation ja käyttöönoton työkalujen vertailu tietokantojen näkökulmasta. 14
19 Kirjallisuusluettelo Allen, Scott K. 2008a. Three Rules for Database Work. Saatavilla WWW-muodossa, viitattu b. Versioning Databases Change Scripts. Saatavilla WWW-muodossa, bit.ly/1378lho, viitattu c. Versioning Databases The Baseline. Saatavilla WWW-muodossa, http: //bit.ly/1b7vspm, viitattu d. Versioning Databases Views, Stored Procedures, and the Like. Saatavilla WWW-muodossa, viitattu Anderson, Lyle Using Maven to Integrate Flyway in an Existing Database Part 1. Saatavilla WWW-muodossa, viitattu Chamberlin, Donald D., ja Raymond F. Boyce SEQUEL: A Structured English Query Language. Teoksessa Proceedings of the 1974 ACM SIGFIDET (Now SIG- MOD) Workshop on Data Description, Access and Control, SIGFIDET 74. Ann Arbor, Michigan: ACM. doi: / acm.org/ / Codd, E. F A Relational Model of Data for Large Shared Data Banks. Commun. ACM (New York, NY, USA) 13, numero 6 (kesäkuu): ISSN: doi: / Collins-Sussman, Ben, Brian W. Fitzpatrick ja C. Michael Pilato Version Control with Subversion. Saatavilla PDF-muodossa, bean. com/en/1.7/svn-book.pdf, haettu Conradi, Reidar, ja Bernhard Westfechtel Version Models for Software Configuration Management. ACM Comput. Surv. (New York, NY, USA) 30, numero 2 (kesäkuu): ISSN: doi: / http: //doi.acm.org/ /
20 Eisenberg, Andrew New Standard for Stored Procedures in SQL. SIGMOD Rec. (New York, NY, USA) 25, numero 4 (joulukuu): ISSN: doi: / http : / / doi. acm. org / / Fogel, Karl Franz Open Source Development with CVS. Scottsdale, AZ, USA: Coriolis Group Books. ISBN: Fonseca, Jonas GitTorrent: a P2P-based Storage Bakend for git. SIGMOD Rec. (Marraskuu). ISSN: Fontaine, Axel Documentation Flyway Database Migrations Made Easy. Saatavilla WWW-muodossa, viitattu Kim, Seojin, Sungjin Park, Jeonghyun Yun ja Younghoo Lee Automated Continuous Integration of Component-Based Software: An Industrial Experience. Teoksessa Proceedings of the rd IEEE/ACM International Conference on Automated Software Engineering, ASE 08. Washington, DC, USA: IEEE Computer Society. ISBN: doi: / ASE Mannila, Heikki, ja Kari-Jouko Räihä The Design of Relational Databases. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc. ISBN: Martin, James Computer Database Organization, 2Nd Ed. 2nd. Upper Saddle River, NJ, USA: Prentice Hall PTR. ISBN: Microsoft Transact-SQL Reference (Database Engine). Saatavilla WWW-muodossa, viitattu Midha, Anil K Software configuration management for the 21st century. Bell Labs Technical Journal 2 (1): ISSN: doi: /bltj Wang, Lingfeng, ja Kay CHen Tan Modern Industrial Automation Software Design. Wiley-IEEE Press. ISBN:
Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä
hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto
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 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...
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. 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ä
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)
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
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...
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ä
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
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
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
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
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: 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
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,
DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/
DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.
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,
Versiohallinta ja Subversion. 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi
Versiohallinta ja Subversion 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi Versiohallinta yleisesti Ongelma: lähdekoodin ja muun materiaalin säilyttäminen siten, että: se on kaikkien saatavilla tuorein versio
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...
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,
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
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
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
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
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
Menetelmäraportti - Konfiguraationhallinta
Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1
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...
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...
Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]
Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään
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...
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
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
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
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
Työkalut ohjelmistokehityksen tukena
1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan
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
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...
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,
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
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,
TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI
TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava. Muistutus: Tietokanta
HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen
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
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
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi
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,
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.
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
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
Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi
A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää
CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen
CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot
DOORSin Spreadsheet export/import
DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä
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
Avoin lähdekoodi hankinnoissa Juha Yrjölä
Avoin lähdekoodi hankinnoissa 9.6.2016 Juha Yrjölä Mitä on avoin lähdekoodi? 1. Lähdekoodi tulee jakaa ohjelmiston mukana tai antaa saataville joko ilmaiseksi tai korkeintaan luovuttamiskulujen hinnalla.
arvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
Tietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
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)
SELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
T-76.115 Testiraportti TR-3. ETL-työkalu
T-76.115 Testiraportti TR-3 ETL-työkalu ExtraTerrestriaLs Versio Päivämäärä Tekijä Kuvaus 1.0 14.03.05 Risto Kunnas Ensimmäinen versio 1.1 15.03.05 Risto Kunnas Korjauksia Sivu 1 / 14 Sisällysluettelo
ELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
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
IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1 Harjoitustyö Harjoitustöiden tilanne
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
ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011
1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen
Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat
Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite
Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen
Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen
Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi
Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi Esimerkkinä Excel-taulukkona ladattavat Helsingin pysäköintilippuautomaatit Viimeksi muokattu 27. huhtikuuta
DOORS Word DOORS 29.04.2004. SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi
DOORS Word DOORS 29.04.2004 SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä Telelogic DOORS -ohjelmistoa, jolloin vaatimusten
2 Eläinlistan kautta voidaan tallentaa tietoja kuolleille eläimille
Sisällys: Sisällys:... 1 WebLammas versio 1.0.8.3 korjaukset ja uudet ominaisuudet... 2 1 Eläin - välilehdelle tuodaan Tilan elossa olevat eläimet... 2 2 Eläinlistan kautta voidaan tallentaa tietoja kuolleille
Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Asennusohje Sahara-ryhmä Helsinki 31.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo
Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Asennusohje Sahara-ryhmä Helsinki 24.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo
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
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)
Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:
Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -
Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.
Pikaopas Microsoft Access 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Näyttökoon muuttaminen tai tietokannan sulkeminen
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
jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1
Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT
Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Agenda Regular Expression - funktiot Case-insensitive Sort Case-insensitive Seach Merge muutokset Tree-walking in 10g DML Returning Values
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2
Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
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)
Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä
OLAP-kuution teko Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta Esimerkin kuvaus ja OLAP-määritelmä Tavoitteena on luoda OLAP-kuutio Northwind-tietokannan tilaustiedoista
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
IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)
IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet?
Avointen ohjelmistojen käyttö ohjelmistokehityksessä
Avointen ohjelmistojen käyttö ohjelmistokehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc.,
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,
SQL:N PERUSTEET MARKKU SUNI
SQL:N PERUSTEET MARKKU SUNI Relaatiomallisen tietokannan käsittely Tietojen saanti, talletus ja päivitys tapahtuu SQL-kielellä Yhtä operaatiota sanotaan kyselyksi (query) Kyselyjä voidaan laittaa peräkkäin
Tietokantojen suunnittelu, relaatiokantojen perusteita
Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)
Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative
Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
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
Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö
Kon-15.4199 Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö 22.1.2016 Harjoituksessa 1. Varmistetaan että kaikilla on pari! Ilmoittautukaa oodissa etukäteen! 2. Tutustutaan ensimmäiseen tehtävään
Lineaariset kongruenssiyhtälöryhmät
Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................
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
Operatioanalyysi 2011, Harjoitus 2, viikko 38
Operatioanalyysi 2011, Harjoitus 2, viikko 38 H2t1, Exercise 1.1. H2t2, Exercise 1.2. H2t3, Exercise 2.3. H2t4, Exercise 2.4. H2t5, Exercise 2.5. (Exercise 1.1.) 1 1.1. Model the following problem mathematically: