Főoldal | Könyvlista | Gyorskereső

Átmenetileg a rendelés és szállítás szünetel
SQL A-tól Z-ig

SQL A-tól Z-ig

Martin Gruber:
SQL A-tól Z-ig


Megjelenés: 2003
Kiskapu Kiadó
480 oldal, bolti ár: 2940,- Ft

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

db

A könyv ismertetése

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

Martin Gruber:
SQL A-tól Z-ig

A könyv a relációs adatbázisok szabványos programnyelvéhez, az SQL-hez kíván referenciaként szolgálni, az SQL92 és SQL99 szabványokat alapul véve.

A kötet világosan bemutatja, mely lehetőségek származnak a régi szabványokból, és melyek jelentek meg az újabb szabványokban.

  • Az I. rész a relációs adatbázisok működését, valamint az SQL alapjait tekinti át, kitérve a 92-es szabvány néhány egyedi lehetőségére.
  • A II. rész valamennyi utasítás leírását tartalmazza, használatuk alakjával, működésük leírásával (a Full SQL92 szinten), az alacsonyabb, illetve régebbi szintek eltéréseinek bemutatásával, valamint kereszthivatkozásokkal és példákkal.
  • A III. rész a közös nyelvi elemekre kerít sort. A legújabb SQL szabvány az SQL99, melynek felépítése eltér elődjeitől - itt nem egymásra épülő szinteket találunk, hanem egy "SQL magot" (Core SQL) és különböző bővítési szinteket.
  • A IV. rész 1. fejezete áttekintést ad az SQL99-ről, a 2. fejezet pedig kissé elmélyed a Core SQL részleteiben. Szó esik az objektumközpontú programozásról és az eljárásközpontú bővítésekről is.

A kötet a szabványról ír, nem pedig egy adott programról, így mindenkinek jó szívvel ajánlhatjuk, aki SQL alapú adatbáziskezelővel foglalkozik; vagyis alkalmazásfejlesztőknek, webhely- és intranettervezőknek, adatbázisfelügyelőknek, rendszergazdáknak, rendszerelemzőknek és az adatbázisok végfelhasználóinak egyaránt.

Bevezető

A relációs adatbázisok napjainkban a világ leggyakrabban használt adatbázisai, melyekben számos olyan feladat megoldásra talált, melyek a korábbiakban nagy fejtörést okoztak a programozóknak. A régebben készült adatbáziskezelők esetében a programozóknak pontosan tudniuk kellett az adatok tárolásának formáját, így az alkalmazások tervezése meglehetősen bonyolulttá vált, módosításuk pedig kemény küzdelemmel járt. A relációs adatbázisokban adatainkat egy magasabb szinten kezelhetjük. Minden műveletet egy program hajt végre - ezt DBMS-nek (database management system - adatbáziskezelő rendszer) hívják, mely egy magasabb szintű programnyelv utasításainak engedelmeskedik. Nem titkolhatjuk el, hogy egyes rendszerek mindemellett rendelkezésünkre bocsátanak egy alacsonyabb szintű nyelvet is, mellyel „közelebb kerülhetünk” az adatokhoz, de a közös nevező a szabványos SQL marad. Következésképpen, bárki, aki relációs adatbázist kíván készíteni, meg kell tanulja az SQL használatát.

Az SQL szabvány - régi és új

Az SQL-t a 70-es években az IBM-nél fejlesztették ki, és az első cég, mely komolyan használatba vette, az Oracle volt. Őket számos további vállalat követte, melyek mind-mind saját képükre formálták a nyelvet. A gyártók felismerték, hogy jobban járnak, ha nem kell bajlódniuk az ezernyi változattal, így aztán közös akarattal szabványosították az SQL-t.

Az SQL tehát 1986-ban bekerült a nemzetközi ISO, valamint Amerikában az ANSI szabványok közé. A valódi közös nevezőt a korai SQL szabványok (SQL86 és SQL89) jelentik, melyekre a fejlesztők kedvükre építhettek. Sokaknak persze ez kevés volt - a számítógépek képességeinek növekedésével a piac egyre hangosabban követelte egy olyan szabványos adatbáziskezelő nyelv létrehozását, mely egyszerre többféle adatbázis kezelésére képes. Időközben számos olyan lehetőség is széles körben használatossá vált, melyek beépítése egy új szabványba határozottan kívánatos volt. Mindeme igények nyomán született meg az SQL92 szabvány, mely e könyv írásának idején is érvényben van.

