11.24. - adatbázisok megvalósítása · tartalom 2017. 11. 23. 1 • adatbázisok (relációs,...
TRANSCRIPT
![Page 1: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/1.jpg)
Tartalom
2017.11.23. 1
• Adatbázisok(relációs,objektumrelációs,NoSQL)• Adatbáziskezelőrendszerek• Adatbázisokfelépítése• Adatbázisoktervezése
![Page 2: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/2.jpg)
Adatbázisok
2017.11.23. 2
• 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 3: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/3.jpg)
2017.11.23. 3
• 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
Adatbázisok
![Page 4: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/4.jpg)
2017.11.23. 4
• 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
Adattárolás
![Page 5: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/5.jpg)
2017.11.23. 5
• 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
Adattárolás
![Page 6: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/6.jpg)
2017.11.23. 6
• 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
Adattárolás
![Page 7: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/7.jpg)
2017.11.23. 7
• 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
Adatbáziskezelő rendszerek
![Page 8: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/8.jpg)
2017.11.23. 8
• 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
Adatbáziskezelő rendszerek
![Page 9: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/9.jpg)
2017.11.23. 9
• 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
Adatbáziskezelő rendszerek célja
![Page 10: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/10.jpg)
2017.11.23. 10
• 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
Adatbáziskezelő rendszerek célja
![Page 11: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/11.jpg)
2017.11.23. 11
• 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
Adatbáziskezelő rendszerek célja
![Page 12: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/12.jpg)
2017.11.23. 12
• 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
Adatbázis modellek (napjainkban)
![Page 13: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/13.jpg)
2017.11.23. 13
• 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
Adatbázis modellek (napjainkban)
![Page 14: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/14.jpg)
2017.11.23. 14
Adatbázis modellek (napjainkban)
• Nagymennyiségűadatkezelése• Agilismódszertanoktámogatása(iterációésgyakorikódpublikálás)
• 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 15: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/15.jpg)
2017.11.23. 15
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
Adatbáziskezelők felépítése
![Page 16: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/16.jpg)
2017.11.23. 16
• 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
Adatbázis műveletek
![Page 17: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/17.jpg)
2017.11.23. 17
Adatbázis műveletek
• 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 18: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/18.jpg)
2017.11.23. 18
• 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
Relációs adatbázisok
![Page 19: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/19.jpg)
2017.11.23. 19
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:Idegenkulcs
Hivatkozásokmásiktáblaelsődlegeskulcsára
Szervezetek
Szemelyek
Elsődlegeskulcs
Egyediazonosító
Relációs adatbázisok
![Page 20: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/20.jpg)
2017.11.23. 20
• 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
Relációs adatbázisok
![Page 21: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/21.jpg)
2017.11.23. 21
B-faindexek
6 27 50
1 2 3 4 5 16 18 22 30 35
7 8 9 11 15
Relációs adatbázisok
![Page 22: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/22.jpg)
2017.11.23. 22
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ékhezvanegybittérkép
TáblaOsztályzatoszlopkevésfix(előrerögzített) értékkel
Relációs adatbázisok
![Page 23: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/23.jpg)
2017.11.23. 23
• 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
Relációs adatbázisok
![Page 24: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/24.jpg)
2017.11.23. 24
• 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
Relációs adatbázisok
![Page 25: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/25.jpg)
2017.11.23. 25
• 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űadatfeldolgozásakor– nincsadatmozgatáshálózaton,csakegykontextusváltásaszerverenbelül
• Legismertebbprogramozásinyelvek• Oracle– PL/SQL• MSSQL– Tanzasct-SQL• pgSQL – PL/pgSQL• …
Tárolteljárásokésfüggvények
Relációs adatbázisok
![Page 26: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/26.jpg)
2017.11.23. 26
• 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
Relációs adatbázisok
![Page 27: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/27.jpg)
2017.11.23. 27
• Primary key (elsődlegeskulcs)• Egyediértékazoszloponbelül• Egyediindexké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
Relációs adatbázisok
![Page 28: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/28.jpg)
2017.11.23. 28
• 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
Relációs adatbázisok
![Page 29: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/29.jpg)
2017.11.23. 29
• 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éteszikalekérdezésekhasználatát
• Nagyobbperformanciát nyújtóopciók• Platformfüggővéteszikazalkalmazást
StandardQuery Language
Adatok lekérdezése (SQL)
![Page 30: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/30.jpg)
2017.11.23. 30
• 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
Adatok lekérdezése (SQL)
![Page 31: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/31.jpg)
2017.11.23. 31
• 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
Adatok lekérdezése (SQL)
![Page 32: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/32.jpg)
2017.11.23. 32
• 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
Adatok lekérdezése (SQL)
![Page 33: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/33.jpg)
2017.11.23. 33
• 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ő
Adatok lekérdezése (SQL)
![Page 34: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/34.jpg)
2017.11.23. 34
• 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
Adatok lekérdezése (SQL)
![Page 35: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/35.jpg)
2017.11.23. 35
• 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
Adatok lekérdezése (SQL)
![Page 36: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/36.jpg)
2017.11.23. 36
• 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
Adatok lekérdezése (SQL)
![Page 37: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/37.jpg)
2017.11.23. 37
• 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
Adatok lekérdezése (SQL)
![Page 38: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/38.jpg)
2017.11.23. 38
• 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
Adatok lekérdezése (SQL)
![Page 39: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/39.jpg)
2017.11.23. 39
• 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
Adatok lekérdezése (SQL)
![Page 40: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/40.jpg)
2017.11.23. 40
• 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
Relációs adatbázisok
![Page 41: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/41.jpg)
2017.11.23. 41
• 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
Lekérdezések optimalizálása
![Page 42: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/42.jpg)
2017.11.23. 42
• 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
Lekérdezések optimalizálása
![Page 43: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/43.jpg)
2017.11.23. 43
• 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
Lekérdezések optimalizálása
![Page 44: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/44.jpg)
2017.11.23. 44
Forrás:Oracle.com
Lekérdezések optimalizálása
![Page 45: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/45.jpg)
2017.11.23. 45
Forrás:Oracle.com
Lekérdezések optimalizálása
![Page 46: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/46.jpg)
2017.11.23. 46
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ésszervezetek
Normalizálás Redundanciákkiszűrése
Relációs adatbázisok tervezése
![Page 47: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/47.jpg)
2017.11.23. 47
• 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
Relációs adatbázisok tervezése
![Page 48: 11.24. - Adatbázisok megvalósítása · Tartalom 2017. 11. 23. 1 • Adatbázisok (relációs, objektum relációs, NoSQL) • Adatbáziskezelő rendszerek • Adatbázisok felépítése](https://reader036.vdocuments.mx/reader036/viewer/2022063010/5fc24dfeb2c848477a6bc18c/html5/thumbnails/48.jpg)
Köszönöm afigyelmet!
48