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

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
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)
a
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., 20: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.