„Informatika 2 - Adatbázisok használata labor” változatai közötti eltérés

David14 (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
Diesel94 (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
 
(5 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 - Adatbázisok használata labor beugrókérdéseinek kidolgozását tartalmazza.
{{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!'''
11. sor: 15. sor:
A where feltételben lehet egyedül vizsgálni, a következő módon:
A where feltételben lehet egyedül vizsgálni, a következő módon:


'''where''' ''pelda'' '''is null'''
'''WHERE''' ''pelda'' '''IS NULL'''


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


kifejezés like string minta
''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:
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
_: 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


%: tetszőleges hosszúságú szöveg helyettesítése
Pl.: '''SELECT''' * '''FROM''' ''termek'' '''WHERE''' ''nev'' '''LIKE''' '%er%'


dupla aposztróf: szimpla aposztróf, mivel, a szimpla aposztróf jel önmagában a stringhatároló karakter
Azon termékek listája, amelyek neve tartalmazza az ''er'' karaktersorozatot
 
pl.: select * from termek where nev like &#8217;%er%&#8217;
 
azon termékek listája, amelyek neve tartalmazza az er karaktersorozatot


== Hogyan működnek az oszlopfüggvények? ==
== 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:
A lekérdezés eredményeként kapott rekordhalmazon lehet utólagos kalkulációt végezni velük:
*sum: értékek összegzése
*'''SUM''': Értékek összegzése
*min: legkisebb érték megkeresése
*'''MIN''': Legkisebb érték megkeresése
*max: legnagyobb érték
*'''MAX''': Legnagyobb érték
*avg: átlag számítása
*'''AVG''': Átlag számítása
*count: rekordok megszámolá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.
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ó? ==
== Mire szolgál a having kulcsszó? ==
46. sor: 46. sor:
== Írja fel a select utasítás általános szintaktikáját! ==
== Írja fel a select utasítás általános szintaktikáját! ==


  select [discint] oszloplista
  '''SELECT''' ['''DISTINCT'''] ''oszloplista''
  from táblalista
  '''FROM''' ''táblalista''
  [where logikai kifejezés]
  ['''WHERE''' ''logikai kifejezés'']
  [group by oszloplista]
  ['''GROUP BY''' ''oszloplista'']
  [having logikai kifejezés]
  ['''HAVING''' ''logikai kifejezés'']
  [order by oszloplista]
  ['''ORDER BY''' ''oszloplista'']


== Mire szolgál az ifnull függvény MySQL Serveren? ==
== 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? ==
== Miképp lehet megadni két tábla outer joinját? ==
59. sor: 63. sor:
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.
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 *
'''SELECT''' *
 
'''FROM''' ''termek'' '''RIGHT OUTER JOIN''' ''gyarto'' '''ON''' ''gyartoid=gyarto.id
from termek right outer join gyarto on gyartoid=gyarto.id
''
 
'''SELECT''' *
select *
'''FROM''' ''gyarto'' '''LEFT OUTER JOIN''' ''termek'' '''ON''' ''gyartoid=gyarto.id''
 
from gyarto left outer join termek on gyartoid=gyarto.id


== Mit értünk az alatt, hogy egy tranzakció atomi? ==
== 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.
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? ==
== Mit jelent a tranzakciók konzisztencia tulajdonsága? ==
89. sor: 91. sor:
== Mit értünk fantom rekordok problémája alatt? ==
== Mit értünk fantom rekordok problémája alatt? ==


A fantom rekordok olyan rekordok, melyek &#8222;megjelenhetnek&#8221; illetve &#8222;eltűnhetnek&#8221; 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.
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? ==
== Mit jelent a read committed izolációs szint? ==
105. sor: 107. sor:
== Ismertesse az erőforrás foglaltsági gráf működését! ==
== 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.
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.


[[Category:Villanyalap]]
[[Kategória:Villamosmérnök]]