Főoldal | Könyvlista | Gyorskereső

Átmenetileg a rendelés és szállítás szünetel
Adatbázisrendszerek - Alapvetés - Második, átdolgozott kiadás

Adatbázisrendszerek - Alapvetés

Második, átdolgozott kiadás

Jeffrey D. Ullman, Jennifer Widom:
Adatbázisrendszerek - Alapvetés
Második, átdolgozott kiadás

Egyetemi tankönyv

Megjelenés: 2008 november
Panem Kiadó
624 oldal, bolti ár: 6900,- Ft

Internetes ár (-5%): 6555,- Ft

db

A könyv ismertetése

Vissza a lap tetejére | A könyv tartalomjegyzéke

Jeffrey D. Ullman, Jennifer Widom:
Adatbázisrendszerek - Alapvetés

A könyv az 1998-as Adatbázisrendszerek - Alapvetés második, átdolgozott kiadása, világszerte az adatbázis-kezelés legnépszerűbb tankönyvei közé tartozik az informatikusképzésben. Az adatbázisrendszereknek azt a két legfontosabb oldalát hangsúlyozza, amelyek a legtöbb informatikus hallgató számára a leghasznosabbak: az adatbázis-tervezést és az adatbázis-programozást.

A könyv bármely felsőfokú informatikai képzéshez az adatbázisok témakörben az elvárható alapismereteket foglalja egységbe.

Az első kiadás a megjelenése után rövid időn belül a hazai felsőoktatásban alaptankönyvvé vált. A felsőoktatás új, kétlépcsős rendszerében a három informatikus szak mindegyikén az adatbázis-kezelés tantárgyakhoz ezt a könyvet az oktatási intézmények szinte kivétel nélkül kötelező irodalomként adták meg.

A második kiadásban igen jelentős változtatást hajtottak végre a szerzők - a könyv legalább ötven százalékban újnak tekinthető. Felépítése az oktatás célszerűsége érdekében lényegesen változott. A kötet a bevezető tankönyvek minden követelményét kielégíti: a formális definíciók mellett didaktikusan tervezett példarendszer is az olvasó rendelkezésére áll.

Az első kiadásban szereplő két nehezebben tanítható fejezetet átszervezték: leválasztották az objektumorientált modellezést az egyed-kapcsolat modellezés tárgyalásáról. A bevezető adatmodellezés az egyed-kapcsolat modell részletesebb bemutatására épül, amit a relációs modell, az arra való leképezés és a függőségek, normalizálás követ. Csak ez után következik az objektumorientált adatmodellezés, ami kibővült az újabban elterjedt objektumrelációs modellel és a félig-struktúrált adatmodellel, ami az XML adatbázis-kezelés alapja. Megújult az SQL használatát és programozását lehetővé tevő környezetek tárgyalása; a háromrétegű architektúra, a tárolt eljárások (PSM), a C nyelv hívásszintű interfésze (CLI), a Java környezetből az SQL használatát biztosító JDBC és végül az SQL PHP-ben való használata; mind újdonság az első kiadáshoz képest. A logikai lekérdezések, a Datalog bemutatása és a rekurzió az SQL-99 szabványban a könyv végére került. Legjelentősebb újdonság a két új fejezet, amelyekben a relációs modell mellett másik meghatározó modellé vált félig-strukturált adatmodell, és szabványosodó változata, az XML adatmodellezési lehetőségei (DTD, XML Schema) és programozási, lekérdezési nyelvei (XPath, XQuery és XSLT) kerülnek bemutatásra.

A könyv informatikus szakos egyetemi hallgatók, adatbázisrendszerek tervezésével és programozásával foglalkozók részére ajánlott.

Főbb témakörök:

  • Relációs adatmodell
  • Relációsémák
  • Relációs adatbázisok tervezése
  • Magas szintű adatbázismodellek
  • Algebrai és logikai lekérdező nyelvek
  • SQL adatbázisnyelv
  • Megszorítások és triggerek
  • Nézetek és indexek
  • Az SQL szerverkörnyezetben
  • Félig-strukturált adamodellek
  • Programozási nyelvek az XML-hez

A könyv tartalomjegyzéke

Vissza a lap tetejére | A könyv ismertetése

Jeffrey D. Ullman, Jennifer Widom:
Adatbázisrendszerek - Alapvetés

Előszó a magyar kiadáshoz xix
Előszó xxi

1. Az adatbázisrendszerek világa 1
1.1. Az adatbázisrendszerek fejlődése . . . . . . . . . . . . . . . . . . 1
1.1.1. Az első adatbázis-kezelő rendszerek . . . . . . . . . . . . 2
1.1.2. Relációsadatbázis-kezelő rendszerek . . . . . . . . . . . . 3
1.1.3. Egyre kisebb rendszerek . . . . . . . . . . . . . . . . . . 4
1.1.4. Egyre nagyobb rendszerek . . . . . . . . . . . . . . . . . 4
1.1.5. Információk egyesítése . . . . . . . . . . . . . . . . . . . 5
1.2. Az adatbázis-kezelő rendszerek áttekintése . . . . . . . . . . . . 5
1.2.1. Adatdefiníciós nyelvi utasítások . . . . . . . . . . . . . . 7
1.2.2. A lekérdezések végrehajtásának áttekintése . . . . . . . . 7
1.2.3. A tárkezelő és a pufferkezelő . . . . . . . . . . . . . . . . 8
1.2.4. Tranzakciók feldolgozása . . . . . . . . . . . . . . . . . . 9
1.2.5. A lekérdezésfeldolgozó . . . . . . . . . . . . . . . . . . . 10
1.3. Adatbázisrendszerekkel kapcsolatos ismeretek áttekintése . . . . 11
1.4. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

