2a5af4dc08ff3bebed8fba70d6ba25e7_1384179011
Download
Report
Transcript 2a5af4dc08ff3bebed8fba70d6ba25e7_1384179011
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.
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
szint
hardver
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.
2.
3.
4.
5.
Adatbázis céljának meghatározása
Szükséges táblák meghatározása
A táblák mezőinek meghatározása
Kapcsolatok feltérképezése
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
TANULÓ
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)
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, …
tanuló
név
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
Adószám
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
lakcím
értéke is lehet (pl. lakcím)
Összetett tulajdonság
több
elemi tulajdonságból
épül fel
ir.szám
cím
házszám
helység
utca
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
OSZTÁLY
tanulója
tanulója
tanuló
tanuló
A kapcsolatok fajtái
1:1 (egy-az-egyhez) kapcsolat
pl.
1:N (egy-a-sokhoz) kapcsolat
pl.
személyi szám és TAJ-szám
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
OSZTÁLY
1
vezeti
1
Osztályfönök
minden
osztályt pontosan egy Osztályfönök vezet
(1:1 kapcsolat)
lehet olyan tanár, aki egy osztályt sem vezet
Osztály
egy
N
hozzá tartozik
N
Tanár
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.
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
OSZTÁLY
vezeti
Dolgozók
egy osztályt legalább és legfeljebb 1 Dolgozó vezet
egy Dolgozó legalább 0 és legfeljebb 1 osztályt vezet
FŐOSZTÁLY
hozzá tartozik
OSZTÁLY
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
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Ő
RENDELÉS
TERMÉK
TÉTEL
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
SEBESSÉGVÁLTÓ
MOTOR
FUTÓMŰ
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
A tanuló tábla:
NÉV
Kovács Pál
Nagy Jenő
Tóth Edit
Varga István
KÉPZETTSÉG FIZETÉS
esztergályos
80.000
raktáros
120.000
titkárnő
95.000
könyvelő
157.000
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
2001
szintjei: év - negyedév - hónap
2002 2003
I. né. II. né. III. né. IV. né.
Ápr.
Máj. Jú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
Rekord –
Mező Reláció
Logikai AM
Egyed –
TulajdonságKapcsolat
Az adatmodellezés lépései
1.
2.
3.
4.
Tárolandó adatok körének meghatározása;
SW függetlenül meg kell adni, az
egyed/tulajdonság típusokat és a kapcsolatokat;
Normalizálás: az optimális adatmodell
érdekében;
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 adunk
Definiá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 2003
Pék Ágnes: Számítástechnikai alapismeretek, Pécs 2001