adatbáziskezelés - adatmodellek

60
ADATBÁZISKEZELÉS - ADATMODELLEK Összeállította Vörösné Deák Andrea

Upload: toya

Post on 14-Jan-2016

25 views

Category:

Documents


1 download

DESCRIPTION

Adatbáziskezelés - Adatmodellek. Összeállította Vörösné Deák Andrea. Az Informatikai rendszerek elvi felépítése. Jel: fizikai állapotváltozás; Adat: jelsorozat, melyet rögzíteni, tárolni tudunk. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Adatbáziskezelés - Adatmodellek

ADATBÁZISKEZELÉS - ADATMODELLEK

ÖsszeállítottaVörösné Deák Andrea

Page 2: Adatbáziskezelés - Adatmodellek

Az Informatikai rendszerek elvi felépítése Jel: fizikai állapotváltozás; Adat: jelsorozat, melyet rögzíteni, tárolni

tudunk. Információ: az adatok egyéni

értelmezése. Kell, hogy hírértéke legyen, és értelmezhető legyen a fogadó számára.

Adatbázis: Az adatok és a köztük lévő kapcsolatok rendszere.

Page 3: Adatbáziskezelés - Adatmodellek

Az információ érték

Az információ központi erőforrás Az anyaggal és az energiával

“egyenrangú” A szétszórtan létező információ

nehezen használható A több példányban létező információ

nehezen karbantartható

Page 4: Adatbáziskezelés - Adatmodellek

Adat és információ

Tibi, 100: adat Tibi csokoládé, 100 gr-os: információ; Vonjunk ki más információt is a fenti

adatokból!

Page 5: Adatbáziskezelés - Adatmodellek

Az adatbázis fogalma

Az adatbázis: adatok tárolása (ábrázolása) kapcsolataikkal együtt.

Angolul: database (DB);

Page 6: Adatbáziskezelés - Adatmodellek

Hagyományos adatbázis 1.: Napló adatok:

név cím telefonszám

kapcsolatok: egy tanuló címe és telefonszáma a neve

után következik az egyes nevek névsorban vannak

Page 7: Adatbáziskezelés - Adatmodellek

Hagyományos adatbázis 2.: kartoték A kartonok szerkezete azonos Egy karton: összetartozó adatok

A karton angolul: record A kartonok meghatározott sorrendben

vannak hátrány: csak egyféle sorrend lehet megoldás: a kartonok többszörözése (pl. könyvtár) ilyenkor viszont a karbantartás nehézkes

Elektronikus adatbázisoknál cél az információ egy példányban való tárolása

Page 8: Adatbáziskezelés - Adatmodellek

Az adatbáziskezelő rendszer Ez egy program (szoftver) Feladatai:

Adatok tárolása; Megjelenítése; Feldolgozása;

Rövidítés: ABKR, DBMS (database management system)

Page 9: Adatbáziskezelés - Adatmodellek

Alapvető adatműveletek

az adatbázis létrehozása az adatbázis szerkezetének karbantartása az adatbázis feltöltése adatokkal az adatbázisban lévő adatok karbantartása az adatok lekérdezése

Page 10: Adatbáziskezelés - Adatmodellek

Adatszerkezetek

Az adatműveleteket elemi szinten adatszerkezetekkel (tömb, sor, verem, lista, tábla, gráf), magasabb szinten fileszerkezetekkel (az op. Rsz. intézi) oldjuk meg.

Page 11: Adatbáziskezelés - Adatmodellek

Adminisztratív feladatok az adatbázisban jogosultsági rendszer (adatvédelem) az adatintegritás biztosítása

csak bizonyos feltételnek megfelelő adatok kerülhetnek az adatbázisba

bizonyos adatok csak egymással összhangban változhatnak

szinkronizáció: több felhasználó egyidejű hozzáférésének biztosítása

naplózás

Page 12: Adatbáziskezelés - Adatmodellek

Az adatbázis: újabb absztrakciós szinthardver lemezoldal, sáv, fej,

