HELIA 1 (12) Outi Virkki Tiedonhallinta 4.11.2000



Samankaltaiset tiedostot
HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

3. Taulujen määrittely ja muuttaminen

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

CSE-A1200 Tietokannat

2. Käsiteanalyysi ja relaatiomalli

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

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

3. Käsiteanalyysi ja käsitekaavio

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

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

Relaatiomalli ja -tietokanta

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

SQL - STRUCTURED QUERY LANGUAGE

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

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

Tietokannan suunnittelu

Tietokannat II -kurssin harjoitustyö

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

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

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

Tietokantakurssit / TKTL

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

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

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

TIETOKANTOJEN PERUSTEET MARKKU SUNI

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

Tietokannan suunnittelu

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Toad Data Modeler Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tietokannan rakenteen suunnittelu

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

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

HELIA 1 (15) Outi Virkki Tiedonhallinta

HELIA 1 (20) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Kari Aalto Saariston IT

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

SQL-kielen perusteet. Tietokantojen perusteet

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

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

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

Tietokannat II -kurssin harjoitustyö

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

TIETOKANNAT kevät 2002 Itseopiskeluosio osa 2/3

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Tietokannat I. c 2007 Olli Luoma olli.luoma@it.utu.fi

Tietokantasovelluksen määrittelydokumentti

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HARJOITUS 2. Kasvattamot ja mittaukset

TIETOKANNAN SUUNNITTELU

Tietokannanhallintajärjestelmä (DBMS)

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HELIA 1 (1) Outi Virkki Tiedonhallinta :43

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

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi

Transkriptio:

HELIA 1 (12) Luento 4.3 Eheyssäännöt (Integrity Constraints)... 2 Eheyden valvonta... 3 Yksilön eheyssääntö... 4 Viite-eheyssäännöt... 5 Arvojoukkoeheyssäännöt... 8 Null-arvoista... 10 Sovelluskohtaiset eheyssäännöt... 11

HELIA 2 (12) Eheyssäännöt (Integrity Constraints) Osa relaatiotietomallia 1. Yksilön eheyssääntö (entity integrity constraints) 2. Viite-eheyssääntö (referential integrity constr.) 3. Arvojoukko-eheyssääntö (domain constraints) 4. Käyttäjän määrittelemät sovelluskohtaiset eheyssäännöt Eheys Yksittäisen tai useamman tietovaraston tietojen sisäinen ristiriidattomuus

HELIA 3 (12) Eheyden valvonta a) Tiedonhallintajärjestelmä b) Sovellusohjelma c) Käyttäjä Yksilön eheyssäännöstä tiedonhallintajärjestelmät ovat huolehtineet jo pitkään Viite-eheydestä ja arvojoukkoeheydestä on perinteisesti huolehdittu sovellusohjelmassa Virhealtis, epäluotettava Tiedonhallintajärjestelmät tukevat eheyden valvontaa vaihtelevasti Vain osa määriteltävissä Rajoituksia Syntaksit erilaisia, heikko siirrettävyys Luotettavin tapa

HELIA 4 (12) Yksilön eheyssääntö Entity Integrity Relaatiossa ei saa olla kahta tai useampaa täysin samanlaista riviä Pääavain on pienin joukko attribuutteja, jotka riittävät yksilöimään kunkin relaation rivin Esim. KOIRA Rekno Nimi Rotu S-vuosi 105 Anki Seka 1995 110 Turkka Suom.pk 1993 120 Turkka Suom.pk 1993 150 Saara Labr. 2000... Tietokannan hallintajärjestelmä huolehtii yksilön eheyssäännön valvonnasta, mikäli eheyssääntö on määritelty tietokantaan (Primary Key Constraint)

