tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok [2025/05/07 06:56] – [7. Összefoglaló táblázat] knehez | tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok [2025/05/08 07:01] (current) – [D – Durability (Tartósság)] knehez | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOTOC~~ | ||
Régi anyag: https:// | Régi anyag: https:// | ||
Line 11: | Line 12: | ||
* Az adatok szervezett tárolása lehetővé teszi azok gyors visszakeresését és elemzését. | * Az adatok szervezett tárolása lehetővé teszi azok gyors visszakeresését és elemzését. | ||
* Több felhasználó egyidejűleg dolgozhat ugyanazon adatokkal (konkurens hozzáférés). | * Több felhasználó egyidejűleg dolgozhat ugyanazon adatokkal (konkurens hozzáférés). | ||
- | * Biztosítani lehet az **adatintegritást** és a **hozzáférés-ellenőrzést**. | + | * Biztosítani lehet az **adatintegritást** és a **hozzáférés-ellenőrzést**. Az adatbázis képes megóvni az adatok helyességét, |
* Az adatok rendszeres **mentése és visszaállítása** egyszerűbbé válik. | * Az adatok rendszeres **mentése és visszaállítása** egyszerűbbé válik. | ||
* Automatizált folyamatokhoz (pl. webalkalmazások, | * Automatizált folyamatokhoz (pl. webalkalmazások, | ||
Line 31: | Line 32: | ||
* Példa: SQL adatbázisok, | * Példa: SQL adatbázisok, | ||
* Jellemző: gyors kereshetőség, | * Jellemző: gyors kereshetőség, | ||
- | | + | |
* **Félstrukturált adat**: | * **Félstrukturált adat**: | ||
* Nincs fix sémája, de tartalmaz címkéket vagy metaadatokat. | * Nincs fix sémája, de tartalmaz címkéket vagy metaadatokat. | ||
Line 58: | Line 59: | ||
* **Szigorú séma**: minden táblának előre meghatározott szerkezete van (mezőtípusok, | * **Szigorú séma**: minden táblának előre meghatározott szerkezete van (mezőtípusok, | ||
* **Kapcsolatok**: | * **Kapcsolatok**: | ||
- | * **ACID tulajdonságok**: | + | * **ACID tulajdonságok**: |
- | * *Atomicity* – a tranzakciók oszthatatlanok. | + | |
- | * *Consistency* – az adatbázis érvényességi szabályai nem sérülnek. | + | |
- | * *Isolation* – párhuzamos | + | |
- | * *Durability* – a végrehajtott tranzakciók tartósan megmaradnak. | + | |
- | ==== Előnyök ==== | + | **Mit jelent az ACID?** |
+ | |||
+ | ^ Betű ^ Jelentés angolul ^ Jelentés magyarul | ||
+ | | A | Atomicity | ||
+ | | C | Consistency | ||
+ | | I | Isolation | ||
+ | | D | Durability | ||
+ | **A – Atomicity (Atomszerűség)** | ||
+ | Egy tranzakció vagy teljes egészében végrehajtódik, | ||
+ | |||
+ | * Példa: Ha egy banki utalás során először levonjuk a pénzt A számláról, | ||
+ | |||
+ | **C – Consistency (Konzisztencia)** | ||
+ | A tranzakció nem sértheti meg az adatbázis szabályait. Csak olyan állapot maradhat fenn, amely megfelel a megszorításoknak (kulcsok, ellenőrzések, | ||
+ | |||
+ | * Példa: Egy megrendelés nem lehet úgy eltárolva, hogy nem tartozik hozzá létező vásárló. | ||
+ | |||
+ | **I – Isolation (Elkülönítés)** | ||
+ | A párhuzamosan futó tranzakciók nem zavarhatják egymást. Egy felhasználó nem láthatja egy másik félkész változtatásait. | ||
+ | |||
+ | * Példa: Ha két ügyintéző módosítja ugyanazt az ügyfélrekordot, | ||
+ | |||
+ | **D – Durability (Tartósság)** | ||
+ | Ha egy tranzakció véglegesen befejeződik, | ||
+ | |||
+ | * Példa: Ha egy utalás sikeresen lefutott, a pénzmozgás nem veszhet el újraindítás után sem. | ||
+ | |||
+ | ==== További előnyök ==== | ||
* **Adatintegritás**: | * **Adatintegritás**: | ||
* **Lekérdezhetőség**: | * **Lekérdezhetőség**: | ||
Line 281: | Line 305: | ||
- | ===== 8. Demó ===== | + | ===== 8. Példa |
- | | + | |
- | | + | Az alábbi példák bemutatják, |
+ | |||
+ | ==== 1. Relációs adatbázis: | ||
+ | Tábla létrehozása: | ||
+ | <code sql> | ||
+ | CREATE TABLE diakok ( | ||
+ | id SERIAL PRIMARY KEY, | ||
+ | nev TEXT NOT NULL, | ||
+ | szuletesi_ev INTEGER | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | Adatok beszúrása: | ||
+ | <code sql> | ||
+ | INSERT INTO diakok (nev, szuletesi_ev) | ||
+ | VALUES ('Kiss Anna', 2002), ('Nagy Péter', | ||
+ | </ | ||
+ | |||
+ | Lekérdezés: | ||
+ | <code sql> | ||
+ | SELECT nev FROM diakok WHERE szuletesi_ev < 2001; | ||
+ | </ | ||
+ | |||
+ | ==== 2. NoSQL példa: | ||
+ | Dokumentum beillesztése: | ||
+ | <code javascript> | ||
+ | db.diakok.insertOne({ | ||
+ | | ||
+ | szuletesi_ev: | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Lekérdezés: | ||
+ | <code javascript> | ||
+ | db.diakok.find({ szuletesi_ev: | ||
+ | </ | ||
+ | |||
+ | ==== 3. Vektor adatbázis példa: FAISS keresés (Python) ==== | ||
+ | Tegyük fel, hogy szövegeket átalakítunk vektorokká egy nyelvi modell (pl. `sentence-transformers`) segítségével, | ||
+ | |||
+ | Embedding előállítás (példa): | ||
+ | <code python> | ||
+ | from sentence_transformers import SentenceTransformer | ||
+ | import faiss | ||
+ | import numpy as np | ||
+ | |||
+ | model = SentenceTransformer(' | ||
+ | dokumentumok = ["A kutya ugat.", | ||
+ | |||
+ | vektorok = model.encode(dokumentumok) | ||
+ | index = faiss.IndexFlatL2(vektorok.shape[1]) | ||
+ | index.add(np.array(vektorok)) | ||
+ | </ | ||
+ | |||
+ | Keresés | ||
+ | <code python> | ||
+ | kerdes = " | ||
+ | kerdes_vektor = model.encode([kerdes]) | ||
+ | _, eredmenyek = index.search(np.array(kerdes_vektor), | ||
+ | |||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | Eredmény: | ||
+ | '' | ||
+ | |||
+ | ===== Ellenőrző kérdések ===== | ||
+ | |||
+ | **1. Mi a relációs adatbázis egyik alapvető jellemzője? | ||
+ | * ( ) Az adatok képek és hangfájlok formájában tárolódnak | ||
+ | * (x) Az adatokat táblákban tároljuk sorok és oszlopok formájában | ||
+ | * ( ) Az adatbázisok nem rendelkeznek előre meghatározott szerkezettel | ||
+ | |||
+ | **2. Mi biztosítja az adatintegritást egy relációs adatbázisban? | ||
+ | * ( ) A dokumentumalapú adattárolás | ||
+ | * ( ) Az adatok titkosítása | ||
+ | * (x) Az elsődleges kulcsok, idegen kulcsok és megszorítások | ||
+ | |||
+ | **3. Melyik adatbázis típus ideális gyakran változó adatszerkezetekhez? | ||
+ | * (x) NoSQL | ||
+ | * ( ) Relációs (RDBMS) | ||
+ | * ( ) CSV fájl | ||
+ | |||
+ | **4. Mit jelent az ACID mozaikszó „A” betűje az adatbázis tranzakciók esetében? | ||
+ | * (x) Atomicity – oszthatatlanság | ||
+ | * ( ) Availability – elérhetőség | ||
+ | * ( ) Access – hozzáférhetőség | ||
+ | |||
+ | **5. Melyik adatbázis típusban használunk embeddingeket és k-NN keresést? | ||
+ | * ( ) Relációs adatbázisban | ||
+ | * ( ) Gráf adatbázisban | ||
+ | * (x) Vektor adatbázisban | ||
+ | |||
+ | **6. Melyik állítás igaz a MongoDB-re? | ||
+ | * ( ) Táblák és relációk | ||
+ | * (x) JSON-szerű dokumentumokban tárolja az adatokat | ||
+ | * ( ) Kizárólag numerikus adatokat képes kezelni | ||
+ | |||
+ | **7. Mi a referenciális integritás szerepe egy adatbázisban? | ||
+ | * (x) Biztosítja, | ||
+ | * ( ) Az adatokat titkosítja | ||
+ | * ( ) Lehetővé teszi a képek tárolását | ||
+ | |||
+ | **8. Melyik igaz a NewSQL adatbázisokra? | ||
+ | * ( ) Nem támogatják az SQL nyelvet | ||
+ | * (x) ACID tulajdonságokat nyújtanak skálázható módon | ||
+ | * ( ) Strukturálatlan adatokat tárolnak kizárólag | ||
+ | |||
+ | **9. Melyik nem vektor adatbázis? | ||
+ | * (x) MySQL | ||
+ | * ( ) FAISS | ||
+ | * ( ) Milvus | ||
+ | |||
+ | **10. Mi a BASE modell egyik jellemzője NoSQL rendszereknél? | ||
+ | * (x) Eventually consistent – idővel konzisztenssé válik az adat | ||
+ | * ( ) A lekérdezések mindig pontos, teljes adatot adnak vissza | ||
+ | * ( ) Az adatok nem igényelnek tárolást |
tanszek/oktatas/muszaki_informatika/adattarolas_adatbazisok.1746600974.txt.gz · Last modified: 2025/05/07 06:56 by knehez