Relaatiomallin perusteet

Slides:



Advertisements
Samankaltaiset esitykset
18. Abstraktit tietotyypit
Advertisements

ER-mallista relaatiomalliin
Ohjelmiston tekninen suunnittelu
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
Active directory.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
JavaScript (c) Irja & Reino Aarinen, 2007
Datan määrittely, MySQL
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Tietokanta.
Käsiteanalyysi Käsiteanalyysi on työskentelymenetelmä
Looginen suunnittelutMyn1 Looginen suunnittelu •Tässä lähdetään liikkeelle käsitemallista. •Laaditaan sisällöstä ja rakenteesta loogisen tason kuvaus,
Kiintolevyn osiointi.
2.8.3 Abstraktit tietotyypit
Aggregaattifunktiot (1)
EXtensible Markup Language
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Valitse sanomapalkissa Ota muokkaus käyttöön,
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Poikkeuskäsittely- lohkot tMyn1 Poikkeuskäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw ja.
VB:n tietokantakäsittely
Luokkien löytyminen käytännössä tMyn1 Luokkien löytyminen käytännössä Kun aletaan ratkaista elävän elämän ohjelmointitehtäviä, niin ensimmäisten asioiden.
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
13. Hyvä ohjelmointitapa (osa 1)
Virtuaaliset jäsenfunktiot tMyn1 Virtuaaliset jäsenfunktiot Virtuaalinen jäsenfunktio on esiteltävä monimuotoisessa kantaluokassa. Virtuaalisen jäsenfunktion.
Haaga-Helia Ammattikorkeakoulu
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Normalisointi2tMyn1 Yksi kelpo perusavain on sarakkeet laakNro ja vastAika. Toinen voisi olla potNro ja vastAika, kolmas voisi olla huoneNro ja vastAika,…,
Luokan määrittely class-määreellä tMyn1 Luokan määrittely class-määreellä Luokan määrittely tarkoittaa luokan tietojäsenten esittelyä ja jäsenfunktioiden.
Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.
Miksi tämä on vaikeaa? Ilman minkäänlaisia rajoitteita ongelmat ei ole vaikeita ratkaista. Siihen löytyy jopa valmis ”kaava”. Valitettavasti jokaisessa.
4-Tietokantaohjelmointi Teuhola Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java.
SQL Standardoitu kieli, jonka avulla voidaan
Muunnos luokkakaaviosta relaatiokaavioon
Tietokannan luominen Tietokanta luodaan komennolla CREATE DATABASE
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tietokannan normalisointi
Ohjelman keskeytys virhetilanteessa tMyn1 Ohjelman keskeytys virhetilanteessa Poikkeustilanteet voidaan ryhmitellä logiikkavirheisiin ja muihin ajonaikaisiin.
6. Relaatioalgebra ja relaatiokalkyyli
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
5. Lineaarinen optimointi
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Johdetun luokan olion esittely... tMyn1 Johdetun luokan olion esittely ja määrittely Esittelyluokka tarkoittaa olion tunnuksen luokkaa. Määrittelyluokka.
Poikkeustenkäsittely- lohkot tMyn1 Poikkeustenkäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw.
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
XML Schema Teppo Räisänen Liiketalouden yksikkö.
11. Relaatiotietokannan suunnittelualgoritmit ja lisäriippuvuudet Tällä kurssilla käsitellään kirjan luvusta 11 ainoastaan algoritmi 11.1 häviöttömän liitoksen.
Yleistä Kotisivuja päivitetty Demoryhmät Luentomonisteen ensimmäiset osat Luentokalvot jaossa Demot alkavat maanantaina Selvitä oma demoryhmäsi Tutustu.
Tekstitiedostoon kirjoittaminen tMyn1 Tekstitiedostoon kirjoittaminen Tiedostoja käsitellään ohjelmassa tiedosto-olion avulla. Tiedosto-olion luokka sisältää.
Monimuotoinen luokka tMyn1 Monimuotoinen luokka Monimuotoinen luokka mahdollistaa saman jäsenfunktion toteutuksen monella tavalla. Tällöin puhutaan virtuaalisesta.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Fyysinen suunnittelutMyn1 Fyysinen suunnittelu Tässä lähdetään liikkeelle tietokannan loogisesta mallista. Nyt pitää olla tiedossa valittava DBMS-tuote.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
15. Ohjelmoinnin tekniikkaa
Tietokannan hallinta Kevät 2006 Jan Lindström R&G Chapter 1.
Tietokantapalvelimet Ville Parviainen. Sisältö Yleistä tietokannoista SQL PostgreSQL MySQL MySQL vs. PostgreSQL Linux -työ.
MapInfon tiedostot TAB – Tiedosto, jonka avulla tietokanta avataan MapInfossa. Tiedostossa tietoja kentistä ja koordinaattijärjestelmästä. DAT, XLS. TXT.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Copyright Oy Thomas Antila Consulting Ab 1 Indeksointi Oracle 8i tietokannassa OUGF Syksy 2000.
Tietokanta (database) on kokoelma tietoja, jotka liittyvät tavalla tai toisella toisiinsa (esim. henkilö -> auto -> katsastus aika -> …) Tietokannan (relaatiomalli)