szektor, ...

operációs rendszer meghajtó, könyvtár,fájl, ...

adatbáziskezelőrendszer

mező, rekord, tábla,index, ...

Page 13: Adatbáziskezelés - Adatmodellek

Adatbázis

Logikailag összefüggő, adott formátum és rendszer szerint tárolt adatok együttese.

Markó Tamás, PTE TTK (Adatbáziskezelők II., 2003)

Page 14: Adatbáziskezelés - Adatmodellek

Adatbáziskezelő és alkalmazás

Az ABKR nem kész alkalmazás! Egy alkalmazáshoz (pl.

bérszámfejtéshez) programot kell írni Az ABKR az adatok hatékony tárolását

végzi A program az üzleti logikát

tartalmazza

Page 15: Adatbáziskezelés - Adatmodellek

Az adatbáziskezelő programozása Host (beépülő, befogadó) típusú ABKR

nincs saját programozási nyelve alkalmazások készítéséhez kell egy

“valóságos” programozási nyelv is (COBOL, Pascal, stb.)

Saját programozási nyelvvel rendelkező ABKR példa: dBase, Access, Oracle, ...

Page 16: Adatbáziskezelés - Adatmodellek

Integrált fejlesztőeszközök

4GL-nek is nevezik (4th generation programming language)

Könnyen készíthetők egyszerű, működő alkalmazások “egerészve” tervezhetők meg az adatbeviteli képernyők jól strukturált listák tervezhetők a képernyőn a vizuális elemekből a rendszer programkódot is generál

“igazi” feladatok megoldásához itt is sok munka kell

Példa: Delphi, Oracle, Ingres, Paradox, ...

Page 17: Adatbáziskezelés - Adatmodellek

CASE-eszközök

Computer Aided Software Engineering: számítógéppel támogatott programfejlesztés

A fejlesztés gépies részét automatizálja (pl. az adatbázis szerkezetét grafikusan lehet megadni, a tényleges objektumokat a rendszer ebből automatikusan generálja)

Nem helyettesíti a probléma teljes átgondolását!

Page 18: Adatbáziskezelés - Adatmodellek

Egy alkalmazás fejlesztési lépései Jórészt a megbízó és a fejlesztő együttes munkája A probléma megértése Az adatbázis logikai terve Az adatbázis fizikai terve (csak a fejlesztő) A feltanuló programok tervezése Képernyőtervek Listatervek Tesztelés

a működőképesség ellenőrzése a megbízó egyéb alkalmazásaival való “együttélés”

Átadás

Page 19: Adatbáziskezelés - Adatmodellek

Adatbázis konkrét tervezési lépései

1. Adatbázis céljának meghatározása2. Szükséges táblák meghatározása3. A táblák mezőinek meghatározása4. Kapcsolatok feltérképezése5. Adatbázis elkészítése

Az 1-4 pont az Adatmodellezés.

Page 20: Adatbáziskezelés - Adatmodellek

Az adatmodell

Az adatok kapcsolatairól kialakított elképzelések (a kapcsolatok rendszerbe foglalása)

Az adatmodell lehetővé teszi az adatok egységes kezelését

Az adatbázisok szerkezetének leírására többféle modell is van.

Page 21: Adatbáziskezelés - Adatmodellek

Az adatmodell leírása

gráfokkal, diagramokkal (formalista megközelítés)

szóban (szemantikai megközelítés) matematikai struktúrákkal

Page 22: Adatbáziskezelés - Adatmodellek

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

Ezek az egyed-kapcsolat (EK) modellek angolul: ERM (entity-relationship model)

Page 23: Adatbáziskezelés - Adatmodellek

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

Page 24: Adatbáziskezelés - Adatmodellek

Az egyed fogalma A valóságos világ objektumainak

absztrakciója minden más objektumtól

megkülönböztethető adatokat tárolunk róla

Ugyanaz a valóságos objektum az egyes alkalmazásoknál más-más egyedként jelenhet meg (egy ember lehet TANULÓ, de lehet tanuló is)

