Informatika 2 - Adatbázisok használata labor
Ez az oldal az Informatika 2 című tárgy - Adatbázisok használata labor beugrókérdéseinek kidolgozását tartalmazza.
Az aktuális segédlet az aktuális (ajánlott) beugrókérdésekkel bejelentkezés után megtalálható a tanszéki honlapon a 4. gyakorlat segédlet címen (2013 tavasz).
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.
FONTOS: Ezektől eltérő kérdések is előfordulhatnak a beugrókban! Ezek csak irányadó kérdések, így ajánlott a segédlet alapos áttanulmányozása is.
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.