„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 | * 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 == | ||