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

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

HELIA 1 (12) Outi Virkki Tiedonhallinta

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta

arvostelija Tietokantaherättimet Tuomas Husu Helsinki Kandidaatin tutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CSE-A1200 Tietokannat

Relaatiomalli ja -tietokanta

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

2. Käsiteanalyysi ja relaatiomalli

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

3. Taulujen määrittely ja muuttaminen

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

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

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

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

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

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

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

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

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

SQL - STRUCTURED QUERY LANGUAGE

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

Kari Aalto Saariston IT

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

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

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

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

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantakurssit / TKTL

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

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

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

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

arvostelija OSDA ja UDDI palveluhakemistoina.

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU

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

Tietokantasovelluksen määrittelydokumentti

Fyysinen suunnittelu

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

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

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

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

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

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

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

Tietokannat ja versionhallinta

Samanaikaisuuden hallinta Snapshot Isolationin avulla

IIO10200 Tietokantaohjelmointi (4 op)

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

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Yleinen SQL. Yleinen SQL. SQL:n kehitys

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

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

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

A TIETOKANNAT, 3 op Syksy TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

Looginen tietokanta ja transaktiot

TIETOKANNAT kevät 2002 Itseopiskeluosio osa 2/3

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

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

SQL-kielen perusteet. Tietokantojen perusteet

arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CS-A1150 Tietokannat

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

CSE-A1200 Tietokannat

Keskusmuistitietokantojen samanaikaisuuden hallinta

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

CS-A1150 Tietokannat

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Relaatiotietokannat ja paikkatieto

Yksityisyydensuoja internetin paikkatietoja hyödyntävissä palveluissa

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Introduction to exterior routing

CS-A1150 Tietokannat

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Transkriptio:

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 1 2 Avainrajoitteet 1 3 Viite-eheysrajoitteet 1 4 Arvojoukkoeheysrajoitteet 1 5 Eheysrajoitteiden teoreettiset perusteet 2 6 Eheysrajoitteiden historia 2 7 Yhteenveto 2 Lähteet 3

1 Johdanto 1 Johdantona aiheeseen esitetään eheyden määritelmä ( tietovaraston tietojen sisäinen ristiriidattomuus ) ja eheysrajoitteiden osuus osana relaatiomallia [Cod70]. Motivaatioksi tuodaan esiin tietokantatasoisen eheydestä huolehtimisen edut verrattuna sovellustasoiseen. Kerrotaan lyhyesti, mitä tekstissä aiotaan käsitellä (sisällön strukturoinnin esittely). 2 Avainrajoitteet Kappaleen sisältönä avainrajoitteet (key constraint), joista esitellään sekä perusavainrajoitteet (primary key constraint) monikoiden yksilöijinä että yksilöivyysrajoitteet (unique constraint) ehdokasavainten määrittelytapana. Hakemistot (index)? Esitetään avainrajoitteiden perusidea (relaatiossa ei saa olla kahta tai useampaa samanlaista monikkoa; pääavaimeksi määritellään pienin mahdollinen joukko attribuutteja, jotka riittävät yksilöimään relaation kunkin monikon.) ja tapa määritellä ne SQL-kielellä. 3 Viite-eheysrajoitteet Viite-eheysrajoitteet (referential integrity constraint), joilla tässä tarkoitetaan SQL:n viiteavainrajoitteita (foreign key). Esitetään viite-eheysrajoitteiden perusidea (viiteavaimen arvon on löydyttävä viitatun taulun pääavaimen arvosta.), esimerkkejä ja tapa määritellä ne SQL-kielellä. Lisäksi viiteavaimiin liittyvät toimintaohjeet: Vyörytys- (cascade), nollaus- (nullify) ja estosäännöt (resctrict tai no action) toiminnallisine eroineen sekä niiden määrittely SQL-kielellä. 4 Arvojoukkoeheysrajoitteet Arvojoukkoeheysrajoitteiden (domain constraint) idea kaikkine attribuutin arvojoukkoon liittyvine rajoituksineen. Mainitaan tietotyyppi, pituus, oletusarvo, salli-

2 tut arvot, pakollisuus, erilaisuus ym. attribuuttiin liittyvät ominaisuudet. Esitellään SQL:n yksilöintimääreet (unique), tarkistusmääreet (check), pakollisuusvaatimukset (not null) ja oletusmääreet (default) esimerkkeineen.. Voitaneen mainita myös herättimet tilasiirtymiin kohdistuvine rajoitteineen ja esitellä proseduraalista eheysvalvontaa. 5 Eheysrajoitteiden teoreettiset perusteet Funktionaaliset ja sisältyvyysriippuvuudet. 6 Eheysrajoitteiden historia Kappaleessa esitellään lyhyesti eheysrajoitteiden historiaa osana SQL-standardia. Tuodaan esiin, että SQL on kehittynyt vuosien varrella, ja että ensimmäisessä versiossa ei ollut mahdollista määritellä edes avainrajoitteita. Esihistoria: eheysrajoitteet System-R:ssä ja SEQUEL-kielessä. SQL1 -standardi (SQL86) vuonna 1986. Viite-eheyden tarkistuksen lisääminen standardiin vuonna 1989. SQL2 -standardi (SQL92) vuonna 1992. Vyörytys- ym. toiminnot. SQL3-standardi (SQL99) vuonna 1999, jolloin myös herättimet proseduraaliseen eheysvalvontaan. Selvitettävää: Onko vuosien 2003, 2006 ja 2008 SQL-standardeissa tullut jotain mainittavia muutoksia eheysrajoitteisiin liittyen (esim. vuonna 2008 INSTEAD OF -herättimet). 7 Yhteenveto Tekstiä.

Lähteet 3 Ast76 BMP01 Cha81 Cod70 CPM96 MaR92 SKS06 Sto75 Astrahan, M. M. et al., System R: relational approach to database management. ACM Trans. Database Syst., 1,2(1976), sivut 97 137. Behrend, A., Manthey, R. ja Pieper, B., An amateur s introduction to constraints and integrity checking in SQL3. Datenbanksysteme in Büro, Technik und Wissenschaft (BTW). Springer, 2001, sivut 405 423. Chamberlin, D. D. et al., A history and evaluation of System R. Commun. ACM, 24,10(1981), sivut 632 646. Codd, E. F., A relational model of data for large shared data banks. Commun. ACM, 13,6(1970), sivut 377 387. Cochrane, R., Pirahesh, H. ja Mattos, N., Integrating triggers and declarative constraints in SQL database systems. Conference on Very Large Data Bases (VLDB), 1996, sivut 567 578. Mannila, H. ja Räihä, K., The Design of Relational Databases. Addison- Wesley Publishing Company, Wokingham, 1992. Silberschatz, A., Korth, H. F. ja Sudarshan, S., Database System Concepts. Fifth Edition. McGraw-Hill, New York, 2006. Stonebraker, M., Implementation of integrity constraints and views by query modification. SIGMOD 75: Proceedings of the 1975 ACM SIGMOD international conference on Management of data, New York, 1975, ACM, sivut 65 78.