I. Relációs adatbázisok modellezése 15

2. A relációs adatmodell 17
2.1. Adatmodellek áttekintése . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1. Mi az adatmodell? . . . . . . . . . . . . . . . . . . . . . 17
2.1.2. Fontos adatmodellek . . . . . . . . . . . . . . . . . . . . 18
2.1.3. A relációs modell vázlatosan . . . . . . . . . . . . . . . . 19
2.1.4. A félig-strukturált modell vázlatosan . . . . . . . . . . . 20
2.1.5. Egyéb adatmodellek . . . . . . . . . . . . . . . . . . . . 21
2.1.6. A modellezési megközelítések összehasonlítása . . . . . . 21
2.2. A relációs modell alapjai . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1. Attribútumok . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2. Sémák . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3. Sorok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.4. Értéktartományok . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5. Relációk egyenértékű ábrázolási módjai . . . . . . . . . . 24
2.2.6. Relációk előfordulásai . . . . . . . . . . . . . . . . . . . . 25
2.2.7. A reláció kulcsai . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.8. Példa egy adatbázissémára . . . . . . . . . . . . . . . . . 26
2.2.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3. Relációsémák definiálása SQL-ben . . . . . . . . . . . . . . . . . 30
2.3.1. SQL-relációk . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.2. Adattípusok . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.3. Egyszerű táblalétrehozások . . . . . . . . . . . . . . . . . 32
2.3.4. Relációsémák módosítása . . . . . . . . . . . . . . . . . . 34
2.3.5. Alapértelmezés szerinti értékek . . . . . . . . . . . . . . 34
2.3.6. Kulcsok megadása . . . . . . . . . . . . . . . . . . . . . . 35
2.3.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4. Egy algebrai lekérdező nyelv . . . . . . . . . . . . . . . . . . . . 39
2.4.1. Miért kell egy speciális lekérdező nyelv? . . . . . . . . . 39
2.4.2. Mit nevezünk algebrának? . . . . . . . . . . . . . . . . . 39
2.4.3. A relácós algebra áttekintése . . . . . . . . . . . . . . . . 40
2.4.4. Relációkon értelmezett halmazműveletek . . . . . . . . . 40
2.4.5. Vetítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.6. Kiválasztás . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4.7. Descartes-szorzat . . . . . . . . . . . . . . . . . . . . . . 44
2.4.8. Természetes összekapcsolás . . . . . . . . . . . . . . . . . 45
2.4.9. Théta-összekapcsolás . . . . . . . . . . . . . . . . . . . . 47
2.4.10. Lekérdezések megfogalmazása műveletek segítségével . . 49
2.4.11. Elnevezés és átnevezés . . . . . . . . . . . . . . . . . . . 51
2.4.12. Műveletek közötti kapcsolatok . . . . . . . . . . . . . . . 52
2.4.13. Egy lineáris jelölési mód az algebrai kifejezésekhez . . . 53
2.4.14. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5. Relációkra vonatkozó megszorítások . . . . . . . . . . . . . . . . 61
2.5.1. Megszorítások megadása relációs algebra segítségével . . . . . .61
2.5.2. Hivatkozási épség . . . . . . . . . . . . . . . . . . . . . . 62
2.5.3. Kulcsmegszorítás . . . . . . . . . . . . . . . . . . . . . . 63
2.5.4. További példák megszorításokra . . . . . . . . . . . . . . 64
2.5.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.6. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.7. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3. Relációs adatbázisok tervezésének elmélete 69
3.1. Funkcionális függőségek . . . . . . . . . . . . . . . . . . . . . . . 70
3.1.1. A funkcionális függőség definíciója . . . . . . . . . . . . 70
3.1.2. Relációk kulcsai . . . . . . . . . . . . . . . . . . . . . . . 72
3.1.3. Szuperkulcsok . . . . . . . . . . . . . . . . . . . . . . . . 74
3.1.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.2. Funkcionális függőségekre vonatkozó szabályok . . . . . . . . . . 75
3.2.1. Funkcionális függőségek levezetése . . . . . . . . . . . . . 75
3.2.2. A szétvághatósági és összevonhatósági szabály . . . . . . 76
3.2.3. Triviális funkcionális függőségek . . . . . . . . . . . . . . 77
3.2.4. Attribútumhalmazok lezártjának kiszámítása . . . . . . 79
3.2.5. Miért működik a lezárási algoritmus? . . . . . . . . . . . 81
3.2.6. A tranzitivitási szabály . . . . . . . . . . . . . . . . . . . 83
3.2.7. Funkcionális függőségi halmazok lezárása . . . . . . . . . 84
3.2.8. Funkcionális függőségek vetítése . . . . . . . . . . . . . . 85
3.2.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.3. Relációs adatbázissémák tervezése . . . . . . . . . . . . . . . . . 90
3.3.1. Anomáliák . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.3.2. Relációk felbontása . . . . . . . . . . . . . . . . . . . . . 91
3.3.3. Boyce-Codd normálforma . . . . . . . . . . . . . . . . . 92
3.3.4. Boyce-Codd normálformájú felbontás . . . . . . . . . . . 94
3.3.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.4. Dekompozíció: a jó, a rossz és a csúf . . . . . . . . . . . . . . . . 98
3.4.1. Információ visszanyerése a komponensekből . . . . . . . 99
3.4.2. Chase-teszt a veszteségmentes összekapcsoláshoz . . . . . 101
3.4.3. Miért működik a chase? . . . . . . . . . . . . . . . . . . 104
3.4.4. Függőségek megőrzése . . . . . . . . . . . . . . . . . . . 106
3.4.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.5. Harmadik normálforma . . . . . . . . . . . . . . . . . . . . . . . 108
3.5.1. A harmadik normálforma definíciója . . . . . . . . . . . 108
3.5.2. 3NF-szintetizáló algoritmus . . . . . . . . . . . . . . . . 109
3.5.3. Miért működik a 3NF-szintetizáló algoritmus? . . . . . . 110
3.5.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6. Többértékű függőségek . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.1. Attribútumfüggetlenségből származó redundancia . . . . 112
3.6.2. Többértékű függőségek definíciója . . . . . . . . . . . . . 113
3.6.3. Többértékű függőségekre vonatkozó szabályok . . . . . . 115
3.6.4. Negyedik normálforma . . . . . . . . . . . . . . . . . . . 117
3.6.5. Negyedik normálformára bontás . . . . . . . . . . . . . . 118
3.6.6. Normálformák közötti kapcsolatok . . . . . . . . . . . . 120
3.6.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.7. Egy algoritmus többértékű függőségek megkeresésére . . . . . . . 122
3.7.1. A chase és a lezárás . . . . . . . . . . . . . . . . . . . . . 122
3.7.2. A chase kiterjesztése többértékű függőségekre . . . . . . 124
3.7.3. Miért működik a chase a többértékű függőségekre? . . . 126
3.7.4. Többértékű függőségek vetítése . . . . . . . . . . . . . . 127
3.7.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.8. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.9. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4. Magas szintű adatbázismodellek 133
4.1. Az egyed-kapcsolat (E/K) modell elemei . . . . . . . . . . . . . . 134
4.1.1. Egyedhalmazok . . . . . . . . . . . . . . . . . . . . . . . 134
4.1.2. Attribútumok . . . . . . . . . . . . . . . . . . . . . . . . 135
4.1.3. Kapcsolatok . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.1.4. Egyed-kapcsolat diagramok . . . . . . . . . . . . . . . . 135
4.1.5. Az E/K-diagram előfordulásai . . . . . . . . . . . . . . . 137
4.1.6. Bináris E/K-kapcsolatok típusai . . . . . . . . . . . . . . 137
4.1.7. Sokágú kapcsolatok . . . . . . . . . . . . . . . . . . . . . 138
4.1.8. Szerepek a kapcsolatokban . . . . . . . . . . . . . . . . . 139
4.1.9. Kapcsolatok attribútumai . . . . . . . . . . . . . . . . . 141
4.1.10. Sokágú kapcsolatok átalakítása binárissá . . . . . . . . . 143
4.1.11. Alosztályok az E/K-modellben . . . . . . . . . . . . . . . 144
4.1.12. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.2. Tervezési alapelvek . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.2.1. Valósághű modellezés . . . . . . . . . . . . . . . . . . . . 149
4.2.2. Redundancia elkerülése . . . . . . . . . . . . . . . . . . . 150
4.2.3. Egyszerűség . . . . . . . . . . . . . . . . . . . . . . . . . 150
4.2.4. A megfelelő kapcsolatok megválasztása . . . . . . . . . . 151
4.2.5. A megfelelő típusú elem megválasztása . . . . . . . . . . 152
4.2.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4.3. Megszorítások modellezése . . . . . . . . . . . . . . . . . . . . . 157
4.3.1. Kulcsok az E/K-modellben . . . . . . . . . . . . . . . . . 157
4.3.2. Kulcsok jelölése az E/K-modellben . . . . . . . . . . . . 158
4.3.3. Hivatkozások épsége . . . . . . . . . . . . . . . . . . . . 159
4.3.4. Egyéb megszorítások . . . . . . . . . . . . . . . . . . . . 160
4.3.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.4. Gyenge egyedhalmazok . . . . . . . . . . . . . . . . . . . . . . . 161
4.4.1. A gyenge egyedhalmazok bevezetésének okai . . . . . . . 161
4.4.2. Gyenge egyedhalmazokra vonatkozó követelmények . . . . . .162
4.4.3. Gyenge egyedhalmazok jelölése . . . . . . . . . . . . . . 164
4.4.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.5. E/K-diagram átírása relációs modellé . . . . . . . . . . . . . . . 165
4.5.1. Egyedhalmazok átírása relációkká . . . . . . . . . . . . . 166
4.5.2. E/K-kapcsolatok átírása relációkká . . . . . . . . . . . . 166
4.5.3. Relációk kombinációja . . . . . . . . . . . . . . . . . . . 169
4.5.4. Gyenge egyedhalmazok kezelése . . . . . . . . . . . . . . 170
4.5.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4.6. Osztályhierarchia átalakítása relációkká . . . . . . . . . . . . . . 174
4.6.1. E/K-típusú átalakítás . . . . . . . . . . . . . . . . . . . . 175
4.6.2. Egy objektumorientált megközelítés . . . . . . . . . . . . 176
4.6.3. Nullértékek használata relációk egyesítéséhez . . . . . . . 178
4.6.4. A megközelítések összehasonlítása . . . . . . . . . . . . . 178
4.6.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.7. Bevezetés az UML-be . . . . . . . . . . . . . . . . . . . . . . . . 181
4.7.1. UML-osztályok . . . . . . . . . . . . . . . . . . . . . . . 182
4.7.2. Az UML-osztályok kulcsai . . . . . . . . . . . . . . . . . 182
4.7.3. Társítások . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.7.4. Társítások önmagával . . . . . . . . . . . . . . . . . . . . 185
4.7.5. Társításokból képzett osztályok . . . . . . . . . . . . . . 185
4.7.6. Osztályhierarchia az UML-ben . . . . . . . . . . . . . . 186
4.7.7. Aggregáció és kompozíció . . . . . . . . . . . . . . . . . 188
4.7.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 188
4.8. UML-diagram átírása relációs modellé . . . . . . . . . . . . . . . 189
4.8.1. UML-diagram átírása relációs modellé - alapok . . . . . 190
4.8.2. Az UML-osztályhierarchia átírása relációs modellé . . . . 190
4.8.3. Aggregáció és kompozíció átírása relációs modellé . . . . 191
4.8.4. A gyenge egyedhalmazok UML-megfelelője . . . . . . . . 192
4.8.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.9. Bevezetés az ODL-be . . . . . . . . . . . . . . . . . . . . . . . . 194
4.9.1. Osztálydeklarációk . . . . . . . . . . . . . . . . . . . . . 194
4.9.2. Attribútumok az ODL-ben . . . . . . . . . . . . . . . . . 194
4.9.3. Kapcsolatok az ODL-ben . . . . . . . . . . . . . . . . . . 196
4.9.4. Inverz kapcsolatok . . . . . . . . . . . . . . . . . . . . . 196
4.9.5. Kapcsolattípusok . . . . . . . . . . . . . . . . . . . . . . 198
4.9.6. Típusok az ODL-ben . . . . . . . . . . . . . . . . . . . . 199
4.9.7. Alosztályok az ODL-ben . . . . . . . . . . . . . . . . . . 201
4.9.8. Kulcsok deklarálása az ODL-ben . . . . . . . . . . . . . 202
4.9.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 203
4.10.ODL-sémák átírása relációsémákká . . . . . . . . . . . . . . . . . 204
4.10.1. Az ODL-osztályoktól a relációkig . . . . . . . . . . . . . 204
4.10.2. Összetett attribútumok . . . . . . . . . . . . . . . . . . . 205
4.10.3. Halmazértékű attribútumok reprezentálása . . . . . . . . 206
4.10.4. Egyéb típuskonstruktorok reprezentálása . . . . . . . . . 207
4.10.5. ODL-kapcsolatok reprezentálása . . . . . . . . . . . . . . 209
4.10.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 209
4.11.Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
4.12. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