TANULÓ

Page 25: Adatbáziskezelés - Adatmodellek

Az egyed szintjei

Egyedtípus: az absztrakt szint, pl. TANULÓ. A kigyűjtött objektumok közös jellemzője)

Egyed előfordulás: Fekete Péter tanuló adatai

Page 26: Adatbáziskezelés - Adatmodellek

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

Page 27: Adatbáziskezelés - Adatmodellek

A tulajdonság fogalma Az egyed egy jellemzője (meghatározza

az egyed egy részletét) pl. a születési dátum egyed tulajdonságai

lehetnek: NÉV, lakcím, …

név

tanuló

lakcím Születési dátum

Page 28: Adatbáziskezelés - Adatmodellek

A Tulajdonság szintjei

Tulajdonság-típus: Név. Tulajdonság fajta.

Tulajdonság előfordulás: Egy konkrét egyed tulajdonsága (pl. neve)

Page 29: Adatbáziskezelés - Adatmodellek

Különböző típusú tulajdonságok Kulcs

egy vagy több tulajdonság, ami egyértelműen meghatározza az egyed egy előfordulását (pl. személyi szám)

Többértékű tulajdonság több értéke is lehet (pl. lakcím)

Összetett tulajdonság több elemi tulajdonságból

épül fel

Adószám

lakcím

cím

ir.szám helység utca

házszám

Page 30: Adatbáziskezelés - Adatmodellek

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

Page 31: Adatbáziskezelés - Adatmodellek

A kapcsolat fogalma

Az egyedek közötti viszony a valódi világ objektumai közötti viszonyt

fejezi ki itt is beszélhetünk kapcsolat-típusról és

előfordulásról

OSZTÁLY tanulótanulója

OSZTÁLY tanulótanulója

Page 32: Adatbáziskezelés - Adatmodellek

A kapcsolatok fajtái

1:1 (egy-az-egyhez) kapcsolat pl. személyi szám és TAJ-szám

1:N (egy-a-sokhoz) kapcsolat pl. osztályfönök és az osztály tanulói

N:M (sok-a-sokhoz) kapcsolat pl. tanárok-osztályok

Page 33: Adatbáziskezelés - Adatmodellek

A kapcsolat iránya

Nem kötelező használni A nyíl a tulajdonostól (a felsőbbrendű

objektumtól) a tag (az alárendelt objektum) felé mutat:

FŐOSZTÁLY OSZTÁLY

Page 34: Adatbáziskezelés - Adatmodellek

A rekurzív kapcsolat

Egy egyedtípus önmagával való kapcsolata

Példa: a Dolgozók tábla tartalmazza a vezetőket

és a beosztottakat is annak ábrázolásához, hogy kinek ki a

vezetője, a Dolgozók egyedtípust önmagával kell összekötni

Dolgozók

vezeti

Page 35: Adatbáziskezelés - Adatmodellek

A kardinalitás

Az egyed maximális kardinalitási száma megadja, hogy egy kapcsolatban az egyed egy előfordulásához a másik egyednek legfeljebb hány előfordulása kapcsolódhat

Az egyed minimális kardinalitási száma megadja, hogy egy kapcsolatban az egyed egy előfordulásához a másik egyednek legalább hány előfordulása kapcsolódik

Page 36: Adatbáziskezelés - Adatmodellek

A kapcsolatok Chen-féle jelölése

Tartalmazza: a kapcsolat nevét a kapcsolat típusát a 0 minimális kardinalitást (karika)

A kapcsolat nevét egy rombuszba írják:

vezeti

Page 37: Adatbáziskezelés - Adatmodellek

Példák a Chen-féle jelölésre

minden osztályt pontosan egy Osztályfönök vezet (1:1 kapcsolat)

lehet olyan tanár, aki egy osztályt sem vezet

egy osztályhoz 1 osztályfönök tartozik Egy osztályhoz több tanár is tartozhat, de

egy tanár több osztályban is taníthat.

Osztály Tanárhozzá tartozikN N

