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