Az SQL92-ben számos új lehetőség jelent meg, továbbá szabványossá vált több, a fejlesztők által eddig különböző módokon alkalmazott módszer. E szabvány legfontosabb jellemzője azonban mégiscsak a viszonylagos teljesség. Az ISO szabványokra jellemzően, ha elsajátítjuk az SQL92 használatát, nincs szükségünk jelentős többlettudásra az adott rendszerről - adatbázisunk mindenhol ugyanúgy működik, ugyanolyan formában tárolhatjuk benne az adatokat. Mindennek köszönhetően e szabvány összetettebb elődjeinél, és egyúttal sokkal nagyobb szerepet kap az adatbázisprogramozók életében.

Az SQL92 elődjeire - az SQL86-ra és az SQL89-re - épít, így néhány apróságtól eltekintve az ott leírtak az új szabványban is megvalósíthatók. Könyvünkben világosan bemutatjuk, mely lehetőségek származnak a régi szabványokból, és melyek jelentek meg az új SQL szabványban - ezért hát hasznunkra lehet, akármelyik szabványhoz is igazodunk.

A legújabb SQL szabvány az SQL99, egy hihetetlenül összetett rendszer, melynek fejlesztői támogatottsága jelenleg még nem igazán kiforrott. Az igazat megvallva, nem is igazán tűnik valószínűnek, hogy bárki is a maga teljességében kihasználja ezt a nyelvet, jóllehet a szabvány erre lehetőséget ad. Felépítése eltér elődjeitől - itt nem egymásra épülő szinteket találunk, hanem egy „SQL magot” (Core SQL) és különböző bővítési szinteket. A mag megvalósítása előfeltétele a szintek használatának, ez utóbbiak azonban (általában) függetlenek egymástól. Ez a gyakorlatban azt jelenti, hogy egy olyan program, mely támogatja a magot, válogathat a megvalósítandó szintek között.

Könyvünk IV. részének 1. fejezetében áttekintést adunk az SQL99-ről, a 2. fejezet pedig kissé elmélyed a Core SQL részleteiben. E fejezetek jellege inkább leíró, mivel új fogalmakat vezetnek be, és olyan lehetőségekről írnak, melyek még nem jelentek meg piaci alkalmazásokban. Az SQL99 alapjaiban mutatja, merre halad a nyelv fejlődése, így a termékek általánosságban követik majd ezt az irányt, különös tekintettel az objektumközpontú (objektum-orientált) programozásra és az eljárásközpontú (procedurális) bővítésekre. Mindazonáltal jelenleg még nem világos, hány cég csatlakozik a fejlődés eme áramlatához a szabvány megvalósításával. Az SQL92 megfelelőségét az USA kormányzati tanúsítványa is bizonyítja, ellentétben az SQL99-cel, ami könnyen azt eredményezheti, hogy a cégek a korábbi szabványnál maradnak, de kihasználják szabadságukat a részletek kidolgozásában.

Kinek ajánljuk a könyvet?

Könyvünkben egy szabványról írunk, nem pedig egy adott programról, ezért hát mindenkinek jó szívvel ajánlhatjuk, aki a régebbi, vagy újabb SQL szabványokra épülő adatbáziskezelővel foglalkozik - vagyis, gyakorlatilag bármely SQL alkalmazással. Az SQL felhasználói leggyakrabban alkalmazásfejlesztők, webhely-, vagy intranettervezők, adatbázisfelügyelők, rendszergazdák, rendszerelemzők, vagy viszonylag „vájtfülű” végfelhasználók. Ez utóbbi csoport tagjai többnyire arra használják az SQL-t, hogy adatokat tároljanak segítségével, bár ezt legtöbbször segíti valamilyen alkalmazás, amely átvállalja az SQL kezelésének terheit.

