410 likes | 617 Views
TIETOKANNAT. BY KMALINEN. DBMS Tietokannan looginen rakenne Fyysinen tietokanta Tietomalli Tiedostot. I/O operaatiot. Hallintojärjestelmä. Tietokannan suunnittelun vaiheet. 1. Vaihe: Tietokannan looginen suunnittelu Loogiseen suunnitteluun kuuluu seuraavien määrittely:
E N D
TIETOKANNAT BY KMALINEN
DBMS Tietokannan looginen rakenne Fyysinen tietokanta Tietomalli Tiedostot I/O operaatiot Hallintojärjestelmä AmoJp / kmalinen
Tietokannan suunnittelun vaiheet 1. Vaihe: Tietokannan looginen suunnittelu Loogiseen suunnitteluun kuuluu seuraavien määrittely: Taulut ja niiden kentät Pää- ja viite avaimet Taulujen yhteydet Datan eheys
Tietokannan suunnittelun vaiheet.. • 2. Vaihe: • Looginen rakenne toteutetaan • Taulujen luominen • Pää- ja viiteavainten luominen • Taulujen yhteyksien luominen • Datan eheyden varmistaminen AmoJp / kmalinen
Tietokannan suunnittelun vaiheet… • 3. Vaihe: • Sovellus kehitetään loppukäyttäjiä varten. AmoJp / kmalinen
Koko tietojenkäsittelyjärjestelmän käsitemalli Kohdealueen käsitemalli Kuva Käsitemalli on yksi peruslähtökohta tietojen määrityksessä AmoJp / kmalinen
LASKU ASIAKAS TUOTE 7860,00 LASKU LASKU *Laskun numero *Eräpäivä ASIAKAS *Asiakasnumero Asiakkaan nimi Asiakkaan … … … Alennuskoodi TUOTE *Tuotenumero *Tuotenimi hinta PARAMETRI alennus - % KÄSITEMALLI TIETOTARVE • Laskun numero • Asiakkaan numero Asiakkaan lähiosoite Asiakkaan postitoimipaikka Asiakkaan postinumero Tuotteen numero Tuotenimi Hinta Alennuskoodi Eräpäivä Alennusprosentti KÄYTTÄJÄNÄKEMYS AmoJp / kmalinen
Käsitekaavio AmoJp / kmalinen
Relaatiotietokanta • Ensimmäiset tietokantamallit (ennen relaatiotietokantoja) • Hierarkkinen tietokantamalli • Verkkotietokantamalli • Relaatiotietokanta (nykyinen malli) AmoJp / kmalinen
Hierarkkinen tietokantamalli • Tietokannan sisältämät suhteet kuvataan isä/lapsi -termeillä. • Isätaulu voi liittyä moniin lapsitauluihin, mutta lapsitaululla voi olla vain yksi isätaulu. AmoJp / kmalinen
Hierarkkisen tietokantamallin edut ja haitat • Mallin etuja: Tietoja voidaan hakea nopeasti. • Viite-eheys on sisäänrakennettuna • Mallin haittoja: Käyttäjän pitää tuntea tietokannan rakenne erittäin hyvin. • Lapsitauluun ei voida tallentaa tietuetta, mikä ei ole linkitetty mihinkään isätaulun tietueeseen. AmoJp / kmalinen
Verkkotietokantamalli • Luotiin korjaamaan eräitä hierarkkisen tietokantamallin ongelmia. • Tietokannan sisältämät suhteet kuvataan joukkorakenteen avulla. AmoJp / kmalinen
Relaatiotietokanta (nykyinen malli) • Tri Codd esitteli 1970 ensimmäistä kertaa relaatiotietokantamallin. (”Relational Model of Data for Large Shared Databanks” ) • Malli auttoi ratkaisemaan monia ongelmia, kuten: • ylimääräinen data • heikko eheys AmoJp / kmalinen
Käyttötietokannat (sisältävät dynaamista dataa) • Dynaaminen data = data muuttuu jatkuvasti • Käytetään pääsääntöisesti, kun tietoa tarvitaan ja päivitetään päivittäin esim. inventaariotietokannat ja tilauskannat. AmoJp / kmalinen
Analyyttiset tietokannat (sisältävät staattista dataa) • Staattinen data • data ei koskaan muutu, tai • muuttuu hyvin harvoin • Staattista dataa käytetään ajasta riippuvien tietojen tallentamiseen. AmoJp / kmalinen
Terminologia • Data • Tietokannassa olevat arvot ovat dataa, mutta se ei välttämättä kerro yksinään mitään. • Informaatio • Informaatio on dataa, joka on ymmärrettävässä muodossa. • Tyhjä arvo (null) • Arvon puutuessa tai se ollessa tuntematon sitä kutsutaan tyhjäksi arvoksi • Taulu • Taulu edustaa kohdetta esim. henkilöä ja sillä on monia ominaisuuksia. AmoJp / kmalinen
Terminologia … • Tietue • Tietue on erikenttien kokoelma. • Näkymä • Näkymällä tarkoitetaan näennäistaulua • Avaimet • Avaimet ovat erikoiskenttiä, joilla on oma tarkoituksensa. Avaimen tyyppi ratkaisee sen tarkoituksen. AmoJp / kmalinen
Terminologia … • Indeksi (ovat fyysisiä rakenteita) • Indeksi tarkoittaa hakemistoa, joka parantaa tietojen käsittelyä • Yhteydet • Kahden taulun välillä olevaa liitosta kutsutaan yhteydeksi. AmoJp / kmalinen
Yhteystyypit (kardinaliteetti) • Yhdestä - yhteen 1 1 Ostaa Asiakas Kauppa AmoJp / kmalinen
Yhteystyypit (kardinaliteetti) • Yhdestä - moneen 1 m Ostaa Asiakas Kauppa AmoJp / kmalinen
m m Ostaa Asiakas Kauppa Yhteystyypit (kardinaliteetti) • Monesta - moneen AmoJp / kmalinen
Datan yheys (database integrity) • Datan yheys tarkoittaa datan yhdenmukaisuutta ja paikkansapitävyyttä. • Datan yheyden varmistaminen AmoJp / kmalinen
Tietokantojen suunnittelu - mitä ja miksi • Huonosti tai huolimattomasti suunnitellun tietokannan käyttäminen voi olla hankalaa. • Pahimmassa tapauksessa tietokannasta saadaan virheellisiä tietoja. • Tietokanta on yksi monimutkaisimmista ohjelmistoista. AmoJp / kmalinen
Tietokantojen suunnittelu - mitä ja miksi… • Tietokantoja ei pidä lähteä toteuttamaan ilman riittävää tietotaitoa • Yrityksen tarpeet pitää selvittää huolellisesti heti suunnittelun alussa. AmoJp / kmalinen
Suunnittelun erivaiheet • Vaatimuksien Analysointivaihe • Tarkastellaan yritystä ja toimintamalleja • Haastellaan käyttäjiä ja johtoa nykyisistä ja tulevista järjestelmän tarpeista • Selvitetään yrityksen yleiset tietotarpeet. AmoJp / kmalinen
Suunnittelun erivaiheet… • Tehtäväselostuksen luominen • Hyvä tehtäväselostus on lyhyt ja ytimekäs • Nykyiseen tietokantaan tutustuminen • Tietokantaa tarkasti analysoimalla saadaan tärkeätä tietoa • Alustavan kenttälistan luominen AmoJp / kmalinen
Suunnittelun erivaiheet… • Alustavan taululistan luominen • Yhteyksien luominen • Näkymät • Eivät sisällä dataa AmoJp / kmalinen
Huom! yhteyslaji AmoJp / kmalinen Huom! muista viite-eheys
Datan muotoiluvaihe • Muotoillaan itse tietokantarakenne. • ER-kaaviot • Seinätaulutekniikka • Määritellään kentät ja liitetään ne oikeisiin tauluihin. AmoJp / kmalinen
Normalisointivaihe • Ensimmäinen normaalimuoto (1NM) • Relaation saamiseksi ensimmäiseen normaalimuotoon siitä poistetaan toistuvat ryhmät ja luodaan niistä omat relaatiot • Toinen normaalimuoto (2NM) • Jos jokaisen taulun avain koostuu vain yhdestä attribuutista, tietokanta käytännössä täyttää suoraan toisen normaalimuodon. AmoJp / kmalinen
Normalisointivaihe • Kolmas normaalimuoto (3NM) • Relaatio R on kolmannessa normaalimuodossa, jos ja vain jos se on toisessa normaalimuodossa ja jokainen relaation R attribuutti, joka ei ole avainattribuutti, on intransitiivisesti riippuvainen relaation R perusavaimesta (eli ei ole transitiivisesti riippuvainen) • Transitiivinen riippuvuus määritellään: Jos a→b ja b→ c, niin a → c. AmoJp / kmalinen
Kenttämääritelmät • Kentät ovat tietokannan perusta. • Huonojen kenttämääritelmien korjaaminen vie tyypillisesti kolme kertaa enemmän aikaa kuin heti alussa kunnon kenttämääritelmien luominen. AmoJp / kmalinen
Kenttämääritelmät • Tietotyyppi • Aakkosnumeerinen – säilyttää mitä tahansa kirjainten, numeroiden, laajennettujen merkkien tai erikoismerkkien yhdistelmää. • Numeerinen – säilyttää vain lukuja; sekä kokonaisluvut että reaaliluvut ovat sallittuja. (luvut joiden alussa on nollia eivät ole sallittu) • Päiväys – säilyttää minkä tahansa todellisen päivämäärän. • Kellonaika – säilyttää minkä tahansa todellisen kellonajan. AmoJp / kmalinen
Kenttämääritelmät • Merkkien tuki • Kirjaimet – kaikki aakkosiin kuuluvat kirjat, mukaan lukien kirjaimet, kuten ”é” ja ”ñ” • Numerot – 0 … 9. • Laajennetut merkit – kaikki merkit, jotka voidaan syöttää näppäimistöllä (paitsi kirjaimet ja numerot). • Erikoismerkit – kaikki merkit, jotka pitää syöttää muuten kuin näppäimistön avulla. AmoJp / kmalinen
Kenttämääritelmät • Pituus • Määritellään kuinka monta merkkiä kenttään saa syöttää. • Vaaditaanko arvo • Määritellään onko kenttään pakko syöttää arvo AmoJp / kmalinen
Kenttämääritelmät • Muokkaussäännöt • Syöttö nyt, muokkaukset sallitaan. • Syöttö myöhemmin, muokkaukset sallitaan. • Syöttö nyt, muokkauksia ei sallita. • Syöttö myöhemmin AmoJp / kmalinen
Kenttämääritelmät • Sallittu arvoalue • Yleinen – Tämä kenttä on kaikkien mahdollisten arvojen kokoelma. • Eheydelle ominainen – arvokokoelma, joka perustuu kentän tehtävään tauluyhteyden luomisessa. • Yritykselle ominainen – arvokokoelma, joka on tietyn liiketoimintavaatimuksen seuraus. AmoJp / kmalinen
Liikesäännöt • Asettavat jonkinlaiset rajoitukset kenttämääritelmällä tai kahden taulun väliselle yhteydelle. • tietokantaan suuntautuneet • sovelluksiin suuntautuneet AmoJp / kmalinen
Dokumentointi • Dokumentointi on tärkeä osa tietokannan suunnittelua ja toteutusta. • Se kuitenkin unohdetaan helposti, koska se koetaan monesti turhaksi ja aikaa vieväksi. AmoJp / kmalinen
Toteutus järjestys • Taulujen luominen • Kenttien luominen • Yhteyksien luominen • Tietojen syöttö AmoJp / kmalinen