TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Samankaltaiset tiedostot
TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

HELIA 1 (14) Outi Virkki Tiedonhallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

HELIA 1 (11) Outi Virkki Tiedonhallinta

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

SELECT-lauseen perusmuoto

SQL - STRUCTURED QUERY LANGUAGE

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Tietokantakurssit / TKTL

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

TIETOKANNAT JOHDANTO

Relaatiomalli ja -tietokanta

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

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 K2009

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Näkymät ja tiedon suojaus

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

HELIA 1 (14) Outi Virkki Tiedonhallinta

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietokanta (database)

Tietokantojen perusteet

CSE-A1200 Tietokannat

3. Taulujen määrittely ja muuttaminen

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

SQL:N PERUSTEET MARKKU SUNI

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Tietokantojen suunnittelu, relaatiokantojen perusteita

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36

LINUX-HARJOITUS, MYSQL

TIEDONHALLINTA - SYKSY Luento 1. Saapumisryhmä: TXQ16ICT, TXQ16S1 ja TXQ16PROS. 27/8/17 Helsinki Metropolia University of Applied Sciences

ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

EXEC SQL BEGIN DECLARE SECTION

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

Opintopiiritehtävä 3: Verkkohuutokauppa

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

TIEDONHALLINTA - SYKSY Luento 12. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SQL-kielen perusteet. Tietokantojen perusteet

MySQL ja PostgreSQL Seminaarityö

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

3. Käsiteanalyysi ja käsitekaavio

Transkriptio:

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 esimerkki

Normalisoimaton tietokannan taulu Vuokraajan_ Vuokraajan_ Asunto_ Omistajan_ Vuokraus_ Vuokraus_ Kk_vuokra Maksu nimi puh osoite nimi alku loppu tapa Kulut% Pertti Aalto 040-43 4321 Kielotie 24, Vantaa Teppo Kuha 1.7.2009 30.8.2009 650 Luotto 1 Tiina Meri 045-7583986 Kiertotie 1A7, Helsinki Seppo Kajo 1.9.2008 31.1.2009 450 Pankki 0 Frank Allman 020-439687 Tulikuja 6F14, Espoo Tarja Raja 15.1.2009 28.2.2009 250 Lasku 2 Kai Kivi 050-3129673 Palkokatu 10, Espoo Simo Rajala 1.2.2009 31.5.2009 800 Kateinen 0 Mitkä voisivat olla ylläolevan taulun avainehdokkaita? Tiedon syöttöön liittyviä ongelmia Uuden vuokrattavan asunnon lisääminen Vuokraajan tiedot ennen vuokrasopimuksen tekemistä Tiedon päivitykseen liittyviä ongelmia Omistajan nimen muutos Tiedon poistoon liittyviä ongelmia Vuokraajan tiedot voi poistua kun vuokraus poistetaan Omistajan tiedot voi poistua kun vuokraus poistetaan Pasi Ranne Metropolia Ammattikorkeakoulu 3

Normaalimuotojen kertaus Vuokraajan_ Vuokraajan_ Asunto_ Omistajan_ Vuokraus_ Vuokraus_ Kk_vuokra Maksu nimi puh osoite nimi alku loppu tapa Kulut% Pertti Aalto 040-43 4321 Kielotie 24, Vantaa Teppo Kuha 1.7.2009 30.8.2009 650 Luotto 1 Tiina Meri 045-7583986 Kiertotie 1A7, Helsinki Seppo Kajo 1.9.2008 31.1.2009 450 Pankki 0 Frank Allman 020-439687 Tulikuja 6F14, Espoo Tarja Raja 15.1.2009 28.2.2009 250 Lasku 2 Kai Kivi 050-3129673 Palkokatu 10, Espoo Simo Rajala 1.2.2009 31.5.2009 800 Kateinen 0 Normalisoi 3NM:n asti 1NM: kaikki arvot ovat atomisia l. jakamattomia 2NM: kaikki attribuutit ovat funktionaalisesti riippuvia koko perusavaimesta 3NM: jokainen ei-avainattribuutti on funktionaalisesti riippuva vain perusavaimesta (eikä mistään nk. tavallisista attribuuteista) Tehtävä: Mieti mitkä sarakkeet rikkovat normaalimuotoja ja miten ne saadaan korjattua. Pasi Ranne Metropolia Ammattikorkeakoulu 4

