1 of 37

Relációs adatbázis- rendszerek

Kovács László diái alapján

2 of 37

Alapfogalmak

  • Adat: fogalmán valamilyen tény megjelenését értjük, amit rögzíteni, tárolni, átalakítani és továbbítani tudunk.

Például: 45, 2025-05-07, Piros

  • Információ: észlelt, érzékelt, felfogott és a fogadó számára szükséges, újdonságot jelentő adat, amit megszerzett ismereteinktől függően értelmezünk és bizonytalanságot oszlat el.

Például: 45 °C mért hőmérséklet, a rendelés dátuma 2025-05-07, az autó színe piros

3 of 37

Alapfogalmak

  • Tudás: elérhető, rendelkezésre álló, és felhasználható információ.�Például: Ha 45 °C a megengedett hőmérséklet, és a mért érték is 45 °C, akkor az üzemelési feltétel megfelelő
  • Adatbázis: Adatbázis az integrált, logikailag összetartozó információk összessége; az adatok és a köztük lévő összefüggések rendszere, melyet egymás mellett tárolunk.

4 of 37

Adatbázis-rendszer perzisztencia szerepe

  • központi tárolás: egyetlen biztonságos szerveren tárolás.
  • osztott, párhuzamos elérés: több felhasználó egyszerre tudja módosítani vagy lekérni az adatokat
  • adatvédelmi funkciók: ki mit láthat, titkosítás

5 of 37

  • rugalmas modellezés: Az adatok séma alapján rendezettek, de könnyen alakíthatóak
  • hatékony adatkezelés: indexelés, gyors lekérdezések
  • központi menedzselés: biztonsági mentés, visszaállítás, teljesítményhangolás egy helyről végezhető
  • támogató szolgáltatások: egyszerűbb programozást, gyorsabb és megbízhatóbb rendszer
  • szabvány interfész, nyitottság: a legtöbb SQL-t vagy kompatibilis lekérdezőnyelvet használ, bármilyen alkalmazásból, platformról elérhető

6 of 37

Adatbázis szerver komponensei

Adatbázis szerver elemei:

  • interfész réteg (hálózat,..)
  • közös szerver processzek (DBMS)
  • felhasználói processzek
  • közös memória
  • adatbázis (DB)
  • adat-állományok
  • vezérlő, napló,.. állományok

7 of 37

Adatbázis-rendszer komponensei

  • interfész
  • szintaktikai ellenőrzés
  • szemantikai ellenőrzés
  • jogosultság ellenőrzés
  • aktív elemek
  • műveleti gráf
  • optimalizálás
  • tranzakció kezelés
  • naplózás
  • IO

8 of 37

Adatbázis komponensei

DB: integrált adatrendszer az adatok és metaadatok perzisztens tárolására és osztott elérésre, ahol az adatelemek és kapcsolatok adatmodell szerint kerülnek tárolásra.

  • elemi adatok
  • konténer adatok
  • kapcsolatok
  • séma adatok
  • védelmi adatok
  • hatékonysági adatok
  • program kód

9 of 37

Adatbázis fejlesztés

Az adatbázis fejlesztés rendszerint

  • csoportmunka
  • egy IR rendszer része
  • alapvető fontosságú (módosítási költségek)
  • hosszútávú hatás
  • rugalmasság igénye
  • háttérmunka
  • dokumentálandó

10 of 37

Adatbázis tervezés lépései

Fejlesztési módszertan:

  • stabil alapelemek
  • jól kidolgozott
  • alternatív módszerek
  • lépések:
    • követelmény elemzés
    • fogalomszótár
    • szemantikai modell
    • logikai adatmodell
    • parancskódolás
    • implementálás
    • tesztelés

11 of 37

Adatbázis tervezés lépései

Adatmodell szerepe: formális keretrendszer az adatrendszer leírására, elvi kezelésére.

Elemei:

  • séma, szerkezet
  • integritás
  • műveletek

12 of 37

ER modell szerepe