A könyv felépítéséről

    Az I. rész bemutatja a relációs adatbázisok működését, valamint az SQL alapjait, kitérve a 92-es szabvány néhány egyedi lehetőségére. Ez utóbbiakat akkor is érdemes átfutnunk, ha egyébként járatosak vagyunk az SQL-ben.

    A II. rész az utasítások leírását tartalmazza. Itt felsoroljuk a rendelkezésre álló utasításokat, használatuk alakjával, működésük leírásával (a Full SQL92 szinten), valamint az alacsonyabb, illetve régebbi szintek eltéréseinek bemutatásával, és kereszthivatkozásokkal. Esetenként példákat is találhatunk az utasítások használatára.

    A III. részben a közös nyelvi elemekre kerítünk sort, melyeket számos utasítás használ, leírásuk azonban túl terjedelmes ahhoz, hogy az adott esetekben mellékeljük.

    A IV. rész első fejezetében áttekintést kaphatunk az SQL99 szabványról. Hivatalos leírása több mint 4000 oldal, így természetesen csak vázlatosan ismertetjük. Az SQL99 irányt mutat a jövőbeni fejlesztéseknek, és számos program tartalmazza egyes lehetőségeit, így hát érdemes megismerkednünk vele még akkor is, ha az általunk használt alkalmazás nem támogatja teljes egészében. Az új szabvány készítői alaposan felforgatták az SQL szerkezetét, bevezetve az objektumközpontú lehetőségeket és az eljárásközpontú bővítéseket.

    A IV. rész második fejezete bemutatja a Core SQL-t. Bármely, az SQL99-et megvalósító rendszernek támogatnia kell a Core SQL-t, így hát a szabványnak várhatóan ez a része terjed el először széles körben. Használata igényli néhány, az SQL eddigi gyakorlatában nem ismert fogalom ismeretét, melyek leírására itt teszünk kísérletet.

A függelékek általánosabb témákat vázolnak, így szó esik a beágyazott SQL-ről, a dinamikus SQL-ről, a modulnyelvről, a nyelvtani elemekről és jelölésmódokról, valamint a hibakódokról. Végezetül egy szójegyzéket is kapunk.

A H függelékben a tartalom témakörök szerinti csoportosítását találhatjuk, segítségével könnyebben ráakadhatunk azon utasítások leírására, melyek nevét nem ismerjük.

Összefoglalva, érdemes elolvasnunk legalább részben az I. részt, míg a II. és III részt referenciaként hasznáhatjuk (ezek alkotják a könyv törzsanyagát), és mazsolázhatunk a IV. rész azon témái között, melyek az általunk használt alkalmazáshoz kapcsolhatók.

A könyv tartalomjegyzéke

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

Martin Gruber:
SQL A-tól Z-ig

I. rész   Bevezetés az SQL használatába

Bevezetés az SQL használatába                1

SQL - Áttekintés 2

Az SQL és a relációs adatbázisok alapjai       2

Az SQL használatának módjai 4

Bevezetés a relációs adatbázisok világába    5

Adatbázisok tervezése            7

Táblák összekapcsolása        11

Az SQL nyelv alapjai               12

Beágyazott SQL 15

Az SQL szabványok áttekintése               16

A szabványos SQL néhány fontos lehetősége               19

Felhasználók, sémák és munkamenetek 19

Sémameghatározó utasítások        20

Átmeneti táblák 21

Beépített összekapcsoló műveletek          22

Csak olvasható, görgethető, érzéketlen és dinamikus kurzorok          24

Ügyfél-kiszolgáló lehetőségek      26

Bővített tranzakciókezelés          28

Alkalmazás birtokolta jogosultságok (a meghatározó jogai)          29

Szabványosított kapcsolati folyamat          30

Szabványosított rendszertáblák 31

Szabványosított hibakódok és hibaleírók          31

Értéktartományok          33

Önálló megszorítások és a megszorítások elhalasztása   34

Nyelvi támogatás        37

Dátum-, idő- és időtartam-típusok          38

Bináris adattípusok      39

Adattípusok átalakítása        40

Beépített értékfüggvények 40

Új karakterlánc-kezelő műveletek          41

Sor- és táblaérték-konstruktorok   42

A hivatkozási épség ellenőrzése      44

Feltételes kifejezések        46

A szabványtól eltérő függvények automatikus jelzése          47

Modulok és fordítási egységek          47

II. rész   SQL utasítások

SQL utasítások 49

ALLOCATE CURSOR          53

ALLOCATE DESCRIPTOR   55

ALTER DOMAIN          57

ALTER TABLE          59

CLOSE          62

COMMIT WORK          63

CONNECT        64

CREATE ASSERTION     66

