Háttéralkalmazások/Záróvizsgatételek
1. Adatbázisok
Ismertesse az adatbáziskonkurencia-problémákat!
- 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
- committed tranzakciók által frissített sorok kiolvasása
- 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
- committed tranzakciók által hozzáadott / eltávolított sorok kiolvasása
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 (
NOT NULL,UNIQUE,CASCADEstb.) 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
- atomicity
Mire szolgálnak a tranzakcióizolációs-szintek?
| izolációs szint | dirty read | non-repeatable read | phantom read |
|---|---|---|---|
| read uncommitted | 🔴 | 🔴 | 🔴 |
| read committed | 🟢 | 🔴 | 🔴 |
| repeatable read | 🟢 | 🟢 | 🔴 |
| serializable | 🟢 | 🟢 | 🟢 |
Ezeket az SQL-92 (ISO-)szabvány tartalmazta először.
Milyen izolációs szinteket támogat az Microsoft SQL Server?
A fentieket, plusz egy snapshot szintet, ami egy segédadatbázis (tempdb) 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 tempdb-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. Tárolt eljárások
Ismertesse az adatbázisok szerveroldali programozásának koncepcióját, előnyeit, hátrányait!
Használatával eljárásokat (procedures) és függvényeket (functions), illetve triggereket lehet tárolni az adatbázisban. Lényege, hogy az üzleti logika helyett maga az adatbázis-kezelő szerver futtatja a beállított szubrutinokat, az előbbi csak meghívja őket.
| szempont / tulajdonság | ➕ | ➖ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| teljesítmény |
|
| |||||||||
| szabvány |
| ||||||||||
| adatbiztonság |
|
||||||||||
| az üzleti logika bárhonnan meghívhatja a szubrutinokat |
|
Milyen programozási lehetőségei, sajátosságai vannak a Microsoft SQL Servernek?A Microsoft SQL Server procedurális programozási nyelve a T(ransact)-SQL. Azokban változókat, operátorokat, elágazásokat, utasításblokkokat, ciklusokat és kivételeket is lehet használni. Egyedi adatbetöltési eszköze a kurzor. Gyakorlatilag úgy működik, mintha lenne egy Excel-táblázatunk, amit egy olyan Maccel szeretnénk kiolvasni, amihez csak egy A függvények skalár értékekkel (változókkal) vagy táblákkal térhetnek vissza. A triggerek DML- és DDL-utasításokat is végrehajthatnak.
3. ORMMi az O/R leképzés feladata, mire szolgálnak a shadow-információk?... Az öröklési hierarchiát miképp lehet leképezni relációs sémára?... Hogyan képezzük le az objektumok közötti kapcsolatokat?... Hogyan képezhetőek le a globális változók?... 4. EF CoreMi az Entity Framework?... Mikor használjuk, mikor nem?... Mi a
|
