Relaatiomalli kilpailijoineen luvuilla
|
|
- Mikael Karjalainen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Relaatiomalli kilpailijoineen luvuilla Risto Kuusterä Helsinki Tietojenkäsittelytieteen historia -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 Sisältö i 1 Johdanto 1 2 Tietomalleista Relaatiomalli Verkkomalli Hierarkiamalli Järjestelmät Integrated Data Store (IDS) Information Management System (IMS) System R Yhteenveto 12 Lähteet 14
3 1 Johdanto 1 Esitelmässä käsitellään tietokantojen historiaa kolmen tietomallin ja tietokantajärjestelmän kautta. Esittelyssä ovat verkko- hierarkia- ja relaatiomallit. Järjestelmistä huomion kohteena ovat ensimmäisenä onnistuneena toteutuksensa pidettävää IDS, sekä IBM:n hierarkiamllinen IMS ja saman yrityksen prototyyppijärjestelmä System R. Käsiteltävä aikakauksi alkaa 1960-luvulta ja päättyy 1980-luvun alkuun. Erilaisia tietokantoja oli toki ollut jo ennen 1960-lukua: Natsi-Saksan käytössä olleen IBM:n valmistaman reikäkorttipohjaisen väestötietokannan väitetään mahdollistaneen toisen maailmansodan aikaiset juutalaisvainot [Bla04]. Tarve digitaalisissa tietokoneissa toimiville tietokannoille syntyi, kun käytössä olleiden kortistojärjestelmien ylläpitämiseen tarvittavat työvoimakustannukset kasvoivat ja tietotekniikka kehittyi riittävästi mahdollistaen järjestelmien kehittämisen. Ensimmäiset tietokonepohjaiset tietokantajärjestelmät kehitettiin puolustusministeriöiden sekä tiedustelupalveluiden käyttöön. Tietokannanhallintajärjestelmien historian voidaan katsoa alkaneen kuitenkin vasta 1950-luvulla, jolloin tietokoneita käytettiin ensimmäisen kerran yritysten liiketoiminnan tukena. Tämä johtuu siitä, että sotilaalliseen käyttöön suunnitellut järjestelmät poikkesivat olennaisesti yritysten tarpeisiin kehitetyistä. [FS76] Varhaisissa tietojärjestelmissä oli tyypillistä, että kullakin sovelluksella oli oma tietosisältönsä sekä oma tapansa tallettaa se. Merkittävä muutos tässä ajattelussa tapahtui ja 70-luvun taitteessa, jolloin järjestelmien kasvaessa oli tarve tallettaa tieto sellaisessa muodossa, että useammat järjestelmät voisivat hyödyntää sitä. Eräs merkittävimmistä varhaisten tietokantojen kanssa työskennelleistä henkilöistä, Charles Bachman, vertasikin ajattelumallin muutosta tietojenkäsittelytieteellisessä mielessä yhtä merkittäväksi kuin Nikolas Kopernikuksen ja Galileo Galilein aikaansaamaa muutos maakeskeisestä maailmankuvasta aurinkokeskeiseksi maailmankuvaksi. [Bac75]
4 2 Tietomalleista 2 Jotta relaatiomallin nousu tunnetuimmaksi tavaksi mallintaa tietokanta, on syytä esittää sen keksimisen aikana markkinoilla olleet kilpailijat: verkko- ja hierarkiamallit. Toisin kuin relaatiomallin kohdalla, niiden osalta mallista puhuminen on hiukan harhaanjohtavaa. Tämä johtuu siitä, että mallinnettavat tietokannat olivat olemassa jo ennen mallien formalisointia. Relaatiomalli sen sijaan kehitettiin teoreettiselta pohjalta ja vasta mallin julkaisemisen jälkeen oli vuorossa tuotteiden kehitys. Mallien kehitysprosesseista johtuen niihin pohjautuvien tietokantojen käyttö poikkeaa toisistaan. Aikaisemmin kehitettyjen ja aikansa järjestelmien tapaan verkko- ja hierarkiamallin tietokannat ovat hyvin laitteistoläheisiä ja niiden käyttäjien vastuulla oli mahdollisimman tehokkaiden kyselyiden kirjoittaminen. Sen sijaan relaatiomallissa käyttäjä ei yleisesti ottaen ole tietoinen tietokannan sisäisistä tietorakenteista ja kyselynoptimointi on tietokannanhallintajärjestelmän vastuulla. Relaatiomallin esitelleen paperin [Cod70] jälkeen sen kehittänyt Ted Codd ja hierarkiamallin puolesta puhunut Charles Bachman julkaisivat muiden tutkijoiden säestämänä liudan artikkeleita [Bac75, DC75, MMC76], joissa malleja vertailtiin. Kiista mallien paremmuudesta oli kiivasta, kunkin tahon pitäessä kiinni mielipiteistään. Mielenkiintoinen sivujuonne aiheessa oli 70- ja 80-luvuilla tehty tutkimus mallien yhdistämisestä siten, että samaa tietokantaa olisi voitu käyttää sekä relaatio- verkko- että hierarkiamallisen tietokannan tavoin. Tutkimusten ansiosta nykyisin monia ei-relaatiopohjaisia tietokantoja käytetään SQL-kielellä. [Lie82] Artikkeleissaan Bachman oli sitä mieltä, että vaikka relaatiomallilla oli hieno teoreettinen pohja ja se oli hyvin dokumentoitu, ei sitä voitu pitää käyttökelpoisena ilman käytännön kokemuksia. Bachman myönsi puutteet verkkomallin dokumetoinnissa, mutta piti hyvin suurena vahvuutena kymmenen vuoden käyttökokemusta sadoista järjestelmistä, jotka oli toteutettu eri ympäristöihin. Bachmanin oli myös vaikea hyväksyä relaatiotietokannoissa
5 3 välttämättömiä keinotekoisia yksilöiviä tunnisteita. [Bac75] Malliaan puolustanut Codd piti [DC75] relaatiomallin suurinpana etuna sen helppokäyttöisyyttä: hän näki että tulevaisuudessa tietokoneiden käyttäjäkunta ei koostuisi pelkästään ohjelmoijista, vaan että tietokantoihin oli taattava pääsy myös tavalliselle kadunmiehelle. Codd oli myös osoittanut matemaattisesti, että monimutkaisuudestaan huolimatta verkkomallin tiedonkäsittelykieli ei ollut yhtään ilmaisuvoimaisempi kuin relaatiomallin kyselykieli. Hän piti relaatiomallin vahvana etuna sitä, että sen käyttäjien ei tarvinnut tuntea järjestelmän sisäisiä tallennusrakenteita kyetäkseen käyttämään sitä tehokkaasti. Tämä mahdollistaisi myös relaatiotietokannan dynaamisemman käytön. Lisäksi Codd uskoi, että relaatiotietokannassa mahdollinen taulujen ja sarakkeiden rajoittaminen ainoastaan tiettyjen käyttäjien käytettäväksi oli ominaisuus, jota ei verkkomallin tietokannassa voinut olla. [DC75] 2.1 Relaatiomalli Relaatiomallin kehitti IBM:llä työskennellyt matemaatikko / kemisti Ted Codd vuonna 1969 [Cod70]. Relaatiomalli poikkesi julkaisuhetkellä käytössä olleista malleista niin paljon, että siihen aikaan hierarkiamallisen IMS:n parissa työskennelleet tietokantaexpertit arvioivat (myöhemmin ajatellen yllättävän tarkasti) että menisi kymmenen vuotta ennen kuin malliin pohjautuva järjestelmä olisi valmis [MBB + 97]. Koska relaatiomallin pitäisi olla lukijoille tuttu, sitä ei esitellä tässä. Sen sijaan sitä käytetään esimerkkinä kuvassa 1, jossa on esitetty yksinkertainen pankin tietokanta. Tietokannasta esitellään myöhemmin verkko- ja hierarkiamalliset versiot. Tietokannassa on tiedot asiakkaista (nimi, katuosoite ja kaupunki) sekä näiden tileistä (yksilöllinen tilinumero ja tilin saldo). Järjestelmässä yhdellä henkilöllä voi olla monta tiliä ja tilillä monta omistajaa. Relaatiotietokanta koostuu kolmesta taulusta: CUSTOMER, ACCOUNT ja CUSTO-
6 4 MER_ACCOUNT. Asiakkaan tiedot, CUSTOMER_NAME, CUSTOMER_STREET ja CUSTO- MER_CITY, ovat CUSTOMER-taulussa. Lisäksi taulussa on sarake ID, johon on talletettu asiakkaan yksilöivä tunnus. ACCOUNT-taulu koostuu attribuuteista ACCOUNT_NUMBER ja BALANCE. Välitaulu CUSTOMER_ACCOUNT liittää asiakkaan ja tämän omistamaan tilin attribuuttien ID ja ACCOUNT-NUMBER avulla. Hayes Main Harrison Johnson Alma Palo Alto Smith North Rye A-102 A-101 A-201 A-201 A-215 A A A A Kuva 1: Relaatiomallin mukainen tietokanta Jotta eri mallien mukaisien tietokantojen käsittelyä olisi helppo verrata on seuraavassa esitetty esimerkkitietokannassa ajettava SQL-kysely, jolla noudetaan kaikkien Harrisonissa asuvien asiakkaiden nimet: SELECT customer_name FROM customer WHERE city="harrison"; 2.2 Verkkomalli Verkkomalli kehitettiin Charles Bachmanin suunnitteleman tietokantajärjestelmä IDS:n pohjalta. Mallin sekä siihen liittyvän tiedonkäsittelykielen standardoi CODASYL:n (Conference On DAta SYstems Language) tietokantaryhmä DBTG (Database Task Group) ja 1970-lukujen taitteessa [FS76]. Relaatiomalli monimutkaisemmassa verkkomallissa tietokannan tietoalkiot ja niiden väliset suhteet erotettu eri rakenteisiin. Attribuutteja sisältävät tietueet (record) liitetään toisiinsa joukoilla 1 (set). Joukot mallintavat tietueiden keskinäisiä suhteita sisältämällä osoittimia tietueisiin. CODASYL:n standardissa joukot mallintavat aina 1:N-suhteita siten, et- 1 Termi ei liity joukko-opilliseen synonyymiinsä
7 5 tä joukon omistaja-osoitin (owner) viittaa yhteen tietueeseen ja jäsen-osoittimet viittaavat mielivaltaiseen määrään tyypiltään yhteneviä tietoalkioita. [SKS05a] Kuvassa 2 DEPOSITOR-joukot (numeroitu 1-4), sisältävät osoittimet CUSTOMER- ja ACCOUNTtietueisiin. Hayes Main Harrison 1 A A Johnson Alma Palo Alto 3 A Smith North Rye 5 A Kuva 2: Verkkomallin mukainen tietokanta [SKS05a] Verkkomallissa tietoja hallitaa isäntäkielellä (host language) kirjoitetuilla sovelluksilla. Sovelluksissa isäntäkielen (esimerkeissä Pascalia, alunperin Gecom / Cobol) sekaan on kirjoitettu CODASYL:n määrittelemiä tietokantakomentoja. Järjestelmä pitää yllä kutakin sovellusta omaa käyttäjän muistialuetta (user work area), jossa on muistipaikat tietokannasta viimeksi noudetuille tietueille sekä joukko osoittimia (current of record type ja current of set type), jotka viittaavat suoraan ja joukkojen osoittimien välityksellä käsiteltyihin tietueisiin. Muistialueella on lisäksi tilamuuttujia (status flag), jotka ilmaisevat suoritettujen tietokantaoperaatioiden tilan. Tärkein tilamuuttuja on DB-STATUS, jossa on tallessa edellisestä tietokantaoperaatiosta mahdollisesti tullut virhekoodi. Mikäli edellinen tietokantaoperaatio onnistui, on tämän tilamuuttujan arvo 0. [SKS05a] Tärkeimmät CODASYL-DBTG:n määrittämistä tietokantakomennoista ovat: find: Etsii ehtojen mukaisen tietoalkion ja asettaa muistialueen osoittimet löydetyn osoittamaan tietoalkion osoitteeseen. get: Siirtää osoittimen osoittaman tietueen käyttäjän muistialuuelle. store: Lisää määritetyn tietueen levylle.
8 6 modify: Tallettaa muistialueella olevan muokatun tietueen muutokset levylle. erase: Poistaa osoittimen osoittaman tietueen levyltä. Edellisessä kappaleessa esitetty SQL-kysely voitaisiin suoritetaan verkkomallin tietokannassa oheisella tavalla. Mikäli aihe kiinnostaa, on Daten ja Coddin artikkelissa [DC75] paljon hurjempia esimerkkejä. customer.customer.city := "Harrison"; find any customer using customer.city; while DB-status = 0 do begin get customer; print(customer.customer_name); find duplicate customer using customer_city; end; 2.3 Hierarkiamalli Hierarkiamalli on hyvin samankaltainen kuin verkkomalli, sillä siinäkin tietokanta koostuu erillistä tietueista ja linkeistä (link), jotka ovat yhteyksiä kahden tietueen välillä. Toisin kuin verkkomallissa, jossa tietokanta on malliltaan epäsäännöllinen verkko, muodostaa hierarkiamallisen tietokannan rakenne puun. Puumuoto tarkoittaa siitä, että jokaisella tietueella (juurta lukuunottamatta) on yksi vanhempi (parent) ja mielivaltainen määrä lapsia (child), jotka voivat olla minkä tahansa tyyppisiä tietueita. Koska hierarkiamalli kehitettiin Apollo-ohjelman yhteydessä kehitetyn IMS-järjestelmän pohjalta, on mallin teoriaan liittyviä artikkeleita hyvin niukasti saatavilla. [SKS05b] Kuvassa 3 on hierarkiamallinen tietokanta. Sama tietokanta voitasiin mallintaa myös toisella tavalla, sillä on järjestelmän suunnittelijan vastulla määrittää tietokannan hierarkia. Kustakin vanhemmasta on linkit ensimmäiseen lapseen, ja niissä tiedot vanhemmista sekä linkki seuraavaan sisarukseen tai serkkuun. [SKS05b] Hierarkiamallisen tietokannan käsittely on hyvin samantyyppistä kuin verkkomallisen. Ohjelmia varten on käyttäjän muistialue, jossa käsitellään levyltä noudettuja tietuieta kä-
9 7 Hayes Main Harrison Johnson Alma Palo Alto Smith North Rye A A A A A Kuva 3: Hierarkiamallin mukainen tietokanta [SKS05b] sitellään. Verkkomalliin verrattuna komennoissa on se ero, että hierarkiamallissa getkomento sekä hakee ja siirtää halutun tietueen työmuistiin. Aiemmin esitellyn kyselyn suoritettaminen hierarkisessa tietokannassa tapahtuisi seuraavalla tavalla: get first customer where customer.customer_city = "Harrison" while DB-status = 0 do begin print (customer.customer_name) get next customer where customer.customer_city = "Harrison" end 3 Järjestelmät Seuraavassa esitellään kolme eri tietomalleihin pohjautuvaa tietokantaa: Charles Bachmanin kehittämää IDS, sekä IBM:n hierarkiamallinen IMS ja relaatiomallinen prototyyppitietokanta System R. Kaksi ensimmäistä ovat merkittäviä paitsi innovaatioidensa, myös aikanaan laajan käyttönsä ansiosta. System R:n merkitys perustuukin pääasiassa projektin aikana kehitettyyn SQL-kielen. Vaikka relaatiomallin tietokannat ovat nykyisin yleisiä, kannattaa huomioida, että vielä vuonna 1992 yli 70% kaikista teollisuuden ja hallinnon tietokannosta toimi hierarkia- tai verkkomallin mukaisesti. [Nav92]
10 8 3.1 Integrated Data Store (IDS) Merkittävin verkkomallinen tietokanta oli IDS (Integrated Data Store). Charles Bachmanin kehitti IDS:n General Electricille Verkkomallisessa tietokantaa käytettiin korkean tason kieleen (aluksi Gecom, myöhemmin Cobol) lisätyillä komennoilla. IDS:a pidetään yleisesti ensimmäisenä onnistuneesti toteutettuna tietokantajärjestelmänä. IDS sisälsi monia aikanaan edistyksellisiä ominaisuuksia. Yhteiskäyttöisessä IDS:ssa oli elvytysjärjestelmä, joka piti tietokannast atallessa kahta versioita, joita vertaamalla elvytys tapahtui (Shadow paging). Tietoalkioita oli mahdollista noutaa paitsi pääavaimen, myös muiden attribuuttien perusteella. [FS76] IDS:n pohjalta kehitetty IDMS (Integrated Data Management System) on edelleen käytössä monissa suurkoneissa toimivissa raskaissa järjestelmissä. IDMS on Computer Associates:n tuote, jota operoidaan SQL-kielellä. 3.2 Information Management System (IMS) Hierarkiamallisista tietokannoista tunnetuin on Apollo-ohjelman tavaranhallintaan kehitetty IBM:n IMS (Information Management System). Järjestelmän kantaisät ovat vuonna 1965 kehitetyt GUAM (Generalized Update Access Method) ja RATS (Remote-Access Terminal System), jotka toimivat IBM:n 7010-tietokoneessa. Näistä IBM:n kehitti yhdessä Rockwell Internationalin ja pian projektista vetäytyneen Caterpillar Tractor Corp.:n kanssa IMS:n (alkuperäiseltä nimeltään Information Control System (ICS)). [FS76, Bla98, SKS05b] IMS:n vahvuus oli sen tehokkaassa transaktionkäsittely. Alkuperäisen IMS:n rinnakkaisuudenhallintajärjestelmä oli ensimmäisiä laatuaan. Monta samanaikaista lukuoperaatiota sallinut järjestelmä ei mahdollistanut rinnakkaisia kirjoitusoperaatioita. Ankara rinnak- 2 Honeywell osti myöhemmin GE:n tietotekniikkaosaston ja Bachman jatkoi työtään siellä
11 9 kaisuudenhallinta oli aikanaan perusteltua, sillä tietokannoilla oli vain vähän yht aikaisia käyttäjiä, jotka suorittivat pitkiä eräajoja. Tähän tuli kuitenkin muutos 1970-luvun aikana, jolloin tietokantojen yht aikaisten käyttäjien määrä kasvoi ja transaktoista tuli lyhyempiä. IMS:sta kehitettiinkin enemmän keskusmuistitietokannan kaltainen järjestelmä, joka piti muistissa mahdollisimman paljon tietoa, tallettaen muutokset levyille ainoastaan tarkastuspisteissä (check point). [SKS05b] IMS on edelleen tuotannossa oleva järjestelmä ja sitä käytetään laajalti raskaissa sovelluksissa, kuten voimalaitosten ja pankkien järjestelmissä. [Bla98] 3.3 System R Relaatiotietokantojen kehityksen kannalta merkittävin yksittäinen järjestelmä on IBM:n San Josen tutkimuskeskuksessa 1970-luvulla kehitetty System R. Projektin aikana luotiin SQL-kielen ensimmäinen versio ja kehitettiin tietokantojen samanaikaisuuden hallintaan sekä tietoturvaan liittyviä käytäntöjä, jotka ovat yhä käytössä. System R:stä ei kehittynyt kaupallista menestystuotetta, mutta siihen liittyviä tieteellsiä artikkeleita julkaistiin runsaasti. Nämä paperit auttoivat muita relaatiotietokantojen kehittäjiä työssään ja mahdollistivat menestyksen Oraclen johdolla [MBB + 97]. System R ei suinkaan ollut ensimmäinen relaatiotietokanta, sillä jo vuosina 1970 ja 1971 MIT:ssä oli kehitetty kaksi Multics-järjestelmässä toimivaa tietokantajärjestelmää MA- DAM (MacAIMS Data Management System) ja RDMS (Relational Data Management System) [Kim79]. Myös ensimmäinen kaupallinen relaatiotietokanta, omaa kyselykieltään käyttänyt Honeywellin Multics Relational Data Store (MRDS), julkaistiin ennen System R:n valmistumista kesällä Multics-käyttöjärjestelmässä toimineen järjestelmän kehittivät James Weeldreyer ja Oris Friesen. [McJ] System R:n kehitys alkoi vuoden 1974 loppupuolella ja projekti päättyi vuonna Projekti koostui kolmesta vaiheesta: yhden käyttäjän prototyypin rakentamisesta, varsinaisen
12 10 monen käyttäjän järjestelmän toteuttamisesta sekä kolmen asiakkaan luona tapahtuneesta testauksesta. Projektin alkaessa oli tiedossa, että relaatiomallissa tiedon riippumattomuus tietokannan sisäisistä rakenteista on huomattavasti parempi kuin toisissa malleissa. Myös kehitettävän korkeamman abstraktiotason kyselykielen uskottiin parantavan järjestelmän käyttäjien työn tehokkuutta. Vallalla oli kuitenkin epäilys siitä, olisiko tietokannanhallintajärjestelmän mahdollista muokata käyttäjän syöttämät korkean tason kyselyt tarpeeksi tehokkaiksi, jotta järjestelmän suorituskyky olisi riittävä. Epäilyt olivat samankaltaisia, kuin kymmenen vuotta aiemmin, jolloin korkeamman tason ohjelmointikieliä oli kehitetty ja ne olivat löyneet itsensä läpi. Eräs kehittäjien visiosta oli kehittää väline tavallisten loppukäyttäjien tiedonhallintaan. SQL:n läpimurto välikielenä sovelluksien ja tietokannan välissä tapahtuikin puolivahingossa. [MBB + 97, CAB + 81] Prototyypin rakennus, Phase Zero, ajoittui vuosille 1974 ja Raymond Lorien kehittämän yhden käyttäjän relaatiosaantimenetelmä 3 (relational access method) XRM:n (Extended Relational Memory) päälle rakennettu prototyyppi tarjosi mahdollisuuden tehdä tietokantakyselyjä järjestelmää varten kehitetyllä SEQUEL-kielellä (Structured English Query Language). SEQUEL:n pohjana oli Roy Boycen ja Don Chamberlinin matemaattisia notaatioita sisältänyt SQUARE-kieli [BCHK75], jonka avainsanat oli käännetty englanniksi. Koska SEQUEL oli Hawker Siddeley Aircraft Companyn tavaramerkki, jouduttiin kielen nimi muuttamaan myöhemmin SQL:ksi. Prototyypillä ei ollut kaupallista merkitystä, mutta sen avulla onnistuttiin varsinaiselle järjestelmälle hankkimaan muutama asiakas. Myöhemmin prototyypistä kehitettiin IBM:n SQL/Data System -tietokantajärjestelmä. Varsinainen System R toteutettiin IBM:n System/370-tietokoneelle vuosina Järjestelmä koostui kahdesta alijärjestelmästä (kuva 4), jotka olivat kyselynkäsitteljä RDS (Relational Data System) ja saantimenetelmä RSS (Research Storage System). Järjestelmässä oli lisäksi itsenäinen käyttöliittymä UFI (User-Friendly Interface), joka mahdollisti kyselyjen suorittamisen terminaalissa. [CAB + 81] 3 Saantimenetelmä on tietokannan osajärjestelmä, joka noutaa levyltä muistiin määritetyt monikot
13 11 Stand-alone SEQUAL Statement User Friendly Interface RDS RSS Database Kuva 4: System R:n arkkitehtuuri [Kim79] Kyselynkäsittelijä huolehti järjestelmän tiedon autentikoinnista muokkaamalla kyselyt muotoon, jossa tietokannan käyttäjillä oli pääsy ainoastaan heille sallittuihin tietoihin. System R mahdollisti myös tietokantanäkymien käytön. Kyselynkäsittelijä RDS:n tehtävänä oli käsitellä ensin käsitellä käyttäjän syöttämät kyselyt sellaiseen muotoon, että kyselyjen tulokset olivat järjestelmän autentikointipolitiikan mukaisia. Tämän jälkeen RDS käänsi kyselyt System/370:n konekielen rutiineiksi. Kyselyjen kääntäminen konekielisiksi oli merkittävästi tehokkaampaa kuin niiden tulkkaaminen. Alusta lähtien monen käyttäjän käyttöön tarkoitetun RSS:n suunnittelu oli alkanut jo prototyypin rakennusvaiheessa. Alijärjestelmä piti sisällään järjestelmän lukitus- ja elvytystoiminnot. Kehitetty lukitusjärjestelmä oli hierarkinen ja siinä oli käytössä aikomuslukot. Nykyisetkin tietokannanhallintajärjestelmät käyttävät samaa lukituskäytäntöä. Sen sijaan tietokannan sivuista levyllä kahta versiota pitänyt elvytyskäytäntö (Shadow paging) on korvattu sofistikoituneimmilla menetelmillä [MHL + 92]. System R:n testausvaiheessa vuosina järjestelmää käytettiin paitsi IBM:n sisäisessä käytössä myös Boeingilla ja suihkumoottoreita valmistaneessa Pratt & Whitneyllä sekä lääkevalmistaja W.E. Upjohnilla, jossa järjestelmä oli käytössä vielä pitkään projektin päättymisen jälkeen. Varsinaisia suorituskykymittauksia ei testausvaiheessa tehty ja
14 12 merkittävin testauksessa tehty huomio oli se, että SQL-kieli todettiin toimivaksi ja helppokäyttöiseksi myös oikeassa käytössä. Järjestelmän tehokkuus ei kuitenkaan ole voinut olla vertailukelpoinen kilpailevien järjestelmien kanssa, sillä System R:stä ei koskaan tehty kaupallista versiota. Testikokemusten perusteella SQL-kieleen lisättiin joitakin ominaisuuksia, tärkeimpinä ulkoliitokset sekä merkkijonojen vertailua helpottavan LIKE-operaattorin. [MBB + 97, CAB + 81] Projektien päätyttyä oli selvinnyt, että relaatiomallinen tietokanta oli mahdollista toteuttaa. Projektin puitteissa kehitetystä SQL-kielestä tuli ANSI-standardi SQL-kieltä hyödyntäneitä järjestelmiä julkaistiin jo aiemmin, ja esimerkiksi Oracle 4 oli kehittänyt oman SQL:ää tukeneen tietokannanhallintajärjestelmänsä, Oracle versio 2:n, jo vuonna Oraclen kehityksessä käytetettin apuna runsaasti System R -projektin aikana julkaistuja papereita, mutta yksinkertaisena järjestelmänä se toimi huomattavasti esikuvaansa vaatimattomammalla alustalla, Digitalin PDP-11 minikoneella. Konekielellä kirjoituttu järjestelmä ei ollut kovin vakaa ja siitä puuttuivat esimerkiksi transaktiot, mutta yksinkertainen järjestelmälle löytyi käyttäjäkunta yritysten johtoportaista ja yrityksen myöhemmät järjestelmät osoittautuivat onnistuneemmiksi. [MBB + 97, Nau04, Jac03] 4 Yhteenveto Kunkin esitellyn järjestelmän vaikukset on nähtävillä vielä nykypäivänä: IDS:n kehityksessä merkittävin innovaatio oli tiedon siirtäminen sovelluksista monen käyttäjän tietokantaan, IMS:n yhteydessä kehitetyt transaktionhallinta sekä elvytyskäytännöt ovat selvästi nykyjärjesetelmien edeltäjiä ja System R:n ohessa kehitetty SQL-kieli on merkittävin nykyisistä tietokannankäsittelykielistä. Tietokantojen kehitys on noudattanut samaa kehitystä kuin ohjelmointikielten: ne ovat kehittyneet hyvin laiteläheisistä kohti abstraktimpia ja käyttäjän kannalta helpompia jär- 4 Alunperin Relational Software Inc
15 13 jestelmiä. Ohjelmointikielet ovat aina olleet tässä kehityksessä edellä ja siellä olio-ajattelu on jo vallalla, joten tulevaisuudessa saattaa olla edessä siirtyminen relaatiomallista oliopohjaiseen tapaan mallintaa tietokanta. Tämä on sinällään ironista, sillä oliomalli voidaan nähdä verkkomallin jälkeläisenä.
16 Lähteet 14 Bac75 Bachman, C. W., The data structure set model. Proceedings of the 1974 ACM SIGFIDET workshop on Data description, access and control, 1975, sivut BCHK75 Bla98 Bla04 CAB + 81 Cod70 DC75 FS76 Boyce, R. F., Chamberlin, D. D., Hammer, M. M. ja King III, W. F., Specifying queries as relational expressions. Communications of the ACM, 18,11(1975). Blackman, K. R., Technical note IMS celebrates thirty years as an IBM product. IBM Systems Journal, 37,4(1998). Black, E., IBM and the holocaust (websivu, tarkastettu 24.3.), URL Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J. N., King, W. F., Lindsay, B. G., Loriea, R., Mehl, J. W., Price, T. G., Putzolu, F., Sellinger, P. G., Schkolnick, M., Slutz, D. R., Traiger, I. L., Wade, B. W. ja Youst, R. A., A history and evaluation of System R. Communications of the ACM, 24,10(1981), sivut Codd, E. F., A relational model of data for large shared data banks. Communications of the ACM, 13,6(1970), sivut Date, C. J. ja Codd, E. F., The relational and network approaches: comparasion of the application programming interfaces. Proceedings of the 1974 ACM SIGFIDET workshop on Data description, access and control, 1975, sivut Fry, J. P. ja Sibley, E. H., Evolution of data-base management systems. ACM Computing Surveys, 8,1(1976), sivut Jac03 Jacobs, K., Oracle database changed the world. Oracle Magazine, 2,3(2003). Kim79 Kim, W., Relational database systems. ACM Computing Surveys, 11,3(1979), sivut Lie82 MBB + 97 Lien, Y. E., On the equivalence of database models. Journal of the Association for Computmg Machinery, 29,2(1982), sivut McJones, P., Bamford, R., Blasgen, M., Cheng, D. C. J., Daudenarde, J.-J., Finkelstein, S., Gray, J., Jolls, B., Lindsay, B., Lorie, R., Mehl, J., Miller, R., Mohan, C., Nauman, J., Pong, M., Price, T., Putzolu, F., Schkolnick, M., Selinger, B., Selinger, P., Slutz, D., Traiger, I., Wade, B. ja Yost, B., The 1995 SQL reunion: People, projects, and politics. Tekninen raportti, Digital, 1997.
17 15 McJ MHL + 92 MMC76 McJones, P., Multics Relational Data Store (MRDS) (websivu, tarkastettu 24.3.). URL Mohan, C., Haderlen, D., Lindsay, B., Piresh, H. ja Schwarz, P., ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems, 17,1(1992), sivut Michaels, A. S., Mittman, B. ja Carlson, C. R., A comparison of the relational and CODASYL approaches to data-base management. ACM Computing Surveys, 8,1(1976), sivut Nau04 Naudé, F., FAQ about oracle corporation (websivu, tarkastettu 24.3.), URL Nav92 Navathe, S. B., Evolution of data modeling for databases. Communications of the ACM, 35,9(1992), sivut SKS05a Silberschatz, A., Korth, H. F. ja Sudarshan, S., Appendix A: Network model (julkaistu ainoastaan webissä tarkastettu 24.3.). Database System Concepts Fifth Edition, 2005, URL SKS05b Silberschatz, A., Korth, H. F. ja Sudarshan, S., Appendix B: Hierarchial model (julkaistu ainoastaan webissä, tarkastettu 24.3.). Database System Concepts Fifth Edition, 2005, URL
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
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ää
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
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
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ä
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 9.3.2010 Kandidaatin tutkielma, aine HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
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,
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
Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1
Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi
Tietokantojen perusteet
Tietokantojen perusteet Johdanto Jouni Huotari & Ari Hovi 2008 TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,
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
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
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
Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT
Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja
Tietokantojen historia ennen SQL:ää
hyväksymispäivä arvosana arvostelija Tietokantojen historia ennen SQL:ää Eila Helena Salmela Helsinki 4.5.2007 Tietojenkäsittelyn historia -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
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...
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ä
A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09
A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää
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 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin
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
TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI
TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2017 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,
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...
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta
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
D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta
Tietokannan hallinta - kurssin tavoite Kurssilla opitaan periaatteet fyysisen tietokannan tallennuksesta ja käsittelystä tietokantakyselyiden muuntamisesta fyysisen tietokannan käsittelyoperaatioiksi kyselyn
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)
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
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
IHTE-1900 Seittiviestintä
IHTE-1900 Seittiviestintä Tietokannat 15.11. Päivän aiheet Tietokantojen perusteita Mihin tietokantoja voidaan käyttää? Mitä hyötyä tietokannoista on? Esimerkkejä tietokantojen käytöstä Mihin tietokantoja
IHTE-1900 Seittiviestintä
IHTE-1900 Seittiviestintä Tietokannat 15.11. Päivän aiheet Tietokantojen perusteita Mihin tietokantoja voidaan käyttää? Mitä hyötyä tietokannoista on? Esimerkkejä tietokantojen käytöstä 1 Mihin tietokantoja
Kymenlaakson Ammattikorkeakoulu
Kymenlaakson Ammattikorkeakoulu Tietotekniikka/Tietoverkkotekniikka Jussi Toivakka ja Juha Törö MySQL & PostGRE 1 Sisällysluettelo 2 Yleistä tietokannoista... 3 3 MySQL... 4 3.1 Historiaa... 4 3.2 Käyttö...
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................................
Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa
Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista
Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström
Tietokantajärjestelmien tulevaisuuden haasteet Jan Lindström 1 Lähteet: "One Size Fits All": An Idea Whose Time Has Come and Gone,Michael Stonebraker (EECS Dept., M.I.T. and StreamBase Systems, Inc.),
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
Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)
HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n
TIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 02 Tietokantojen perusteita Tietokanta Näistä vaatimuksista seuraa: tietokantaan liittyy ohjelmisto, joka hoitaa sitä tämä ohjelmisto varsinaisesti lukee ja kirjoittaa
1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät
1.1 Käsitteet ja termit 1.2 Historia Luku 1 Johdanto ITKA204 kevät 2016 1 Kurssin sisältö - tarvittavat käsitteet - historiaa 1. johdanto 2. analyysi ja arkkitehtuuri - DBMS:n sovellusarkkitehtuuri - käsitteellinen
Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
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
Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen
Seminaari: Keskusmuistitietokannat Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Sisältö Johdanto Esiteltävien menetelmien taustoja Hajautetun tietokannan spekuloiva samanaikaisuuden
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
TIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 01 Peruskäsitteitä Kurssin tavoite: antaa osallistujille valmiudet ymmärtää tietokantojen periaatteet ymmärtää tietokantojen suunnittelunäkökohtia osallistua tietokantojen
Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP
RINT THIS DOCUM ENT Relaatiotietokannat DONOTP Relaatiomalli Perustana rakennetason tietomalli relaatiomalli (the relational model of data) perusteoria: Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun
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...
7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1
perusteita - relaatiokalkyylit perusteita - relaatiokalkyylit Relaatioalgebra on luonteeltaan proseduraalinen tapa käsitellä tietoa. Tiedon haetaan sarjaksi järjestettyjen operaatioiden avulla. Edellä
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) ->
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
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
Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1
Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija OUGF syysseminaari 2002 Sivu 1 Oracle 8i (8.1.7) muistinkäyttöä ja viritystä: SGA ja PGA mitä ne on ja niihin vaikuttavat init.orat SGA:n rakenne Kannan
Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista
Helsingin yliopisto Tietojenkäsittelytieteen laitos 26.2.2014 (H.Laine) Tietokantojen perusteet Liitteenä: Tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastausarkkiin kurssin nimi, tenttipäivä,
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
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
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)
Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.
Käytettävyyslaatumallin rakentaminen web-sivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.2005 Kirjoittajan ABC-kortti
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
Tietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n
Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.
Tieto - data Digitaalisesti tallennettua informaatiota jostakin kohteesta Vapaamuotoinen tieto (unformatted) Esim. teksti, puhe, kuvat, Sisältö jäsentämätöntä Koneellinen käsittely vaikeaa paitsi kokonaisuutena
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
EXEC SQL BEGIN DECLARE SECTION
Tietokantaohjelmointi Tietokantaa käytetään harvoin suoraan kyselyliittymän kautta Tyypillisesti käyttö tapahtuu sovellusohjelman kautta Sovellusohjelmaa laadittaessa vaihtoehtoja tietokantakäsitettelyn
Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen
Käyttöjärjestelmien historia Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien jaottelu Voidaan jaotella erilaisin menetelmin Aikajana (määrä,
HITSAUKSEN TUOTTAVUUSRATKAISUT
Kemppi ARC YOU GET WHAT YOU MEASURE OR BE CAREFUL WHAT YOU WISH FOR HITSAUKSEN TUOTTAVUUSRATKAISUT Puolitetaan hitsauskustannukset seminaari 9.4.2008 Mikko Veikkolainen, Ratkaisuliiketoimintapäällikkö
On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )
Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla
TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan
Sovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely
HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...
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
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
VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009
VHDL/Verilog/SystemC Jukka Jokelainen 20.10.2009 Sisältö Mitä ihmettä on hardwaren ohjelmointi? VHDL Verilog SystemC Analogiaelektroniikan yhdistäminen digitaaliseen maailmaan Yhteenveto ja pohdintaa Hardwaren
Interfacing Product Data Management System
Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5
Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj
SUOMEN KUNTALIITTO Sosiaali- ja terveysyksikkö Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj ~ (operatiiviset-/tiedonjakelu-/si~llönhallinta~velluk~et)
Ohjelmistojen mallintaminen
Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta
Luento 3 Tietokannan tietosisällön suunnittelu
HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen
PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki
PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet
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
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)
Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi 23.2.2000. Harri Laine 1. SQL:n käyttö ohjelmissa
SQL:n käyttö ohjelmissa Tietokannan käyttö ohjelmasta Miksi vuorovaikutteinen käyttö ei riitä? kielen hallinta: maallikot? yhdistetään yleiskielen ja tietokantakielen edut, mm.» monimutkaisempi laskenta»
Tietokannanhallintajärjestelmä (DBMS)
HELIA TIKO-05 1 (8) Tietokannanhallintajärjestelmä (DBMS) Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Peräkkäistiedostot... 3 Suorasaantitiedostot... 4 Tiedoston palvelut...
Choose Finland-Helsinki Valitse Finland-Helsinki
Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun
HELIA 1 (17) Outi Virkki Tiedonhallinta
HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain
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.
Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus
Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.
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
Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)
Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/
AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY
T304/A01/2017 Liite 1 / Appendix 1 Sivu / Page 1(5) AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY Tunnus Code Laboratorio Laboratory Osoite Address
Applen käyttöjärjestelmät
Applen käyttöjärjestelmät Ari Karjalainen Tietojenkäsittelytieteen historia-seminaari 2006 Helsingin yliopisto, Tietojenkäsittelytieteen laitos apple Yksi yhtiö, monta käyttöjärjestelmää... Applen käyttöjärjestelmät
Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne
HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten
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
Johdatus ohjelmointiin
Johdatus ohjelmointiin Ohjelmistot tietokonejärjestelmissä Jaana Holvikivi Ohjelmistojen tehtävät Sovellusohjelmat tekstinkäsittely ja muut toimistosovellukset kirjanpito, tuotannonohjaus selaimet, mediaohjelmat
Yhdiste, leikkaus, erotus ym.
Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.
Pika-asennusohjeet Suomeksi
Pika-asennusohjeet Suomeksi (Virallinen ohje löytyy asennuslevyltä Englanninkielisenä) Tulosta tämä ohje asennuksen avuksi. Ensiksi asennetaan itse ohjelma, sitten rekisteröidytään testerin käyttäjäksi
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...
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
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?
Looginen tietokanta ja transaktiot
Looginen tietokanta ja transaktiot A. Silberschatz, H. F. Korth & S. Sudarshan: Database System Concepts. Fifth Edition. McGraw-Hill, 2006, sivut 22 23, luvun 1 (introduction) kohta kohta 1.9 (transaction
Security server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents
CS-A1150 Tietokannat CS-A1150 Tietokannat / 39
CS-A1150 Tietokannat 20.2.2018 CS-A1150 Tietokannat 20.2.2018 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta