30 MB INFORMATIKAI PROJEKTELLENŐR ADATBÁZISOK MEGVALÓSÍTÁSA (ADATBÁZISOK, ADATBÁZISKEZELŐK, ADATBÁZISOK FELÉPÍTÉSE, ADATBÁZISOK TERVEZÉSE)

Hasonló dokumentumok
Adatbázisok (relációs, objektum relációs, NoSQL) Adatbáziskezelő rendszerek Adatbázisok felépítése Adatbázisok tervezése

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis, adatbázis-kezelő

Csima Judit szeptember 6.

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázisok elmélete

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Bevezetés: az SQL-be

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Az adatbázisrendszerek világa

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

SQL DDL-2 (aktív elemek) triggerek

BEVEZETÉS Az objektum fogalma

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Adatbázisok elmélete 9. előadás

Adatbázis rendszerek SQL nyomkövetés

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázisok* tulajdonságai

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Informatikai alapismeretek Földtudományi BSC számára

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

B I T M A N B I v: T M A N

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

TABLE ACCESS FULL HASH CLUSTER BY INDEX ROWID BY USER ROWID BY GLOBAL INDEX ROWID BY LOCAL INDEX ROWID

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

Adatbázis-kezelés. Harmadik előadás

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Adatbázisok elmélete 9. előadás

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

Adatbázisok elmélete 10. előadás

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Adatmodellezés. 1. Fogalmi modell

30 MB INFORMATIKAI PROJEKTELLENŐR

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Nem klaszterezett index. Klaszterezett index. Beágyazott oszlopok. Index kitöltési faktor. Indexek tulajdonságai

Adatbázis-kezelés, információs-rendszerek

Nem klaszterezett index. Beágyazott oszlopok. Klaszterezett index. Indexek tulajdonságai. Index kitöltési faktor

Adatbázismodellek. 1. ábra Hierarchikus modell

SQL parancsok feldolgozása

A könyv tartalomjegyzéke

Adatbázisok tavaszi félév Vizsgatételsor

Az SQL adatbázisnyelv: DML

LBRA6i integrált rendszer

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

Adatbázisok II. rész

Adatbázis rendszerek Gy: Az adattárolás fejlődése

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

SQL DDL-1: táblák és megszorítások

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

ADATBÁZISOK ADATBÁZIS-KEZELŐ RENDSZEREK. Debrenti Attila

Többtáblás lekérdezések megjelenítése

Adatbázis tartalmának módosítása

Indexek és SQL hangolás

Több tábla összekapcsolásán alapuló lekérdezések. Copyright 2004, Oracle. All rights reserved.

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

Nyilvántartási Rendszer

Bevezetés: Relációs adatmodell

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázis-kezelés. alapfogalmak

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

Java és web programozás

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Átírás:

INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR ADATBÁZISOK MEGVALÓSÍTÁSA (ADATBÁZISOK, ADATBÁZISKEZELŐK, ADATBÁZISOK FELÉPÍTÉSE, ADATBÁZISOK TERVEZÉSE) 2016. 12. 31. MMK- Informatikai projektellenőr képzés

Tartalom (relációs, objektum relációs, NoSQL) Adatbáziskezelő rendszerek felépítése tervezése 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 2

Az adatbázis fogalma Adatbázison valamely cél megvalósításának érdekében gyűjtött, feldolgozott és tárolt adatok a cél elérésének érdekében megfelelően rendszerezett és rendezett struktúrában tárolt változatát értjük. Az adatok ömlesztett tárolása nem tekinthető adatbázisnak, mivel hiányzik belőle a rendszerezés és a struktúra. tárolási formája Papíron, irattárban rendezett, rendszerezett formában Elektronikus úton, számítógépes rendszerekben 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3

Példák Banki rendszerek Vállalati nyilvántartások Repülőgép helyfoglalási rendszerek Könyvtári nyilvántartások Irattári nyilvántartások Alapvető hozzáférési igények Valós időben (azonnal) Párhuzamosan (egyszerre sok felhasználó) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 4

Adattárolás Történelmi háttér Adatokat azóta tarolunk, mióta létezik az írás Az első adatbázisok a kartotékok, irattárak voltak A számítógépek megjelenése és elterjedése lehetővé tette az adatok elektronikus tárolását Az első számítógépes adatbázisok tárolása lyukszalagon, lyukkártyán történt, amelyek nem voltak direkt módon elérhetők a számítógépek számára 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 5