II. Relációs adatbázisok programozása 215

5. Algebrai és logikai lekérdező nyelvek 217
5.1. Relációs műveletek multihalmazokon . . . . . . . . . . . . . . . . 217
5.1.1. Mire jók a multihalmazok? . . . . . . . . . . . . . . . . . 218
5.1.2. Multihalmazok egyesítése, metszete, különbsége . . . . . 219
5.1.3. Multihalmazok vetítése . . . . . . . . . . . . . . . . . . . 221
5.1.4. Multihalmazokon értelmezett kiválasztás . . . . . . . . . 222
5.1.5. Multihalmazok szorzata . . . . . . . . . . . . . . . . . . 223
5.1.6. Multihalmazok összekapcsolása . . . . . . . . . . . . . . 224
5.1.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5.2. Kiterjesztett műveletek a relációs algebrában . . . . . . . . . . . 226
5.2.1. Ismétlődések megszüntetése . . . . . . . . . . . . . . . . 227
5.2.2. Összesítésiműveletek . . . . . . . . . . . . . . . . . . . . 227
5.2.3. Csoportosítás . . . . . . . . . . . . . . . . . . . . . . . . 228
5.2.4. A csoportosítási művelet . . . . . . . . . . . . . . . . . . 229
5.2.5. A vetítés művelet kiterjesztése . . . . . . . . . . . . . . . 230
5.2.6. Rendezési művelet . . . . . . . . . . . . . . . . . . . . . . 232
5.2.7. Külső összekapcsolások . . . . . . . . . . . . . . . . . . . 233
5.2.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.3. Logika a relációkhoz . . . . . . . . . . . . . . . . . . . . . . . . . 236
5.3.1. Predikátumok és atomok . . . . . . . . . . . . . . . . . . 236
5.3.2. Aritmetikai atomok . . . . . . . . . . . . . . . . . . . . . 237
5.3.3. Datalog-szabályok és lekérdezések . . . . . . . . . . . . . 237
5.3.4. A Datalog-szabályok jelentése . . . . . . . . . . . . . . . 239
5.3.5. Extenzionális és intenzionális predikátumok . . . . . . . 241
5.3.6. Multihalmazokra vonatkozó Datalog-szabályok . . . . . . 242
5.3.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 244
5.4. A relációs algebra és a Datalog . . . . . . . . . . . . . . . . . . . 244
5.4.1. Boole-műveletek . . . . . . . . . . . . . . . . . . . . . . . 244
5.4.2. Vetítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5.4.3. Kiválasztás . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5.4.4. Szorzat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
5.4.5. Összekapcsolás . . . . . . . . . . . . . . . . . . . . . . . 249
5.4.6. Kifejezések megadása Datalogban . . . . . . . . . . . . . 251
5.4.7. A relációs algebra és a Datalog összehasonlítása . . . . . . 252
5.4.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 253
5.5. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
5.6. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

