CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39
|
|
- Leena Pirjo Lahti
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39
2 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä voidaan kysyä tentissä. Huomaa kuitenkin, että kaikki kurssialueen asiat asiat kuuluvat tenttivaatimuksiin, jos ei ole erikseen mainittu, että ne eivät kuulu. Kysymyksiä voi olla myös erilaisia kuin mitä tässä on esitetty esimerkkeinä. Vierailuluennon (NoSQL-tietokannat) asiat eivät kuulu tenttivaatimuksiin. Tämän luennon kalvot eivät sovellu niillä mainittujen asioiden itseopiskeluun, koska asiat on esitetty niillä liian lyhyesti. Asiat on selitetty tarkemmin vastaavien luentojen kalvoissa. CSE-A1150 Tietokannat / 39
3 Tärkeä käytännön asia Muista ilmoittautua tenttiin ajoissa! Ilmoittautumisaika päättyy viikko ennen tenttiä (23.5. tenttiin ilmoittautumisaika päättyy 16.5.) Tenttiin ei voi osallistua, jos ei ole ilmoittautunut. Vaikka onnistuisi pääsemään tenttiin, niin ei-ilmoittautuneiden tenttipapereita ei arvostella. Toukokuun tentin jälkeen on vielä kolme rästitenttiä, joissa keväällä 2017 tehty ja hyväksytty harjoitustyö sekä harjoitustehtävistä saatavat lisäpisteet ovat voimassa. Todennäköiset päivät ovat , ja (Tarkista päivät, kun tiedot on julkaistu WebOodissa, sillä näihin voi vielä tulla muutoksia.) CSE-A1150 Tietokannat / 39
4 Mitä tämän kurssin jälkeen? CS-C3170 Web Software Development Ei varsinaisesti tietokantakurssi, mutta kurssilla tehdään harjoitustyönä web-ohjelma, joka käyttää tietokantaa. Harjoitustyössä käytetään Django-kehitysympäristöä. CS-E4120 Scalable Cloud Computing Kurssi sisältää lisätietoa NoSQL-tietokannoista CS-E4610 Modern Database Systems Esim. kyselyjen optimointi, tiedonhaku, hakemistot, puolirakenteinen tieto, map reduce, isojen verkkojen (graphs) käsittely. CSE-A1150 Tietokannat / 39
5 Esimerkkitietokanta Tämän luennon esimerkit käsittelevät aikaisempien luentojen esimerkkitietokantaa, joka koostuu seuraavista relaatioista Customers(custNo, name, born, bonus, address, ) Products(number, prodname, description, price, manufid) Manufacturers(ID, manufname, phone) Orders(orderNo, deliver, status, custno) BelongsTo(orderNo, productno, count) CSE-A1150 Tietokannat / 39
6 Esimerkkitenttikysymyksiä tietokannoista ja tietokannan hallintajärjestelmästä yleisesti Mitä etuja tietokannan hallintajärjestelmä tarjoaa siihen verrattuna, että dataa säilytettäisiin tavallisissa tekstitiedostoissa. Tietokannan hallintajärjestelmän osat ja niiden tehtävät. CSE-A1150 Tietokannat / 39
7 Relaatioalgebran operaatiot Lähtörelaatioita pienentävät operaatiot valintaoperaatio σ C (R), esimerkiksi σ bonus>40 (Customers) projektio-operaatio π A1,A 2,...,A n (R), esimerkiksi π number,name,bonus (Customers) Relaatioiden monikkoja yhdistävät operaatiot karteesinen tulo R S liitosoperaatiot Luonnollinen liitos R S Theta-liitos R C S, esimerkiksi Products manufid=id Manufacturers CSE-A1150 Tietokannat / 39
8 Relaatioalgebran operaatiot, jatkuu Uudelleen nimeäminen ρ S(A1,A 2,...,A n) (R) ei muuta relaatiota lainkaan, mutta voi olla tarpeellinen toisten operaatioiden kannalta Joukko-operaatiot: yhdiste R S leikkaus R S erotus R S CSE-A1150 Tietokannat / 39
9 Mahdollisia tenttikysymyksiä relaatioalgebrasta Pyydetään esittämään kysely relaatioalgebran lausekkeilla. On annettu relaation instanssi ja relaatioalgebran lauseke. Kysytään, mikä on lausekkeen tulos. Pyydetään selvittämään jotain yleisempää relaatioalgebran operaatioista, esim. miten jonkin operaation voi korvata toisilla operaatioilla tai miten monta monikkoa voi esiintyä lausekkeen tulosrelaation instanssissa, jos monikoiden määrät lähtörelaatioiden instansseissa tunnetaan. CSE-A1150 Tietokannat / 39
10 Tyypillisiä virheitä relaatioalgebran tenttivastauksissa Lausekkeissa on käytetty luonnollista liitosta, vaikka attribuutit, joiden yhtäsuuruuden mukaan liitos tehdään, ovat erinimisiä. Samaan ehtoon on yritetty sisällyttää liikaa. Esimerkiksi: haettava niiden asiakkaiden asiakasnumerot, joilla on tilaus, jonka tila on in post, mutta ei yhtään tilausta, jonka tila on delivered. Lauseke π custno (σ status= in post AND status delivered (Orders)) ei tuota haluttua vastausta, koska se tarkastelee vain yhden tilauksen tietoja kerrallaan. Ehto ei estä sitä, että asiakkaalla olisi toinen tilaus, jonka status on delivered. CSE-A1150 Tietokannat / 39
11 ER-mallinnus ER-kaavio on graafinen tapa tietokannan mallintamiseen. Esimerkki name phone Manufacturers name number ID deliver Made by Belongs to Products description price Orders count name custno orderno status Ordered by Customers born bonus address CSE-A1150 Tietokannat / 39
12 Heikot yksilöjoukot ER-kaavioissa Yksilöjoukkoa sanotaan heikoksi (weak entity set), jos kaikki tai osa sen avainattribuuteista kuuluu toiseen yksilöjoukkoon size color name number Versions Version of Products description price CSE-A1150 Tietokannat / 39
13 Mahdollisia tenttikysymyksiä ER-kaavioista Laadi ER-kaavio annettua kuvausta vastaavaan tilanteeseen. Muunna annettu ER-kaavio relaatiokaavioiksi. Vastaa annetusta ER-kaaviosta esitettyihin kysymyksiin. (Esim. onko tämän kaavion perusteella mahdollista, että...?) CSE-A1150 Tietokannat / 39
14 Tyypillisiä virheitä ER-kaavioita koskevissa tenttivastauksissa ER-kaaviossa yksilöjoukoilla on ylimääräisiä attribuutteja, esimerkiksi suhteen kautta tulevia tietoja. Kaksi yksilöjoukkoa on yhdistetty suoraan toisiinsa ilman, että niiden välissä on suhde. Suhteella on avainattribuutti. (Tällöin pitää käyttää suhteen sijasta yksilöjoukkoa.) Yksilöjoukkoa, jonka avainattribuuteista osa tulee toisesta yksilöjoukosta, ei ole merkitty heikoksi yksilöjoukoksi ja / tai näiden kahden yksilöjoukon välistä suhdetta ei ole merkitty kaksinkertaisella vinoneliöllä. Suhteen valitsevuutta ei ole merkitty oikein (nuolia puuttuu tai on liikaa tai ne ovat vääränlaisia tai nuolet on piirretty viivan väärään päähän). CSE-A1150 Tietokannat / 39
15 Tyypillisiä virheitä ER-kaavioita koskevissa tenttivastauksissa, jatkuu Samaan suhteeseen on yhdistetty asioita, jotka eivät kuulu kaikki yhteen. Yleensä kannattaa suosia kaksijakoisia suhteita ja käyttää useampijakoisia suhteita vain perustellusta syystä. Kun yksilöjoukkoja ja suhteita on muutettu relaatioiksi, niin attribuutteja on joko liikaa tai liian vähän (osa avainattribuuteista puuttuu relaatiosta tai sitten suhteesta tehdyssä relaatiossa on mukana ylimääräisiä attribuutteja). Osaa avaimeen kuuluvista attribuuteista ei ole alleviivattu tai on alleviivattu liikaa attribuutteja. Monesta moneen -suhteesta ei ole tehty omaa relaatiota, kun ER-kaavio on muunnettu relaatioiksi. CSE-A1150 Tietokannat / 39
16 Funktionaaliset riippuvuudet ja tietokannan normalisointi Ongelma: Mitä relaatioita tietokantaan pitäisi määritellä ja mitä attribuutteja näillä pitäisi olla? Samat tiedot voidaan esittää useilla eri tietokantakaavioilla. Jotkin niistä ovat parempia kuin toiset. Keskeisiä huonojen relaatiokaavioiden aiheuttamia ongelmia: Tiedon toisteisuus (redundancy) Päivitysanomaliat (update anomalies) Poistoanomaliat (deletion anomalies) Huonot relaatiokaaviot voidaan muuttaa parempaan muotoon normalisoimalla. Normalisoinnissa tarvitaan tietoa relaatioiden attribuuttien funktionaalisista riippuvuuksista. CSE-A1150 Tietokannat / 39
17 Funktionaalinen riippuvuus ja relaation avain, määritelmä Olkoon relaatiolla R attribuutit A 1, A 2,..., A n, B 1, B 2,..., B m, C 1, C 2,..., C k. Attribuutit A 1, A 2,..., A n määräävät funktionaalisesti attribuutit B 1, B 2,..., B m, jos seuraava ehto on voimassa: Jos kahdella relaation R monikolla on samat arvot kaikilla attribuuteilla A 1, A 2,..., A n, niin silloin niillä on samat arvot myös kaikilla attribuuteilla B 1, B 2,..., B m. Merkitään A 1 A 2... A n B 1 B 2... B m Yksi tai useampi attribuutti {A 1,..., A n } on relaation R avain, jos 1. nämä attribuutit funktionaalisesti määräävät kaikki muut relaation R attribuutit. 2. mikään tämän attribuuttijoukon aito osajoukko ei funktionaalisesti määrää kaikkia muita relaation R attribuutteja. CSE-A1150 Tietokannat / 39
18 Boyce-Codd-normaalimuoto Jos relaatio on Boyce-Codd-normaalimuodossa (Boyce-Codd normal form, BCNF), siinä ei ole lainkaan funktionaalisista riippuvuuksista johtuvaa toisteista tietoa. Relaatio R on BCNF:ssä (Boyce-Codd-normaalimuodossa) jos ja vain jos kaikille R:ssä voimassa oleville epätriviaaleille funktionaalisille riippuvuuksille A 1 A 2... A n B 1 B 2... B m pätee se, että {A 1, A 2,..., A n } on relaation R yliavain. Esimerkki: relaatio Products1(number, prodname, description, price, manufid, manufname, phone) ei ole BCNF:ssä, koska relaatiolle pätee riippuvuus manufid manufname phone mutta riippuvuuden vasen puoli ei ole relaation yliavain, vaan relaation avain on {number} CSE-A1150 Tietokannat / 39
19 Relaation osittaminen Boyce-Codd-normaalimuotoon Laske annettujen epätriviaalien riippuvuuksien vasempien puolten sulkeumat. Jos yksikin sulkeumista ei sisällä relaation kaikkia attribuutteja (eli vasen puoli ei ole relaation yliavain), relaatio ei ole BCNF:ssä, ja se pitää osittaa. Valitse yksi niistä riippuvuuksista, jossa vasen puoli ei ole relaation yliavain ja ota tämän riippuvuuden vasemman puolen sulkeuma. Jaa ositettava relaatio kahdeksi uudeksi relaatioksi: Ensimmäiseen tulee em. sulkeuma. Toiseen tulee edellä valitun riippuvuuden vasen puoli ja lisäksi ne ositettavan relaation attribuutit, jotka eivät kuulu vasemman puolen sulkeumaan. Tutki, mitkä riippuvuudet ovat voimassa uusissa relaatioissa. Laske uusien relaatioiden riippuvuuksien vasempien puolien sulkeumat. Jos jokin sulkeuma ei sisällä uuden relaation kaikkia attribuutteja, uusi relaatio ei ole BCNF:ssä ja se pitää osittaa samalla tavalla. CSE-A1150 Tietokannat / 39
20 Mahdollisia tenttikysymyksiä funktionaalisesta riippuvuudesta ja BCNF:stä Tämä on erittäin tärkeä asia, ja on hyvin todennäköistä, että asiasta kysytään jokaisessa tentissä. Todennäköisin tehtävätyyppi: on annettu relaatio ja siinä esiintyvät funktionaaliset riippuvuudet. Kysytään, onko relaatio BCNF:ssä (perustelut) ja pyydetään osittamaan se tarvittaessa BCNF:ään. Myös moniarvoiset riippuvuudet ovat mahdollisia tenttitehtävien aiheita. Tästä aihepiiristä mahdollinen tehtävä on sellainen, jossa vaaditaan moniarvoisen riippuvuuden käsitteen ymmärtämistä. Tehtävissä ei kysytä mitään 4. normaalimuodosta. CSE-A1150 Tietokannat / 39
21 Tyypillisiä virheitä tenttivastauksissa BCNF-tehtävissä Kun on kysytty, onko relaatio BCNF:ssä, ei ole laskettu funktionaalisten riippuvuuksien vasempien puolien sulkeumia, vaan on annettu jokin erikoinen perustelu, joka on joko selvästi väärä tai sitten liian ylimalkainen. Relaatiota ei ole ositettu annetulla algoritmilla, vaan jollain itse keksityllä tavalla (esimerkiksi yhteen uuteen relaatioon on aina otettu kaikki yhdessä riippuvuudessa esiintyvät attribuutit), joka voi johtaa informaation katoamiseen On annettu aivan oikeat uudet relaatiot, mutta ei ole kunnolla perusteltu sitä, miten niihin on päädytty tai miksi uudet relaatiot ovat BCNF:ssä. Relaatio on ositettu aivan oikein yhden kerran, mutta ei ole huomattu sitä, että toinen tai molemmat ositetuista relaatioista ei vielä ole BCNF:ssä ja ositusta pitäisi jatkaa. CSE-A1150 Tietokannat / 39
22 SQL: kyselyn perusmuoto Perusmuoto SELECT <attribuuttilista> FROM <relaatiolista> WHERE ehto Esimerkki 1 SELECT prodname, description FROM Products WHERE price > 100.0; Esimerkki 2: SELECT prodname, price FROM Products WHERE (description = cellphone OR description = tablet ) AND price < 400.0; CSE-A1150 Tietokannat / 39
23 SQL: liitokset ehtojen avulla Esimerkki 1: SELECT prodname, manufname FROM Products, Manufacturers WHERE manufid = ID; Esimerkki 2: SELECT Customers.custNo, name FROM Customers, Orders WHERE Customers.custNo = Orders.custNo AND status = returned ; CSE-A1150 Tietokannat / 39
24 SQL: esimerkki rivimuuttujien käytöstä SELECT C1.name, C2.name FROM Customers AS C1, Customers AS C2 WHERE C1.address = C2.address AND C1.name < C2.name CSE-A1150 Tietokannat / 39
25 SQL: tulosrelaation esitysjärjestyksen määrääminen SELECT FROM Customers WHERE bonus > 30 ORDER BY bonus DESC, born CSE-A1150 Tietokannat / 39
26 SQL: joukko-operaatioita Käytössä on joukko-operaatiot UNION, INTERSECT ja EXCEPT (erotus). Esimerkki: SELECT manufname FROM Manufacturers, Products WHERE manufid = ID and description = camera INTERSECT SELECT manufname FROM Manufacturers, Products WHERE manufid = ID and description = cellphone ; CSE-A1150 Tietokannat / 39
27 SQL: Alikyselyt SQL-kyselyn sisään voi kirjoittaa WHERE- tai FROM-osan sisään toisen kyselyn. Tällaista kyselyä sanotaan alikyselyksi (subquery). Esimerkki relaation tuottavista alikyselystä: SELECT DISTINCT orderno FROM BelongsTo WHERE productno IN (SELECT number FROM Products WHERE description = camera ); CSE-A1150 Tietokannat / 39
28 SQL: Alikyselyt, jatkoa Esimerkki alikyselystä, jossa viitataan ulommassa kyselyssä käytettyyn monikkoon: SELECT DISTINCT number, prodname, description, price FROM Products AS Cheap WHERE price <= ALL (SELECT price FROM Products WHERE description = Cheap.description ); CSE-A1150 Tietokannat / 39
29 SQL: ulkoliitos Liitosta tehdessä alkuperäisissä relaatiossa on usein monikoita, joille ei löydy yhtään vastinparia toisesta liitokseen osallistuvasta relaatiosta. Jos myös tällaiset monikot halutaan tulokseen mukaan, on käytettävä ulkoliitosta, esimerkiksi SELECT FROM Products LEFT OUTER JOIN Manufacturers ON manufid = ID; listaa myös ne tuotteet, joiden valmistajaa ei löydy Manufacturers-relaatiosta. CSE-A1150 Tietokannat / 39
30 SQL: koosteoperaattorit SQL tarjoaa koosteoperaattorit SUM, AVG, MIN, MAX ja COUNT, joiden avulla voidaan laskea tilastoja jonkin relaation jonkin attribuuttien arvoista. Koosteoperaattoreita käytettäessä monikoita voidaan ryhmitellä GROUP BY-operaattorin avulla. Ryhmille voidaan antaa myös jokin koosteoperaattoria käyttävä ehto HAVING-osan avulla. Esimerkki: SELECT manufid, manufname, AVG(price) FROM Products, Manufacturers WHERE id = manufid GROUP BY manufid HAVING MAX(price) > 100; CSE-A1150 Tietokannat / 39
31 SQL: mahdollisia tenttikysymyksiä Tyypillisessä tenttikysymyksessä pyydetään kirjoittamaan jokin SQL-kysely. Kyselyissä voi tarvita mitä tahansa niistä ominaisuuksista, joita kurssin luentokalvoissa ja harjoitustehtävissä on käytetty. Myös taulujen luomiseen, monikoiden lisäämiseen ja tietojen päivittämiseen tarvittavia käskyjä voi tarvita, vaikka niitä ei olekaan tällä kertausluennolla esitelty. Eheysehtojen kirjoittamisesta tarvitsee osata niin paljon kuin luentokalvoilla ja harjoitustehtävissä on esitetty. Tentissä ei pyydetä kirjoittamaan laukaisimia, mutta on tunnettava laukaisimien toimintaperiaate ja ymmärrettävä, mikä ero on FOR EACH ROW-tyyppisillä ja FOR EACH STATEMENT-tyyppisillä laukaisimilla. CSE-A1150 Tietokannat / 39
32 SQL: mahdollisia tenttikysymyksiä (jatkuu) Myös näkymien määrittely ja niiden käyttö on osattava siinä laajudessa kuin mitä luentomateriaalissa on määritelty. SQL-käskyjen liittämistä muulla kielillä kirjoitettuun ohjelmaan (joko kirjastofunktioita tai sulautettua SQL:ää käyttämällä) ei kysytä tentissä. CSE-A1150 Tietokannat / 39
33 Tyypillisiä virheitä SQL-tenttitehtävissä Liitosehdot tai osa niistä puuttuu. Alikyselyn edessä on käytetty IN-operaattorin sijasta yhtäsuuruusmerkkiä, vaikka alikyselyn tuloksena on relaatio eikä yksittäinen arvo. Ei ole ymmärretty sitä, että WHERE-osassa oleva ehto käsittelee aina yhtä FROM-osassa olevien relaatioiden karteesisen tulon monikkoa kerrallaan. On kirjoitettu ehtoja, joiden pitäisi tutkia samalla kerralla useita monikoita. Kyselyssä pitäisi laskea koostefunktioiden arvoja tietyille ryhmille (esim. kunkin valmistajan tuotteiden hintojen keskiarvo), mutta GROUP BY-osa puuttuu kyselystä. Koostefunktiota koskeva ehto on kirjoitettu WHERE-osaan, vaikka se pitäisi olla HAVING-osassa. On käytetty sellaisia operaattoreita, joita kurssilla ei ole opetettu, mutta ei ole ymmärretty, mitä ne tarkoittavat. Esimerkiksi LEFT JOIN tarkoittaa oikeasti samaa kuin LEFT OUTER JOIN. CSE-A1150 Tietokannat / 39
34 Hakemistot, tenttitehtävätyyppejä Tentissä voi olla tehtävä, jossa joutuu arvioimaan, mitä hakemistoja kuvatulle tietokannalle kannattaa luoda. Tentissä voidaan myös pyytää selostamaan yleisemmin, millaisia asioita pitää ottaa huomioon, kun päätetään tietokantaan tulevista hakemistoista. B-puusta ei tentissä tarvitse osata muuta kuin pystyä arvioimaan se, miten hakemiston käyttö vaikuttaa levyhakujen määrään kyselyissä ja päivityksissä. CSE-A1150 Tietokannat / 39
35 Transaktiot (tapahtumat) Ohjelmoija voi suojata tietokannan monilta erilaisilta häiriöiltä, esimerkiksi sähkökatkoilta, laiterikoilta ja muiden samanaikaisten käyttäjien aiheuttamilta häiriöiltä määrittelemällä transaktioita, jotka voivat koostua useista tietokantaoperaatioista. Kun ohjelmoija on määritellyt joidenkin operaatioiden muodostavan transaktion, niin tietokannan hallintajärjestelmä pitää huolen siitä, että tietokanta toteuttaa seuraavalla kalvolla mainitut transaktioilta vaaditut ominaisuudet. CSE-A1150 Tietokannat / 39
36 Transaktioilta vaadittavat ominaisuudet Atomicity (atomisuus): kaikki transaktion sisältämät käskyt suoritetaan tai mitään niistä ei suoriteta. Consistency (eheys): jos tietokannassa määritellyt eheysehdot ovat voimassa ennen transaktion suoritusta, niin ne ovat voimassa myös sen jälkeen. Isolation (serializability, sarjallistuvuus): transaktio suoritetaan niin kuin muita transaktioita ei suoritettaisi samaan aikaan. Toisin sanoen: jos useita transaktioita suoritetaan samanaikaisesti, niin lopputulos on sama kuin jos samat transaktiot olisi suoritettu jossain järjestyksessä peräkkäin yksi kerrallaan. Durability (pysyvyys): Jos transaktiot on suoritettu onnistuneesti loppuun (on suoritettu transaktion commit-operaatio), niin sen vaikutukset eivät katoa tietokannasta. Näitä ominaisuuksia kutsutaan usein ACID-ominaisuuksiksi. CSE-A1150 Tietokannat / 39
37 Transaktioihin liittyviä tenttikysymyksiä Transaktiot on tärkeä aihe tentissä. Tentissä voidaan suoraan kysyä transaktioilta vaadittavia ominaisuuksia ja pyytää selittämään niitä tai osaa niistä tarkemmin. Tentissä voidaan myös kysyä, mitä muita eristyvyystasoja SQL:ssä on mahdollista määritellä transaktioille sarjallistuvuuden sijasta. CSE-A1150 Tietokannat / 39
38 Esimerkki XML-dokumentista <?xml version = "1.0" encoding = "utf-8" standalone = "yes"?> <StarMovieData> <Star> <Name>Carrie Fischer</Name> <Address> <Street>123 Maple St.</Street> <City>Hollywood</City> </Address> <Address> <Street>5 Locust Ln.</Street> <City>Malibu</City> </Address> </Star> <Star> <Name>Mark Hamill</Name> <Street>456 Oak Rd.</Street> <City>Brentwood</City> </Star> <Movie> <Title>Star Wars</Title> <Year>1977</Year> </Movie> </StarMovieData> CSE-A1150 Tietokannat / 39
39 Tenttitehtäviä XML:stä Tentissä ei tarvitse kirjoittaa itse XML-dokumentteja eikä DTD- tai XML Schema -määrittelyjä. On kuitenkin ymmärrettävä annettuja XML-dokumentteja sekä DTDtai XML Schema -määrittelyjä. Tentissä ei pyydetä kirjoittamaan XPath-kyselyjä, mutta siinä voidaan antaa XPath-kysely ja kysyä, mikä on sen tulos annetussa XML-dokumentissa. Tällöin on syytä muistaa, että myös alku- ja loppumerkinnät (tagit) pitää olla mukana vastauksessa, jos ne kuuluvat kyselyn tulokseen. Aiheesta tarvitsee osata vain ne asiat, joita on käsitelty luennoilla ja / tai harjoituksissa. Esimerkiksi avainten ja viiteavainten määrittelystä XML-dokumentissa ei tarvitse tietää. CSE-A1150 Tietokannat / 39
CS-A1150 Tietokannat CSE-A1150 Tietokannat / 32
CS-A1150 Tietokannat 15.5.2018 CSE-A1150 Tietokannat 15.5.2018 1 / 32 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
LisätiedotCS-A1150 Tietokannat CSE-A1150 Tietokannat / 29
CS-A1150 Tietokannat 20.5.2019 CSE-A1150 Tietokannat 20.5.2019 1 / 29 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 10.5.2016 CSE-A1200 Tietokannat 10.5.2016 1 / 50 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 22.3.2016 CSE-A1200 Tietokannat 22.3.2016 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä SQL:llä kyselyitä, jotka käyttävät hyväkseen toisen kyselyn tuloksia (alikyselyt).
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 39
CS-A1150 Tietokannat 20.2.2018 CS-A1150 Tietokannat 20.2.2018 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 13.3.2018 CS-A1150 Tietokannat 13.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 14.3.2017 CS-A1150 Tietokannat 14.3.2017 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 15.3.2016 CSE-A1200 Tietokannat 15.3.2016 1 / 45 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 51
CS-A1150 Tietokannat 19.3.2019 CS-A1150 Tietokannat 19.3.2019 1 / 51 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 44
CS-A1150 Tietokannat 12.3.2019 CS-A1150 Tietokannat 12.3.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa UML-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis UML-kaavio,
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 51
CS-A1150 Tietokannat 7.3.2017 CS-A1150 Tietokannat 7.3.2017 1 / 51 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 54
CS-A1150 Tietokannat 6.3.2018 CS-A1150 Tietokannat 6.3.2018 1 / 54 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 8.3.2016 CSE-A1200 Tietokannat 8.3.2016 1 / 49 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 27.3.2018 CS-A1150 Tietokannat 27.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 12.4.2016 CSE-A1200 Tietokannat 12.4.2016 1 / 42 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 15.4.2019 CS-A1150 Tietokannat 15.4.2019 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 44
CS-A1150 Tietokannat 2.4.2019 CS-A1150 Tietokannat 2.4.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan taulujen (relaatioiden) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 27.2.2018 CS-A1150 Tietokannat 27.2.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin ER-kaavion avulla. Tunnet esimerkiksi seuraavat ER-mallinnuksen
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 47
CS-A1150 Tietokannat 10.4.2018 CS-A1150 Tietokannat 10.4.2018 1 / 47 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 34
CS-A1150 Tietokannat 7.2.2017 CS-A1150 Tietokannat 7.2.2017 1 / 34 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan relaatioalgebralla. Osaat tehdä erilaisia kyselyitä relaatioalgebran
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 34
CS-A1150 Tietokannat 6.2.2018 CS-A1150 Tietokannat 6.2.2018 1 / 34 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan relaatioalgebralla. Osaat tehdä erilaisia kyselyitä relaatioalgebran
LisätiedotCS-A1150 Tietokannat CS-A1150 Tietokannat / 35
CS-A1150 Tietokannat 5.3.2019 CS-A1150 Tietokannat 5.3.2019 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin UML-kaavion avulla. Tunnet esimerkiksi seuraavat UML-mallinnuksen
LisätiedotTIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat 1.3.2016 CSE-A1200 Tietokannat 1.3.2016 1 / 41 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin ER-kaavion avulla. Tunnet esimerkiksi seuraavat ER-mallinnuksen
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon
LisätiedotHelsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi
LisätiedotCS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin aikaisemmalta kurssikerralta sekä kurssin oppikirjaan 30.1.2018 CS-A1150 Tietokannat 30.1.2018 1 / 28 Aloitusluento: tämän luennon
LisätiedotKyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita
Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra
LisätiedotCS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin vuodelta 2011 sekä kurssin oppikirjaan 31.1.2017 CS-A1150 Tietokannat 31.1.2017 1 / 28 Aloitusluento: tämän luennon jälkeen
LisätiedotRelaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto
Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A
LisätiedotKirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 29.2.2012 (vastauksia) Liitteenä on tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastauspaperiin kurssin
LisätiedotHelsingin 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ä,
LisätiedotCS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin aikaisemmalta kurssikerralta sekä kurssin oppikirjaan 4.2.2019 CS-A1150 Tietokannat 4.2.2019 1 / 29 Aloitusluento: tämän luennon
LisätiedotRelaatioalgebra. Kyselyt:
Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra
LisätiedotRelaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:
Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra määrittelee operaatiot,
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin vuodelta 2011 sekä kurssin oppikirjaan 2.2.2016 CSE-A1200 Tietokannat 2.2.2016 1 / 28 Aloitusluento: tämän luennon jälkeen
LisätiedotSQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX
SQL - perusteet SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät
LisätiedotSQL-perusteet, SELECT-, INSERT-, CREATE-lauseet
SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa laukaisimia käsittelevistä kalvoista perustuu kurssin oppikirjaan 19.4.2016 CSE-A1200 Tietokannat 19.4.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Osaat määritellä SQL:ssä
LisätiedotKirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 4.3.2015, H. Laine Tehtävien mukana jaetaan sql-syntaksin tiivistelmä. Kirjoita kuhunkin erilliseen vastauspaperiin
LisätiedotHelsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.
Tietokantaoperaatiot tiedon haku kyselyt miten märitellään haettava tieto ylläpito-operaatiot lisäys, poisto, muuttaminen Kyselyt: lähtökohtana tietokannan tila joukkona relaatioita kyselyn tuloksena yksi
LisätiedotHELIA 1 (17) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (17) Luento 4.5 Normalisointi... 2 Tavoitteet... 2 Attribuuttien väliset riippuvuudet... 4 Funktionaalinen / moniarvoinen riippuvuus... 4 Transitiivinen / suora riippuvuus... 6 Täydellinen / osittainen
LisätiedotHELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005
HELIA 1 (21) Luento 7 Relaatiomallin kertausta... 2 Peruskäsitteet... 2 Relaatio... 4 Määritelmä... 4 Relaatiokaava (Relation schema)... 4 Relaatioinstanssi (Relation instance)... 4 Attribuutti ja arvojoukko...
LisätiedotHAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät
HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...
Lisätiedotjoukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus
DO NOT PRINT THIS DOCUMENT joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita
LisätiedotCS-A1150 Tietokannat
CS-A1150 Tietokannat Osa laukaisimia käsittelevistä kalvoista perustuu kurssin oppikirjaan 29.4.2019 CS-A1150 Tietokannat 29.4.2019 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Osaat määritellä SQL:ssä
LisätiedotKyselyn yleisrakenne:
SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän
LisätiedotHakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]
Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään
LisätiedotTIEDONHALLINNAN PERUSTEET - SYKSY 2013
TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 4 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Relaatiotietokannan suunnitteluprosessin
LisätiedotHELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...
LisätiedotHELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki
HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin
LisätiedotSELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
LisätiedotHelsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra 14.9.2000. Harri Laine 1. Relaatioalgebra
DO NOT PRINT THIS DOCUMENT operaatiot, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita projektio,
LisätiedotHarjoitustyö. 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)
LisätiedotHELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki 25.10.2006
HELIA TIKO-05 1 (15) SQL / DML 3 Liitos...2 SQL-92:n join operaatio...4 SQL-89:n join operaatio:...5 Karteesinen tulo... 10 Ulkoliitos (Outer join)... 11 Vasemmanpuoleinen ulkoliitos... 12 Oikeanpuoleinen
LisätiedotFROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien
Monen taulun kyselyt FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: SELECT FROM Tuloksena on taululistassa lueteltujen taulujen rivien karteesinen
LisätiedotSQL - STRUCTURED QUERY LANGUAGE
SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt
LisätiedotTIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
LisätiedotRelaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14
Relaatioista Sarakenimistä relaation kaava tulisi olla yksiselitteinen attribuutin roolinimen tulisi auttaa ymmärtämään attribuutin tarkoituksen OSASTO(NIMI,NRO, TNRO, SIJAINTI) mitä tarkoittaa TNRO? viiteavaimella
LisätiedotHELIA 1 (17) Outi Virkki Tiedonhallinta
HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain
LisätiedotTiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
LisätiedotInsert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)
SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert
LisätiedotHELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11
LisätiedotTietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1
Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi
LisätiedotHAAGA-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...
LisätiedotTIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1 Harjoitustyö Harjoitustöiden tilanne
LisätiedotTietokantakurssit / TKTL
Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien
LisätiedotOUTER JOIN se vanha kunnon kaveri
OUTER JOIN se vanha kunnon kaveri Ulkoliitoksia on kolmenlaisia Left -> vasemmasta taulusta otetaan ehdot täyttävät rivit ja yhdistetään oikeanpuoleiseen tauluun jos rivi löytyy - nested loop join Right
LisätiedotHelsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi
Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot
LisätiedotNORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI
TIETOJEN MALLINNUS NORMALISOINTI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 5 JOUNI HUOTARI & ARI HOVI SUUNNITTELUPUTKI Käyttäjien näkemykset Näytöt, ikkunat
LisätiedotLiitokset - haut useaan tauluun
Liitokset Liitokset - haut useaan tauluun Tavallisin liitos on valintaliitos ehtona =,!=, yhtäläisyysliitos (=) yleisin (vrt. Inner join) taulut liitetään toisiinsa yleensä avaimilla (perus-
LisätiedotTietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot
DO NOT PRINT THIS DOCUMENT SQL:ssä joukko yhteenvetofunktioita (aggregate function, koostefunktio) AVG keskiarvo MIN pienin arvo (minimi) MAX suurin arvo (maksimi) SUM summa COUNT lukumäärä Yhteenvetofunktioita
LisätiedotTällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä
Tällä viikolla Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Seuraavissa harjoituksissa käytetään tukkukauppa-kantaa. 1. Hae kaikki toimittajat
LisätiedotHELIA TIKO-05 1 (20) ICT03D Tieto ja tiedon varastointi O.Virkki
HELIA TIKO-05 1 (20) Normalisointi Normalisointi...2 Tavoitteet...2 Attribuuttien väliset riippuvuudet...4 Funktionaalinen / moniarvoinen riippuvuus...4 Täydellinen / osittainen riippuvuus...6 Suora /
LisätiedotTIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT
TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
Lisätiedot2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;
Tällä viikolla Kotitehtävien läpikäynti SQL-harjoituksia, osa 1 Jatketaan Pelifirman tietovaraston suunnittelua: tietotyyppien kertaus, taulun luonti ER-kaavioon, taulun luonti kaavion avulla tietokantaan,
LisätiedotHarjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely
Harjoitustehtävä 1 Puutarha Puutarhatunnus omistaja sijainti Vastuualue puutarhatunnus aluenumero maaperä, kosteus valaistus sijainti vastuutonttu Tonttu Tonttutunnus Istutus istutuspäivä paikka_alueella
LisätiedotNormalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5
Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Normalisointi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5 Jouni Huotari
LisätiedotOpettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija
Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä
LisätiedotTIEDONHALLINNAN PERUSTEET - SYKSY 2013
TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin
LisätiedotRelaatiomalli ja -tietokanta
Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla
LisätiedotHelsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot
DO NOT PRINT THIS DOCUMENT SQL:ssä joukko yhteenvetofunktioita (aggregate function, koostefunktio) AVG keskiarvo MIN pienin arvo (minimi) MAX suurin arvo (maksimi) SUM summa COUNT lukumäärä Yhteenvetofunktioita
LisätiedotHelsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot
DO NOT PRINT THIS DOCUMENT SQL:ssä joukko yhteenvetofunktioita (aggregate function, koostefunktio) AVG keskiarvo MIN pienin arvo (minimi) MAX suurin arvo (maksimi) SUM summa COUNT lukumäärä Yhteenvetofunktioita
LisätiedotTietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava
LisätiedotD B. Kyselypuut ja ekvivalenssi
Kyselypuut ja ekvivalenssi Sisäisessä esityksessä kyselyt esitetään kyselypuuna lehdissä taulut juuressa lopputulos välisolmuina suoritettavat operaatiot s=select p=project j=join p (teos.nimi, kirjanro)
LisätiedotITKA204 Tietokannat ja tiedonhallinnan perusteet
ITKA204 Tietokannat ja tiedonhallinnan perusteet Kevä t 2016 To n i Ta i p a l u s Jy v ä s k y l ä n y l i o p i s t o Opettaja Työskennellyt Jyväskylän yliopistossa erilaisissa opetus- ja tutkimustehtävissä
LisätiedotHohde Consulting 2004
Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com
Lisätiedotselect tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]
SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän
LisätiedotOlkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
Lisätiedot18 LIITTYMÄT MUIHIN JÄRJESTELMIIN
18 MUIHIN JÄRJESTELMIIN Prospekti DAFOon rakennettu liittymiä muiden ohjelmiston toimittajien järjestelmiin. Tässä yhteydessä ei tarkoiteta siirtotiedoston muodostamista, kuten reskontraan siirto tai lappujen
LisätiedotHELIA 1 (19) Outi Virkki Tietokantasuunnittelu
HELIA 1 (19) Luento 7 Normaalimuodot jatkuu... 2 Boyce/Codd normaalimuoto BCNF... 2 4. normaalimuoto 4NF... 4 Itsenäisyys... 6 5. normaalimuoto 5NF... 7 Yhteenveto... 9 Esimerkki... 11 Denormalisointi?...
LisätiedotHelsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokannan suunnittelusta Harri Laine 1
Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla voi
LisätiedotTIETOKANNAT JOHDANTO
TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2011 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,
LisätiedotD B. Tietokannan hallinta kertaus
TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia
LisätiedotTIEDONHALLINTA - 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
LisätiedotRelaation tyhjyyden testaaminen
Tulostaulun tyhjyyden testaaminen Luettele ne asiakkaat, joilla on sekä talletus että laina -konttorissa. (Leikkaus!) useita mahdollisia toteutustapoja INTERSECT sisäkysely sisäkysely + tulostaulun tyhjyyden
Lisätiedot5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot. Luku 5. Normalisointi. ITKA204 kevät
5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot Luku 5 Normalisointi ITKA204 kevät 2016 1 5.1 Normalisoinnin tarkoitus Loogisen tason suunnittelu ja validointi Käsitekaava
LisätiedotTietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.
Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla voi
Lisätiedot