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

A VIK Wikiből
David14 (vitalap | szerkesztései)
a David14 átnevezte a(z) Informatika 2 - SQL nyelv labor lapot a következő névre: Informatika 2 - Adatbázisok használata labor: 2013 aktualizálás
David14 (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
1. sor: 1. sor:
Ez az oldal az [[Informatika 2]] című tárgy - SQL nyelv labor beugrókérdéseinek kidolgozását tartalmazza.
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.
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.
6. sor: 6. sor:


__TOC__
__TOC__
== Milyen szintaktikájú SQL utasítással lehet létrehozni egy rekordot egy táblában? ==
'''Egy rekord beszúrása:'''
'''insert into''' ''táblanév (oszlopok listája)''
'''values''' ''(értékek listája)''
Az oszlopok listája elhagyható, ekkor minden oszlopnak értéket kell adni.
'''Több rekord esetén:'''
'''insert into''' ''táblanév (oszlopok listája)''
'''select...'''
Itt a select egy lekérdezést hajt végre, és az általa lekérdezett összes sor beszúrásra kerül.
== Milyen szintaktikájú SQL utasítással lehet módosítani rekordokat? ==
'''update''' ''táblanév''
'''set''' ''oszlopnév=érték1, oszlopnév2=érték2...''
'''where''' ''logikai feltétel''
A where rész elhagyható, ekkor a tábla összes rekordja módosításra kerül.
== Milyen szintaktikájú SQL utasítással lehet törölni rekordokat? ==
'''delete from''' ''táblanév''
'''where''' ''logikai feltétel''
A where után megadott logikai kifejezés teljesülése (=igaz) esetén az adott sor törlődik. A where elhagyható, ekkor a tábla összes sora törlődni fog.


== Hogyan lehet vizsgálni egy kifejezés nullitását? ==
== Hogyan lehet vizsgálni egy kifejezés nullitását? ==
83. 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! ==


<pre>
select [discint] oszloplista
select [discint] 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]
</pre>


== Mire szolgál az isnull függvény MS SQL Serveren? ==
== Mire szolgál az ifnull függvény MySQL Serveren? ==


Az isnull(kifejezés1,kifejezés2)   Ha a kifejezés1 értéke nem null, akkor a kifejezés1-et adja vissza, ha null, akkor a kifejezés2-t. Néha van olyan, hogy egy változó értéke lehet, hogy null, és ha null, akkor lehet, hogy helyette valami mással szeretnék dolgozni.
== Miképp lehet megadni két tábla outer joinját? ==
 
== Miképp lehet megadni két tábla outer joinját MS SQL Serveren? ==


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.
108. sor: 67. sor:
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? ==
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 &#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.
== 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.


[[Category:Villanyalap]]
[[Category:Villanyalap]]

A lap 2013. február 11., 21:47-kori változata

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.