Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr...
Transcript of Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr...
![Page 1: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/1.jpg)
ADATBÁZISOKMEGVALÓSÍTÁSA(ADATBÁZISOK,ADATBÁZISKEZELŐK,ADATBÁZISOKFELÉPÍTÉSE,ADATBÁZISOKTERVEZÉSE)
DOMBORA SÁNDOR
2016.12.31. MMK- Informatikaiprojektellenőrképzés
30MB
INFORMATIKAI PROJEKTELLENŐR
![Page 2: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/2.jpg)
Tartalom
2016.12.31. MMK-Informatikaiprojektellenőrképzés 2
• Adatbázisok(relációs,objektumrelációs,NoSQL)• Adatbáziskezelőrendszerek• Adatbázisokfelépítése• Adatbázisoktervezése
![Page 3: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/3.jpg)
Adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 3
Adatbáziskezelés Adatbázisok
• Adatbázisonvalamelycélmegvalósításánakérdekébengyűjtött,feldolgozottéstároltadatokacélelérésénekérdekébenmegfelelőenrendszerezettésrendezettstruktúrábantároltváltozatátértjük.
• Azadatokömlesztetttárolásanemtekinthetőadatbázisnak,mivelhiányzikbelőlearendszerezésésastruktúra.
Azadatbázisfogalma
• Papíron,irattárbanrendezett,rendszerezettformában• Elektronikusúton,számítógépesrendszerekben
Adatbázisoktárolásiformája
![Page 4: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/4.jpg)
Adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 4
Adatbáziskezelés Adatbázisok
• Bankirendszerek• Vállalatinyilvántartások• Repülőgéphelyfoglalásirendszerek• Könyvtárinyilvántartások• Irattárinyilvántartások
Példák
• Valósidőben(azonnal)• Párhuzamosan(egyszerresokfelhasználó)
Alapvetőhozzáférésiigények
![Page 5: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/5.jpg)
Adattárolás
2016.12.31. MMK-Informatikaiprojektellenőrképzés 5
Adatbáziskezelés Adatbázisok
• Adatokatazótatarolunk,miótalétezikazírás• Azelsőadatbázisokakartotékok,irattárakvoltak• Aszámítógépekmegjelenéseéselterjedéselehetővétetteazadatokelektronikustárolását
• Azelsőszámítógépesadatbázisoktárolásalyukszalagon,lyukkártyántörtént,amelyeknemvoltakdirektmódonelérhetőkaszámítógépekszámára
Történelmiháttér
![Page 6: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/6.jpg)
Adattárolás
2016.12.31. MMK-Informatikaiprojektellenőrképzés 6
Adatbáziskezelés Adatbázisok
• Amágnesesadathordozókmegjelenéseéselterjedéseegyszerűsítetteazadatoktárolásátéshozzáférését
• Ekkormégegyedi,speciálisszoftverekkellettekazadatokkezeléséhez
• Aszámítástechnikagyorsfejlődése(Mooretörvény)lehetővétetteegyrenagyobbmennyiségűadatokfeldolgozásátéstárolását
Történelmiháttér
![Page 7: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/7.jpg)
Adattárolás
2016.12.31. MMK-Informatikaiprojektellenőrképzés 7
Adatbáziskezelés Adatbázisok
• Aszámítógépekfejlődésévelegyüttfejlődtekaprogramozásinyelvekésegyretöbblehetőségnyíltazadatokelektronikusfeldolgozásáraéstárolására
• Azadatokmennyiségéneknövekedésével, azadatokegyedifeldolgozásaéstárolásafárasztóésidőrablófeladattávált
• Megjelentazadatokegységesésáltalánosmódonvalófeldolgozásánakigénye
• EnnekmenténfejlődtekkiazAdatbáziskezelőrendszerek(DBMS)
Történelmiháttér
![Page 8: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/8.jpg)
Adatbáziskezelő rendszerek
2016.12.31. MMK-Informatikaiprojektellenőrképzés 8
Adatbáziskezelés Adatbázisok
• Tegyelehetővétetszőlegesadatbázisok(adatszerkezetek) létrehozását
• Szabványosmódontámogassaazadatoklekérdezésétésmódosítását(egységeslekérdezőnyelv)
• Támogassanagymennyiségűadattárolásátésvisszakereshetőségéthosszútávon
Adatkezelésielvárások
![Page 9: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/9.jpg)
Adatbáziskezelő rendszerek
2016.12.31. MMK-Informatikaiprojektellenőrképzés 9
Adatbáziskezelés Adatbázisok
• Garantáljaazadatokbiztonságátameghibásodássalésilletéktelenhozzáférésselszemben
• Felügyeljeazadatokhozzáférésétazadatokhoz,olyanmódon,hogyazegyesfelhasználókműveleteinelegyenekhatássalatöbbifelhasználómunkájára
• Azegyidejűhozzáférésekneokozhassanakadathibátvagyinkonzisztenciát
Biztonságielvárások
![Page 10: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/10.jpg)
Adatbáziskezelő rendszerek célja
2016.12.31. MMK-Informatikaiprojektellenőrképzés 10
Adatbáziskezelés Adatbázisok
• Afejlesztőneknekelljenfoglalkozniafizikaiszintűadattárolással
• Rejtseelafelhasználóelőlaszámítógépekarchitektúráját
• Azeszközöktípusátólfüggetlenülazalkalmazásugyanúgyhasználhatólegyenazadatbáziskezelőáltaltámogatottmindenplatformon
Absztrakciósréteg
![Page 11: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/11.jpg)
Adatbáziskezelő rendszerek célja
2016.12.31. MMK-Informatikaiprojektellenőrképzés 11
Adatbáziskezelés Adatbázisok
• Azoperációsrendszerekkülönbözőadatelérésimódokattámogatnak
• Rejtseelazadatelérésmódjátafelhasználóvagyfejlesztőelőlakinekalekérdezésmegfogalmazásaésneazadatokelőállításimódjalegyenfeladat
• Többadatelérésimódrendelkezésreállásaeseténazoptimáliskiválasztása
Függetlenségazadatelérésmódjától
![Page 12: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/12.jpg)
Adatbáziskezelő rendszerek célja
2016.12.31. MMK-Informatikaiprojektellenőrképzés 12
Adatbáziskezelés Adatbázisok
• Azadatokszerkezetiváltozásaiminélkevésbébefolyásoljákazalkalmazásokműködését
• Azadatokszerkezetibővítéseneokozzonproblémátazalkalmazásműködésében
Függetlenségazadattárolástól
![Page 13: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/13.jpg)
Adatbázis modellek (napjainkban)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 13
Adatbáziskezelés Adatbázisok
• Azadatoktáblázatosábrázolása,megjelenítése• Egysoregyentitástírle• Atáblázatokatnevezzükrelációknak
Relációsadatbázismodell
• Arelációsadatmodellbővítésévelálltelő• Azobjektumorientáltmegközelítésbenhasználtobjektumésöröklődésimodelltalkalmazzaarelációkatmegvalósítótáblákra
• Támogatjaazadattípusokbővítésétsajátadattípusokkal(objektumok)
Objektum-relációsmodell
![Page 14: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/14.jpg)
Adatbázis modellek (napjainkban)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 14
Adatbáziskezelés Adatbázisok
• Kétfontosjellemzőamelyekmenténfejlesztik:performancia ésskálázhatóság
• Arelációsadattárolástóleltérőtárolásimódothasznál• kulcs-értékpárok• gráfstruktúra
NoSQL – Not only SQL
![Page 15: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/15.jpg)
Adatbázis modellek (napjainkban)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 15
Adatbáziskezelés Adatbázisok
• Nagymennyiségűadatkezelése• Agilismódszertanoktámogatása(iterációésgyakorikódpublikálása)
• Dinamikusadatbázisséma(nincselőredefiniáltstruktúra,méretmeghatározás)– pl.újattribútumokhozzáadásaeseténnemkellameglévőadatokatkarbantartani
• Osztottfeldolgozástámogatása– automatikuspartícionálás – azalkalmazásnaknemkelltudniaamögötteállószerverhierarchiáról
• Automatikusadatreplikáció,nemkellezzelfoglalkozniaazalkalmazásnak
NoSQL előnyei
![Page 16: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/16.jpg)
Adatbáziskezelők felépítése
2016.12.31. MMK-Informatikaiprojektellenőrképzés 16
Adatbáziskezelés Adatbázisok
AdatokMetaadatok
Tárkezelő
Feldolgozó
Tranzakció-kezelő
Sémamódosítások Lekérdezések Adatmódosítások
Forrás: Jeffrey D. Ullman – Jenifer Widom: Adatbázisrendszerek
![Page 17: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/17.jpg)
Adatbázis műveletek
2016.12.31. MMK-Informatikaiprojektellenőrképzés 17
Adatbáziskezelés Adatbázisok
• Végrehajtásukhozspeciálisjogosultságravanszükség• DataDefinition Language (DDL)segítségéveltörténik• Műveletekameta-adatokszintjén:• Sémalétrehozás• Sématörlés
• Struktúrák:• Létrehozása• Módosítása• Törlése
Séma(meta-adat)módosítások
![Page 18: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/18.jpg)
Adatbázis műveletek
2016.12.31. MMK-Informatikaiprojektellenőrképzés 18
Adatbáziskezelés Adatbázisok
• DataManipulation Language (DML)segítségéveltörténik
• Elvégezhetőműveletek• Adatoklétrehozása• Adatokmentése• Adatokkeresése• Adatokmódosítása• Adatoktörlése
Adatmanipuláció
![Page 19: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/19.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 19
Adatbáziskezelés Adatbázisok
• Adattáblák(relációk)• Adattábláksorokbólésoszlopokbólállnak• Azoszlopokatattribútumoknakisnevezzük• Asorokazonosítóvalrendelkezhetnek(elsődlegeskulcs)
• Atáblákoszlopai(attribútumai)hivatkozhatnakmásiktáblákelsődlegeskulcsaira– idegenkulcsok
Adatstruktúrákrelációsadatbázisokban
![Page 20: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/20.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 20
Adatbáziskezelés Adatbázisok
ID Név Beosztás Szervezet Törölt
1 Kiss János Könyvelő 1 Hamis
2 NagyBéla Informatikus 2 Hamis
3 … … … …
ID Név Leírás Törölt
1 Pénzügy Pénzügyiés … Hamis
2 Informatika Informatikai… Hamis
3 … … …
Adatkapcsolatok
Hivatkozások másik tábla elsődleges kulcsára
Szervezetek
Szemelyek
Elsődleges kulcs
Egyedi azonosító
![Page 21: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/21.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 21
Adatbáziskezelés Adatbázisok
• Adatokgyorshozzáférésétbiztosítják• Különbözőtípusúindexekléteznek,azelterjedtebbek:• B-faindex• Bittérképindex• teljesszövegindexelés
• Amegfelelőindexeklétrehozásafelgyorsítjaazadatokkezelését
• Túlsokindexlétrehozásalassítjaazadatoklétrehozásátésmódosítását(mindenadatotfelkellvenniearendszernekazindexekbeis)
Indexek
![Page 22: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/22.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 22
Adatbáziskezelés Adatbázisok
B-faindexek
6 27 50
1 2 3 4 5 16 18 22 30 35
7 8 9 11 15
![Page 23: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/23.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 23
Adatbáziskezelés Adatbázisok
Bittérképindexek
ID Név Osztályzat
1 KissPista 1
2 NagyBéla 5
3 KovácsAndrás 4
4 LazaKati 4
5 ErősPista 5
1 2 3 4 5
1 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 1 0
0 0 0 0 1
BittérképekMinden értékhez van egy bittérkép
TáblaOsztályzat oszlop kevés fix (előre rögzített) értékkel
![Page 24: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/24.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 24
Adatbáziskezelés Adatbázisok
• Gyárifüggvényekéseljárások• Támogatjákafelhasználóttetszőlegeseredményekelőállításában
• Lehetővéteszikazadatbázisbantároltadatoktetszőlegesátalakítását
• Felhasználóiadattípusok• Lehetővéteszikazadatbázis-kezelőrendszerekadattípusainakbővítését
Továbbiadatbázisobjektumok
![Page 25: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/25.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 25
Adatbáziskezelés Adatbázisok
• Felhasználóáltaldefiniáltprogramcsomagok•Megírásukadatbáziskezelőbeintegráltprogramozásinyelventörténik
• Lehetővéteszikazadatokhelybelifeldolgozásátazadatbáziskezelőrendszerenbelül
• Nemkellazadatokatkiolvasniésátemelniakliensreésvisszaírniazadatbázisba
• Kiválóbatchadatfeldolgozásifeladatokelvégzésére• Alkalmaskomplextriggerek megírására
Tárolteljárásokésfüggvények
![Page 26: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/26.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 26
Adatbáziskezelés Adatbázisok
• Akülönbözőadatbáziskezelő rendszerekmás-másprogramozásinyelvetkínálnakacélmegvalósítására
• Alkalmazásuknagyobbperformanciát eredményez,főlegnagymennyiségűfeladatfeldolgozásakor– nincsadatmozgatáshálózaton,csakegykontextusváltásaszerverenbelül
• Legismertebbprogramozásinyelvek• Oracle– PL/SQL• MSSQL– Tanzasc-SQL• pgSQL – PL/pgSQL• …
Tárolteljárásokésfüggvények
![Page 27: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/27.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 27
Adatbáziskezelés Adatbázisok
• Adatokírásaésolvasásaközbenmeghívotteseménykezelőeljárások
• Azadattáblákbabeírtadatokellenőrzésére,kiegészítésére,átalakításárahasználják,példáulüresoszloptartalmánakfeltöltése,adatérvényeségénekellenőrzése,stb.
• Lehetsoronként(for each row)ésutasításonkéntvégrehajtott
• Lehetadatíráselőttvagyutánvégrehajtott(beforeinsert,before update,after insert,after update)
• Megírásukadatbáziskezelőspecifikus
Triggerek
![Page 28: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/28.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 28
Adatbáziskezelés Adatbázisok
• Primary key (elsődlegeskulcs)• egyediértékazoszloponbelül• Egydei indexkészülhozzá
• Foreign key (idegenkulcs)• Másiktáblaelsődlegeskulcsáravalóhivatkozás• Referenciaintegritáskikényszerítésére• Csakolyankulcsértékszerepelhetatáblában,amelylétezikahivatkozotttáblaelsődlegeskulcsértékeiközött
• Ellenőrzésimegszorítás• Oszlopértékkészleténekamegadása
Megszorítások
![Page 29: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/29.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 29
Adatbáziskezelés Adatbázisok
• Adatoktárolásánakszegmentálásaazadattáblákbantároltadatokalapján
• Leginkábbnagymennyiségűadatgyorsabblekérdezéseeseténhasználják
• Például:számlákszétosztásatáblapartíciókközöttkiállításihónapvagyévalapján
• Lekérdezésekvégrehajtásánakfelgyorsítása:haapartícionálásban érintettadatmenténkeresünk,arendszercsakazokatapartíciókatveszifigyelembe,amelyekrelevánsadatottartalmazhatnak
• Megvalósításaadatbáziskezelőfüggő
Partícionálás
![Page 30: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/30.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 30
Adatbáziskezelés Adatbázisok
• Szabványoslekérdezőnyelv•Mindenrelációsadatbáziskezelőtámogatja• Lehetővétesziazadatokalattiadatbáziskezelőmotorcseréjétaprogramkódcseréjenélkül
• Gyártóikiegészítések• Kényelmesebbéteszikahasználatát• Nagyobbperformanciát nyújtóopciók• Platformfüggővéteszikazalkalmazást
StandardQuery Language
![Page 31: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/31.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 31
Adatbáziskezelés Adatbázisok
• Insert – adatsorokokbeszúrásaadattáblákba
• Update– adatsorokattribútumainakmódosításaadottfeltételekmentén
• Delete - adatsoroktörléseadottfeltételekmentén
• Select – adatoklekérdezéseadattáblákból
SQLutasítások
![Page 32: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/32.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 32
Adatbáziskezelés Adatbázisok
• SELECT kifejezés1as oszlop,kifejezés2as oszlop,…• FROM tábla1alias1[INNER|LEFTOUTER|RIGHTOUTER]JOINtábla2alias2ONfeltétel2…[INNER|LEFTOUTER|RIGHTOUTER]JOINtáblaX aliasXONfeltételX
•WHERE feltétel• GROUPBYkifejezések• HAVINGfeltétel• ORDERBY kifejezések• LIMITkezdőadat,adatmennyiség
Select utasítás
![Page 33: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/33.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 33
Adatbáziskezelés Adatbázisok
• SELECT kifejezés1as oszlop,kifejezés2AS oszlop,…
• Kifejezéseketadhatunkmeg,amelyekaz• adattáblaoszlopainakértékeiből,• konstansokból,• függvényhívásokból(gyáriéssaját)• műveletekbőlállnak
• Azelőállítottértékheztetszőlegeselnevezéstkapcsolhatunk
Select – Elővettadatoklistája
![Page 34: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/34.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 34
Adatbáziskezelés Adatbázisok
• FROM tábla1alias1[INNER|LEFTOUTER|RIGHTOUTER]JOINtábla2alias2ONfeltételek2…[INNER|LEFTOUTER|RIGHTOUTER]JOINtáblaXaliasX ONfeltételekX
• Egylekérdezésbenegyvagytöbbtáblábólisvehetünkelőadatokat
• DESCARTESszorzatot(mindensor– mindensorral)
• Adhatunkmegösszekapcsolásifeltételeket JOIN
FROM– Honnanvesszükelő
![Page 35: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/35.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 35
Adatbáziskezelés Adatbázisok
• Kiválogathatjuk:• csakazösszekapcsolásifeltételeknekmegfelelősorokat(INNERJOIN)
• abaloldalitáblasoraithozzákapcsolvaajobboldalitáblasoraitamelyekmegfelelnekazösszekapcsolásifeltételnek(LEFTOUTERJOIN)
• ajobboldalitáblasoraithozzákapcsolvaajobboldalitáblasoraitamelyekmegfelelnekazösszekapcsolásifeltételnek(RIGHTOUTERJOIN)
FROM– Honnan
![Page 36: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/36.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 36
Adatbáziskezelés Adatbázisok
• WHERE feltétel• Azadattáblákbóltetszőlegesfeltételekmenténválogathatunksorokat
• Afeltétel eredményeegylogikaiérték(igaz/hamis),amelytovábbikifejezésektetszőlegesösszekapcsolásábólállhat
• Például:WHEREtabla1.attributum2=10andtabla2.attributum3>tabla1.attributum2
WHERE– Milyenfeltétleknekmentén
![Page 37: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/37.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 37
Adatbáziskezelés Adatbázisok
• GROUPBYkifejezések• Összegzések, statisztikákelőállítása• Akövetkezőkérdésekreadottválasz:
• Hányolyansorvan…COUNT• Mennyiazösszegea…SUM• Mennyiazátlaga…AVG• Továbbistatisztikaifüggvények
• Akifejezésekáltalalkotottcsoportonkéntkapjukaválaszt• ASELECT utáncsakstatisztikaifüggvényekésaGROUPBYkifejezési szerepelhetnek
GROUPBY- csoportosítás
![Page 38: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/38.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 38
Adatbáziskezelés Adatbázisok
• HAVING feltételek• Acsoportosítássoránelőállítottadatokbólválogathatunkafeltételmentén
• Azeredménybenazokacsoportokjelennekmeg,amelyekelegettesznekaHAVINGutánszereplőfeltételeknek
• Afeltételtipikusanacsoportosítássalelőállítottvalamelystatisztikaiértékrevonatkozik
• Példa:Azoncsoportokmegjelenítéseamelytöbbmint5sorbólálltössze:HAVINGCOUNT(ID)>5
HAVING– csoportokszűrése
![Page 39: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/39.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 39
Adatbáziskezelés Adatbázisok
• ORDERBY kifejezések• Adatoksorbaállításakifejezésekmentén• Azegyeskifejezésekesetébenmegadhatjuk,hogymelyekmenténállítjuknövekvő(ASC)illetvecsökkenő(DESC)sorrendbeazadatokat
• Példa:ORDERBYSZERVEZETASC,FIZETESDESC
ORDERBY– eredménysorbaállítása
![Page 40: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/40.jpg)
Adatok lekérdezése (SQL)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 40
Adatbáziskezelés Adatbázisok
• LIMITkezdőadat,adatmennyiség• Gyakranfordulelő,hogyazeredménynagymennyiségűadatottartalmaz,amitegyszerrenemlehetmegjeleníteniaképernyőn,ilyenkorlapozásitechnikátalkalmazunk
• Megadhatjuk,hogyazeredményvalamelysorátóladottsormennyiségettartalmazzonazeredmény
• Adatbáziskezelőszervertőlfüggőenennekszintaktikájaváltozhat(OracleesetébenROWNUM)
LIMIT– szegmentálás
![Page 41: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/41.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 41
Adatbáziskezelés Adatbázisok
• Nagyadatmennyiségesetébennemmindegy,hogymilyensorrendbenhajtjavégrearendszerazeredményösszeállítását
• Alapvetőenkétféleoptimalizálásimódotkülönböztetünkmeg• Szabályalapú• Költségalapú
• Végrehajtásitervekkészítése,kiértékelése
Lekérdezésekoptimalizálása
![Page 42: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/42.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 42
Adatbáziskezelés Adatbázisok
• Mindenadatbázisháttérműveletnekmegvanaprioritása• Indexekretámaszkodik(nemkellvégigolvasniatáblákat)• Full table scan (teljestáblaolvasás– nincsmegfelelő index)• Indexscan (indexolvasásmajdcsakazindexbenmegtaláltsorokelővétele)
• Atáblákösszekapcsolásáhoztöbbféletechnikátishasználhat• NESTEDLOOP(összefésüliakéttáblasorait)• SORT-MERGE(atábláksorbaállítottsoraitfésüliössze)• HASHJOIN(kihasználjaaSORT-MERGEalgoritmuskarakterisztikáit,azazonosértékekegymásmelletiségét,csoportosíthatóságát)
Azoptimalizálástechnikákratámaszkodik
![Page 43: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/43.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 43
Adatbáziskezelés Adatbázisok
• Mindenadatbázisműveletnekmegvaaprioritása
• Alekérdezőmotormeghatározzaazeredményelőállításáhozszükségesfeldolgozásiműveleteket
• Aműveletekprioritásaalapjánazadatokminőségétőlfüggetlenülállítjasorbaakülönbözővégrehajtásiterveket
Szabályalapúoptimalizálás
![Page 44: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/44.jpg)
Relációs adatbázisok
2016.12.31. MMK-Informatikaiprojektellenőrképzés 44
Adatbáziskezelés Adatbázisok
• Alkalmazásáhozadatminőségistatisztikákravanszükség(mennyiség,eloszlás,stb.)
• Mindenadatbázisműveletnekbecsülhetőaköltségestatisztikákalapján
• Alekérdezőmotormeghatározzaazeredményelőállításáhozszükségesfeldolgozásiműveleteket
• Azoptimalizáló• meghatározzaaműveletekköltségétazadatokminőségétőlfüggően
• összegeziabekerülési költségeketésezalapjánállítjasorbaavégrehajtásiterveket
Költségalapúoptimalizálás
![Page 45: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/45.jpg)
Lekérdezések optimalizálása
2016.12.31. MMK-Informatikaiprojektellenőrképzés 45
Adatbáziskezelés Adatbázisok
Forrás: Oracle.com
![Page 46: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/46.jpg)
Lekérdezések optimalizálása
2016.12.31. MMK-Informatikaiprojektellenőrképzés 46
Adatbáziskezelés Adatbázisok
Forrás: Oracle.com
![Page 47: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/47.jpg)
Relációs adatbázisok tervezése
2016.12.31. MMK-Informatikaiprojektellenőrképzés 47
Adatbáziskezelés Adatbázisok
Adattáblákmeghatározása
ID Név Beosztás Szervezet Törölt
1 Kiss János Könyvelő 1 Hamis
2 NagyBéla Informatikus 2 Hamis
3 … … … …
ID Név Leírás Törölt
1 Pénzügy Pénzügyiés … Hamis
2 Informatika Informatikai… Hamis
3 … … …
SzervezetekSzemelyek
ID Név Beosztás Szervezet Szervezetleírása
Törölt
1 Kiss János Könyvelő Pénzügy Pénzügyiés … Hamis
2 NagyBéla Informatikus Informatika Informatikai… Hamis
3 … … … …
Szemelyek és szervezetek
Normalizálás Redundanciák kiszűrése
![Page 48: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/48.jpg)
Relációs adatbázisok tervezése
2016.12.31. MMK-Informatikaiprojektellenőrképzés 48
Adatbáziskezelés Adatbázisok
• Azadatlekérdezésiigényekhatározzákmegazalkalmazandóindexeket• adattartalom• csoportosítás• sorbaállítás
• Egyoszloposvagytöbboszloposindex?• Egyadatelővételiműveletesetébenegyindexalkalmazható• Többoszloposindexakkoralkalmazandó,hatöbboszlopratörténikaszűrés
• Hatöbboszlopadataiszerepelnekaszűrésifeltételekben,azoptimalizálóalegmegfelelőbbnektaláltindexetalkalmazza
• Minéltöbbazindexannállassúbbazadatlétrehozásésmódosítás
Indexekmeghatározása
![Page 49: Adatbázisok megvalósítása v1 · Adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3 Adatbáziskezelés Adatbázisok • Adatbázison valamely cél megvalósításának](https://reader031.fdocuments.net/reader031/viewer/2022041811/5e57fc9ea266bb0e0d66f842/html5/thumbnails/49.jpg)
2016.12.31. MMK-Informatikaiprojektellenőrképzés 49
Köszönöm a figyelmet!