6. Az SQL adatbázisnyelv 257
6.1. Egyszerű lekérdezések az SQL-ben . . . . . . . . . . . . . . . . . 258
6.1.1. Vetítés az SQL-ben . . . . . . . . . . . . . . . . . . . . . 260
6.1.2. Kiválasztás az SQL-ben . . . . . . . . . . . . . . . . . . 262
6.1.3. Karakterláncok összehasonlítása . . . . . . . . . . . . . . 263
6.1.4. Mintával való összehasonlítás SQL-ben . . . . . . . . . . 264
6.1.5. Dátumok és időpontok . . . . . . . . . . . . . . . . . . . 266
6.1.6. A nullérték és műveletek nullértékekkel . . . . . . . . . . 267
6.1.7. Az ISMERETLEN igazságérték . . . . . . . . . . . . . . . . 268
6.1.8. Az eredmény rendezése . . . . . . . . . . . . . . . . . . . 270
6.1.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 271
6.2. Több relációra vonatkozó lekérdezések . . . . . . . . . . . . . . . 273
6.2.1. Szorzat és összekapcsolás az SQL-ben . . . . . . . . . . . 273
6.2.2. Attribútumok megkülönböztetése . . . . . . . . . . . . . 274
6.2.3. Sorváltozók . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.2.4. Lekérdezések értelmezése . . . . . . . . . . . . . . . . . . 277
6.2.5. Egyesítés, metszet és különbség az SQL-ben . . . . . . . 280
6.2.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 282
6.3. Alkérdések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
6.3.1. Skalár értéket adó alkérdések . . . . . . . . . . . . . . . 284
6.3.2. Relációkat tartalmazó feltételek . . . . . . . . . . . . . . 285
6.3.3. Sorokat tartalmazó feltételek . . . . . . . . . . . . . . . . 286
6.3.4. Korrelált alkérdések . . . . . . . . . . . . . . . . . . . . . 288
6.3.5. Alkérdések a FROM záradékban . . . . . . . . . . . . . . . 290
6.3.6. Összekapcsolások az SQL-ben . . . . . . . . . . . . . . . 290
6.3.7. Természetes összekapcsolás . . . . . . . . . . . . . . . . . 292
6.3.8. Külső összekapcsolások . . . . . . . . . . . . . . . . . . . 293
6.3.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 295
6.4. Relációkra vonatkozó műveletek . . . . . . . . . . . . . . . . . . 297
6.4.1. Ismétlődésekmegszüntetése . . . . . . . . . . . . . . . . 298
6.4.2. Ismétlődések kezelése halmazműveletek során . . . . . . 298
6.4.3. Csoportosítás és összesítések az SQL-ben . . . . . . . . . 300
6.4.4. Összesítő függvények . . . . . . . . . . . . . . . . . . . . 300
6.4.5. Csoportosítás . . . . . . . . . . . . . . . . . . . . . . . . 301
6.4.6. Csoportosítás, összegzés és nullértékek . . . . . . . . . . 303
6.4.7. HAVING záradék . . . . . . . . . . . . . . . . . . . . . . . 304
6.4.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 305
6.5. Változtatások az adatbázisban . . . . . . . . . . . . . . . . . . . 307
6.5.1. Beszúrás . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
6.5.2. Törlés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
6.5.3. Módosítás . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6.5.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6.6. Tranzakciók SQL-ben . . . . . . . . . . . . . . . . . . . . . . . . 312
6.6.1. Sorbarendezhetőség . . . . . . . . . . . . . . . . . . . . . 313
6.6.2. Műveletek atomisága . . . . . . . . . . . . . . . . . . . . 314
6.6.3. Tranzakciók . . . . . . . . . . . . . . . . . . . . . . . . . 316
6.6.4. Csak olvasó tranzakciók . . . . . . . . . . . . . . . . . . 317
6.6.5. Piszkos adatok olvasása . . . . . . . . . . . . . . . . . . . 319
6.6.6. További elkülönítési szintek . . . . . . . . . . . . . . . . 322
6.6.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 323
6.7. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6.8. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

