1 / 17

Andmemudel

Andmemudel. aines IDU0090 Rainer Kuhi 960672 LAPM. Teemad. Andmemudel, kui infosüsteemi üks vaade Andmebaasisüsteemi mõiste Andmemudeli disain Tabelid, veerud, võtmed, seosed, DDL Normaliseerimine Andmemudeli kasutamine SQL, DML Ülesanne. ANDMED (Mis). Funktsioon (Kuidas).

Télécharger la présentation

Andmemudel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Andmemudel aines IDU0090 Rainer Kuhi 960672 LAPM

  2. Teemad • Andmemudel, kui infosüsteemi üks vaade • Andmebaasisüsteemi mõiste • Andmemudeli disain • Tabelid, veerud, võtmed, seosed, DDL • Normaliseerimine • Andmemudeli kasutamine • SQL, DML • Ülesanne

  3. ANDMED (Mis) Funktsioon (Kuidas) Arvutivõrk(Kus) Inimesed (Kes) Aeg (Millal) Motivatsioon (Miks) Eesmärk / Skoop Ettevõttele oluliste objektide loetelu Ettevõtte protsesside loetelu Ettevõtte osakondade asukohtade loetelu Organisatsiooni ühikute loetelu Sündmuste ja äritsüklite loetelu Ärieesmärkide loetelu Äri- mudel Objekt-suhte diagramm (m:m, n- suhted) Äri- mudel (physical data flow diagram) logistikavõrk (nodes and links) Organisat-siooni skeem, rollid; kvalifikatsioon; andmetele juurdepääs Ajagraafik Äriplaan Info- süsteemi mudel Andme-mudel (1:m suhted ja normaliseeritud) Tegelik andme-voogude diagramm application architecture Hajutatud süsteemi-arhitektuur Väline juurdepääs (roles, data, access) Sõltuvusdiagram objekti elu-tsükkel Ärireeglite mudel Tehno-loogia mudel Andmete arhitektuur Süsteemi Projekteerimine: struktuuri-diagramm Süsteemi arhitektuur (hardware, software types) Kasutaja liides (how the system will behave); security design Juhtimisvoogude diagram (juht-struktuur) Ärireeglite projekteerimine Detailne kavanda-mine Füüsiline andme-mudel Detailne programmi projekteerimine Võrgu arhitektuur protokollid Ekraani-vormid, andme-turbe arhitektuur (who can see what?) Ajastus-mudel Ärireeglid programmi-loogikas (Töötav süsteem) Töötav süsteem Reaalsed andmed Täitev programm Kommunikatsiooni- vahendid Välja-õpetatud inimesed Reaalne äri-sündmus Kehtestatud ärireeglid Zachmanni tugiraamistik http://www.zifa.com/framework.pdf

  4. Andmemudeli mõiste • Lihtsustatult on andmemudel andmete struktureerimise viis andmebaasis, millega üritatakse kirjeldada reaalse maailma andmeobjekte. Andmed on koondatud ühte või mitmesse tabelisse. • Täpsemalt mõeldakse andmemudeli all mitme-tabelisüsteemi erinevate tabeli kirjete vaheliste seoste fikseerimise moodust. • Enamlevinud on relatsiooniline mudel, mille pakkus välja 1970. aastal E. Codd. • Andmemudelit kujutatakse • E(ntity)-R(elationship) ehk olem-seose diagrammil. • UML-is klassidiagrammil (loogiline) ja andmemudeli diagrammil (füüsiline)

  5. Millest tekib andmemudel (UML-i näitel)

  6. Andmebaasisüsteemi mõiste • Lihtsustatult on andmebaas organiseeritud andmete kogum • Relatsioonilises andmebaasis on rakendatud relatsioonilise algebra ühtseid põhimõtted. Relatsioon on lihtsustatult 2-mõõtmeline tabel. • Andmebaasisüsteem koosneb nii andmebaasist kui ka selle juhtimise, arendamise ja kasutamise süsteemist (DBMS). • Suuremates infosüsteemides ei pruugi olla keskset andmebaasi, vaid andmeid paiknevad alamsüsteemide andmebaasides, mis on omavahel mingil tasemel liidestatud. • Näited:

  7. Andmebaasi tabelid • Relatsioonilises andmebaasis hoitakse andmeid tabelite kujul • Tabeli veerud kirjeldavad ühte tüüpi objektide omadusi: atribuute ehk väljasid. • Tabeli ridades hoitakse konkreetseid ühte tüüpi objekte

  8. Tabelile veerud • Iga veeru juures määratakse järgmised omadused: • Andmetüüp (number, kuupäev, tekst) • Pikkus • Kohustuslikkus • Kirjeldus • Muud kitsendused • Jne • DDL käsk Oracle näitel:CREATE TABLE isik (id number(22) not null, eesnimi varchar2(50) not null, perekonnanimi varchar2(50) not null, sünniaeg date not null, sugu varchar2(1) not null);ALTER TABLE isik ADD PRIMARY KEY (id);

  9. Tabelite võtmed • Igal tabelil peab olema primaarvõti ehk unikaalseid väärtusi sisaldav veerg või veergude kombinatsioon, mis üheselt identifitseerib objekti, mida tabelis kujutatakse. Tavaliselt kasutatakse üheveerulist primaarvõtit, et hiljem oleks lihtsam seoseid luua teiste tabelitega, ja nimetatakse ID. Primaarvõtme veerg/veerud on alati kohustuslikud. • Igal tabelil võib olla ka rohkem unikaalseid võtmeid, mis identifitseerivad üheselt objekti, kuid seoste loomisel kasutatakse primaarvõtit. Neid kasutatakse ka andmeterviklikkuse huvides. • Näiteks: Primaarvõti – Isik.ID, unikaalne võti – Isik.Isikukood

  10. Tabelite vahelised seosed • Tabelite vahelisi seoseid kujutatakse andmemudeli diagrammil, millel võib olla erinevaid notatsioone. • Seosed luuakse peatabeli primaarvõtme ja alamtabeli võõrvõtme veeru/veergude vahele

  11. Tabelite vahelised seosed (2) • Seosed tagavad andmebaasi terviklikkuse. Näiteks ei luba sisestada TudengiKursustesse sellise tudengi koodi, mida pole tudengi tabelis. • Accessis defineeritakse seosed “Relationships” vahendiga • Muudes andmebaasisüsteemides tabaliselt läbi DDL käsu või samuti läbi graafilise vahendi, mis sisuliselt selle käsu koostab ja edastab. DDL näide: ALTER TABLE tudeng ADD FOREIGN KEY (juhendajaID) REFERENCES isik (id); • Võõrvõtme (foreign key) veeruks nimetatakse tabeli veergu, mille väärtused tulevad mõne teise tabeli primaarvõtmest. Kui primaarvõtme veerus on unikaalsed väärtused, siis võõrvõtme veerus reeglina esinevad korduvad väärtused.

  12. Andmemudeli normaliseerimine • Normaliseerimine on andmete ümberstruktureerimise protsess, mille käigus vähendatakse andmete dubleerimist ja ebakõlasid andmemudelis. • Normaliseerimise viiakse läbi sammude kaupa. Selle taga on relatsioonide teooria, kuid tavaliselt piisab kui jõutakse 3. normaalkujuni, teatud reegleid rakendades. • Üldiselt kehtib reegel, et mida kõrgem on normaalkuju, seda terviklikum on andmemudel, kuid samas võib kannatada päringute kiirus ja mudeli loetavus.

  13. Normaliseerimine – 1NK • 1NK reegel: Tabeli veergudes ei tohi olla korduvaid gruppe • Normaliseerimata kuju: • Näide 1. normaalkujul

  14. Normaliseerimine – 2NK • 2NK reegel: Iga mittevõtmeveerg on täielikult sõltuv primaarvõtmest, mitte osaliselt sõltuv võtmeosast. • Näide 1. Normaalkujul: • Näide 2. normaalkujul:

  15. Normaliseerimine – 3NK • 3NK reegel: Iga veerg peab sisaldama informatsiooni objekti kohta, mida kirjeldab primaarvõti. • Näide 2. normaalkujul: • Näide 3. normaalkujul:

  16. Andmemudeli kasutamine: • Relatsioonilistes andmebaasides on kasutusel standardne päringukeel SQL (Structured Query Language). • Loengunäites toodud andmebaasist saame teha päringuid tudengite nimekirjade saamiseks, kuid võimalik on vastused saada keerukamatele küsimustele nt: Millised tudengid deklareerisid kursused IDU0090 ja IDU0080 ja kelle juhendajaks oli samal ajal Enn Õunapuu. • DML (Data Modification Language) on mõeldud andmete sisestamiseks muutmiseks ja kustutamiseks. Mõned näited: • INSERT INTO tudeng (id, matriklinr, juhendaja) VALUES (12, ‘960672’,24); • UPDATE isik i SET i.perekonnanimi = ‘Ilus’ WHERE i.id = 344; • DELETE FROM kursus WHERE ainekood = ‘IDU9980’; • Päringute kiirendamiseks luuakse tabelitele indekseid. DML käskude käivitamisel on indeksid sageli aga koormavaks teguriks.

  17. Ülesanne • Luua 6 või enamast objektist koosnev andmemudel, mis on kooskõlas funktsionaalse ja ajalise vaatega. • Normaliseerida andmemudel 3NK-le. • Luua ühele tabelile sisestamise vorm.

More Related