Sisältö PostgreSQL MySQL Historia yms. ORDBMS Ominaisuuksia Asennus
14. Hyvä ohjelmointitapa.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Esityksen transkriptio:

Relaatiomallin perusteet Edgar Frank Coddin (1923-2003) esittämä relaatiomalli on tunnetuin ns. loogisen tason tietomalli. Se on vakiintunut yleisimmäksi tietomalliksi lähinnä yksinkertaisuutensa ja matemaattisen perustansa ansiosta. Vastaavan kielen, SQL, ensimmäinen standardi on hyväksytty 1986. Relaatiomallin pohjana on joukko-oppi ja matematiikan relaatiokäsite. Relaatiomallin perusteet tMyn

Näiden peruskäsitteiden pohjalta on määritelty operaatiot tietokannan käsittelyyn sekä kehitetty teorioita tietokannan suunnitteluun. Relaatiomalli määrittelee tietokannan rakenteen, käsittelyn sekä rakennetta ja käsittelyä säätelevät rajoitukset. Relaatiomallin perusteet tMyn

Relaatio Yleiskielellä relaatio on kaksiulotteinen taulu (table), joka koostuu riveistä eli tietueista (rows, records) ja sarakkeista eli kentistä (columns, fields). Taulun sarakkeisiin talletettava tieto voi olla merkkitietoa (char, varchar, …), numerotietoa (integer, float, …), binaaridataa (binaarista dataa, kuvia, ääntä, tiedostoja, …), päiväystietoa (date, time, …) tai se voi ilmaista loogista tilaa (true/false). Relaatiomallin perusteet tMyn

kaveri Relaation kardinaalisuus Relaation attribuutit Relaation aste Kuva 1. Relaatiomallin käsitteitä. Relaatiomallin perusteet tMyn

Relaation nimi on siis taulun nimi. Kullakin taulun sarakkeella on niminään vastaavat attribuutit (ominaisuudet). Nimen tulee kuvata sarakkeen tai paikan sisältävää tietoa. Arvoalue (arvojoukko, domain) on tiettyyn attribuuttiin liittyvien mahdollisten arvojen joukko. Tavallisesti arvoalueen määritys tehdään osaksi tietotyypin (data type) määritystä. Esim. eNimi-arvoalue voidaan määritellä merkkijonoksi, jonka pituus on max. 15 merkkivakiota. Relaatiomallin perusteet tMyn

kaveri(eNimi, sNimi, tLATunnus, pLNumero, kOsoite, kaupunki, pNumero) Relaation asteella (degree) ilmaistaan relaation attribuuttien (tauluesityksen sarakkeiden) lukumäärää. Relaation monikoiden lukumäärää (tauluesityksen rivien lukumäärää) kutsutaan relaation kooksi, relaation kardinaalisuudeksi (cardinality). Relaatiokaavio (relation schema) määrittelee relaation rakenteen: attribuuttien luettelo, arvoalueiden määrittelyt, sekä perus- ja viiteavainten määrittelyt. Yksinkertaisimmillaan se voidaan esittää kaavion nimeen liitettynä attribuuttiluettelona: kaveri(eNimi, sNimi, tLATunnus, pLNumero, kOsoite, kaupunki, pNumero) Relaatiomallin perusteet tMyn

