Andmemudel
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Andmemudel PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

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).

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Andmemudel

Andmemudel

aines IDU0090

Rainer Kuhi

960672 LAPM


Teemad

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


Zachmanni tugiraamistik http www zifa com framework pdf

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


Andmemudeli m iste

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)


Millest tekib andmemudel uml i n itel

Millest tekib andmemudel (UML-i näitel)


Andmebaasis steemi m iste

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:


Andmebaasi tabelid

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


Tabelile veerud

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);


Tabelite v tmed

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


Tabelite vahelised seosed

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


Tabelite vahelised seosed 2

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.


Andmemudeli normaliseerimine

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.


Normaliseerimine 1nk

Normaliseerimine – 1NK

  • 1NK reegel: Tabeli veergudes ei tohi olla korduvaid gruppe

  • Normaliseerimata kuju:

  • Näide 1. normaalkujul


Normaliseerimine 2nk

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:


Normaliseerimine 3nk

Normaliseerimine – 3NK

  • 3NK reegel: Iga veerg peab sisaldama informatsiooni objekti kohta, mida kirjeldab primaarvõti.

  • Näide 2. normaalkujul:

  • Näide 3. normaalkujul:


Andmemudeli kasutamine

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.


Lesanne

Ü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.


  • Login