ER modell:

  • relációs modellhez igazodik
  • leggyakrabban használt
  • struktúra orientált
  • asszociáció alapú
  • lokális tulajdonságok
  • minimális integritási rész
  • rugalmas
  • grafikus

13 of 37

ER modell elemei

ER modell elemei:

  • egyed
  • kapcsolat
  • tulajdonság

Egyed:

  • önálló léttel bír
  • tulajdonságai vannak
  • független lét
  • lehet normál vagy gyenge

14 of 37

ER modell elemei

Kapcsolatok:

  • asszociáció alapú
  • számosság :
    • egy-egy
    • egy-több
    • több-töb
  • kötelező jelleg:
    • opcionális
    • kötelező
  • lehet reflexiv kapcsolódás is

15 of 37

ER modell elemei

Tulajdonságok:

  • leíró adatok
  • értékek tárolása
  • jellege:
    • atomi
    • többértékű
    • összetett
    • származtatott
  • kombinálható
  • lehet egyednek és kapcsolatnak is tulajdonsága

16 of 37

ER minta

CUSTOMER

ORDER PRODUCT ITEM SHIPMENT

SUPPLIER

17 of 37

18 of 37

Strukturáltság szerint

  • Strukturált adat:
    • Táblázatos formában rendezett, előre meghatározott sémával rendelkezik.
    • Példa: SQL adatbázisok, Excel-táblák, CRM rendszerek.
    • Jellemző: gyors kereshetőség, jól lekérdezhető.
  • Félstrukturált adat:
    • Nincs fix sémája, de tartalmaz címkéket vagy metaadatokat.
    • Példa: XML, JSON, YAML fájlok, logok.
    • Rugalmasabb, de nehezebb indexelni és lekérdezni.
  • Strukturálatlan adat:
    • Nincs formázása, nem egyértelmű a tartalma.
    • Példa: szövegfájlok, képek, videók, e-mailek, hangfelvételek.
    • Ezeket általában keresőmotorokkal vagy mesterséges intelligenciával lehet feldolgozni (pl. szöveg- vagy képelemzés).

19 of 37

Dokumentum-orientált adatbázis

  • Az egyik fajta NoSQL adatbázis
  • Adatok tárolása önálló dokumentumokban
    • Egy dokumentum = egy teljes entitás minden adatával együtt.
  • Tartalma lehet XML vagy JSON
  • Pl. mongoDB

20 of 37

  • Szemi-struktúrált: szövegszerű, de egy kialakított logika szerint tagolt adat
    • Kulcs–érték párok, beágyazott objektumok és listák rugalmas szervezése séma nélkül.
  • Rugalmas séma
      • Eltérő mezők különböző dokumentumokban, ami megkönnyíti a fejlesztést és bővítést.
  • Komplex hierarchikus adatok
    • Beágyazott objektumok és listák támogatása a komplex adatszerkezetek kezeléséhez.

21 of 37

  • Gyors adat elérés
    • Egyetlen lekérdezéssel elérhető minden szükséges információ, gyorsítva a web- és mobilalkalmazásokat.
  • Horizontális skálázhatóság
    • Támogatja a skálázást sharding és replikáció segítségével a nagy adatmennyiséghez.

22 of 37

Felhasználási területei

  • Webshop és blogrendszerek
    • Dokumentum-adatbázisok ideálisak webshopok kosárkezeléséhez és dinamikus blogrendszerekhez gyors adatkezeléssel.
  • Gyorsan változó adatok
    • Startup fejlesztések és gyorsan változó adatstruktúrák esetén a dokumentum-orientált modellek rugalmas adattárolást biztosítanak.
  • Nagy adatgyűjtés és IoT
    • Nagy mennyiségű esemény- és adatgyűjtéshez, mint az IoT vagy loggyűjtés, a dokumentum-orientált adatbázisok hatékony megoldást nyújtanak.
  • Mikroszervizek és API-k
    • Mikroszervizek és REST API back-endek esetén a dokumentum-adatbázisok támogatják a gyors integrációt és horizontális skálázást.