Attribuuttien järjestyksellä luettelossa ei ole merkitystä. Kaavassa on syytä yleensä näkyä myös relaation perusavain sekä viiteavaimet. Matemaattisessa joukossa tietty alkio esiintyy vain kerran. Koska relaatio on määritelmänsä mukaisesti matemaattinen joukko, tarkoittaa tämä sitä, että jokainen relaation monikko (taulun rivi, tuple) on erilainen. Matemaattisessa joukossa ei alkioiden järjestyksellä ole väliä, ei myöskään relaation monikkojen järjestyksellä. Relaatiomallin perusteet tMyn

Coddin relaatioteorian mukaan relaation ominaisuuksia ovat: relaation monikkojen (rivien) tulee olla arvoltaan erilaisia relaation jokaisella rivillä on oltava yhtä monta attribuuttia eli rivien asteluku on oltava sama kukin attribuutti (sarake) on homogeeninen eli sisältää arvoja vain yhdestä arvojoukosta relaation monikkojen järjestyksellä ei ole merkitystä arvojen järjestyksellä monikossa ei ole merkitystä kukin arvo monikossa on atominen tai tyhjäarvo Relaatiomallin perusteet tMyn

Relaation monikoiden erilaistamiseen riittää, että jokin tai jotkin attribuuttien arvot ovat eri monikoissa erilaisia. Tällaista relaation attribuuttia tai attribuuttien joukkoa, joka erottelee monikot toisistaan kutsutaan avaimeksi. Avaimen on oltava: uniikki, eli missään relaatiokannan ilmentymässä (monikossa) ei ole kahta tai useampaa riviä, joilla avainattribuuttien arvot ovat samat minimaalinen, eli avain muodostuu mahdollisimman pienestä joukosta attribuutteja, ts. avainattribuuttien mikään osajoukko ei ole avain. Relaatiomallin perusteet tMyn

Relaatiolla voi olla useita avainehdot täyttäviä attribuutteja tai yhdistelmiä. Kuvan 1 esimerkissä mikään attribuutti ei ole kelvollinen, lisätään siis yksi attribuutti lisää, kuva 2. Relaatioon on valittava perusavain (pääavain, primary key) avainehdokkaiden joukosta. Perusavain voidaan merkitä relaatiokaavioon alleviivaamalla attribuutti: kaveri(kNro, eNimi, sNimi, tLATunnus, pLNumero, kOsoite, kaupunki, pNumero) Relaatiomallin perusteet tMyn

kaveri Kuva 2. Parannettu versio kuvan 1 relaatiosta. Relaatiomallin perusteet tMyn

Relaatiotietokanta muodostuu yhdestä tai useammasta relaatiosta. Relaatioilla voi olla avaimiin perustuvia riippuvuuksia (riippuvuus=yhteys). Viiteavain (foreign key, referential key) on sarake tai sarakeyhdistelmä, joka viittaa toisen taulun perusavaimeen. Kuvassa 3 relaation osasto relaatiokaavio on osasto(oNro, oNimi, budjetti). tyontekija-relaation oNro-attribuutin arvo on sama kuin osasto-relaation perusavaimen oNro arvo. Relaatiomallin perusteet tMyn

osasto tyontekija Kuva 3. Kahden relaation välinen riippuvuus. Relaatiomallin perusteet tMyn

tyontekija(tTNro, tTSNimi, palkka, oNro->osasto) Attribuuttia tai attribuuttien yhdistelmää, jonka kaikki arvot ovat jonkin relaation avainattribuuttien arvoja kutsutaan viiteavaimeksi. Viiteavain merkitään relaatiokaavaan ilmoittamalla kaavassa sen relaation nimi, johon viittaus tapahtuu: tyontekija(tTNro, tTSNimi, palkka, oNro->osasto) Viiteavaimen määrittelyyn liittyy vaatimus viite-eheydestä (referential integrity). Tämä tarkoittaa sitä, että jokaisen viiteavain-attribuutin arvon on esiinnyttävä viitattavan relaation avainattribuutin arvona. Relaatiomallin perusteet tMyn

Joissakin tapauksissa sallitaan viiteavaimella myös tyhjäarvo (null value). Jos viiteavaimella on tyhjäarvo tarkoittaa se sitä, että monikkoa ei ole kytketty mihinkään toiseen monikkoon. Tietokannan hallintajärjestelmän edellytetään valvovan viite-eheyttä ja hylkäävän tai automaattisesti korjaavan tilanteet, joissa sitä yritetään rikkoa. Relaatiomallin perusteet tMyn