Adattárolás Történelmi háttér A mágneses adathordozók megjelenése és elterjedése egyszerűsítette az adatok tárolását és hozzáférését Ekkor még egyedi, speciális szoftverek kellettek az adatok kezeléséhez A számítástechnika gyors fejlődése (Moore törvény) lehetővé tette egyre nagyobb mennyiségű adatok feldolgozását és tárolását 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 6

Adattárolás Történelmi háttér A számítógépek fejlődésével együtt fejlődtek a programozási nyelvek és egyre több lehetőségnyílt az adatok elektronikus feldolgozására és tárolására Az adatok mennyiségének növekedésével, az adatok egyedi feldolgozása és tárolása fárasztó és időrabló feladattá vált Megjelent az adatok egységes és általános módon való feldolgozásának igénye Ennek mentén fejlődtek ki az Adatbáziskezelő rendszerek (DBMS) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 7

Adatbáziskezelő rendszerek Adatkezelési elvárások Tegye lehetővé tetszőleges adatbázisok (adatszerkezetek) létrehozását Szabványos módon támogassa az adatok lekérdezését és módosítását (egységes lekérdező nyelv) Támogassa nagy mennyiségű adat tárolását és visszakereshetőségét hosszútávon 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 8

Adatbáziskezelő rendszerek Biztonsági elvárások Garantálja az adatok biztonságát a meghibásodással és illetéktelen hozzáféréssel szemben Felügyelje az adatok hozzáférését az adatokhoz, olyan módon, hogy az egyes felhasználók műveletei ne legyenek hatással a többi felhasználó munkájára Az egyidejű hozzáférések ne okozhassanak adathibát vagy inkonzisztenciát 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 9

Adatbáziskezelő rendszerek célja Absztrakciós réteg A fejlesztőnek ne kelljen foglalkozni a fizikai szintű adattárolással Rejtse el a felhasználó elől a számítógépek architektúráját Az eszközök típusától függetlenül az alkalmazás ugyanúgy használható legyen az adatbáziskezelő által támogatott minden platformon 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 10

Adatbáziskezelő rendszerek célja Függetlenség az adatelérés módjától Az operációs rendszerek különböző adatelérési módokat támogatnak Rejtse el az adatelérés módját a felhasználó vagy fejlesztő elől akinek a lekérdezés megfogalmazása és ne az adatok előállítási módja legyen feladat Több adatelérési mód rendelkezésre állása esetén az optimális kiválasztása 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 11

Adatbáziskezelő rendszerek célja Függetlenség az adattárolástól Az adatok szerkezeti változásai minél kevésbé befolyásolják az alkalmazások működését Az adatok szerkezeti bővítése ne okozzon problémát az alkalmazás működésében 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 12

Adatbázis modellek (napjainkban) Relációs adatbázis modell Az adatok táblázatos ábrázolása, megjelenítése Egy sor egy entitást ír le A táblázatokat nevezzük relációknak Objektum-relációs modell A relációs adatmodell bővítésével állt elő Az objektum orientált megközelítésben használt objektum és öröklődési modellt alkalmazza a relációkat megvalósító táblákra Támogatja az adattípusok bővítését saját adattípusokkal (objektumok) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 13

Adatbázis modellek (napjainkban) NoSQL Not only SQL Két fontos jellemző amelyek mentén fejlesztik: performancia és skálázhatóság A relációs adattárolástól eltérő tárolási módot használ kulcs-érték párok gráf struktúra 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 14

Adatbázis modellek (napjainkban) NoSQL előnyei Nagy mennyiségű adat kezelése Agilis módszertanok támogatása (iteráció és gyakori kód publikálása) Dinamikus adatbázis séma (nincs előre definiált struktúra, méret meghatározás) pl. új attribútumok hozzáadása esetén nem kell a meglévő adatokat karbantartani Osztott feldolgozás támogatása automatikus partícionálás az alkalmazásnak nem kell tudnia a mögötte álló szerver hierarchiáról Automatikus adatreplikáció, nem kell ezzel foglalkoznia az alkalmazásnak 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 15

Adatbáziskezelők felépítése Sémamódosítások Lekérdezések Adatmódosítások Feldolgozó Tranzakció-kezelő Tárkezelő Adatok Metaadatok Forrás: Jeffrey D. Ullman Jenifer Widom: Adatbázisrendszerek 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 16

Adatbázis műveletek Séma (meta-adat) módosítások Végrehajtásukhoz speciális jogosultságra van szükség Data Definition Language (DDL) segítségével történik Műveletek a meta-adatok szintjén: Séma létrehozás Séma törlés Struktúrák: Létrehozása Módosítása Törlése 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 17