7. Megszorítások és triggerek 329
7.1. Kulcsok és idegen kulcsok . . . . . . . . . . . . . . . . . . . . . . 329
7.1.1. Idegen kulcsok megadása . . . . . . . . . . . . . . . . . . 330
7.1.2. Hivatkozási épség fenntartása . . . . . . . . . . . . . . . 331
7.1.3. Megszorítások ellenőrzésének késleltetése . . . . . . . . . 333
7.1.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 336
7.2. Attribútumokra és sorokra vonatkozó megszorítások . . . . . . . 338
7.2.1. NOT NULL feltételek . . . . . . . . . . . . . . . . . . . . . 338
7.2.2. Attribútumra vonatkozó CHECK feltételek . . . . . . . . . 339
7.2.3. Sorra vonatkozó CHECK feltételek . . . . . . . . . . . . . 340
7.2.4. A sor- illetve attribútum-alapú megszorítások összehasonlítása . . . . . . 342
7.2.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 343
7.3. Megszorítások módosítása . . . . . . . . . . . . . . . . . . . . . . 344
7.3.1. Megszorítások elnevezése . . . . . . . . . . . . . . . . . . 345
7.3.2. Táblákra vonatkozó megszorítások megváltoztatása . . . . . . 345
7.3.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 346
7.4. Önálló megszorítások . . . . . . . . . . . . . . . . . . . . . . . . 347
7.4.1. Önálló megszorítások létrehozása . . . . . . . . . . . . . 348
7.4.2. Önálló megszorítások használata . . . . . . . . . . . . . . 348
7.4.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7.5. Triggerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
7.5.1. Az SQL triggerei . . . . . . . . . . . . . . . . . . . . . . 352
7.5.2. A trigger szerkesztésének lehetőségei . . . . . . . . . . . 354
7.5.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 357
7.6. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
7.7. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

