Informatika 2 - Adatbázisok használata labor

A VIK Wikiből
A lap korábbi változatát látod, amilyen David14 (vitalap | szerkesztései) 2013. február 11., 21:47-kor történt szerkesztése után volt.

Ez az oldal az Informatika 2 című tárgy - Adatbázisok használata labor beugrókérdéseinek kidolgozását tartalmazza.

Jelenleg még elég hiányos a kidolgozás, továbbá évről évre kismértékben változhatnak beugrókérdések. A tanszéki honlapról mindig elérhető az aktuális mérési útmutató, mely az aktuális beugrókérdéseket tartalmazza.

Kérlek szerkesszétek, aktualizáljátok!

Hogyan lehet vizsgálni egy kifejezés nullitását?

A where feltételben lehet egyedül vizsgálni, a következő módon:

where pelda is null

Miképp működik a like operátor? Milyen joker karaktereket lehet használni?

kifejezés like string minta

String összehasonlító operátor, a kifejezésben keres a mintának megfelelően, és ha a minta illeszthető a kifejezésre, akkor az operátor igaz értékkel tér vissza. A mintaillesztés case sensitive, a használható joker karakterek:

_: egy betű helyettesítése

%: tetszőleges hosszúságú szöveg helyettesítése

dupla aposztróf: szimpla aposztróf, mivel, a szimpla aposztróf jel önmagában a stringhatároló karakter

pl.: select * from termek where nev like ’%er%’

azon termékek listája, amelyek neve tartalmazza az er karaktersorozatot

Hogyan működnek az oszlopfüggvények?

A lekérdezés eredményeként kapott rekordhalmazon lehet utólagos kalkulációt végezni velük:

  • sum: értékek összegzése
  • min: legkisebb érték megkeresése
  • max: legnagyobb érték
  • avg: átlag számítása
  • count: rekordok megszámolása

A kiszámítandó oszlopfüggvényeket a select listában kell megadni. Az adatbázis-kezelő szerver először lefuttatja a lekérdezést az oszlopfüggvények nélkül, majd az egyes rekordokat átadja az oszlopfüggvényeknek, az értékek kiszámítására. Az oszlopfüggvények a null értéket nem veszik figyelembe, kivéve a count(*) függvény.

Mire szolgál a having kulcsszó?

Ha az oszlopfüggvény eredményére teszünk megkötést, akkor ezt a where részben nem adhatjuk meg, mivel az kiértékelődik még az oszlopfüggvények kiszámítása előtt. Ezért ha az oszlopfüggvények kimenetére szeretnénk szűrni, akkor azt külön a having kulcsszó után lehet megadni.

Írja fel a select utasítás általános szintaktikáját!

select [discint] oszloplista
from táblalista
[where logikai kifejezés]
[group by oszloplista]
[having logikai kifejezés]
[order by oszloplista]

Mire szolgál az ifnull függvény MySQL Serveren?

Miképp lehet megadni két tábla outer joinját?

A join művelet tulajdonsága, hogy a nem párosítható rekordokat nem tartalmazza az eredményhalmaz. A left outer join abban tér el ettől, hogy ha mondjuk az első táblának volt olyan sora, ami semmilyen módon nem került be a kiválasztott sorok közé, akkor nem kerül be, itt viszont bekerül, és a hozzá tartozó második táblabeli oszlopok értékei mind null-ok lesznek. A right outer join ugyanez, csak a két tábla szerepe felcserélve.

select *

from termek right outer join gyarto on gyartoid=gyarto.id

select *

from gyarto left outer join termek on gyartoid=gyarto.id

Mit értünk az alatt, hogy egy tranzakció atomi?

Oszthatatlan, vagy teljes egészében végrehajtódik, vagy teljes egészében elvetésre kerül, köztes állapot nincs.

Mit jelent a tranzakciók konzisztencia tulajdonsága?

Az adatbázist konzisztens állapotból konzisztens állapotba viszi.

Mit jelent a tranzakciók tartósság tulajdonsága?

Ha egy tranzakció lefutott akkor annak hatása tartósan megmarad. Azaz az adatmódosítás nemcsak a memóriában történik meg, hanem háttértárolón is rögzítésre kerül.

Mit jelent a tranzakciók izolációs tulajdonsága?

A párhuzamosan futó tranzakciók egymástól függetlenül hajtódnak végre úgy, mintha egymás után hajtódnának végre.

Mit értünk elveszett módosítás problémája alatt?

Ha két vagy több tranzakció ugyanazon az adatelemen dolgozik, akkor a tranzakciók felül tudják írni egymás módosításait és csak annak a tranzakciónak marad meg a hatása, mely utolsónak adta ki a commit utasítást.

Mit értünk fantom rekordok problémája alatt?

A fantom rekordok olyan rekordok, melyek „megjelenhetnek” illetve „eltűnhetnek” egy táblából egy tranzakció élete során. Mivel egy párhuzamosan futó tranzakció vihet fel új rekordokat egy táblába, illetve törölhet meglévőket.

Mit jelent a read committed izolációs szint?

Az egyes tranzakciók a rekordoknak csak a commitált képét láthatják.

Mit jelent a serializable izolációs szint?

A tranzakciók ütemezése konfliktus ekvivalens egy soros ütemezéssel. Azaz a tranzakciók úgy ütemeződnek, mintha egymás után futnának le.

Mi a holtpont?

Előfordulhat olyan szituáció, hogy két vagy több a párhuzamosan futó tranzakció egymásra vár, és egyik sem tudja folytatni futását. Mivel olyan erőforrásra vár amit a másik tranzakció birtokol, viszont a másik olyan erőforrásra vár, melyet az egyik birtokol. Ezt a szituációt nevezik holtpontnak.

Ismertesse az erőforrás foglaltsági gráf működését!

Holtponti helyzetet erőforrás foglaltsági gráffal lehet szemléltetni és felismerni. Az erőforrás foglaltsági gráf olyan irányított páros gráf, melynek a csomópontjai: az erőforrások és folyamatok. Az élek jelentése (iránytól függően): az adott erőforrást az adott tranzakció birtokol (erőforrástranzakció), egy adott erőforrásra vár az adott tranzakció (tranzakcióerőforrás). Holtponti helyzet akkor és csak akkor van, ha az erőforrás foglaltsági gráfban irányított kör van.