Adatbázis műveletek Adatmanipuláció Data Manipulation Language (DML) segítségével történik Elvégezhető műveletek Adatok létrehozása Adatok mentése Adatok keresése Adatok módosítása Adatok törlése 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 18

Relációs adatbázisok Adatstruktúrák relációs adatbázisokban Adattáblák (relációk) Adattáblák sorokból és oszlopokból állnak Az oszlopokat attribútumoknak is nevezzük A sorok azonosítóval rendelkezhetnek (elsődleges kulcs) A táblák oszlopai (attribútumai) hivatkozhatnak másik táblák elsődleges kulcsaira idegen kulcsok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 19

Relációs adatbázisok Szemelyek ID Név Beosztás Szervezet Törölt 1 Kiss János Könyvelő 1 Hamis 2 Nagy Béla Informatikus 2 Hamis 3 Adatkapcsolatok Hivatkozások másik tábla elsődleges kulcsára Elsődleges kulcs Szervezetek ID Név Leírás Törölt 1 Pénzügy Pénzügyi és Hamis 2 Informatika Informatikai Hamis 3 Egyedi azonosító 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 20

Relációs adatbázisok Indexek Adatok gyors hozzáférését biztosítják Különböző típusú indexek léteznek, az elterjedtebbek: B-fa index Bittérkép index teljes szövegindexelés A megfelelő indexek létrehozása felgyorsítja az adatok kezelését Túl sok index létrehozása lassítja az adatok létrehozását és módosítását (minden adatot fel kell vennie a rendszernek az indexekbe is) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 21

Relációs adatbázisok B-fa indexek 6 27 50 1 2 3 4 5 16 18 22 30 35 7 8 9 11 15 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 22

Relációs adatbázisok Bittérkép indexek Tábla Osztályzat oszlop kevés fix (előre rögzített) értékkel ID Név Osztályzat 1 Kiss Pista 1 2 Nagy Béla 5 3 Kovács András 4 4 Laza Kati 4 5 Erős Pista 5 Bittérképek Minden értékhez van egy bittérkép 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 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 23

Relációs adatbázisok További adatbázis objektumok Gyári függvények és eljárások Támogatják a felhasználót tetszőleges eredmények előállításában Lehetővé teszik az adatbázisban tárolt adatok tetszőleges átalakítását Felhasználói adattípusok Lehetővé teszik az adatbázis-kezelő rendszerek adattípusainak bővítését 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 24

Relációs adatbázisok Tárolt eljárások és függvények Felhasználó által definiált programcsomagok Megírásuk adatbáziskezelőbe integrált programozási nyelven történik Lehetővé teszik az adatok helybeli feldolgozását az adatbáziskezelő rendszeren belül Nem kell az adatokat kiolvasni és átemelni a kliensre és visszaírni az adatbázisba Kiváló batch adatfeldolgozási feladatok elvégzésére Alkalmas komplex triggerek megírására 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 25

Relációs adatbázisok Tárolt eljárások és függvények A különböző adatbáziskezelő rendszerek más-más programozási nyelvet kínálnak a cél megvalósítására Alkalmazásuk nagyobb performanciát eredményez, főleg nagy mennyiségű feladat feldolgozásakor nincs adatmozgatás hálózaton, csak egy kontextusváltás a szerveren belül Legismertebb programozási nyelvek Oracle PL/SQL MSSQL Tanzasc-SQL pgsql PL/pgSQL 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 26

Triggerek Relációs adatbázisok Adatok írása és olvasása közben meghívott eseménykezelő eljárások Az adattáblákba beírt adatok ellenőrzésére, kiegészítésére, átalakítására használják, például üres oszlop tartalmának feltöltése, adat érvényeségének ellenőrzése, stb. Lehet soronként (for each row) és utasításonként végrehajtott Lehet adatírás előtt vagy után végrehajtott (before insert, before update, after insert, after update) Megírásuk adatbáziskezelő specifikus 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 27

Relációs adatbázisok Megszorítások Primary key (elsődleges kulcs) egyedi érték az oszlopon belül Egydei index készül hozzá Foreign key (idegen kulcs) Másik tábla elsődleges kulcsára való hivatkozás Referencia integritás kikényszerítésére Csak olyan kulcsérték szerepelhet a táblában, amely létezik a hivatkozott tábla elsődleges kulcsértékei között Ellenőrzési megszorítás Oszlop értékkészletének a megadása 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 28