8. Nézetek és indexek 361
8.1. Nézettáblák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
8.1.1. Nézettáblák létrehozása . . . . . . . . . . . . . . . . . . 362
8.1.2. Nézettáblák lekérdezése . . . . . . . . . . . . . . . . . . . 363
8.1.3. Attribútumok átnevezése . . . . . . . . . . . . . . . . . . 364
8.1.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 364
8.2. Adatok módosítása nézettáblákon keresztül . . . . . . . . . . . . 365
8.2.1. Nézettábla megszüntetése . . . . . . . . . . . . . . . . . 365
8.2.2. Módosítható nézettáblák . . . . . . . . . . . . . . . . . . 366
8.2.3. Nézettáblákra vonatkozó „helyette” (instead-of) típusú triggerek . . . . . 368
8.2.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 369
8.3. Indexek az SQL-ben . . . . . . . . . . . . . . . . . . . . . . . . . 370
8.3.1. Az index használatának indoka . . . . . . . . . . . . . . 371
8.3.2. Az index megadása SQL-ben . . . . . . . . . . . . . . . . 372
8.3.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 373
8.4. Az indexek kiválasztása . . . . . . . . . . . . . . . . . . . . . . . 373
8.4.1. Egyszerű költségmodell . . . . . . . . . . . . . . . . . . . 374
8.4.2. Hatékony indexek . . . . . . . . . . . . . . . . . . . . . . 374
8.4.3. A legjobb indexelés meghatározása . . . . . . . . . . . . 376
8.4.4. A létrehozandó indexek automatikus meghatározása . . . . . . 379
8.4.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 380
8.5. Tárolt nézettáblák . . . . . . . . . . . . . . . . . . . . . . . . . . 381
8.5.1. A tárolt nézettáblák karbantartása . . . . . . . . . . . . 381
8.5.2. A tárolt nézettáblák rendszeres karbantartása . . . . . . 383
8.5.3. Lekérdezések átírása a tárolt nézettáblák használatához . . . . . .384
8.5.4. Tárolt nézettáblák automatikus előállítása . . . . . . . . 386
8.5.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 388
8.6. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
8.7. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

9. Az SQL szerverkörnyezetben 391
9.1. Háromrétegű architektúrák . . . . . . . . . . . . . . . . . . . . . 391
9.1.1. A webszerverréteg . . . . . . . . . . . . . . . . . . . . . . 392
9.1.2. Az alkalmazásszerver-réteg . . . . . . . . . . . . . . . . . 392
9.1.3. Az adatbázisréteg . . . . . . . . . . . . . . . . . . . . . . 394
9.2. Az SQL-környezet . . . . . . . . . . . . . . . . . . . . . . . . . . 395
9.2.1. Környezetek . . . . . . . . . . . . . . . . . . . . . . . . . 395
9.2.2. Sémák . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
9.2.3. Katalógusok . . . . . . . . . . . . . . . . . . . . . . . . . 397
9.2.4. Kliensek és szerverek az SQL-környezetben . . . . . . . . 398
9.2.5. Kapcsolatteremtés . . . . . . . . . . . . . . . . . . . . . 398
9.2.6. Munkafázisok . . . . . . . . . . . . . . . . . . . . . . . . 400
9.2.7. Modulok . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
9.3. Az SQL és a befogadó nyelv közötti felület . . . . . . . . . . . . 401
9.3.1. A típuseltérés problémája . . . . . . . . . . . . . . . . . 403
9.3.2. Az SQL és a befogadó nyelv közötti interfész . . . . . . . 404
9.3.3. A deklarációs rész . . . . . . . . . . . . . . . . . . . . . . 404
9.3.4. Osztott változók használata . . . . . . . . . . . . . . . . 405
9.3.5. Egyetlen sort eredményező lekérdezések . . . . . . . . . . 407
9.3.6. Sormutatók . . . . . . . . . . . . . . . . . . . . . . . . . 408
9.3.7. Sormutatóval történő módosítások . . . . . . . . . . . . . 410
9.3.8. Egyidejű módosítások elleni védelem . . . . . . . . . . . 412
9.3.9. Dinamikus SQL . . . . . . . . . . . . . . . . . . . . . . . 413
9.3.10. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 414
9.4. Sémában tárolt eljárások . . . . . . . . . . . . . . . . . . . . . . 416
9.4.1. PSM-függvények és eljárások létrehozása . . . . . . . . . 416
9.4.2. Néhány egyszerű utasítás alakja PSM-ben . . . . . . . . 418
9.4.3. Elágazásutasítások . . . . . . . . . . . . . . . . . . . . . 419
9.4.4. Lekérdezések PSM-ben . . . . . . . . . . . . . . . . . . . 421
9.4.5. Ciklusok a PSM-ben . . . . . . . . . . . . . . . . . . . . 422
9.4.6. A for ciklus . . . . . . . . . . . . . . . . . . . . . . . . . 424
9.4.7. PSM-kivételek . . . . . . . . . . . . . . . . . . . . . . . . 425
9.4.8. PSM-függvények és -eljárások használata . . . . . . . . . 428
9.4.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 429
9.5. Hívásszintű interfészek használata . . . . . . . . . . . . . . . . . 431
9.5.1. Bevezetés az SQL/CLI-be . . . . . . . . . . . . . . . . . 431
9.5.2. Utasítások feldolgozása . . . . . . . . . . . . . . . . . . . 433
9.5.3. Adatok lehívása lekérdezés eredményéből . . . . . . . . . 435
9.5.4. Paraméterek átadása lekérdezéseknek . . . . . . . . . . . 437
9.5.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 438
9.6. Java adatbázis-összekapcsolhatóság (JDBC) . . . . . . . . . . . . 439
9.6.1. Bevezetés a JDBC-be . . . . . . . . . . . . . . . . . . . . 439
9.6.2. Utasítások létrehozása JDBC-ben . . . . . . . . . . . . . 440
9.6.3. Kurzorműveletek JDBC-ben . . . . . . . . . . . . . . . . 442
9.6.4. Paraméterátadás . . . . . . . . . . . . . . . . . . . . . . 442
9.6.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 443
9.7. PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
9.7.1. A PHP alapjai . . . . . . . . . . . . . . . . . . . . . . . . 444
9.7.2. Tömbök . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
9.7.3. A PEAR DB könyvtárcsomag . . . . . . . . . . . . . . . 446
9.7.4. Adatbázis-kapcsolat létrehozása a DB használatával . . . 446
9.7.5. SQL-utasítások végrehajtása . . . . . . . . . . . . . . . . 447
9.7.6. A PHP sormutató műveletei . . . . . . . . . . . . . . . . 448
9.7.7. Dinamikus SQL a PHP-ban . . . . . . . . . . . . . . . . 448
9.7.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 449
9.8. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
9.9. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