Normalisointi: ongelmat ja ratkaisut NM Ongelma Ratkaisu 1NM Vuokraajan_ Vuokraajan_ Asunto_ Omistajan_ Vuokraus_ Vuokraus_ Kk_vuokra Maksu Kulut% nimi puh osoite nimi alku loppu tapa Pertti Aalto 040-43 4321 Kielotie 24, Vantaa Teppo Kuha 1.7.2009 30.8.2009 650 Luotto 1 Tiina Meri 045-7583986 Kiertotie 1A7, Helsinki Seppo Kajo 1.9.2008 31.1.2009 450 Pankki 0 Frank Allman 020-439687 Tulikuja 6F14, Espoo Tarja Raja 15.1.2009 28.2.2009 250 Lasku 2 Kai Kivi 050-3129673 Palkokatu 10, Espoo Simo Rajala 1.2.2009 31.5.2009 800 Kateinen 0 Asunto_osoite ei ole atominen (halutaan hakea asuntoja kaupungeittain) Jaetaan attribuuteiksi Asunto_katu, Asunto_kaupunki 2NM Vuokraajan_nimi -> Vuokraajan_puh Uusi taulu Vuokraajat, jolla perusavain Vuokraaja_tunnus Asunto_osoite -> Omistajan_nimi, Kk_vuokra Uusi taulu Asunnot, jolla perusavain Asunto_tunnus 3NM Maksutapa -> Kulut% Uusi taulu Laskutuskulut, jolla perusavain Maksutapa Miten mallinnetaan asunnon vuokraus(tapahtuma)? Uusi taulu: Vuokraukset_1 (Vuokraaja_tunnus, Asunto_tunnus, Vuokraus_alku, Vuokraus_loppu, Maksutapa) Tai: Vuokraukset_2 (Vuokraus_tunnus, Vuokraaja_tunnus, Asunto_tunnus, Vuokraus_alku, Vuokraus_loppu, Maksutapa) Pasi Ranne Metropolia Ammattikorkeakoulu 5

Normalisointiharjoitus, ratkaisuesimerkki Vuokraajat Vuokraaja_ Vuokraajan_ Vuokraajan_ tunnus nimi puh VU12 Pertti Aalto 040-43 4321 VU8 Tiina Meri 045-7583986 VU26 Frank Allman 020-439687 VU14 Kai Kivi 050-3129673 Asunnot Asunto_ Omistajan_ Katuosoite Kaupunki tunnus nimi Kk_vuokra AS3 Kielotie 24, Vantaa Teppo Kuha 650 AS10 Kiertotie 1A7 Helsinki Seppo Kajo 450 AS21 Tulikuja 6F14 Espoo Tarja Raja 250 AS4 Palkokatu 10 Espoo Simo Rajala 800 Laskutuskulut Maksu tapa Kulut% Luotto 1 Pankki 0 Lasku 2 Kateinen 0 Vuokraukset_1 Vuokraaja_ tunnus, FK Asunto_ tunnus, FK Vuokraus_ alku Vuokraus_ loppu Maksu tapa, FK VU12 AS3 1.7.2009 30.8.2009 Luotto VU8 AS10 1.9.2008 31.1.2009 Pankki VU26 AS21 15.1.2009 28.2.2009 Lasku VU14 AS4 1.2.2009 31.5.2009 Kateinen Vuokraukset_2 Vuokraus_ Vuokraaja_ Asunto_ Vuokraus_ Vuokraus_ Maksu tunnus tunnus, FK tunnus, FK alku loppu tapa, FK 1001 VU12 AS3 1.7.2009 30.8.2009 Luotto 1002 VU8 AS10 1.9.2008 31.1.2009 Pankki 1003 VU26 AS21 15.1.2009 28.2.2009 Lasku 1004 VU14 AS4 1.2.2009 31.5.2009 Kateinen Pasi Ranne Metropolia Ammattikorkeakoulu 6