Partícionálás Relációs adatbázisok Adatok tárolásának szegmentálása az adattáblákban tárolt adatok alapján Leginkább nagy mennyiségű adat gyorsabb lekérdezése esetén használják Például: számlák szétosztása tábla partíciók között kiállítási hónap vagy év alapján Lekérdezések végrehajtásának felgyorsítása: ha a partícionálásban érintett adat mentén keresünk, a rendszer csak azokat a partíciókat veszi figyelembe, amelyek releváns adatot tartalmazhatnak Megvalósítása adatbáziskezelő függő 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 29

Adatok lekérdezése (SQL) Standard Query Language Szabványos lekérdező nyelv Minden relációs adatbáziskezelő támogatja Lehetővé teszi az adatok alatti adatbáziskezelő motor cseréjét a programkód cseréje nélkül Gyártói kiegészítések Kényelmesebbé teszik a használatát Nagyobb performanciát nyújtó opciók Platformfüggővé teszik az alkalmazást 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 30

Adatok lekérdezése (SQL) SQL utasítások Insert adatsorokok beszúrása adattáblákba Update adatsorok attribútumainak módosítása adott feltételek mentén Delete - adatsorok törlése adott feltételek mentén Select adatok lekérdezése adattáblákból 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 31

Adatok lekérdezése (SQL) Select utasítás SELECT kifejezés1 as oszlop, kifejezés2 as oszlop, FROM tábla1 alias1 [INNER LEFT OUTER RIGHT OUTER] JOIN tábla2 alias 2 ON feltétel2 [INNER LEFT OUTER RIGHT OUTER] JOIN táblax aliasx ON feltételx WHERE feltétel GROUP BY kifejezések HAVING feltétel ORDER BY kifejezések LIMIT kezdő adat, adatmennyiség 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 32

Adatok lekérdezése (SQL) Select Elővett adatok listája SELECT kifejezés1 as oszlop, kifejezés2 AS oszlop, Kifejezéseket adhatunk meg, amelyek az adattábla oszlopainak értékeiből, konstansokból, függvényhívásokból (gyári és saját) műveletekből állnak Az előállított értékhez tetszőleges elnevezést kapcsolhatunk 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 33

Adatok lekérdezése (SQL) FROM Honnan vesszük elő FROM tábla1 alias1 [INNER LEFT OUTER RIGHT OUTER] JOIN tábla2 alias 2 ON feltételek2 [INNER LEFT OUTER RIGHT OUTER] JOIN táblax aliasx ON feltételekx Egy lekérdezésben egy vagy több táblából is vehetünk elő adatokat DESCARTES szorzatot (minden sor minden sorral) Adhatunk meg összekapcsolási feltételeket JOIN 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 34

Adatok lekérdezése (SQL) FROM Honnan Kiválogathatjuk: csak az összekapcsolási feltételeknek megfelelő sorokat (INNER JOIN) a bal oldali tábla sorait hozzákapcsolva a jobb oldali tábla sorait amelyek megfelelnek az összekapcsolási feltételnek (LEFT OUTER JOIN) a jobb oldali tábla sorait hozzákapcsolva a jobb oldali tábla sorait amelyek megfelelnek az összekapcsolási feltételnek (RIGHT OUTER JOIN) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 35

Adatok lekérdezése (SQL) WHERE Milyen feltétleknek mentén WHERE feltétel Az adattáblákból tetszőleges feltételek mentén válogathatunk sorokat A feltétel eredménye egy logikai érték (igaz/hamis), amely további kifejezések tetszőleges összekapcsolásából állhat Például: WHERE tabla1.attributum2=10 and tabla2.attributum3> tabla1.attributum2 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 36

Adatok lekérdezése (SQL) GROUP BY - csoportosítás GROUP BY kifejezések Összegzések, statisztikák előállítása A következő kérdésekre adott válasz: Hány olyan sor van COUNT Mennyi az összege a SUM Mennyi az átlaga AVG További statisztikai függvények A kifejezések által alkotott csoportonként kapjuk a választ A SELECT után csak statisztikai függvények és a GROUP BY kifejezési szerepelhetnek 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 37

Adatok lekérdezése (SQL) HAVING csoportok szűrése HAVING feltételek A csoportosítás során előállított adatokból válogathatunk a feltétel mentén Az eredményben azok a csoportok jelennek meg, amelyek eleget tesznek a HAVING után szereplő feltételeknek A feltétel tipikusan a csoportosítással előállított valamely statisztikai értékre vonatkozik Példa: Azon csoportok megjelenítése amely több mint 5 sorból állt össze: HAVING COUNT(ID)>5 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 38