23 of 37

Gráf adatbázis

  • Másik fajta NoSQL adatbázis
  • Az adatok gráfként vannak modellezve
  • Csomópontok, élek és tulajdonságok alkotják
  • Nem minden problémára jó
  • Az adatok határozatlan számú kapcsolattal vannak összekötve
  • Pl.: Neo4J

24 of 37

Relációs tábla elemei

  • mező: elemi érték
  • mezőséma: (név, típus, megkötés)
  • rekord: mezők eggyüttese
  • rekordséma: mezőséma együttese
  • reláció: azonos sémájú rekordok halmaza
  • relációséma = a tábla formális definíciója
  • adatbázis: relációk együttese
  • adatbázisséma: relációsémák együttese

25 of 37

Relációs adatbázis

  • Nincs sorrend (Ellentétben a táblázattal)
  • Nincs ismétlődés
  • Nincs két ugyanolyan nevű mező az adott rekordsémában
  • Létezzen kulcsmező, amely egyedileg azonosít egy rekordot
  • Kapcsolatokat értékegyezőség alapján reprezentál
  • Pl.: mysql, Oracle

26 of 37

ACID elvek�

  • Az ACID tulajdonságok biztosítják, hogy az adatbázisban végzett tranzakciók megbízhatóan és konzisztensen hajtódjanak végre, még hiba vagy rendszerleállás esetén is. Ezek különösen fontosak pénzügyi, vállalati vagy bármilyen más üzletkritikus rendszerekben
  • A Atomicity Atomszerűség (oszthatatlanság)
  • C Consistency Konzisztencia (állapothelyesség)
  • I Isolation Elkülönítés (tranzakciós függetlenség)
  • D Durability Tartósság (állandóság)

27 of 37

Kapcsolatok nyilvántartása relációs modellben

Kapcsolat ábrázolás módja:

  • asszociatív alapú
  • idegen kulcs mező
  • (a hivatkozott rekord kulcs értékét tartalmazza)
  • egy rekordra mutat
  • azonos adattípus
  • rugalmasság
  • lassabb illesztés

28 of 37

Kapcsolatok nyilvántartása relációs modellben

1:N kapcsolat ábrázolása:

Idegen kulcs a gyerek oldalra, amely a szülő rekordra mutat.

N:M kapcsolat ábrázolása:

Külön kapcsolótábla, mely

egy-egy idegen kulcsot tartalmaz mindkét félhez

29 of 37

Integritási elemek

Integritási szabályok:

A felvehető adatok értékét korlátozza.

Típusai:

  • elsődleges kulcs (PK)
  • idegen kulcs (FK)
  • egyedi értékek (UN)
  • nem lehet üres (NN)
  • értékellenőrzés (C)

30 of 37

SQL nyelv parancs kategóriák

31 of 37

CREATE TABLE parancs

A CREATE parancs tetszőleges

DB objektum létrehozatalára szolgál

CREATE TIPUS név PARAMÉTEREK

Tábla esetén:

CREATE TABLE tnév

(mnév1 tip1 int1,..., mnév1 topl intl, intr) tárolási_paraméterek;

32 of 37

INSERT parancs

Új rekord felvitele

INSERT INTO tnév VALUES (értéklista)

  • ügyelni kell a tipusegyezőségre
  • ügyelni kell a mezők darabszámára
  • nem szükséges minden mezőnek értéket adni

INSERT INTO tnév (mezőlista) VALUES (értéklista)

33 of 37

SELECT parancs

Adatok lekérdezése

SELECT mezőlista FROM tábla1

INNER JOIN tábla2 ON feltétel WHERE feltétel

GROUP BY cskif

UNION | INTERSECT …

ORDER BY mezőlista

34 of 37

35 of 37

ORACLE kliens szerver struktúra

36 of 37

ORACLE high availability struktúra

37 of 37