Tietokantakielet ja SQL

Tietokantakielien yleiset ominaisuudet Tiedonmäärittelykieltä (data definition language, DDL) käytetään tietokannan kaavan (database schema) määrittelyssä ja ylläpidossa Tietokantajärjestelmissä DDL:llä voidaan määritellä myös näkymiä ja tallennusrakenteita, joissakin järjestelmissä näille on omat kielensä Datan muokkauskieltä (data manipulation language, DML) käytetään tiedon tallentamiseen, päivityksiin ja hakuihin DML voi olla korkean tason (joukkokeskeinen, eiproseduraalinen) tai matalan tason (tietuekeskeinen, proseduraalinen). DML voidaan käyttää osana jotakin ohjelmointikieltä tai itsenäisenä kielenä. Viimemainitussa tapauksessa sitä kutsutaan usein kyselykieleksi. Pasi Ranne Metropolia Ammattikorkeakoulu 8

SQL Structured Query Language SQL on melko yksinkertainen korkean tason kieli, jolla kuvataan operaatiot, joita tietokannalle halutaan suorittaa SQL on deklaratiivinen kieli: kyselyjä rakennettaessa on tärkeää ainoastaan halutun tavoitteen esittäminen määritellään mitä halutaan, miten jää TKHJ:n huoleksi SQL kattaa sekä DLL että DML tapahtumat oikeudet Eheyssäännöt Standardi, joka on kehittynyt useinden versioiden kautta v. 1986 alkaen Huomioi tuotekohtaiset eroavuudet! Pasi Ranne Metropolia Ammattikorkeakoulu 9

SQL:n yleisimmät käyttötavat Interaktiivinen kieli ( loppukäyttäjä ) Tietokannan ohjelmointikieli (sulautettu SQL) Ohjelmointirajapinnat (APIt) Tietokannan hallinta Tietokantojen integrointi Pasi Ranne Metropolia Ammattikorkeakoulu 10

Interaktiivinen SQL TKHJ / tietokantapalvelin tietokantapalvelin SELECT select Kysely kysely Vastaus vastaus Tietokanta Käyttäjä kirjoittaa kyselyitä ja saa vastauksia interaktiivisesti Olli Hämäläinen Pasi Ranne Metropolia Ammattikorkeakoulu 11

Ohjelmallinen SQL Kysely Vastaus Sovellusohjelma TKHJ / tietokantapalvelin Tietokanta Kysely upotetaan sovellusohjelmaan ja vastauksena saatu tulos käsitellään samassa ohjelmassa Olli Hämäläinen Pasi Ranne Metropolia Ammattikorkeakoulu 12

SQL:n perustoiminnot lyhyesti Tiedon määrittely CREATE TABLE ALTER TABLE DROP TABLE Tiedon käsittely INSERT DELETE UPDATE Tiedon haku SELECT CREATE INDEX DROP INDEX CREATE VIEW Tapahtumanhallinta COMMIT ROLLBACK Oikeuksien hallinta GRANT REVOKE Pasi Ranne Metropolia Ammattikorkeakoulu 13

SQL-käskyjen esitystapa Kielen varatut sanat ISOILLA KIRJAIMILLA CREATE, TABLE, SELECT, DROP, UPDATE WHERE, GROUP BY, HAVING AND, OR, Käyttäjän määrittämät taulujen ja sarakkeiden nimet pienillä kirjaimilla Isoja kirjaimia käytetään joskus sanan alussa tai erottamaan yhdyssanoja osasto, osastoid, osasto_id, osastotunnus, osasto_tunnus Osasto, OsastoId, OsastoTunnus Pasi Ranne Metropolia Ammattikorkeakoulu 14