Adatbáziskezelés - Adatmodellek

Preview:

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

Citation preview

ADATBÁZISKEZELÉS - ADATMODELLEK

ÖsszeállítottaVö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. 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.

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ó

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!

Az adatbázis fogalma

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

Angolul: database (DB);

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

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

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)

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

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.

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

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

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)

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

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

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

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!

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

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.

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.

Az adatmodell leírása

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

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

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

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

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

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Ó

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

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

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

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)

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

Az adatmodellek elemei

Egyedek Tulajdonságok Kapcsolatok

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

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

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

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

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

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

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

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)

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

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)

Példa a hálós adatmodellre

VEVŐ

TÉTELTERMÉK

RENDELÉS

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

Példa a hierarchikus adatmodellre

AUTÓ

KAROSSZÉRIA MEGHAJTÁS FUTÓMŰ

SEBESSÉGVÁLTÓ MOTOR

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

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:

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

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

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

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

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

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

Az adatmodellek leírása

Történhet: Adatmodell diagrammal (Bacmann

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

Fizikai AM Logikai AM

Egyed – Tulajdons

ág-Kapcsolat

Rekord – Mező - Reláció

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;

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.

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.

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

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

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)

Felhasznált források:

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

Recommended