adatbáziskezelés - adatmodellek
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 PresentationTRANSCRIPT
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