Adatok lekérdezése (SQL) ORDER BY eredmény sorba állítása ORDER BY kifejezések Adatok sorba állítása kifejezések mentén Az egyes kifejezések esetében megadhatjuk, hogy melyek mentén állítjuk növekvő (ASC) illetve csökkenő (DESC) sorrendbe az adatokat Példa: ORDER BY SZERVEZET ASC, FIZETES DESC 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 39

Adatok lekérdezése (SQL) LIMIT szegmentálás LIMIT kezdő adat, adatmennyiség Gyakran fordul elő, hogy az eredmény nagy mennyiségű adatot tartalmaz, amit egyszerre nem lehet megjeleníteni a képernyőn, ilyenkor lapozási technikát alkalmazunk Megadhatjuk, hogy az eredmény valamely sorától adott sormennyiséget tartalmazzon az eredmény Adatbáziskezelő szervertől függően ennek szintaktikája változhat (Oracle esetében ROWNUM) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 40

Relációs adatbázisok Lekérdezések optimalizálása Nagy adatmennyiség esetében nem mindegy, hogy milyen sorrendben hajtja végre a rendszer az eredmény összeállítását Alapvetően kétféle optimalizálási módot különböztetünk meg Szabály alapú Költség alapú Végrehajtási tervek készítése, kiértékelése 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 41

Relációs adatbázisok Az optimalizálás technikákra támaszkodik Minden adatbázis háttérműveletnek megvan a prioritása Indexekre támaszkodik (nem kell végigolvasni a táblákat) Full table scan (teljes tábla olvasás nincs megfelelő index) Index scan (index olvasás majd csak az indexben megtalált sorok elővétele) A táblák összekapcsolásához többféle technikát is használhat NESTED LOOP (összefésüli a két tábla sorait) SORT-MERGE (a táblák sorba állított sorait fésüli össze) HASH JOIN (kihasználja a SORT-MERGE algoritmus karakterisztikáit, az azonos értékek egymás melletiségét, csoportosíthatóságát) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 42

Relációs adatbázisok Szabály alapú optimalizálás Minden adatbázis műveletnek megva a prioritása A lekérdező motor meghatározza az eredmény előállításához szükséges feldolgozási műveleteket A műveletek prioritása alapján az adatok minőségétől függetlenül állítja sorba a különböző végrehajtási terveket 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 43

Relációs adatbázisok Költség alapú optimalizálás Alkalmazásához adatminőségi statisztikákra van szükség (mennyiség, eloszlás, stb.) Minden adatbázis műveletnek becsülhető a költsége statisztikák alapján A lekérdező motor meghatározza az eredmény előállításához szükséges feldolgozási műveleteket Az optimalizáló meghatározza a műveletek költségét az adatok minőségétől függően összegezi a bekerülési költségeket és ez alapján állítja sorba a végrehajtási terveket 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 44

Lekérdezések optimalizálása Forrás: Oracle.com 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 45

Lekérdezések optimalizálása Forrás: Oracle.com 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 46

Relációs adatbázisok tervezése Adattáblák meghatározása Szemelyek és szervezetek ID Név Beosztás Szervezet Szervezet leírása Törölt 1 Kiss János Könyvelő Pénzügy Pénzügyi és Hamis 2 Nagy Béla Informatikus Informatika Informatikai Hamis 3 Normalizálás Szemelyek ID Név Beosztás Szervezet Törölt 1 Kiss János Könyvelő 1 Hamis 2 Nagy Béla Informatikus 2 Hamis 3 Redundanciák kiszűrése Szervezetek ID Név Leírás Törölt 1 Pénzügy Pénzügyi és Hamis 2 Informatika Informatikai Hamis 3 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 47

Relációs adatbázisok tervezése Indexek meghatározása Az adat lekérdezési igények határozzák meg az alkalmazandó indexeket adattartalom csoportosítás sorba állítás Egy oszlopos vagy több oszlopos index? Egy adatelővételi művelet esetében egy index alkalmazható Több oszlopos index akkor alkalmazandó, ha több oszlopra történik a szűrés Ha több oszlop adatai szerepelnek a szűrési feltételekben, az optimalizáló a legmegfelelőbbnek talált indexet alkalmazza Minél több az index annál lassúbb az adatlétrehozás és módosítás 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 48

Köszönöm a figyelmet! 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 49