Fixed many typos
This commit is contained in:
parent
0b52eb5fb9
commit
5bf5c0a5a3
1 changed files with 104 additions and 104 deletions
208
db.org
208
db.org
|
@ -7,24 +7,25 @@
|
||||||
#+LATEX_HEADER: \usepackage{blindtext}
|
#+LATEX_HEADER: \usepackage{blindtext}
|
||||||
#+LaTeX_HEADER: \setcounter{secnumdepth}{5}
|
#+LaTeX_HEADER: \setcounter{secnumdepth}{5}
|
||||||
|
|
||||||
* Adat, információ, tudás. Metaadatok. Strukturált, szemistrukturált és nem strukturált adatok
|
* Adat, információ, tudás. Metaadatok. Strukturált, szemi-strukturált és nem strukturált adatok
|
||||||
** Adat
|
** Adat
|
||||||
A körülöttünk lévő világ egy része,ami értelmezhető ugyan,de nem értelmezzük.
|
A körülöttünk lévő világ egy része,ami értelmezhető ugyan,de nem
|
||||||
|
értelmezzük.
|
||||||
** Információ
|
** Információ
|
||||||
Az adathoz redelünk egy értelmet,egy jelentést.
|
Az adathoz rendelünk egy értelmet,egy jelentést.
|
||||||
** Tudás
|
** Tudás
|
||||||
Kontextusba helyezett információ.
|
Kontextusba helyezett információ.
|
||||||
** Metaadat
|
** Metaadat
|
||||||
Adat, az adatról. Segéd adatok.
|
Adat, az adatról. Segéd adatok.
|
||||||
*** Szerkezeti(Strukturális) metaadat
|
*** Szerkezeti(Strukturális) metaadat
|
||||||
pl. Hol található egy file fizikailag
|
pl. Hol található egy fájl fizikailag
|
||||||
*** Szemantikus(Üzleti információs) metaadat
|
*** Szemantikus(Üzleti információs) metaadat
|
||||||
Hogyan kell értelmezni egy adatot.
|
Hogyan kell értelmezni egy adatot.
|
||||||
*** Üzemeltetési metaadat
|
*** Üzemeltetési metaadat
|
||||||
Mi történt az adatokkal.
|
Mi történt az adatokkal.
|
||||||
pl. mikor lett módosítva.
|
pl. mikor lett módosítva.
|
||||||
** Struktúrált adat
|
** Strukturált adat
|
||||||
Olyan adat,amire struktúrális $\text{metaadat} << \text{adat}$ .
|
Olyan adat,amire strukturális $\text{metaadat} << \text{adat}$ .
|
||||||
*** Semi-struktúrált adat
|
*** Semi-struktúrált adat
|
||||||
Olyan adat,amire struktúrális $\text{metaadat} \approx \text{adat}$ .
|
Olyan adat,amire struktúrális $\text{metaadat} \approx \text{adat}$ .
|
||||||
*** Nem struktúrált adat
|
*** Nem struktúrált adat
|
||||||
|
@ -343,11 +344,11 @@ Az invertált állomány mutatói lehetnek:
|
||||||
1. <<elso>>Fizikai mutatók, amelyek pl. mutathatnak
|
1. <<elso>>Fizikai mutatók, amelyek pl. mutathatnak
|
||||||
1) <<elso.a>>közvetlenül az adatállomány megfelelő blokkja (esetleg rekordja)
|
1) <<elso.a>>közvetlenül az adatállomány megfelelő blokkja (esetleg rekordja)
|
||||||
2) <<elso.b>>az adatállomány elsődleges kulcsa szerinti (sűrű) indexállomány
|
2) <<elso.b>>az adatállomány elsődleges kulcsa szerinti (sűrű) indexállomány
|
||||||
megfelelő rekorjára
|
megfelelő rekordjára
|
||||||
2. <<masodik>> Logikai mutatók, amelyek az adatállomány valamely kulcsának értékét
|
2. <<masodik>> Logikai mutatók, amelyek az adatállomány valamely kulcsának értékét
|
||||||
tartalmazzák
|
tartalmazzák
|
||||||
Az [[elso.a]] esetben az adatállomány rekordjai kötöttek és ráadásul csak egyetlen
|
Az [[elso.a]] esetben az adatállomány rekordjai kötöttek és ráadásul csak egyetlen
|
||||||
inverált állomány esetén használható.
|
invertált állomány esetén használható.
|
||||||
|
|
||||||
Az [[elso.b]] esetben egyel több indirekción keresztül elrejtjük a keresett
|
Az [[elso.b]] esetben egyel több indirekción keresztül elrejtjük a keresett
|
||||||
rekordot, de az adatrekord megváltoztatásakor csak az érintett mezőhöz (vagy
|
rekordot, de az adatrekord megváltoztatásakor csak az érintett mezőhöz (vagy
|
||||||
|
@ -358,7 +359,7 @@ ismerjük a keresett rekord címét.
|
||||||
* Adatmodellek, modellezés
|
* Adatmodellek, modellezés
|
||||||
Amikor egy adatbázist létrehozunk a cél az, hogy egy kiválasztott valós dologról
|
Amikor egy adatbázist létrehozunk a cél az, hogy egy kiválasztott valós dologról
|
||||||
úgy tároljunk adatokat, hogy utána később ugyanarról a dologról információt
|
úgy tároljunk adatokat, hogy utána később ugyanarról a dologról információt
|
||||||
tudjuknk kinyerni. A legtöbb esetben nem tudunk minden adatot eltárlni egy adott
|
tudjunk kinyerni. A legtöbb esetben nem tudunk minden adatot eltárolni egy adott
|
||||||
témakörrel kapcsolatban, ezért csak az adatok egy részét tároljuk. Az eltárolni
|
témakörrel kapcsolatban, ezért csak az adatok egy részét tároljuk. Az eltárolni
|
||||||
kívánt adatokat klasszikus modellezési eszközökkel választjuk ki: a fontos
|
kívánt adatokat klasszikus modellezési eszközökkel választjuk ki: a fontos
|
||||||
információkat megtartjuk, a kevésbé fontosakat elhanyagoljuk.
|
információkat megtartjuk, a kevésbé fontosakat elhanyagoljuk.
|
||||||
|
@ -375,7 +376,7 @@ felhasználó szempontjából miként valósul meg az adatok közötti kapcsolat
|
||||||
ábrázolása.
|
ábrázolása.
|
||||||
|
|
||||||
** Adatmodellek
|
** Adatmodellek
|
||||||
- Hálos adatmodell
|
- Hálós adatmodell
|
||||||
- Relációs adatmodell
|
- Relációs adatmodell
|
||||||
- Objektumorientált adatmodell
|
- Objektumorientált adatmodell
|
||||||
* Az E-R modell és elemei
|
* Az E-R modell és elemei
|
||||||
|
@ -389,7 +390,7 @@ adatmodellnek, hiszen nem definiál műveleteket az adatokon.
|
||||||
A valós világban létező, logikai vagy fizikai szempontból saját léttel
|
A valós világban létező, logikai vagy fizikai szempontból saját léttel
|
||||||
rendelkező dolog, amelyről adatokat tárolunk.
|
rendelkező dolog, amelyről adatokat tárolunk.
|
||||||
*** Tulajdonságok(property)
|
*** Tulajdonságok(property)
|
||||||
Az etitásokat jellemzi; ezeken keresztül különböztethetőek meg az entitások.
|
Az entitásokat jellemzi; ezeken keresztül különböztethetőek meg az entitások.
|
||||||
*** Egyedhalmaz
|
*** Egyedhalmaz
|
||||||
Azonos attribútumokkal rendelkező egyedek összessége.
|
Azonos attribútumokkal rendelkező egyedek összessége.
|
||||||
*** Kapcsolatok
|
*** Kapcsolatok
|
||||||
|
@ -414,10 +415,10 @@ Az ER modell egy grafikus megjelenítése az ER diagram.
|
||||||
| ER modell elem | Alakzat |
|
| ER modell elem | Alakzat |
|
||||||
|----------------+----------|
|
|----------------+----------|
|
||||||
| Egyedhalmaz | Téglalap |
|
| Egyedhalmaz | Téglalap |
|
||||||
| Attribútum | Elipszis |
|
| Attribútum | Ellipszis |
|
||||||
| Kapcsolat | Rombusz |
|
| Kapcsolat | Rombusz |
|
||||||
|
|
||||||
Az aláhúzott attribútumok az adott eygedhalmaz kulcsait jelenti.
|
Az aláhúzott attribútumok az adott egyedhalmaz kulcsait jelenti.
|
||||||
** ISA kapcsolat
|
** ISA kapcsolat
|
||||||
Gyakori az a modellezési szituáció, amikor egy entitáshalmaz minden eleme
|
Gyakori az a modellezési szituáció, amikor egy entitáshalmaz minden eleme
|
||||||
rendelkezik egy másik (általánosabb) entitáshalmaz attribútumaival, de azokon
|
rendelkezik egy másik (általánosabb) entitáshalmaz attribútumaival, de azokon
|
||||||
|
@ -430,7 +431,7 @@ Gyakran előfordul, hogy egy entitáshalmaznak nem tudunk kulcsot kijelölni,
|
||||||
ehelyett az egyedek azonosításához valamely kapcsolódó egyed(ek)re is szükség
|
ehelyett az egyedek azonosításához valamely kapcsolódó egyed(ek)re is szükség
|
||||||
van. Ebben az esetben gyenge egyedhalmazokról beszélünk. Az identitását egy
|
van. Ebben az esetben gyenge egyedhalmazokról beszélünk. Az identitását egy
|
||||||
tulajdonos egyedhalmaz (owner entity set) biztosítja,amely a gyenge
|
tulajdonos egyedhalmaz (owner entity set) biztosítja,amely a gyenge
|
||||||
egyedhalmazzaltöbb-egy kapcsolatban áll. Az ilyen kapcsolat neve: determináló
|
egyedhalmazzal több-egy kapcsolatban áll. Az ilyen kapcsolat neve: determináló
|
||||||
kapcsolat.
|
kapcsolat.
|
||||||
|
|
||||||
* A relációs adatmodell: adatok strukturálása és műveletek
|
* A relációs adatmodell: adatok strukturálása és műveletek
|
||||||
|
@ -440,12 +441,12 @@ A relációs adatmodell alapját, ahogyan a neve is árulkodik róla, relációk
|
||||||
alkotják.
|
alkotják.
|
||||||
|
|
||||||
*** Reláció
|
*** Reláció
|
||||||
Halamzok Decartes szorzatának részhalmaza.
|
Halmazok Descartes szorzatának részhalmaza.
|
||||||
|
|
||||||
A halmazokban található értékek egy-egy ún. tartományból (domain) kerülnek ki.
|
A halmazokban található értékek egy-egy ún. tartományból (domain) kerülnek ki.
|
||||||
|
|
||||||
Fontos megjegyezni, hogy alapvetően a relációban tárolt elemek sorrendjének
|
Fontos megjegyezni, hogy alapvetően a relációban tárolt elemek sorrendjének
|
||||||
nincs jelentősége.Sőt az attribútumok nevének sincs jelentősége a modelre
|
nincs jelentősége. Sőt az attribútumok nevének sincs jelentősége a modellre
|
||||||
nézve, de egy adatbázis akkor jó, ha információt tudunk kinyerni belőle. Ehhez
|
nézve, de egy adatbázis akkor jó, ha információt tudunk kinyerni belőle. Ehhez
|
||||||
viszont szükséges az, hogy az egyes relációk, attribútumok valamilyen, a modell
|
viszont szükséges az, hogy az egyes relációk, attribútumok valamilyen, a modell
|
||||||
szempontjából értelmezhető információval rendelkezzen.
|
szempontjából értelmezhető információval rendelkezzen.
|
||||||
|
@ -455,9 +456,9 @@ A relációban tárolható attribútumok halmaza.
|
||||||
Ha egy adatbázis több relációs sémát is tartalmaz, akkor a relációs sémák
|
Ha egy adatbázis több relációs sémát is tartalmaz, akkor a relációs sémák
|
||||||
összességének neve adatbázis séma.
|
összességének neve adatbázis séma.
|
||||||
*** A relációk további jellemzői
|
*** A relációk további jellemzői
|
||||||
**** A releciók foka
|
**** A relációk foka
|
||||||
A relecióban lévő oszlopok (attribútumok) száma.
|
A relációban lévő oszlopok (attribútumok) száma.
|
||||||
**** A releciók számossága
|
**** A relációk számossága
|
||||||
A relációban található sorok száma
|
A relációban található sorok száma
|
||||||
|
|
||||||
** Műveletek
|
** Műveletek
|
||||||
|
@ -477,13 +478,13 @@ művelet segítségével:
|
||||||
A\cap B &= A\setminus(A\setminus B)
|
A\cap B &= A\setminus(A\setminus B)
|
||||||
\end{align}
|
\end{align}
|
||||||
** Descartes szorzat
|
** Descartes szorzat
|
||||||
Két halmaz dékártszorzatának attribútúmainak száma a két reláció attribútúmainak
|
Két halmaz Descartes szorzatának attribútumainak száma a két reláció attribútumainak
|
||||||
összege, a benne található adatok pedig a relációk összes sorának összes
|
összege, a benne található adatok pedig a relációk összes sorának összes
|
||||||
kombinációja.
|
kombinációja.
|
||||||
|
|
||||||
*Jelölése:* $r_1\times r_2$
|
*Jelölése:* $r_1\times r_2$
|
||||||
** Vetítés, projekció
|
** Vetítés, projekció
|
||||||
Vetítés során a reláció egyes kiválasztott attribútumait megtarjuk, a többit
|
Vetítés során a reláció egyes kiválasztott attribútumait megtartjuk, a többit
|
||||||
pedig töröljük.
|
pedig töröljük.
|
||||||
|
|
||||||
*Jelölése:* $\pi_{A,B}(r_1)$
|
*Jelölése:* $\pi_{A,B}(r_1)$
|
||||||
|
@ -494,7 +495,7 @@ $r$ relációból, egy meghatározott logikai formula alapján. A formulát a re
|
||||||
formula igaz értéket kap.
|
formula igaz értéket kap.
|
||||||
|
|
||||||
*Jelölés:* $\sigma_{F}(r)$, ahol az $F$ a kiértékelendő logikai formulát jelöli,
|
*Jelölés:* $\sigma_{F}(r)$, ahol az $F$ a kiértékelendő logikai formulát jelöli,
|
||||||
vagy másnéven a szelekcós feltételt.
|
vagy más néven a szelekciós feltételt.
|
||||||
|
|
||||||
*** A formula elemei
|
*** A formula elemei
|
||||||
- Konstansok
|
- Konstansok
|
||||||
|
@ -530,7 +531,7 @@ a kvantorok sorvektor változókat kvantifikálhatnak.
|
||||||
*** Felépítése
|
*** Felépítése
|
||||||
A nyelv szimbólumból atomokat épít fel, amelyek formulákká rakhatók össze, a
|
A nyelv szimbólumból atomokat épít fel, amelyek formulákká rakhatók össze, a
|
||||||
formulák pedig egy kifejezéssé építhetők, amelyek segítségével relációk írhatók le.
|
formulák pedig egy kifejezéssé építhetők, amelyek segítségével relációk írhatók le.
|
||||||
*** Szimbolumai
|
*** Szimbólumai
|
||||||
- Zárójelek: (,)
|
- Zárójelek: (,)
|
||||||
- Aritmetikai relációk $<,>,=,\neq,m,\leq,\geq$
|
- Aritmetikai relációk $<,>,=,\neq,m,\leq,\geq$
|
||||||
- logikai műveletek $\vee,\wedge,\neg$
|
- logikai műveletek $\vee,\wedge,\neg$
|
||||||
|
@ -542,12 +543,12 @@ formulák pedig egy kifejezéssé építhetők, amelyek segítségével reláci
|
||||||
*** Atomok felépítése
|
*** Atomok felépítése
|
||||||
- $R^{(m)}(s^{(m)})$
|
- $R^{(m)}(s^{(m)})$
|
||||||
- $s^{(n)}[i]\Theta u^{(k)}[j]$, ahol $1\leq i \leq n$, $1\leq j \leq k$ és
|
- $s^{(n)}[i]\Theta u^{(k)}[j]$, ahol $1\leq i \leq n$, $1\leq j \leq k$ és
|
||||||
$\Theta$ aritmetikai relációsjel
|
$\Theta$ aritmetikai relációs jel
|
||||||
- $s^{(n)}[i]\Theta c$
|
- $s^{(n)}[i]\Theta c$
|
||||||
- $R^{(m)}(c_1,c_2,\ldots,c_n)$
|
- $R^{(m)}(c_1,c_2,\ldots,c_n)$
|
||||||
*** Formulák felépítése
|
*** Formulák felépítése
|
||||||
- minden atom formula
|
- minden atom formula
|
||||||
- Ha $\Psi_1$ és $\Psi_2$ formuál, akkor $\Psi_1\vee\Psi_2$,
|
- Ha $\Psi_1$ és $\Psi_2$ formulák, akkor $\Psi_1\vee\Psi_2$,
|
||||||
$\Psi_1\wedge\Psi_2$ és $\neg\Psi_1$ is formulák
|
$\Psi_1\wedge\Psi_2$ és $\neg\Psi_1$ is formulák
|
||||||
- Ha $\Psi$ formula és $s^{(n)}$ egy szabad sorváltozója, akkor $(\exists
|
- Ha $\Psi$ formula és $s^{(n)}$ egy szabad sorváltozója, akkor $(\exists
|
||||||
s^{(n)})\Psi$ és $(\forall s^{(n)})\Psi$ is formulák, amelyben $s^{(n)})$ már
|
s^{(n)})\Psi$ és $(\forall s^{(n)})\Psi$ is formulák, amelyben $s^{(n)})$ már
|
||||||
|
@ -568,14 +569,14 @@ helyet egyszerű változók szerepelnek benne. Ennek köszönhetően egy kicsive
|
||||||
egyszerűbb kifejezni vele bizonyos lekérdezéseket.
|
egyszerűbb kifejezni vele bizonyos lekérdezéseket.
|
||||||
*** Szimbólumai
|
*** Szimbólumai
|
||||||
- \ldots
|
- \ldots
|
||||||
- oszlopbáltozók: $u_i$
|
- oszlopváltozók: $u_i$
|
||||||
- \ldots
|
- \ldots
|
||||||
*** Atomok felépítése
|
*** Atomok felépítése
|
||||||
- $R^{(m)}(x_1,x_2,\ldots,x_m)$, ahol $x_1,x_2,\ldots,x_m$ konstansok vagy oszlopváltozók.
|
- $R^{(m)}(x_1,x_2,\ldots,x_m)$, ahol $x_1,x_2,\ldots,x_m$ konstansok vagy oszlopváltozók.
|
||||||
- $x\Theta y$, ahol $x$ és $y$ konstansok vagy oszlopváltozók és $\Theta$
|
- $x\Theta y$, ahol $x$ és $y$ konstansok vagy oszlopváltozók és $\Theta$
|
||||||
aritmetikai relációjel.
|
aritmetikai relációjel.
|
||||||
- $\ldots$
|
- $\ldots$
|
||||||
*** Formulá felépítése
|
*** Formulák felépítése
|
||||||
- $\ldots$
|
- $\ldots$
|
||||||
*** Kifejezések felépítése
|
*** Kifejezések felépítése
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
|
@ -583,39 +584,39 @@ egyszerűbb kifejezni vele bizonyos lekérdezéseket.
|
||||||
\end{align*}
|
\end{align*}
|
||||||
ahol $\Psi$ olyan formula, amelyek szabad változói csak $x_1,x_2,\ldots,x_m$
|
ahol $\Psi$ olyan formula, amelyek szabad változói csak $x_1,x_2,\ldots,x_m$
|
||||||
*** Tétel
|
*** Tétel
|
||||||
Rögzített $A$ interpretációs halmaz és $R_k^{(n_k)}\subseteq A^{n_k}$ reációk
|
Rögzített $A$ interpretációs halmaz és $R_k^{(n_k)}\subseteq A^{n_k}$ relációk
|
||||||
esetén a sorkalkulus bármely kifejezéséhez létezik az oszlopkalkulusnak olyan
|
esetén a sorkalkulus bármely kifejezéséhez létezik az oszlopkalkulusnak olyan
|
||||||
kifejezése,amely az előzővel azonos relációt határoz meg.
|
kifejezése,amely az előzővel azonos relációt határoz meg.
|
||||||
* Biztonságos sorkalkulus
|
* Biztonságos sorkalkulus
|
||||||
A biztonságos sorkalkulus célja az, hogy a sorkalkulus kifejezések
|
A biztonságos sorkalkulus célja az, hogy a sorkalkulus kifejezések
|
||||||
kiértékelhetőek legyenek számítógépen kezelhető méretű relációko/véges idő
|
kiértékelhetőek legyenek számítógépen kezelhető méretű relációk/véges idő
|
||||||
mellett is.
|
mellett is.
|
||||||
** Formula doménje
|
** Formula doménje
|
||||||
$\text{DOM}\Psi\equiv\{\Psi\text{-beli alaprelációk összes attribútumának
|
$\text{DOM}\Psi\equiv\{\Psi\text{-beli alaprelációk összes attribútumának
|
||||||
értékeik}\}\cup\{\Psi\text{-ben előforduló konstansok}\}$
|
értékeik}\}\cup\{\Psi\text{-ben előforduló konstansok}\}$
|
||||||
** Biztonságos kifejezés
|
** Biztonságos kifejezés
|
||||||
$\{t|\Psi(t)\}$ biztosnágos, ha
|
$\{t|\Psi(t)\}$ biztonságos, ha
|
||||||
1) minden $\Psi(t)$-t kielégítő $t$ minden komponense
|
1) minden $\Psi(t)$-t kielégítő $t$ minden komponense
|
||||||
2) $\Psi\text{-nek}$ miden $(\exists u)\omega(u)$ alakú részformulájára
|
2) $\Psi\text{-nek}$ miden $(\exists u)\omega(u)$ alakú részformulájára
|
||||||
teljesül, hogy ha $u$ lielégíti $\omega\text{-t}$ szabad változók valamelym
|
teljesül, hogy ha $u$ kielégíti $\omega\text{-t}$ szabad változók valamely
|
||||||
értéke mellett, akkor $u$ minden komponense $\text{DOM}(\omega)\text{-beli}$
|
értéke mellett, akkor $u$ minden komponense $\text{DOM}(\omega)\text{-beli}$
|
||||||
** Tétel
|
** Tétel
|
||||||
A relációs algebra és abiztonságos sorkalkulus kifejezőereje ekvivalens.
|
A relációs algebra és a biztonságos sorkalkulus kifejezőereje ekvivalens.
|
||||||
* Relációs lekérdezések heurisztikus optimalizálása
|
* Relációs lekérdezések heurisztikus optimalizálása
|
||||||
A heurisztikus optimalizálás során, relációs algebrai műveletekből egy fát
|
A heurisztikus optimalizálás során, relációs algebrai műveletekből egy fát
|
||||||
építünk. Ezt felhasználva próbáljuk a műveletek sorrendjét és felépítését
|
építünk. Ezt felhasználva próbáljuk a műveletek sorrendjét és felépítését
|
||||||
módosítani, hogy kiválasszuk a leggyorsabb, még a helyes eredményt kapjuk.
|
módosítani, hogy kiválasszuk a leggyorsabb, még a helyes eredményt kapjuk.
|
||||||
** Első lépés
|
** Első lépés
|
||||||
A lekérdezés kanonikus alakjából indulunk ki. Vegyük először a kiválasztott
|
A lekérdezés kanonikus alakjából indulunk ki. Vegyük először a kiválasztott
|
||||||
relációk Descartes szorzatát, majd hajtsuk végre a szelciót, végül alkalmazzuk a
|
relációk Descartes szorzatát, majd hajtsuk végre a szekciót, végül alkalmazzuk a
|
||||||
kivánt projekciót.
|
kívánt projekciót.
|
||||||
** Második lépés
|
** Második lépés
|
||||||
Itt a szelekciós feltételeket próbáljuk meg sülyeszteni. Ehhez fel kell
|
Itt a szelekciós feltételeket próbáljuk meg süllyeszteni Ehhez fel kell
|
||||||
használni a relációs algebrai kifejezések ekvivalenciákját. A célja az input
|
használni a relációs algebrai kifejezések ekvivalenciáját A célja az input
|
||||||
relációkat, a további műveletekhez szükséges részét redukáljuk le amennyire csak
|
relációkat, a további műveletekhez szükséges részét redukáljuk le amennyire csak
|
||||||
lehet.
|
lehet.
|
||||||
** Harmadik lépés
|
** Harmadik lépés
|
||||||
Ebben a lépésben a fában szereplő leveleket (azaz relációkat) próbáljuk minnél
|
Ebben a lépésben a fában szereplő leveleket (azaz relációkat) próbáljuk minél
|
||||||
jobb helyre rendezni. Ez akkor hasznos, ha ezzel nagyságrendekkel kisebb
|
jobb helyre rendezni. Ez akkor hasznos, ha ezzel nagyságrendekkel kisebb
|
||||||
Descartes szorzatok jönnek létre.
|
Descartes szorzatok jönnek létre.
|
||||||
** Negyedik lépés
|
** Negyedik lépés
|
||||||
|
@ -659,10 +660,10 @@ Valóban.
|
||||||
*** Demorgen azonosságok
|
*** Demorgen azonosságok
|
||||||
Itt is alkalmazhatóak.
|
Itt is alkalmazhatóak.
|
||||||
*** STB
|
*** STB
|
||||||
Ennél jóval több van. Csak egy pár fontosabbat soraltam itt fel.
|
Ennél jóval több van. Csak egy pár fontosabbat soroltam itt fel.
|
||||||
* Relációs lekérdezések költségbecslés alapú optimalizálása
|
* Relációs lekérdezések költségbecslés alapú optimalizálása
|
||||||
Ez egy jóval kifinomultabb metódus. Egy költség függvényt definiálunk, és ezek
|
Ez egy jóval kifinomultabb metódus. Egy költség függvényt definiálunk, és ezek
|
||||||
után azt a végrehajtási tervet alkalmazzuk, amelyre ez a fügvény a legkisebb
|
után azt a végrehajtási tervet alkalmazzuk, amelyre ez a függvény a legkisebb
|
||||||
értéket adta.
|
értéket adta.
|
||||||
** Katalógusadatok
|
** Katalógusadatok
|
||||||
A költségbecslést segítő metaadatokat katalógus adatoknak nevezzük. Ilyen adat
|
A költségbecslést segítő metaadatokat katalógus adatoknak nevezzük. Ilyen adat
|
||||||
|
@ -670,7 +671,7 @@ például a rekordok/blokkok száma, a relációhoz tartozó indexek, egyes
|
||||||
lekérdezések költsége
|
lekérdezések költsége
|
||||||
*** Költsége
|
*** Költsége
|
||||||
Ezeket az adatokat folyamatosan frissíteni kell. Ez bizonyos esetekben igencsak
|
Ezeket az adatokat folyamatosan frissíteni kell. Ez bizonyos esetekben igencsak
|
||||||
költséges lehet, jól meg kell gondolni, hogy ezt mikor teszük meg.
|
költséges lehet, jól meg kell gondolni, hogy ezt mikor tesszük meg.
|
||||||
** Költség meghatározása
|
** Költség meghatározása
|
||||||
A költségek meghatározása elsősorban a blokkműveletek számára szoktunk
|
A költségek meghatározása elsősorban a blokkműveletek számára szoktunk
|
||||||
optimalizálni,hiszen ez független a rendszer terhelésétől, valamint ennek a
|
optimalizálni,hiszen ez független a rendszer terhelésétől, valamint ennek a
|
||||||
|
@ -719,9 +720,9 @@ B* fáknál, azaz a csomópontokból induló ágak átlagos száma.
|
||||||
+ költsége: $E_{A1}=b_r$
|
+ költsége: $E_{A1}=b_r$
|
||||||
- (A2 )Bináris keresés:
|
- (A2 )Bináris keresés:
|
||||||
+ Feltétele:
|
+ Feltétele:
|
||||||
- A blokkok folyamatosan helyzkednek el a diszken
|
- A blokkok folyamatosan helyezkednek el a diszken
|
||||||
- Az $A$ attribútum szerinte rendezett
|
- Az $A$ attribútum szerinte rendezett
|
||||||
- Szelekció feltétele egyenőség
|
- Szelekció feltétele egyenlőség
|
||||||
+ Költsége: $E_{A2}=\lceil\log_2(b_r+1)\rceil+\left\lceil\frac{SC(A,r)}{f_r}\right\rceil-1$
|
+ Költsége: $E_{A2}=\lceil\log_2(b_r+1)\rceil+\left\lceil\frac{SC(A,r)}{f_r}\right\rceil-1$
|
||||||
*** Indexelt szelekciós algoritmusok
|
*** Indexelt szelekciós algoritmusok
|
||||||
Elsődleges index: segítségével a háttértáron a rekordokat a tényleges fizikai
|
Elsődleges index: segítségével a háttértáron a rekordokat a tényleges fizikai
|
||||||
|
@ -753,7 +754,7 @@ r_1\Join r_2&= \pi_{A\cup B}(\sigma_{R1.X=R2.X}(r_1\times r_2))
|
||||||
**** Külső illesztések
|
**** Külső illesztések
|
||||||
- Bal oldali külső illesztés $r_1*(+)r_2$
|
- Bal oldali külső illesztés $r_1*(+)r_2$
|
||||||
- Jobb oldali külső illesztés $r_1(+)*r_2$
|
- Jobb oldali külső illesztés $r_1(+)*r_2$
|
||||||
- Teljse külső illesztés $r_1(+)*(+)r_2$
|
- Teljes külső illesztés $r_1(+)*(+)r_2$
|
||||||
**** Theta illesztés
|
**** Theta illesztés
|
||||||
\begin{align}
|
\begin{align}
|
||||||
r_1 \Join_\theta r_2 = \sigma_\theta(r_1\times r_2)
|
r_1 \Join_\theta r_2 = \sigma_\theta(r_1\times r_2)
|
||||||
|
@ -761,15 +762,15 @@ r_1 \Join_\theta r_2 = \sigma_\theta(r_1\times r_2)
|
||||||
*** Egymásba ágyazott ciklikus illesztés (Nested loops join)
|
*** Egymásba ágyazott ciklikus illesztés (Nested loops join)
|
||||||
Két egymásba ágyazott ciklus használatával hajtja végre a join műveletet:
|
Két egymásba ágyazott ciklus használatával hajtja végre a join műveletet:
|
||||||
1) Végig megy az egyik reláció összes rekordján, az ehhez tartozókat fogjuk keresni
|
1) Végig megy az egyik reláció összes rekordján, az ehhez tartozókat fogjuk keresni
|
||||||
2) Végig megy a másik reláció összes rekordján és menézi,hogy az előző ciklus
|
2) Végig megy a másik reláció összes rekordján és megnézi,hogy az előző ciklus
|
||||||
futó változójához megfelel-e
|
futó változójához megfelel-e
|
||||||
Legrosszabb esetben a kölrtsége $b_r+n_r\cdot b_s$,de ha legalább az egyik befér
|
Legrosszabb esetben a költsége $b_r+n_r\cdot b_s$,de ha legalább az egyik befér
|
||||||
a memóriába akkor a költség $b_r+b_s$ lesz.
|
a memóriába akkor a költség $b_r+b_s$ lesz.
|
||||||
*** Blokk alapú egymásba ágyazott ciklikus illesztés(block nested
|
*** Blokk alapú egymásba ágyazott ciklikus illesztés(block nested
|
||||||
loop join)
|
loop join)
|
||||||
Itt négy darab egymásba ágyazott ciklust alkalmazunk:
|
Itt négy darab egymásba ágyazott ciklust alkalmazunk:
|
||||||
1) Végig megy az egyik reláció blokkjain
|
1) Végig megy az egyik reláció blokkjain
|
||||||
2) Másik reláció blokkaji
|
2) Másik reláció blokkjai
|
||||||
3) Első reláció beolvasott blokkjának rekordjai
|
3) Első reláció beolvasott blokkjának rekordjai
|
||||||
4) Másik reláció beolvasott blokkjának rekordjai
|
4) Másik reláció beolvasott blokkjának rekordjai
|
||||||
|
|
||||||
|
@ -790,7 +791,7 @@ Költsége: $b_r+n_r\cdot c$, ahol $c$ a szelekció költsége.
|
||||||
rendezzük,majd összefűzzük.
|
rendezzük,majd összefűzzük.
|
||||||
- Hash join
|
- Hash join
|
||||||
* Az egyik relációt hash-táblán keresztül érjük el, miközben a másik reláció
|
* Az egyik relációt hash-táblán keresztül érjük el, miközben a másik reláció
|
||||||
egy adott rekordjához illeszekedő rekordokat keressük.
|
egy adott rekordjához illeszkedő rekordokat keressük.
|
||||||
- Egyéb
|
- Egyéb
|
||||||
- pl. bitmap join
|
- pl. bitmap join
|
||||||
** Egyéb operációk
|
** Egyéb operációk
|
||||||
|
@ -813,21 +814,20 @@ Itt egyszerre több elemi műveletet szimultán kiértékelése folyik, egy oper
|
||||||
eredményét azonnal megkapja a sorban következő operáció operandusaként.
|
eredményét azonnal megkapja a sorban következő operáció operandusaként.
|
||||||
|
|
||||||
Ez persze nem minden esetben működik, pl rendezés esetében.
|
Ez persze nem minden esetben működik, pl rendezés esetében.
|
||||||
* Kiértékeliési terv kiválasztása
|
* Kiértékelési terv kiválasztása
|
||||||
Az egyes műveletekre több féle algoritmust, metódust is megvizsgáltunk és közel
|
Az egyes műveletekre többféle algoritmust, metódust is megvizsgáltunk és közel
|
||||||
sem triviális ezek kiválasztása. Tudnunk kell, hogy:
|
sem triviális ezek kiválasztása. Tudnunk kell, hogy:
|
||||||
- Milyen műveleteket
|
- Milyen műveleteket
|
||||||
- Milyen sorrendben
|
- Milyen sorrendben
|
||||||
- Minlyen algoritmus szerint
|
- Milyen algoritmus szerint
|
||||||
- és milyen workflow-ban értékeljük ki.
|
- és milyen workflow-ban értékeljük ki.
|
||||||
|
|
||||||
** Költség alapú optimalizáció
|
** Költség alapú optimalizáció
|
||||||
Nem jó ötlet az összes ekvivalens kifejezést felsorolni, kiértékelni, majd a
|
Nem jó ötlet az összes ekvivalens kifejezést felsorolni, kiértékelni, majd a
|
||||||
legjobbat kiválasztani. Ennek az az oka,hogy ezzel től sok lehetőséget kell
|
legjobbat kiválasztani. Ennek az az oka,hogy ezzel túl sok lehetőséget kell
|
||||||
megvizsgálni. Ezért egy jobb megoldást biztosíthat a heurisztikus költségalapú
|
megvizsgálni. Ezért egy jobb megoldást biztosíthat a heurisztikus költségalapú
|
||||||
optimalizálás.
|
optimalizálás.
|
||||||
|
|
||||||
**
|
|
||||||
* Relációs adatbázis sémák tervezése E-R diagramból
|
* Relációs adatbázis sémák tervezése E-R diagramból
|
||||||
Egy ER-diagram megtervezése után fontos lehet, hogy a megtervezett modellt
|
Egy ER-diagram megtervezése után fontos lehet, hogy a megtervezett modellt
|
||||||
relációs adatmodellbe transzformáljuk, ezzel működőképessé téve. Ehhez
|
relációs adatmodellbe transzformáljuk, ezzel működőképessé téve. Ehhez
|
||||||
|
@ -836,29 +836,29 @@ transzformációt végzünk.
|
||||||
1. Az egyedhalmazokat olyan relációs sémában ábrázoljuk, amely tartalmazza az
|
1. Az egyedhalmazokat olyan relációs sémában ábrázoljuk, amely tartalmazza az
|
||||||
entitáshalmaz összes attribútumát. Ha van olyan egyedhalmaz, amely "isa"
|
entitáshalmaz összes attribútumát. Ha van olyan egyedhalmaz, amely "isa"
|
||||||
kapcsolatban van egy másik egyedhalmazzal, akkor a specializált
|
kapcsolatban van egy másik egyedhalmazzal, akkor a specializált
|
||||||
egyedhalmazhoz redelt relációs sémába az általánosabb egyedhalmaz
|
egyedhalmazhoz rendelt relációs sémába az általánosabb egyedhalmaz
|
||||||
attributumait is fel kell venni.
|
attribútumait is fel kell venni.
|
||||||
2. A kapcsolattípusokat olyan sémákká alakítjuk, amelyek attribútumai
|
2. A kapcsolattípusokat olyan sémákká alakítjuk, amelyek attribútumai
|
||||||
tartalmazzák a kapcsolatban szereplő összes reláció kulcsait is.
|
tartalmazzák a kapcsolatban szereplő összes reláció kulcsait is.
|
||||||
|
|
||||||
Ezen kívül számos más lehetőség van a kapcsolatok létrehozására, amelyek adott
|
Ezen kívül számos más lehetőség van a kapcsolatok létrehozására, amelyek adott
|
||||||
esetben jobbak is lehetnek. Ilyen pl. az indegen kulcsos megoldás.
|
esetben jobbak is lehetnek. Ilyen pl. az idegen kulcsos megoldás.
|
||||||
* Anomáliák (módosítási, törlési, beszúrási)
|
* Anomáliák (módosítási, törlési, beszúrási)
|
||||||
A redundáns relációknak megfelelő adattárolással kapcsolatban egy sor
|
A redundáns relációknak megfelelő adattárolással kapcsolatban egy sor
|
||||||
kellemetlen jelenség fordulhat elő. Ezeket hagyományosan anomáliáknak nevezik.
|
kellemetlen jelenség fordulhat elő. Ezeket hagyományosan anomáliáknak nevezik.
|
||||||
** Módosítási anomália
|
** Módosítási anomália
|
||||||
Ha egy adatot több helyen tárolunk és módosítani szeretnénk, akkor minden helyen
|
Ha egy adatot több helyen tárolunk és módosítani szeretnénk, akkor minden helyen
|
||||||
meg kell azt változtatni. Ha ezt elmulasztjuk, akkor különböző helyekeről
|
meg kell azt változtatni. Ha ezt elmulasztjuk, akkor különböző helyekről
|
||||||
különböző információt kapnánk. Az ilyen szituációk nem csak többletmunkát, hanem
|
különböző információt kapnánk. Az ilyen szituációk nem csak többletmunkát, hanem
|
||||||
logikai ellentmondásokat is jelenthet.
|
logikai ellentmondásokat is jelenthet.
|
||||||
** Beszúrási anomália
|
** Beszúrási anomália
|
||||||
Ennek alapja, hogy nem tudunk rekordot felvenni, ha van olyan adat, ami nem
|
Ennek alapja, hogy nem tudunk rekordot felvenni, ha van olyan adat, ami nem
|
||||||
ismert és a tárolandó adattal megahtározott kapcsolatban áll.
|
ismert és a tárolandó adattal meghatározott kapcsolatban áll.
|
||||||
|
|
||||||
Példa: egy új szálítót nem tudunk felvenni, ha még nem szálított semmit.
|
Példa: egy új szállítót nem tudunk felvenni, ha még nem szállított semmit.
|
||||||
** Törlési anomália
|
** Törlési anomália
|
||||||
Ha csak egy attribútum értékét akarjuk törölni akkor előfordulhat,hogy ez csak
|
Ha csak egy attribútum értékét akarjuk törölni akkor előfordulhat,hogy ez csak
|
||||||
az egész sor törlésével lehetséges (pl. ha az adott attribútom része valamely
|
az egész sor törlésével lehetséges (pl. ha az adott attribútum része valamely
|
||||||
kulcsnak). Ezzel viszont olyan információt is törölnénk, amire még szükség
|
kulcsnak). Ezzel viszont olyan információt is törölnénk, amire még szükség
|
||||||
lehet.
|
lehet.
|
||||||
|
|
||||||
|
@ -868,14 +868,14 @@ esetben alkalmazható.
|
||||||
* Adatbázis kényszerek, redundancia
|
* Adatbázis kényszerek, redundancia
|
||||||
** Adatbázis kényszerek
|
** Adatbázis kényszerek
|
||||||
Adatbázis kényszerek kényszerek alatt azokat a szabályokat értjük, amelyek
|
Adatbázis kényszerek kényszerek alatt azokat a szabályokat értjük, amelyek
|
||||||
segítségével korlátozni lehet azadatbázisunk tartalmát, olyan módon, hogy az
|
segítségével korlátozni lehet az adatbázisunk tartalmát, olyan módon, hogy az
|
||||||
valamilyen módon megfeleljen egy elvárásnak vagy elképzelésnek. Az alábbiak a
|
valamilyen módon megfeleljen egy elvárásnak vagy elképzelésnek. Az alábbiak a
|
||||||
leggyakrabban használt kényszerek:
|
leggyakrabban használt kényszerek:
|
||||||
- értékfüggő kényszerek (pl. 0 < TESTMAGASSÁG < 300)
|
- értékfüggő kényszerek (pl. 0 < TESTMAGASSÁG < 300)
|
||||||
- értékfüggetlen kényszerek.
|
- értékfüggetlen kényszerek.
|
||||||
* Tartalmi függőség(pl. az idegen kulcsok értékeinek halmaza rész-
|
* Tartalmi függőség(pl. az idegen kulcsok értékeinek halmaza rész-
|
||||||
halmaza a neki megfeleltethető kulcsértékek halmazának)
|
halmaza a neki megfeleltethető kulcsértékek halmazának)
|
||||||
* Funcionális függőség
|
* Funkcionális függőség
|
||||||
* Többértékű függőség
|
* Többértékű függőség
|
||||||
|
|
||||||
|
|
||||||
|
@ -888,7 +888,7 @@ szabály segítségével, akkor a relációt redundánsnak nevezzük.
|
||||||
Legyen adott az $R(A_1,A_2,\ldots,A_n)$ reláció séma, ahol $A_i\text{-k}$,
|
Legyen adott az $R(A_1,A_2,\ldots,A_n)$ reláció séma, ahol $A_i\text{-k}$,
|
||||||
$i=1,2,\ldots,n$ (alap)attribútumok. Legyen $X$ és $Y$ a reláció attribútumainak
|
$i=1,2,\ldots,n$ (alap)attribútumok. Legyen $X$ és $Y$ a reláció attribútumainak
|
||||||
két részhalmaza: $X\subseteq R$ és $Y\subseteq R$. Ha bármely, az $R$ sémára
|
két részhalmaza: $X\subseteq R$ és $Y\subseteq R$. Ha bármely, az $R$ sémára
|
||||||
illeszkedő $r$ reláció bármely két $t,t'\in r(R)$ sorára fenáll az, hogy ha
|
illeszkedő $r$ reláció bármely két $t,t'\in r(R)$ sorára fennáll az, hogy ha
|
||||||
$t[X]=t'[X]$, akkor $t[Y]=t'[Y]$ ($t[Z]:=\pi_Z(t)$), akkor azt mondjuk,hogy az
|
$t[X]=t'[X]$, akkor $t[Y]=t'[Y]$ ($t[Z]:=\pi_Z(t)$), akkor azt mondjuk,hogy az
|
||||||
$Y$ attribútumok funkcionálisan függenek $X$ attribútumoktól.
|
$Y$ attribútumok funkcionálisan függenek $X$ attribútumoktól.
|
||||||
Más megfogalmazásban azt is mondhatjuk, hogy az $X$ értékei meghatározzák az $Y$
|
Más megfogalmazásban azt is mondhatjuk, hogy az $X$ értékei meghatározzák az $Y$
|
||||||
|
@ -899,7 +899,7 @@ $X'\rightarrow Y$, akkor $X\text{-et } Y$ determinánsának nevezzük.
|
||||||
** Teljes függőség
|
** Teljes függőség
|
||||||
Ha $X,Y\subseteq R$ és $X \rightarrow Y$, de $\nexists X'\subset X$, hogy
|
Ha $X,Y\subseteq R$ és $X \rightarrow Y$, de $\nexists X'\subset X$, hogy
|
||||||
$X'\rightarrow Y$, akkor azt mondjuk, hogy $Y$ teljesen függ $X\text{-től}$.
|
$X'\rightarrow Y$, akkor azt mondjuk, hogy $Y$ teljesen függ $X\text{-től}$.
|
||||||
** Részelegs függés
|
** Részleges függés
|
||||||
Ha $X,Y\subseteq R$ és $X \rightarrow Y$ mellett $\exists X'\subset X$, hogy
|
Ha $X,Y\subseteq R$ és $X \rightarrow Y$ mellett $\exists X'\subset X$, hogy
|
||||||
$X'\rightarrow Y$, akkor azt mondjuk, hogy $Y$ részlegesen függ $X\text{-től}$.
|
$X'\rightarrow Y$, akkor azt mondjuk, hogy $Y$ részlegesen függ $X\text{-től}$.
|
||||||
* Relációs sémák kulcsai
|
* Relációs sémák kulcsai
|
||||||
|
@ -908,12 +908,12 @@ $X\text{-et}$ pontosan akkor nevezzük kulcsnak az $R$ relációs sémán, ha
|
||||||
1. $X\rightarrow R$
|
1. $X\rightarrow R$
|
||||||
2. $\nexists X'\subset X$,hogy $X'\rightarrow R$.
|
2. $\nexists X'\subset X$,hogy $X'\rightarrow R$.
|
||||||
Tehát, ha $R$ teljesen függ $X\text{-től}$
|
Tehát, ha $R$ teljesen függ $X\text{-től}$
|
||||||
** Szuperkulcs
|
** Szuper kulcs
|
||||||
$X\text{-et}$ szuperkulcsnak nevezzük, ha igaz,hogy $X\rightarrow R$. Más szóval
|
$X\text{-et}$ szuper-kulcsnak nevezzük, ha igaz,hogy $X\rightarrow R$. Más szóval
|
||||||
akkor, ha $X$ tartalmaz kulcsot.
|
akkor, ha $X$ tartalmaz kulcsot.
|
||||||
*** Egyszerű kulcs
|
*** Egyszerű kulcs
|
||||||
Ha egy kulcs csak egy attribútumból áll,akkor egyszerű kulcsról
|
Ha egy kulcs csak egy attribútumból áll,akkor egyszerű kulcsról
|
||||||
beszélünk. Elenkező esetben összetett kucslrólm van szó.
|
beszélünk. Ellenkező esetben összetett kulcsról van szó.
|
||||||
** Tétel
|
** Tétel
|
||||||
Minden relációs sémának van kulcsa.
|
Minden relációs sémának van kulcsa.
|
||||||
** Elsődleges kulcs
|
** Elsődleges kulcs
|
||||||
|
@ -945,11 +945,11 @@ Adottak az $R$ sémán az $X$, $Y$, $Z$ attribútumhalmazok.
|
||||||
2) Ha $X\rightarrow Y$ és $Y\rightarrow Z$,akkor $X \rightarrow Z$ (tranzitivitás).
|
2) Ha $X\rightarrow Y$ és $Y\rightarrow Z$,akkor $X \rightarrow Z$ (tranzitivitás).
|
||||||
3) Ha $X\rightarrow Y$, akkor $XZ \rightarrow YZ$ (bővíthetőség)
|
3) Ha $X\rightarrow Y$, akkor $XZ \rightarrow YZ$ (bővíthetőség)
|
||||||
** Igazság tétel
|
** Igazság tétel
|
||||||
Az amstrong axiómák igazak, alkalmazásukkal csak igaz függőségek állíthatók elő
|
Az armstrong axiómák igazak, alkalmazásukkal csak igaz függőségek állíthatók elő
|
||||||
adott függéshalmazból.
|
adott függéshalmazból.
|
||||||
** Teljesség tétel
|
** Teljesség tétel
|
||||||
|
|
||||||
Az Armstrong axiómák teljesek, azaz belőlük minden iaz függőség levezethető.
|
Az Armstrong axiómák teljesek, azaz belőlük minden igaz függőség levezethető.
|
||||||
$F_R \models X \rightarrow Y \implies FR \vdash X \rightarrow Y$
|
$F_R \models X \rightarrow Y \implies FR \vdash X \rightarrow Y$
|
||||||
** Axiómák következményei
|
** Axiómák következményei
|
||||||
|
|
||||||
|
@ -957,14 +957,14 @@ $F_R \models X \rightarrow Y \implies FR \vdash X \rightarrow Y$
|
||||||
2) $X \rightarrow Y$ és $WY \rightarrow Z \models XW \rightarrow Z$ (pszeudotranzitivitás).
|
2) $X \rightarrow Y$ és $WY \rightarrow Z \models XW \rightarrow Z$ (pszeudotranzitivitás).
|
||||||
3) $X \rightarrow Y$ és $Z \subseteq Y \models X \rightarrow Z$ (dekompozíciós/felbontási szabály).
|
3) $X \rightarrow Y$ és $Z \subseteq Y \models X \rightarrow Z$ (dekompozíciós/felbontási szabály).
|
||||||
* Az első normálforma (1NF)
|
* Az első normálforma (1NF)
|
||||||
Annak érdekében, hogy a fentebb említett anomáliák ne forduljanak elő, arelációs
|
Annak érdekében, hogy a fentebb említett anomáliák ne forduljanak elő, a relációs
|
||||||
simáinknak meg kell felelni egyes feltételeknek. Ezeket normálformáknak nevezik.
|
sémáinknak meg kell felelni egyes feltételeknek. Ezeket normálformáknak nevezik.
|
||||||
** Nulladik normálforma
|
** Nulladik normálforma
|
||||||
Ilyen alakúnak tekintünk minden olyan relációs sémát, amelyben legalább egy
|
Ilyen alakúnak tekintünk minden olyan relációs sémát, amelyben legalább egy
|
||||||
attribútum nem atomi abban az értelemben, hogy az attribútum értéke nem
|
attribútum nem atomi abban az értelemben, hogy az attribútum értéke nem
|
||||||
tekinthető egyetlen egységnek.
|
tekinthető egyetlen egységnek.
|
||||||
|
|
||||||
** Első nomálforma
|
** Első normálforma
|
||||||
Egy relációs séma 1NF alakú, ha csak atomi attribútum-értékek szerepelnek benne.
|
Egy relációs séma 1NF alakú, ha csak atomi attribútum-értékek szerepelnek benne.
|
||||||
* A második normálforma (2NF)
|
* A második normálforma (2NF)
|
||||||
** Elsődleges és másodlagos attribútumok
|
** Elsődleges és másodlagos attribútumok
|
||||||
|
@ -974,10 +974,10 @@ a séma valamely $K$ kulcsának. Egyébként $A$ másodlagos attribútum.
|
||||||
Egy $1NF$ relációs séma $2NF$ alakú, ha benne minden másodlagos attribútum a
|
Egy $1NF$ relációs séma $2NF$ alakú, ha benne minden másodlagos attribútum a
|
||||||
séma bármely kulcsától teljesen függ.
|
séma bármely kulcsától teljesen függ.
|
||||||
|
|
||||||
Más szavakkal: másodlagos attribútum nem függ egyetlen kulcs vaódi
|
Más szavakkal: másodlagos attribútum nem függ egyetlen kulcs valódi
|
||||||
részhalmazától sem.
|
részhalmazától sem.
|
||||||
** Tétel
|
** Tétel
|
||||||
MInen $1NF$ séma felbontható $2NF$ sémákba úgy, hogy azok használatával az $1NF$
|
Minden $1NF$ séma felbontható $2NF$ sémákba úgy, hogy azok használatával az $1NF$
|
||||||
sémára illesztett, "eredeti" relációk helyreállíthatók.
|
sémára illesztett, "eredeti" relációk helyreállíthatók.
|
||||||
* Harmadik normálforma (3NF)
|
* Harmadik normálforma (3NF)
|
||||||
** Triviális függés
|
** Triviális függés
|
||||||
|
@ -985,7 +985,7 @@ Ha az $X,Y$ attribútumhalmazokra igaz, hogy $Y\subseteq X$, akkor $X\rightarrow
|
||||||
Y$ függőséget triviális függőségnek nevezzük, egyébként a függőség nemtriviális.
|
Y$ függőséget triviális függőségnek nevezzük, egyébként a függőség nemtriviális.
|
||||||
** Tranzitív függés
|
** Tranzitív függés
|
||||||
Adott egy $R$ séma, a sémán értelmezett függőségek $F$ halmaza, $X\subseteq
|
Adott egy $R$ séma, a sémán értelmezett függőségek $F$ halmaza, $X\subseteq
|
||||||
R,A\in R$. $A$ tranzitívan fgg $X\text{-től}$, ha $\exists Y\subset R$, hogy
|
R,A\in R$. $A$ tranzitívan függ $X\text{-től}$, ha $\exists Y\subset R$, hogy
|
||||||
$X\rightarrow Y$, $Y\not\to X$, $Y\to A$ és $A\notin Y$
|
$X\rightarrow Y$, $Y\not\to X$, $Y\to A$ és $A\notin Y$
|
||||||
** Harmadik normálforma (3NF)
|
** Harmadik normálforma (3NF)
|
||||||
*** 1. definíció
|
*** 1. definíció
|
||||||
|
@ -997,14 +997,14 @@ Más szavakkal: ha egyetlen másodlagos attribútuma sem függ tranzitívan egye
|
||||||
kulcstól sem.
|
kulcstól sem.
|
||||||
*** 2. Definíció
|
*** 2. Definíció
|
||||||
Egy $1NF$ $R$ séma $3NF$, ha $\forall X\to A, X\subseteq R, A\in R$ nemtriviális
|
Egy $1NF$ $R$ séma $3NF$, ha $\forall X\to A, X\subseteq R, A\in R$ nemtriviális
|
||||||
föggőség esetén
|
függőség esetén
|
||||||
- X szuperkulcs vagy
|
- X szuperkulcs vagy
|
||||||
- A elsődleges attribútum
|
- A elsődleges attribútum
|
||||||
** Tétel
|
** Tétel
|
||||||
Az előző két definició ekvivalens
|
Az előző két definíció ekvivalens
|
||||||
** Tétel
|
** Tétel
|
||||||
Ahhoz,hogy egy $(R,F)$ sémáról eldöntsük, hogy $3NF\text{-e}$, elég az $F$
|
Ahhoz,hogy egy $(R,F)$ sémáról eldöntsük, hogy $3NF\text{-e}$, elég az $F$
|
||||||
funkiconális függőségek vizsgálata.
|
funkcionális függőségek vizsgálata.
|
||||||
** Tétel
|
** Tétel
|
||||||
Minden legalább $1NF$ relációs séma felbontható $3NF$ sémába úgy, hogy azokból
|
Minden legalább $1NF$ relációs séma felbontható $3NF$ sémába úgy, hogy azokból
|
||||||
az eredeti reláció információveszteség nélkül helyreállítható.
|
az eredeti reláció információveszteség nélkül helyreállítható.
|
||||||
|
@ -1025,11 +1025,11 @@ függőség esetén $X$ szuperkulcs.
|
||||||
Az előző két definíció ekvivalens.
|
Az előző két definíció ekvivalens.
|
||||||
** Tétel
|
** Tétel
|
||||||
Ahhoz, hogy egy (R,F) sémáról eldöntsük, hogy $BCNF\text{-e}$, elég az
|
Ahhoz, hogy egy (R,F) sémáról eldöntsük, hogy $BCNF\text{-e}$, elég az
|
||||||
$F\text{-beli}$ funkciónális függőségek vizsgálata.
|
$F\text{-beli}$ funkcionális függőségek vizsgálata.
|
||||||
** Tétel
|
** Tétel
|
||||||
Ha egy séma $BCNF$ alakú, akkor $3NF$ is.
|
Ha egy séma $BCNF$ alakú, akkor $3NF$ is.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
Ez a definíció közvetlek következménye.
|
Ez a definíció közvetlen következménye.
|
||||||
** Tétel
|
** Tétel
|
||||||
A BCNF sémára illeszkedő relációk nem tartalmaznak redundanciát.(legalábbis
|
A BCNF sémára illeszkedő relációk nem tartalmaznak redundanciát.(legalábbis
|
||||||
funkcionális függőségek következtében)
|
funkcionális függőségek következtében)
|
||||||
|
@ -1083,19 +1083,19 @@ Legális az ütemezés, amelyben
|
||||||
*** Patt
|
*** Patt
|
||||||
Ha egy $T_m$ tranzakció azért nem tud továbblépni, mert egy olyan $A$
|
Ha egy $T_m$ tranzakció azért nem tud továbblépni, mert egy olyan $A$
|
||||||
adategységre vár, amin egy olyan $T_n\neq T_m$ tranzakció tart fenn zárat, ami
|
adategységre vár, amin egy olyan $T_n\neq T_m$ tranzakció tart fenn zárat, ami
|
||||||
azért nem tud továbblépni mert, ehhet olyan adategységhez kéne hozzáférnie, amin
|
azért nem tud továbblépni mert, ehhez olyan adategységhez kéne hozzáférnie, amin
|
||||||
már $T_m$ tart fenn zárat, akkor pattról, holtpontról (deadlock) beszélünk.
|
már $T_m$ tart fenn zárat, akkor pattról, holtpontról (deadlock) beszélünk.
|
||||||
**** Megoldási lehetőségek
|
**** Megoldási lehetőségek
|
||||||
- A tranzakcióhoz szüséges összes adategységet már a kezdéskor lefoglalja. Ha
|
- A tranzakcióhoz szükséges összes adategységet már a kezdéskor lefoglalja. Ha
|
||||||
valamely zárat nem kapja meg, akkor meg sem próbálkozhat egyetlen művelettel sem.
|
valamely zárat nem kapja meg, akkor meg sem próbálkozhat egyetlen művelettel sem.
|
||||||
- Ha egy tranzakció túl sokat várakozik, akkor valószínűleg patt-helyzetbe
|
- Ha egy tranzakció túl sokat várakozik, akkor valószínűleg patt-helyzetbe
|
||||||
került, ezért abortálandó
|
került, ezért abortálandó
|
||||||
- Valamilyen egyértelmű sorrendet rendelünk az adategységekhez és zárat csak
|
- Valamilyen egyértelmű sorrendet rendelünk az adategységekhez és zárat csak
|
||||||
ennek sorrendjében lehet kérni.
|
ennek sorrendjében lehet kérni.
|
||||||
- Folyamatosan monitorozzuk a zárak elhelyezkedését, és ha valahol patthelyzetet
|
- Folyamatosan monitorozzuk a zárak elhelyezkedését, és ha valahol patthelyzetet
|
||||||
érzékelünk akkor valamely trancakciót, amely a pattot okozza, megszakítjuk.
|
érzékelünk akkor valamely tranzakciót, amely a pattot okozza, megszakítjuk.
|
||||||
**** Várakozási gráf
|
**** Várakozási gráf
|
||||||
Olyan irányított gráf, ahol a csomópontjai a trancakciók, egy élt pedig akkor
|
Olyan irányított gráf, ahol a csomópontjai a tranzakciók, egy élt pedig akkor
|
||||||
rajzolunk a $T_i$ csomópontól a $T_j$ csomópont felé, ha $T_i$ tranzakció
|
rajzolunk a $T_i$ csomópontól a $T_j$ csomópont felé, ha $T_i$ tranzakció
|
||||||
bármely okból várakoztatja $T_j$ tranzakciót úgy, hogy nem tud továbbmenni.
|
bármely okból várakoztatja $T_j$ tranzakciót úgy, hogy nem tud továbbmenni.
|
||||||
**** Tétel
|
**** Tétel
|
||||||
|
@ -1121,7 +1121,7 @@ kapunk, ha a tranzakció futása közben más tranzakció nem fut.
|
||||||
** Korrekt
|
** Korrekt
|
||||||
Egy ütemezés pontosan akkor korrekt, ha sorosítható.
|
Egy ütemezés pontosan akkor korrekt, ha sorosítható.
|
||||||
** Ütemező
|
** Ütemező
|
||||||
A DBMS azon része, amely az adatelérési igények megítékése felett dönt (pl
|
A DBMS azon része, amely az adatelérési igények megtérítése felett dönt (pl
|
||||||
sorosíthatóság biztosítása). Ennek során
|
sorosíthatóság biztosítása). Ennek során
|
||||||
- Engedélyezheti az egyes műveleteket
|
- Engedélyezheti az egyes műveleteket
|
||||||
- Ha ennek feltételei nem állnak fent, akkor
|
- Ha ennek feltételei nem állnak fent, akkor
|
||||||
|
@ -1130,7 +1130,7 @@ sorosíthatóság biztosítása). Ennek során
|
||||||
* Tranzakció modellek
|
* Tranzakció modellek
|
||||||
** Egyszerű tranzakció modell
|
** Egyszerű tranzakció modell
|
||||||
Egyszerű tranzakció modellről beszélünk ha:
|
Egyszerű tranzakció modellről beszélünk ha:
|
||||||
- csak egy fajta zár léztezik
|
- csak egy fajta zár létezik
|
||||||
- egy adatelemen egy időben csak egyetlen zár lehet.
|
- egy adatelemen egy időben csak egyetlen zár lehet.
|
||||||
** sorosítási gráf, precedenciagráf
|
** sorosítási gráf, precedenciagráf
|
||||||
Olyan irányított gráf, amely csomópontjai tranzakciók és egy $T_i$ csomópontból
|
Olyan irányított gráf, amely csomópontjai tranzakciók és egy $T_i$ csomópontból
|
||||||
|
@ -1139,8 +1139,8 @@ adott $S$ ütemezésben a $T_i$ tranzakció zárat helyezett el, majd a zár
|
||||||
felszabadítása után először a $T_j$ tranzakció helyez el zárat.
|
felszabadítása után először a $T_j$ tranzakció helyez el zárat.
|
||||||
** Tétel
|
** Tétel
|
||||||
Egy $S$ ütemezés sorosítható $\Leftrightarrow$ a sorosítási gráf DAG.
|
Egy $S$ ütemezés sorosítható $\Leftrightarrow$ a sorosítási gráf DAG.
|
||||||
* Kétfázísú zárolás (2PL)
|
* Kétfázisú zárolás (2PL)
|
||||||
** Kétfázísú zárolás (2PL)
|
** Kétfázisú zárolás (2PL)
|
||||||
Egy tranzakció a kétfázisú zárolás protokollt követi, ha az első
|
Egy tranzakció a kétfázisú zárolás protokollt követi, ha az első
|
||||||
zárfelszabadítást megelőzni mindegyik zárkérés.
|
zárfelszabadítást megelőzni mindegyik zárkérés.
|
||||||
** Tétel
|
** Tétel
|
||||||
|
@ -1162,7 +1162,7 @@ szabályok szerint rajzolt sorosítási gráf DAG.
|
||||||
Egy $RLOCK-WLOCK$ modell szerinti tranzakció kétfázisú, ha minden $RLOCK$ és
|
Egy $RLOCK-WLOCK$ modell szerinti tranzakció kétfázisú, ha minden $RLOCK$ és
|
||||||
$WLOCK$ megelőzi az első $UNLOCK\text{-ot}$
|
$WLOCK$ megelőzi az első $UNLOCK\text{-ot}$
|
||||||
** Tétel
|
** Tétel
|
||||||
Ha egy ütemezésben csak kétfázísú, $RLOCK-WLOCK$ modell szerinti tranzakciók
|
Ha egy ütemezésben csak kétfázisú, $RLOCK-WLOCK$ modell szerinti tranzakciók
|
||||||
vannak, akkor az ütemezés sorosítható.
|
vannak, akkor az ütemezés sorosítható.
|
||||||
* A fa protokoll
|
* A fa protokoll
|
||||||
Az egyszerű tranzakció modellt követjük és egy csomópont
|
Az egyszerű tranzakció modellt követjük és egy csomópont
|
||||||
|
@ -1170,23 +1170,23 @@ zárolása nem jelenti a gyerekek zárolását is.
|
||||||
** Szabályai
|
** Szabályai
|
||||||
1. Egy tranzakció az első $LOCK\text{-ot}$ akárhová teheti
|
1. Egy tranzakció az első $LOCK\text{-ot}$ akárhová teheti
|
||||||
2. A további $LOCK\text{-ok}$ csak akkor helyezhetők el, ha az adategység
|
2. A további $LOCK\text{-ok}$ csak akkor helyezhetők el, ha az adategység
|
||||||
szűlőjére az adott tranzakció már rakott zárat
|
szülőjére az adott tranzakció már rakott zárat
|
||||||
3. Egyazon tranzakció kétszer ugyanazt az adategységet nem zárolhatja
|
3. Egyazon tranzakció kétszer ugyanazt az adategységet nem zárolhatja
|
||||||
** Tétel
|
** Tétel
|
||||||
A fa protolollnak eleget tevő legális ütemezések sorosíthatók.
|
A fa protokollnak eleget tevő legális ütemezések sorosíthatók.
|
||||||
* Figyelmesztető protokol
|
* Figyelmeztető protokoll
|
||||||
Az egyszerű tranzakció modellt követjük, de egy csomópont zárolása a gyerek és
|
Az egyszerű tranzakció modellt követjük, de egy csomópont zárolása a gyerek és
|
||||||
az összes leszármazott csomópontok zárolását is jelenti(impicit zár).
|
az összes leszármazott csomópontok zárolását is jelenti(implicit zár).
|
||||||
** Zárkonfliktus
|
** Zárkonfliktus
|
||||||
Egy $T_2$ tranzakció, egy olyan adategységre tesz lockot, amely leszármazottját
|
Egy $T_2$ tranzakció, egy olyan adategységre tesz lockot, amely leszármazottját
|
||||||
már egy $T_1$ tranzakció lezárt magáának.
|
már egy $T_1$ tranzakció lezárt magának.
|
||||||
** Figyelmeztető protokol zárművei
|
** Figyelmeztető protokoll zárművei
|
||||||
- $LOCK$ $A$: zárolja $A\text{-t}$ és az összes leszármazott csomópontot is. Két
|
- $LOCK$ $A$: zárolja $A\text{-t}$ és az összes leszármazott csomópontot is. Két
|
||||||
különböző tranzakció nem tarthat fent zárat ugyanazon adategységen.
|
különböző tranzakció nem tarthat fent zárat ugyanazon adategységen.
|
||||||
- $WARN$ $A$: $A\text{-ra}$ figyelmeztetést rak. Ekkor $A\text{-t}$ más
|
- $WARN$ $A$: $A\text{-ra}$ figyelmeztetést rak. Ekkor $A\text{-t}$ más
|
||||||
tranzakció nem zárolhatja
|
tranzakció nem zárolhatja
|
||||||
- $UNLOCK$ $A$: eltávolítja a zárat vagy az $UNLOCK\text{-ot}$ kiadó tranzakció
|
- $UNLOCK$ $A$: eltávolítja a zárat vagy az $UNLOCK\text{-ot}$ kiadó tranzakció
|
||||||
áltak elhelyezett figyelmeztetést $A\text{-ról}$
|
által elhelyezett figyelmeztetést $A\text{-ról}$
|
||||||
** További szabályok
|
** További szabályok
|
||||||
1. Egy tranzakció első művelete kötelezően $LOCK$ gyökér vagy $WARN$ gyökér
|
1. Egy tranzakció első művelete kötelezően $LOCK$ gyökér vagy $WARN$ gyökér
|
||||||
2. $LOCK$ $A$ vagy $WARN$ $A$ akkor helyezhető el, ha $A$ szülőjén ugyanaz a
|
2. $LOCK$ $A$ vagy $WARN$ $A$ akkor helyezhető el, ha $A$ szülőjén ugyanaz a
|
||||||
|
@ -1195,7 +1195,7 @@ már egy $T_1$ tranzakció lezárt magáának.
|
||||||
fenn sem $LOCK\text{-ot}$ sem $WARN\text{-t}$
|
fenn sem $LOCK\text{-ot}$ sem $WARN\text{-t}$
|
||||||
4. Kétfázisú: az első $UNLOCK$ után nem következhet $LOCK$ vagy $WARN$
|
4. Kétfázisú: az első $UNLOCK$ után nem következhet $LOCK$ vagy $WARN$
|
||||||
** Tétel
|
** Tétel
|
||||||
A figyelmeztető protokollt követő legális ütemezs zárkonfliktusmentesek és sorosíthatóak.
|
A figyelmeztető protokollt követő legális ütemezés zárkonfliktusmentesek és sorosíthatóak.
|
||||||
* Tranzakcióhibák kezelése, commit pont
|
* Tranzakcióhibák kezelése, commit pont
|
||||||
Mindeddig nem foglalkoztunk azokkal a problémákkal, amelyek akkor lépnek fel,
|
Mindeddig nem foglalkoztunk azokkal a problémákkal, amelyek akkor lépnek fel,
|
||||||
ha egy tranzakció nem fut le teljesen, valamely ok miatt idő előtt befejeződik.
|
ha egy tranzakció nem fut le teljesen, valamely ok miatt idő előtt befejeződik.
|
||||||
|
@ -1233,31 +1233,31 @@ Mindez természetesen csak akkor igaz, ha nem kell rendszerhibákkal is számoln
|
||||||
amelyek az írási folyamat megzavarásával eredményezhetik, hogy piszkos adat
|
amelyek az írási folyamat megzavarásával eredményezhetik, hogy piszkos adat
|
||||||
kerül az adatbázisba. Ez ellen azonban más módszerekkel kell védekezni
|
kerül az adatbázisba. Ez ellen azonban más módszerekkel kell védekezni
|
||||||
** Tétel
|
** Tétel
|
||||||
A szigorú kétfázisú protokollt követő tranazkciókból álló legális ütemezések
|
A szigorú kétfázisú protokollt követő tranzakciókból álló legális ütemezések
|
||||||
sorosíthatóak és lavinamentesek.
|
sorosíthatóak és lavinamentesek.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
Az ütemezés sorosítható, mert kétfázisú; továbbá lavinamentes,
|
Az ütemezés sorosítható, mert kétfázisú; továbbá lavinamentes,
|
||||||
mert nincs lehetőség piszkos adat olvasására.
|
mert nincs lehetőség piszkos adat olvasására.
|
||||||
* Agresszív és konzervatív protokollok
|
* Agresszív és konzervatív protokollok
|
||||||
Tranzakciós protokoll kiválasztásánál fontos, hogy az adott protokol mennyire
|
Tranzakciós protokoll kiválasztásánál fontos, hogy az adott protokoll mennyire
|
||||||
``hatékony''. A hatékonyágot nézhetjük úgy, hogy
|
``hatékony''. A hatékonyságot nézhetjük úgy, hogy
|
||||||
- egy adott tranzakció minél ghamarabb fusson le
|
- egy adott tranzakció minél hamarabb fusson le
|
||||||
- adott idő alatt minél több tranzakció fusson le sikeresen (tranzakció
|
- adott idő alatt minél több tranzakció fusson le sikeresen (tranzakció
|
||||||
teljesítmény)
|
teljesítmény)
|
||||||
|
|
||||||
Ezek ellentmondásosak, és olykor az egyik sokkal fontosabb a másiknál, mégis,
|
Ezek ellentmondásosak, és olykor az egyik sokkal fontosabb a másiknál, mégis,
|
||||||
gyakran a tranzakció teljesítményét kivánjuk maximalizálni.
|
gyakran a tranzakció teljesítményét kívánjuk maximalizálni.
|
||||||
** Agresszív protokol, optimista konkurenciakezelés
|
** Agresszív protokoll, optimista konkurenciakezelés
|
||||||
Egy protokoll agresszív, ha megpróbál olyan gyorsan lefutni, amennyire csak
|
Egy protokoll agresszív, ha megpróbál olyan gyorsan lefutni, amennyire csak
|
||||||
lehetséges, nem törődve azzal, hogy ez esetleg aborthoz is vezethet.
|
lehetséges, nem törődve azzal, hogy ez esetleg aborthoz is vezethet.
|
||||||
** Konzervatív protokoll, pesszimista konkurenciakezelés
|
** Konzervatív protokoll, pesszimista konkurenciakezelés
|
||||||
Egy protokol konzervatív, ha megkísérli elkerülni az olyan tranzakciók
|
Egy protokoll konzervatív, ha megkísérli elkerülni az olyan tranzakciók
|
||||||
futtatását, amelyek nem biztos, hogy eredményesek lesznek.
|
futtatását, amelyek nem biztos, hogy eredményesek lesznek.
|
||||||
* Védekezés rendszerhibák ellen
|
* Védekezés rendszerhibák ellen
|
||||||
A rendszerhibák elleni védekezés általános módszere a (tranzakciós) naplózás. 6
|
A rendszerhibák elleni védekezés általános módszere a (tranzakciós) naplózás. 6
|
||||||
A naplózásnak számos módja lehet, itt csak a leggyakoribbakra térünk ki.
|
A naplózásnak számos módja lehet, itt csak a leggyakoribbakra térünk ki.
|
||||||
** Napló (journal, log)
|
** Napló (journal, log)
|
||||||
A napló a mi értelmezésünk szerint az adatbázison végrahajtott változások
|
A napló a mi értelmezésünk szerint az adatbázison végrehajtott változások
|
||||||
története.
|
története.
|
||||||
|
|
||||||
Ha tudható, hogy undo műveleteket nem kell a napló alapján végezni, akkor elég az
|
Ha tudható, hogy undo műveleteket nem kell a napló alapján végezni, akkor elég az
|
||||||
|
|
Loading…
Reference in a new issue