„Informatika 2 - Adatbázisok használata labor” változatai közötti eltérés
aNincs szerkesztési összefoglaló |
|||
| (7 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
| 1. sor: | 1. sor: | ||
Ez az oldal az [[Informatika 2]] című tárgy - | {{Vissza|Informatika 2}} | ||
Ez az oldal az [[Informatika 2]] című tárgy - '''Adatbázisok használata labor''' beugrókérdéseinek kidolgozását tartalmazza.<br>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 [https://www.aut.bme.hu/Upload/Course/VIAUA203/hallgatoi_segedletek/4.%20gyakorlat%20seg%C3%A9dlet_120316195751.pdf 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. | 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!''' | '''Kérlek szerkesszétek, aktualizáljátok!''' | ||
| 7. sor: | 11. sor: | ||
__TOC__ | __TOC__ | ||
== 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: | |||
_: Pontosan EGY tetszőleges karakter helyettesítése<br>%: Tetszőleges hosszúságú karaktersorozat helyettesítése<br>": 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 (megszámolja, hogy hány rekordja van az adott relációnak). | |||
== 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''' ['''DISTINCT'''] ''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? == | |||
''' | '''IFNULL'''(''kifejezés1'',''kifejezés2'') | ||
Ha ''kifejezés1'' értéke nem NULL, akkor ''kifejezés1'' értéke kerül kiírásra. Ha ''kifejezés1'' értéke NULL, akkor kifejezés2 értéke kerül kiírásra. | |||
== | == Miképp lehet megadni két tábla outer joinját? == | ||
A | 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, azaz 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. | |||
Az | |||
== | == 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.<br>Az élek jelentése (iránytól függően): | |||
*Az adott erőforrást az adott tranzakció birtokol (erőforrás -> tranzakció). | |||
*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. | |||
[[ | [[Kategória:Villamosmérnök]] | ||