31
Adatbázis-kezelés alapfogalmak

Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Adatbázis-kezelés

alapfogalmak

Page 2: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Témakörök

Alapfogalmak

Adatmodellek

Relációalgebra

NormalizálásVÉGE

Page 3: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Adatbázis-kezelő rendszer

Database Management System - DBMS

Integrált programcsomag, melynek funkciói:

Adatbázisok létrehozása

Adatok karbantartása

Információ visszakeresése

Page 4: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Adatbázis-kezelés koncepció

3 előnye vana fájlkezelő rendszerekkel szemben:

Redundanciamentesség

Adatintegritás biztosítása

Program és adat függetlenség

Page 5: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Az adatkezelés szintjei

FIZIKAI ADATBÁZIS

FÁJLKEZELŐ

FIZIKAI SZINT

LOGIKAI SZINT

ALKALMAZÓI SZINT

FELHASZNÁLÓ

Fizikai adatszerkezet

Logikai adatszerkezet

Alkalmazói programoklekérdező nyelvek

Page 6: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Fogalmak

Redundancia Fölösleges adatismétlésAnomália Hiba, rendellenesség

(bővítési,módosítási,törlési)Inkonzisztencia EllentmondásmentességAdatintegritás AdatérvényességSzinonima Rokon értelmű szóHomononima Azonos alakú, de

különböző jelentésű szó

Page 7: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Az adatmodellek elemei

Egyed

Tulajdonság

KapcsolatAdatmodell

típusok

Page 8: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Egyed (entitás)

DIÁK TANÁR

Konkrét dolgok adott nézőpontból tekintett halmaza

Page 9: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Tulajdonság (attributum)

Az egyedek jellemzőinek halmaza.

DIÁK(dkód, név, lakcím, tanulmányi átlag, tandíj)

Attributumok

Egyedi azonosítóEgyed

Page 10: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Kapcsolat

Egyedek közti viszony. 3 fajtája van

Egy az egyhez

Egy a többhöz

Több a többhöz

Page 11: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Egy az egyhez (1 : 1)

FÉRFI NŐ

Házastársi kapcsolat

Page 12: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Egy a többhöz (1 : N)

KAR DIÁK

Page 13: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Több a többhöz (N : M)

DIÁK TANTÁRGY

Page 14: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Adatmodell típusok

Hálós

Hierarchikus

Relációs

Adatmodell = Egyedek, tulajdonságaik és a köztük lévő kapcsolatok logikai sémája

Page 15: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Hálós adatmodell

Adatmodell = gráfCsomópont = egyedÉl = kapcsolat

CÉG

TERMÉK RENDELÉSTÉTEL

Page 16: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Hierarchikus adatmodell

Adatmodell = fa

CÉG

TERMÉKCSOPORTEGYSÉG

TERMÉKFELADATALKALMAZOTT

Page 17: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Relációs adatmodell

Egyed = Tábla (reláció)

Tulajdonság = Oszlop (mező)

Egyedelőfordulás = Sor (rekord)

Kapcsolat = kulcsokkal (1:1 és 1:N)kapcsolótáblával (N:M)

(E. F. CODD - 1970) Kulcs Példa

Page 18: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

A kulcs fogalmaEgyedi kulcs = Egy vagy több tulajdonság, amely egyértelműen azonosít egy rekordot. Ennek alapján beszélhetünk egyszerű vagy összetett kulcsról.Elsődleges kulcs = A lehetséges egyedi kulcsok közül az, amelyet azonosítóként megjelölünk.Idegen kulcs = Mező, amely egy másik tábla elsődleges kulcsára hivatkozik.

Adatbázis = Az adatmodell fizikai megvalósítása.

Page 19: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Példa a relációs adatmodellre

003020015900101901360030240125

TermékkódCégkódRendelésszám

PécsSuper RT021VácMega KFT020BudapestMicro BT019CímNévCégkód

520000Notebook003160000PC002ÁrMegnevezésTermékkód

RENDELÉSEK

CÉGEK TERMÉKEK

Page 20: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Relációalgebra

