„Háttéralkalmazások/Záróvizsgatételek” változatai közötti eltérés

Maradék kérdések hozzáadása
1. Adatbázisok – általános: Tételek hozzáadása
2. sor: 2. sor:


== 1. Adatbázisok – általános ==
== 1. Adatbázisok – általános ==
=== Ismertesse az adatbáziskonkurencia-problémákat! ===


=== Ismertesse az adatbáziskonkurencia-problémákat és a tranzakciók alaptulajdonságait! ===
* dirty read
...
** uncommitted tranzakciók által frissített sorok kiolvasása
* non-repeatable read
** committed tranzakciók által frissített sorok kiolvasása
*** a tranzakció előtt és után kiolvasott értékek nem egyeznek
* phantom read
** committed tranzakciók által hozzáadott / eltávolított sorok kiolvasása
*** a tranzakció előtt és után kiolvasott értékek nem egyeznek
 
=== Ismertesse a tranzakciók alaptulajdonságait! ===
 
* ACID:
** atomicity
*** minden tranzakció egy egység
*** ha egy tranzakció valamely része elhasal, akkor az egész sikertelennek minősül
** consistency
*** az illegal transactionök nem mennek végbe
*** a kulcsok mindig helyesek
*** a megkötések (<code>NOT NULL</code>, <code>UNIQUE</code>, <code>CASCADE</code> stb.) be vannak tartva
*** a triggerek az előírtaknak megfelelően működnek
** isolation
*** a párhuzamosan futó tranzakciók az izolációs szintnek megfelelő adatokat olvassanak ki
** durability
*** a tranzakciók végrehajtása utáni állapot egy rendszerhiba vagy üzemzavar esetén is megmaradjon


=== Mire szolgálnak a tranzakcióizolációs-szintek? ===
=== Mire szolgálnak a tranzakcióizolációs-szintek? ===
...
{| class="wikitable"
!izolációs szint
!dirty read
!non-repeatable read
!phantom read
|-
|read uncommitted
|🔴
|🔴
|🔴
|-
|read committed
|🟢
|🔴
|🔴
|-
|repeatable read
|🟢
|🟢
|🔴
|-
|serializable
|🟢
|🟢
|🟢
|}
Ezeket az SQL-92 szabvány tartalmazta először.


=== Milyen izolációs szinteket támogat az Microsoft SQL Server? ===
=== Milyen izolációs szinteket támogat az Microsoft SQL Server? ===
...
A fentieket, plusz egy ''snapshot'' szintet, ami egy segédadatbázis (<code>tempdb</code>) segítségével számon tartja az egyes sorok verzióit, így a tranzakciók az azok kezdetekor készített pillanatkép alapján végeznek műveletet az adatbázisban. Előnye, hogy lockok nélkül működik. Hátránya, hogy a <code>tempdb</code>-nek magas lehet az erőforrásigénye, illetve egy esetleges írásütközés esetén kivételt dob az RDBMS, amit kezelni kell.


== 2. Adatbázisok – tárolt eljárások ==
== 2. Adatbázisok – tárolt eljárások ==