OSZTÁLY Osztályfönökvezeti1 1

Page 38: Adatbáziskezelés - Adatmodellek

A kapcsolatok “varjúlábas” jelölése Tartalmazhatja:

a kapcsolat nevét a kapcsolat típusát a 0 és az 1 minimális kardinalitást (karika

vagy vonás, az egyedtől távolabbi jel) az 1 és “sok” maximális kardinalitást

(vonás vagy “varjúláb” az egyedhez közelebbi jel)

Page 39: Adatbáziskezelés - Adatmodellek

Példák a “varjúlábas” jelölésre

egy osztályt legalább és legfeljebb 1 Dolgozó vezet egy Dolgozó legalább 0 és legfeljebb 1 osztályt

vezet

egy osztály legalább és legfeljebb 1 főosztályhoz tartozik

egy főosztályhoz legalább 1 osztály tartozik, de több is tartozhat

OSZTÁLY Dolgozókvezeti

FŐOSZTÁLY OSZTÁLYhozzá tartozik

Page 40: Adatbáziskezelés - Adatmodellek

A hálós adatmodell A modell szerkezetét gráffal adjuk meg

a csomópontok az egyedek az élek a kapcsolatok

Az egyedek előfordulásai közötti kapcsolatot mutatókkal valósítják meg

Az összetartozó adatok kigyűjtéséhez egy navigációs utat kell bejárni

Előnye: ez a legáltalánosabb modell Hátránya: bonyolult, nehézkes A legelterjedtebb az IDMS volt (IBM)

Page 41: Adatbáziskezelés - Adatmodellek

Példa a hálós adatmodellre

VEVŐ

TÉTELTERMÉK

RENDELÉS

Page 42: Adatbáziskezelés - Adatmodellek

A hierarchikus adatmodell

A hálós modell speciális esete: a gráf egy fa van egy kitüntetett csomópont, a gyökér

(ide nem vezet él) a gyökérből minden csomópont csak

egyféle úton érhető el Sok jelenség leírására jól használható A legelterjedtebb az IMS (Integrated

Management System, IBM) volt

Page 43: Adatbáziskezelés - Adatmodellek

Példa a hierarchikus adatmodellre

AUTÓ

KAROSSZÉRIA MEGHAJTÁS FUTÓMŰ

SEBESSÉGVÁLTÓ MOTOR

Page 44: Adatbáziskezelés - Adatmodellek

Relációs adatmodell Az egyedek kapcsolata nem épül bele

az adatmodellbe A hangsúly a tulajdonságok megadásán

van Az egyedet táblázattal adjuk meg

az oszlopok a tulajdonságok a sorok az egyed előfordulásai

Jelenleg ez a legelterjedtebb adatmodell Előnye az egyszerűség

Page 45: Adatbáziskezelés - Adatmodellek

Példa a relációs adatmodellre

NÉV KÉPZETTSÉG FIZETÉS Kovács Pál esztergályos 80.000 Nagy Jenő raktáros 120.000 Tóth Edit titkárnő 95.000 Varga István könyvelő 157.000

A tanuló tábla:

Page 46: Adatbáziskezelés - Adatmodellek

A relációs adatmodell előnyei Egyszerűség

a felhasználó számára könnyen érthető egyszerűen programozható

Precíz matematikai háttérrel rendelkezik

Page 47: Adatbáziskezelés - Adatmodellek

A relációs adatmodell hátrányai Körülményes a táblák sorainak

egymáshoz való hasonlítása Ilyen az időben változó adatok kezelése (pl.

a tanulók egyes időszakokban állandó alapfizetése).

A különböző táblákban lévő, de összetartozó adatokat minden egyes felhasználáskor össze kell kapcsolni

Page 48: Adatbáziskezelés - Adatmodellek

A relációs adatmodell szabályai A táblázatnak nem lehet 2 egyforma sora; A sorok sorrendje tetszőleges; Az oszlopok sorrendje tetszőleges; Az oszlopok száma állandó egy táblázaton