TulajdonsághalmazokKód = {1,2,3,4}Név = {Bea, Ede, Pál, Ida}Nyelv = {an, né}

Direkt szorzatNév x Nyelv = { (Bea,an), (Bea,né),

(Ede,an), (Ede,né),(Pál,an) , (Pál,né) ,(Ida,an) , (Ida,né) }

Page 21: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Relációk

ANGOLOS = { Bea,an), (Ede,an)} ⊂ Név x Nyelv

EDE = {(Ede,an),(Ede,né)} ⊂ Név x Nyelv

DIÁK = {(1,Bea),(2,Ede),(3,Pál),(4,Ida)} ⊂ Kód x Név

Ida4Pál3Ede2Bea1NévDkód

DIÁK

Page 22: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Műveletekunió: R1 ∪ R2 = (Bea,an),(Ede,an),(Ede,né),(Pál,né)}

metszet: R1 ∩ R3 = {(Ede,an)}

különbség: R1 \ R3 = {(Bea,an)}

összekapcsolás: R1 JOIN R2 ⊂ R1 x R2

projekció: vetítés - R oszlopainak részhalmaza

szelekció: kiválasztás - R sorainak részhalmaza

dekompozíció: táblák szétbontása

Page 23: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Normalizálás

Elsődleges tulajdonság = Az egyed olyan tulajdonsága, amely része az elsődleges kulcsnak.Másodlagos tulajdonság = Az egyed olyan tulajdonsága, amely nem része az elsődleges kulcsnak.

Az adatmodell magasabb normálformára hozása a táblák dekompozíciója révén

Page 24: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Funkcionális függőség

Az egyed B tulajdonsága funkcionálisan függ A-tól, ha A egy értékéhez pontosan egy érték tartozik B-ből, vagyis A funkcionálisan meghatározza B-t.

jelölések:

A → B B funkcionálisan függ A-tólA → B,C B és C funkcionálisan függ A-tólA+B → C C funkcionálisan függ A és B-től

Page 25: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

FüggőségtípusokTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól, de nincs egyetlen olyan részhalmaza sem A-nak, amely funkcionálisan meghatározná B-t.

pl. A+B → C , de sem A → C sem B → C

Részleges funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól, de van olyan részhalmaza A-nak, amely funkcionálisan meghatározza B-t.

pl. A+B → C , de A → C vagy B → C

Tranzitív funkcionális függőség = Ha B funkcionálisan függ az A-tól, és C funkcionálisan függ B-től, akkor C tranzitíven függ A-tól

pl. A → C , de ∃B, hogy A → B és B → C

Page 26: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Normálformák

0NF

1NF

2NF

3NF

Page 27: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

0. normálformaEz nem is normálforma. Az ilyen tábla nem tekinthető relációnak. Többértékű mezők vannak benne, azaz van olyan másodlagos tulajdonsága, ami funkcionálisan nem függ a kulcstól.

Page 28: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

1. normálforma

Egy tábla (reláció) akkor van 1. normálformában, ha nincsenek benne többértékű mezők, azaz minden másodlagos tulajdonsága funkcionálisan függ a kulcstól. Általában sok redundanciát tartalmaz.

Page 29: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

Funkcionális függőségi diagram

Rszám

Dátum

Vevőkód Vevő

CikkszámCikk

Egység

Ár

Mennyiség

Page 30: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

2. normálforma

Egy tábla (reláció) akkor van 2. normálformában, ha 1. normálformában van, és minden másodlagos tulajdonsága teljesen függ a kulcstól, vagyis nincs benne részleges funkcionális függőség.

Page 31: Adatbázis-kezelésszorenyi/sz03/segitseg/adatmodell/Abmodell.pdf · Függőségtípusok zTeljes funkcionális függőség = B funkcionálisan függ az A={A1,A2,…,An} tulajdonsághalmaztól,

3. normálforma

Egy tábla akkor van 3NF-ban, ha 2NF-ban van, és minden másodlagos tulajdonsága csakis a kulcstól függ. Ez azt jelenti, hogy nincs benne tranzitív függőség.