CREATE CHARACTER SET          69

CREATE COLLATION     72

CREATE DOMAIN          75

CREATE SCHEMA          78

CREATE TABLE          81

CREATE TRANSLATION 91

CREATE VIEW 92

DEALLOCATE DESCRIPTOR   99

DEALLOCATE PREPARE     100

DECLARE CURSOR         101

DECLARE LOCAL TEMPORARY TABLE         106

DELETE         109

DESCRIBE     112

DISCONNECT 116

DROP ASSERTION   117

DROP CHARACTER SET         118

DROP COLLATION   119

DROP DOMAIN         120

DROP SCHEMA         121

DROP TABLE         122

DROP TRANSLATION         123

DROP VIEW         124

EXECUTE     125

EXECUTE IMMEDIATE    131

FETCH         133

GET DESCRIPTOR 136

GET DIAGNOSTICS         139

GRANT         141

INSERT         146

OPEN         149

PREPARE     151

REVOKE         155

ROLLBACK   162

SELECT         163

SET CATALOG     190

SET CONNECTION 191

SET CONSTRAINTS MODE         192

SET DESCRIPTOR 193

SET NAMES         197

SET SCHEMA         197

SET SESSION AUTHORIZATION         198

SET TIME ZONE         199

SET TRANSACTION         200

UPDATE         203

III. rész   Közös nyelvi elemek

Közös nyelvi elemek  209

Összesítő függvények      209

Tulajdonosazonosítók    214

CASE kifejezések      216

CAST kifejezések      220

Jelsorrendek 228

Megszorítások 235

Adattípusok    251

Dátum-idő értékfüggvények         269

Leíró területek         270

Számértékű értékfüggvények         279

Predikátumok 282

Sor- és táblaérték-konstruktorok 309

Karakterlánc értékfüggvények         312

Alkérdések      316

Értékkifejezések         319

IV. rész   ‑1. fejezet   SQL99 - Áttekintés

SQL99 - Áttekintés            327

A szabvány felépítése és a megfelelési szintek 328

Új adattípusok             334

Bővített SQL utasítások             336

Programozási kiegészítések az SQL-ben       337

Tartósan tárolt modulok (SQL/PSM)    340

Az objektumközpontú alapelvek gyors áttekintése             343

Objektumok beépítése a relációs világba   346

Felhasználói adattípusok létrehozása    352

Típusos táblák         355

Összefoglalás           356

IV. rész   ‑2. fejezet   Core SQL99

Core SQL99            357

Mi az a Core?    358

LOB-ok         358

CLOB-ok és NCLOB-ok    365

SQL-ből hívott külső rutinok         367

Egyszerű felhasználói adattípusok             376

Összefoglalás           380

A függelék   Az SQL beágyazása más nyelvekbe

Az SQL beágyazása más nyelvekbe            381

Ada       382

Változók meghatározása         383

C/C++   384

Változók meghatározása         385

COBOL 387

Változók meghatározása         387

Fortran 389

Változók meghatározása         389

MUMPS 391

Változók meghatározása         391

Pascal 392

Változók meghatározása         392

PL/I       394

Változók meghatározása         394

B függelék   A modulnyelv leírása

A modulnyelv leírása   397

Áttekintés             398

Nyelvtan 398

A LANGUAGE záradék         399

C függelék   A dinamikus SQL

A dinamikus SQL      409

D függelék   Az SQL nyelvleíró azonosítói

Az SQL nyelvleíró azonosítói            413

Azonosítók             414

SQL kulcsszavak             417

E függelék   Átállás az SQL92-ről a Core SQL99-re

Átállás az SQL92-ről a Core SQL99-re          421

Core SQL99 szolgáltatások           422

Általános szabályok      423

INFORMATION_SCHEMA         425

Adatmeghatározás         428

Külső rutinok         431

Adattípusok és értékkifejezések         432

Lekérdezések 436

Adatkezelés    438

F függelék   Hibakódok

Hibakódok            439

SQLCODE             440

SQLSTATE             440

G függelék   Szójegyzék

Szójegyzék            447

H függelék   Témakörök szerinti tartalom

Témakörök szerinti tartalom 467

Objektumok meghatározása és módosítása             467

Adatkezelés             469

Adatbiztonság és szabályozás             470

Vissza a lap tetejére

mesekönyv

szoftver