HELIA 5 (12) Viite-eheyssäännöt Referential Integrity Viiteavaimen arvon on löydyttävä viitatun taulun pääavaimen arvoista tai viiteavaimen arvon on oltava tyhjä Relaatiotietokannassa ei saa viitata objektiin, jota siellä ei ole. Terminologiaa Teoria Intuitiivinen Englanti Viittaava relaatio Lapsi-relaatio Referencing relation Viitattu relaatio Emo-relaatio Referenced relation Target relation Esim. Jos opiskelijan tiedot päätetään poistaa, tietokantaan ei saa jäädä suoritustietoja, jotka viittaavat ko. opiskelijaan. Miksi? Tietokannan hallintajärjestelmä huolehtii viite-eheyssäännön valvonnasta, mikäli eheyssääntö on määritelty tietokantaan (Foreign Key Constraint)

HELIA 6 (12) Viite-eheyssäännön yhteyteen voidaan määritellä, miten toimitaan, kun viite-eheys on vaarassa, esim. poisto- tai muutostoimenpiteen yhteydessä a) Estetään toimenpide (restrict / no action) b) Vyörytetään toimenpide (cascade) c) Asetetaan viiteavaimen arvoksi tyhjä (set null) d) Asetetaan viiteavaimen arvoksi oletusarvo (set default) Esim. LENTO LENTO- TOTEUTUS VARAUS Miten vaikuttaa poiston vyörytys? Miten vaikuttaa poiston rajoitus? Mitä jos esimerkin yhteyksissä on erilaiset poistosäännöt? Millainen tietojen muutostoimenpide voi vaarantaa viite-eheyden?

HELIA 7 (12) Esim. Oppilashallinto pk: fk: OPETTAJA OPISKELIJA pk: fk: pk: fk: KURSSI OSALLIS TUMINEN pk: fk:

HELIA 8 (12) Arvojoukkoeheyssäännöt Domain Constraints Tulkinta ja määrittely vaihtelee! a) Attribuutin arvot kuuluvat samaan arvojoukkoon. b) Kaikki arvojoukkoon liittyvät rajoitukset: tietotyyppi, pituus, oletusarvo, sallitut arvot, välttämättömyys/pakollisuus, erilaisuus, ) Tietokannan hallintajärjestelmä huolehtii viite-eheyssäännön valvonnasta useamman mekanismin avulla: tietotyyppitarkistus oletusarvomääritykset (Default value) eheyssääntömäärittelyt (Check Constraint) (myös pakollisuus / not null -määrittelyt) erilaisuusmäärittelyt (Unique Constraint) herättimet (Trigger) Esim. Asiakkaan_tyyppi Char(10) Not null Default( yritys ) Check(value in yritys, yksityinen ),

HELIA 9 (12) Esim. Oppilashallinto Kurssi Attribuutti Tietotyyppi Eheyssääntö Kurssinro Kurssin_nimi Kurssin_laajuus Vastuuopen_nro Kieli Materiaali

HELIA 10 (12) Null-arvoista Puuttuva arvo Tuntematon arvo 0 Ä esitystavat ja käyttäytyminen eri operaatioissa vaihtelevat eri tiedonhallintajärjestelmissä lajittelu vertailut funktiot liitokset... toiminta testattava, jos haluaa välttää ennalta arvaamattomia tuloksia / seurauksia Ä vältä mahdollisuuksien mukaan! jos et voi välttää, varaudu ohjelmoidessa Voiko pääavaimen arvo olla null? Voiko pääavaimen osan arvo olla null? Voiko viiteavaimen arvo olla null? Voiko viiteavaimen osan arvo olla null?

HELIA 11 (12) Sovelluskohtaiset eheyssäännöt Sovelluksen toiminnan ja tietosisällön mielekkyyttä tukevat säännöt Tietokannan hallintajärjestelmä voi huolehtia sovelluskohtaisten eheyssääntöjen valvonnasta, mikäli tietokantaan ohjelmoidaan valvonnasta vastaava herätin tai assertio (Trigger, Assertion) Esim. Lentoa ei voida peruuttaa, jos varauksia on vähintään 5 kpl Tilaukseen on liityttävä vähintään yksi tuote Asiakkaan uusia tilauksia ei oteta vastaan, mikäli maksamattomien laskujen yhteissumma on yli 1000 mk

HELIA 12 (12) Suunnittele viite-eheyden valvontasäännöt Bachelors Books tehtävään