10. Haladó témák a relációs adatbázisok tárgykörében 453
10.1. Biztonság és felhasználói jogosultságok SQL-ben . . . . . . . . . 453
10.1.1. Jogosultságok . . . . . . . . . . . . . . . . . . . . . . . . 454
10.1.2. Jogosultságok kialakítása . . . . . . . . . . . . . . . . . . 456
10.1.3. Jogosultságok ellenőrzése . . . . . . . . . . . . . . . . . . 457
10.1.4. Jogosultságok megadása . . . . . . . . . . . . . . . . . . 459
10.1.5. Engedélyezési diagramok . . . . . . . . . . . . . . . . . . 460
10.1.6. Jogosultságok visszavonása . . . . . . . . . . . . . . . . . 462
10.1.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.2.Rekurzió az SQL-ben . . . . . . . . . . . . . . . . . . . . . . . . 466
10.2.1. Rekurzív relációk definiálása az SQL-ben . . . . . . . . . 467
10.2.2. Problémás kifejezések rekurzív SQL-ben . . . . . . . . . 469
10.2.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.3.Az objektumrelációs modell . . . . . . . . . . . . . . . . . . . . . 474
10.3.1. A relációktól az objektumrelációkig . . . . . . . . . . . . 475
10.3.2. Beágyazott relációk . . . . . . . . . . . . . . . . . . . . . 476
10.3.3. Hivatkozások . . . . . . . . . . . . . . . . . . . . . . . . 477
10.3.4. Az objektumorientált és az objektumrelációs változatok összehasonlítása . . . . . .479
10.3.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 480
10.4.Felhasználó által definiált típusok SQL-ben . . . . . . . . . . . . 481
10.4.1. Típusdefiníció SQL-ben . . . . . . . . . . . . . . . . . . . 481
10.4.2. Metódusok megadása a felhasználói típusban . . . . . . . 482
10.4.3. Metódusdefiníciók . . . . . . . . . . . . . . . . . . . . . . 483
10.4.4. Relációk deklarálása UDT felhasználásával . . . . . . . . 484
10.4.5. Hivatkozások . . . . . . . . . . . . . . . . . . . . . . . . 484
10.4.6. Objektumazonosítók létrehozása a táblákhoz . . . . . . . 485
10.4.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 487
10.5. Műveletek objektumrelációs adatokkal . . . . . . . . . . . . . . . 488
10.5.1. Hivatkozások követése . . . . . . . . . . . . . . . . . . . 488
10.5.2. UDT-vel rendelkező sorok attribútumainak lekérdezése . 489
10.5.3. Generáló és változtató függvények . . . . . . . . . . . . . 490
10.5.4. Rendezési viszonyok UDT-ken . . . . . . . . . . . . . . . 492
10.5.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 494
10.6.Online analitikus feldolgozás . . . . . . . . . . . . . . . . . . . . 495
10.6.1. Az OLAP és az adattárházak . . . . . . . . . . . . . . . 496
10.6.2. OLAP-alkalmazások . . . . . . . . . . . . . . . . . . . . 496
10.6.3. OLAP-adatok többdimenziós nézete . . . . . . . . . . . 497
10.6.4. A csillagséma . . . . . . . . . . . . . . . . . . . . . . . . 499
10.6.5. Szeletelés és kockázás . . . . . . . . . . . . . . . . . . . . 501
10.6.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 504
10.7.Adatkockák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
10.7.1. A kockaművelet . . . . . . . . . . . . . . . . . . . . . . . 505
10.7.2. A kockaművelet SQL-ben . . . . . . . . . . . . . . . . . . 507
10.7.3. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 509
10.8.Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
10.9. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