belül. Minden oszlopnak neve van, és ezek

különböznek 1 táblázaton belül. A táblázatnak van neve; Kell lennie egyedi tulajdonságnak (kulcs

mező)

Page 49: Adatbáziskezelés - Adatmodellek

Multidimenziós adatmodell Alapfogalma az adatkocka Egy elemi adatnak (elemi kockának)

több dimenziója is van A dimenziók általában hierarchikus

felépítésűek

dimenziók

Page 50: Adatbáziskezelés - Adatmodellek

Példa multidimenziós adatmodellre 1.

A leírandó jelenség: egy bolthálózat bevételei

1. dimenzió: idő hierarchikus szintjei: év - negyedév - hónap2001 2002 2003

I. né. II. né.

Ápr. Máj. Jún.

III. né. IV. né.

Page 51: Adatbáziskezelés - Adatmodellek

Példa multidimenziós adatmodellre 2.

2. dimenzió: terület hierarchikus szintjei:

országrész - megye - helység - bolt 3. dimenzió: árucsoport

csak egy szint a dimenzió lehetséges értékei:

élelmiszer - vegyiáru - iparcikk - könyv Elemi adat: egy bolt egyhavi bevétele

egy árucsoportból

Page 52: Adatbáziskezelés - Adatmodellek

Az adatmodellek leírása

Történhet: Adatmodell diagrammal (Bacmann

diagramm) Formális szerkezeti leírással Mintatábla segítségével

Page 53: Adatbáziskezelés - Adatmodellek

Fizikai AM Logikai AM

Egyed – Tulajdons

ág-Kapcsolat

Rekord – Mező - Reláció

Page 54: Adatbáziskezelés - Adatmodellek

Az adatmodellezés lépései

1. Tárolandó adatok körének meghatározása;

2. SW függetlenül meg kell adni, az egyed/tulajdonság típusokat és a kapcsolatokat;

3. Normalizálás: az optimális adatmodell érdekében;

4. Kapcsolatok definiálása;

Page 55: Adatbáziskezelés - Adatmodellek

Adatbázis létrehozás

Kiindulási alap az adatmodell.1. Táblák létrehozása.2. Kapcsolatok létrehozása.3. Adatfeltöltés.4. Karbantartás.

Page 56: Adatbáziskezelés - Adatmodellek

Táblák létrehozása

Táblának nevet adunkDefiniáljuk a Tulajdonságtípusokat

(oszlopokat), az mezőnevek és az adattípusok megadásával.

Page 57: Adatbáziskezelés - Adatmodellek

Adattípusok 1. Szöveg - a hosszat meg kell adni (max. 255) Feljegyzés - max. 64K szöveg Szám - bináris számok

bájt: 0 .. 255 egész: –32.768 .. 32.767 hosszú egész: –2.147.483.648 .. 2.147.483.647 egyszeres: lebegőpontos, kb. 7 jegy, 10-45..1038

dupla: lebegőpontos, kb. 15 jegy, 10-324..10308

többszörözési azonosító: többszörözéskor is egyedi

Page 58: Adatbáziskezelés - Adatmodellek

Adattípusok 2.

Dátum/idő - egy mezőben mindkettő Pénznem - fixpontos decimális számok

max. 15 egész és 4 tizedes helyiérték Számláló - automatikusan különböző

értékek növekvő vagy véletlen számsorozat hosszú egész méretű

Igen/Nem - logikai érték

Page 59: Adatbáziskezelés - Adatmodellek

Adattípusok 3.

OLE objektum - csatolt vagy beágyazott kép, hang, Word dokumentum, bináris

adat, … max. 1 GB méretű lehet

Hiperhivatkozás Keresés Varázsló - választólista lesz

másik tábla adataiból (idegen kulcs beírásához)

Page 60: Adatbáziskezelés - Adatmodellek

Felhasznált források:

Markó Tamás : Adatbáziskezelők 2003Pék Ágnes: Számítástechnikai alapismeretek, Pécs 2001