Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Relaatiomallin perusteet

Samankaltaiset esitykset


Esitys aiheesta: "Relaatiomallin perusteet"— Esityksen transkriptio:

1 Relaatiomallin perusteet
Edgar Frank Coddin ( ) 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

2 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

3 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

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

5 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

6 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

7 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

8 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

9 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

10 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

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

12 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

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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

30 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


Lataa ppt "Relaatiomallin perusteet"

Samankaltaiset esitykset


Iklan oleh Google