Kohteen eheysrajoite (integrity) tarkoittaa, että perusavain ei voi koskaan saada tyhjäarvoa. Viite-eheysrajoitteen pitäminen edellyttää, että on määritelty, miten menetellään viittauksen kohteena olevan tiedon poistoon tai perusavaimen arvon päivittämiseen. Relaatiomallin perusteet tMyn

Tässä on kolme mahdollisuutta: estäminen: viiteavaimen viittaaman monikon poistaminen tai sen perusavaimen arvon muuttaminen estetään. tyhjääminen: viiteavaimelle annetaan tyhjäarvo, jos sen viittaama monikko poistetaan. vyöryttäminen: viiteavaimen arvoa muutetaan vastaavasti, jos viitattavan monikon perusavaimen arvo muuttuu, ja jos viitattu monikko poistetaan, myös kaikki siihen viittaavat monikot poistetaan. Relaatiomallin perusteet tMyn

Perustaulut ja johdetut taulut Tietokannan alkuperäiset taulut ovat ns. perustauluja (base tables). Aiemmassa esimerkissä osasto ja tyontekija ovat perustauluja. Perustaulut ovat olemassa itsenäisesti, muista tauluista riippumatta. Johdetut taulut (derived tables) muodostetaan perustauluista jonkin relaatiomäärittelyn (relational expression) avulla. Relaatiomallin perusteet tMyn

SQL-kielessä perustaulut luodaan CREATE TABLE –lauseella. Johdetuilla tauluilla ei ole itsenäistä olemassaoloa, vaan ne ovat riippuvaisia perustauluista. SQL-kielessä perustaulut luodaan CREATE TABLE –lauseella. Perustaulut ovat nimettyjä kun taas suurin osa johdetuista tauluista ei saa omaa nimeä. Näkymä (view) on johdetun taulun eräs tyyppi. Näkymä muodostetaan CREATE VIEW –lauseella ja näkymä on aina nimetty. Vaikka näkymä on nimetty, ei sillä ole itsenäistä olemassaoloa vaan muiden johdettujen taulujen tapaan se on riippuvainen perustauluista. Relaatiomallin perusteet tMyn

CREATE VIEW osastojenTyontekijat AS SELECT oNimi, tTSNimi Esimerkkinä näkymästä vaikkapa osastojenTyontekijat, joka muodostetaan SQL-lauseella CREATE VIEW osastojenTyontekijat AS SELECT oNimi, tTSNimi FROM osasto, tyontekija WHERE osasto.oNro= tyontekija.oNro; Relaatiomallin perusteet tMyn

Olennaista tietokannan tiedoille on niiden tarpeellisuus, sidokset toisiinsa ja yhteiskäyttöisyys. Useasti tietokanta on laaja tiedot muuttuvat päivittäin samaa tietoa ei ole esitetty useammassa paikassa tiedot ovat elektronisessa muodossa tietokannan käsittely tapahtuu tietokannan hallintajärjestelmän avulla Relaatiomallin perusteet tMyn

Tiedon riippumattomuus Samoja tietoja voidaan käyttää moneen tarkoitukseen. Kutakin tarkoitusta varten saattaa olla laadittuna myös eri ohjelma, esim. pankkiautomaatissa pankkitilejä käsitellään eri ohjelmalla kuin mitä pankkitoimihenkilöt käyttävät työasemiltaan. Nämä ohjelmat saattavat olla laadittu jopa eri ohjelmointikielellä. Ohjelmointikielessä tiedostoa käyttävä ohjelma määrittelee tarvitsemansa tiedostot. Relaatiomallin perusteet tMyn

Ohjelmointikielten näkemykset talletetusta tiedosta poikkeavat. Jotta useiden ohjelmointikielten käyttö saman aineiston käsittelyyn olisi mahdollista, pitäisi tiedot kyetä määrittelemään riippumattomasti ohjelmista ja ohjelmointikielistä. Tietokannoissa riippumattomuus saadaan aikaan siten, että tietokanta määritellään erityisen tietokantakaavion (database scema) avulla. Määrittely on ohjelmariippumaton (ei sisälly mihinkään sovellusohjelmaan) ja joidenkin tietokantakielien kohdalla myös ohjelmointikieliriippumaton. Relaatiomallin perusteet tMyn