III. Félig-strukturált adatok modellezése és programozása 513

11. A félig-strukturált adatmodell 515
11.1.Félig-strukturált adat . . . . . . . . . . . . . . . . . . . . . . . . 515
11.1.1. A félig-strukturált adatmodell-motivációk . . . . . . . . 515
11.1.2. Félig-strukturált adatok ábrázolása . . . . . . . . . . . . 516
11.1.3. Információintegráció félig-strukturált adatokon keresztül . . . . . 518
11.1.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 520
11.2.XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
11.2.1. A jelölők jelentése . . . . . . . . . . . . . . . . . . . . . . 521
11.2.2. XML sémával és séma nélkül . . . . . . . . . . . . . . . . 521
11.2.3. Jólformált XML . . . . . . . . . . . . . . . . . . . . . . . 521
11.2.4. Attribútumok . . . . . . . . . . . . . . . . . . . . . . . . 523
11.2.5. Attribútumok, amelyek összekapcsolnak elemeket . . . . 524
11.2.6. Névterek . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
11.2.7. Az XML és az adatbázisok . . . . . . . . . . . . . . . . . 526
11.2.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 528
11.3.Dokumentumtípus-definíció . . . . . . . . . . . . . . . . . . . . . 528
11.3.1. A DTD formális megadása . . . . . . . . . . . . . . . . . 528
11.3.2. A DTD-k használata . . . . . . . . . . . . . . . . . . . . 530
11.3.3. Az attribútumlista . . . . . . . . . . . . . . . . . . . . . 532
11.3.4. Azonosítók és hivatkozások . . . . . . . . . . . . . . . . . 533
11.3.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 535
11.4.XML-séma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
11.4.1. Az XML-séma formai követelményei . . . . . . . . . . . 536
11.4.2. Elemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
11.4.3. Összetett típusok . . . . . . . . . . . . . . . . . . . . . . 537
11.4.4. Attribútumok . . . . . . . . . . . . . . . . . . . . . . . . 539
11.4.5. Egyszerű típusok megszorításokkal . . . . . . . . . . . . 541
11.4.6. Kulcsok az XML-sémában . . . . . . . . . . . . . . . . . 542
11.4.7. Idegen kulcsok az XML-sémákban . . . . . . . . . . . . . 545
11.4.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 547
11.5.Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
11.6. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 548

12. Programozási nyelvek az XML-hez 551
12.1.XPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
12.1.1. Az Xpath-adatmodell . . . . . . . . . . . . . . . . . . . . 552
12.1.2. Dokumentum-csomópontok . . . . . . . . . . . . . . . . 553
12.1.3. Útkifejezések . . . . . . . . . . . . . . . . . . . . . . . . . 553
12.1.4. Relatív útkifejezések . . . . . . . . . . . . . . . . . . . . 555
12.1.5. Attribútumok az útkifejezésekben . . . . . . . . . . . . . 555
12.1.6. Tengelyek . . . . . . . . . . . . . . . . . . . . . . . . . . 556
12.1.7. A kifejezések szövegösszefüggése . . . . . . . . . . . . . . 557
12.1.8. Helyettesítő jelek . . . . . . . . . . . . . . . . . . . . . . 557
12.1.9. Feltételek az útkifejezésekben . . . . . . . . . . . . . . . 558
12.1.10. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 560
12.2.XQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
12.2.1. XQuery-alapismeretek . . . . . . . . . . . . . . . . . . . 565
12.2.2. FLWR-kifejezések . . . . . . . . . . . . . . . . . . . . . . 565
12.2.3. Változók helyettesítése értékeikkel . . . . . . . . . . . . . 570
12.2.4. Összekapcsolások az XQueryben . . . . . . . . . . . . . . 571
12.2.5. Az XQuery összehasonlító operátorai . . . . . . . . . . . 573
12.2.6. Az ismétlődések kiszűrése . . . . . . . . . . . . . . . . . 574
12.2.7. Kvantifikálás az XQueryben . . . . . . . . . . . . . . . . 575
12.2.8. Összesítések . . . . . . . . . . . . . . . . . . . . . . . . . 576
12.2.9. Elágazás az XQuery-kifejezésekben . . . . . . . . . . . . 576
12.2.10. Lekérdezés eredményének rendezése . . . . . . . . . . . . 577
12.2.11. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 579
12.3.XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
12.3.1. XSLT-alapismeretek . . . . . . . . . . . . . . . . . . . . 580
12.3.2. Sablonok . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
12.3.3. XML-adatokból elérhető értékek . . . . . . . . . . . . . . 582
12.3.4. Sablonok rekurzív használata . . . . . . . . . . . . . . . 583
12.3.5. Iterációk XSLT-ben . . . . . . . . . . . . . . . . . . . . . 585
12.3.6. Feltételes módok az XSLT-ben . . . . . . . . . . . . . . . 586
12.3.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 588
12.4.Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
12.5. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . 590

Tárgymutató 593

Vissza a lap tetejére

mesekönyv

szoftver