Tietokantakaavio sisältää taulujen, eheysehtojen ja käyttöoikeuksien määrittelyn. Ohjelmien tietoriippumattomuudella tarkoitetaan sitä, että ohjelmaa ei tarvitse muuttaa, ellei sen itse käyttämien tietojen rakenteissa tapahdu muutoksia. Relaatiomallin perusteet tMyn

Tietojen samanaikainen käyttö Suuriin tietokantoihin täytyy yleensä päästä käsiksi yhtä aikaa useita käyttäjiä. Tietovaraston käyttöoikeutta ei voida luovuttaa pelkästään yhdelle käyttäjälle kerrallaan. Käyttöjärjestelmät tarjoavat tuen samanaikaiselle käytölle, mutta se rajoittuu yleensä koko tiedoston varaamiseen yksinoikeutettuun käyttöön (lukitseminen). Tietokannat tarjoavat huomattavasti edistyneemmän samanaikaisuuden hallinnan. Relaatiomallin perusteet tMyn

Tietojen haku Perinteisten ohjelmointikielten tarjoamat mahdollisuudet tiedon osoittamiseen perustuvat siihen, että ohjelma käy peräkkäin läpi jotain tiedostoa tai hakee tietoa jostakin tietystä kohdasta tiedostoa. Tietokannat tarjoavat mahdollisuuden tiedon sisällön perusteella tapahtuvaan kohteiden valintaan ja käsittelyyn. Käsittelyyn voidaan esim. valita suoraan tietyn asiakkaan pankkitilit ilman, että ohjelmaan täytyy rakentaa silmukka, jossa nämä tilit käydään yksitellen poimimassa kaikkien pankin tilien joukosta. Relaatiomallin perusteet tMyn

Tällainen karkea suojaus ei aina riitä. Tiedon suojaus Useimmat käyttöjärjestelmät suojaavat tietoja tiedosto- ja hakemistotasolla. Tällainen karkea suojaus ei aina riitä. Esim. pankin asiakas näkee vain omien tiliensä saldot ja opiskelija näkee vain omien suoritustensa arvosanat. Tietokannat mahdollistavat tällaiset käyttörajoitukset ja vievät suojauksen huomattavasti käyttöjärjestelmiä tarkemmalle tasolle. Relaatiomallin perusteet tMyn

Automaattinen varmistus ja elpyminen Varmuuskopion tekeminen tiedostosta varmistaa sen, että tehty työ ei mene hukkaan esim. levyhäiriön sattuessa. Yleensä varmistuskopion tekeminen estää tiedoston käytön kunnes kopio on valmis. Jos tiedostolla on useita käyttäjiä ja/tai tiedosto on suuri, voi olla vaikea löytää ajankohtaa varmistuskopion tekemiselle. Tietokantojen kohdalla järjestelmät pyrkivät takaamaan sen, että käyttäjän suorittama onnistuneesti loppuunviety (vahvistettu/committed) operaatio jättää pysyvän jälkensä tietokantaan ilman, että käyttäjän täytyy kantaa tästä huolta. Relaatiomallin perusteet tMyn

Tallennusrakenteiden täytyy joustavasti mukautua muutoksiin. Suuret tietomäärät Tietomäärät voivat olla suuria (luokkaa gigatavuja) tai tietosisältö voi olla jatkuvasti kasvava tai muutenkin dynaamisesti muuttuva. Tallennusrakenteiden täytyy joustavasti mukautua muutoksiin. Tallennusrakennetta pitää esim. pystyä virittämään paremman tehon aikaansaamiseksi eikä virittämisen pitäisi vaatia mitään muutoksia näitä rakenteita käyttäviin ohjelmiin. Relaatiomallin perusteet tMyn

Mutkikkaat riippuvuudet tietojen välillä Tietojen välillä on usein erilaisia kytkentöjä ja riippuvuuksia. Nämä heijastavat niitä sääntöjä ja lainalaisuuksia, jotka ovat voimassa tietojen kuvaamalla kohdealueella. Tietojen oikeellisuuden kannalta on välttämätöntä, että näitä riippuvuuksia valvotaan. Riippuvuuksien valvontaa ei voi jättää yksittäisten tietoja käsittelevien sovellusohjelmien vastuulle. Relaatiomallin perusteet tMyn