1. RDBMS alapok: miből áll az SQL Server adatbázis? 1



Hasonló dokumentumok
Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

SQLServer. DB Recovery modes

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Vizuális programozás gyakorlat

Adatbázisok elmélete 9. előadás

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

A könyv tartalomjegyzéke

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Tranzakciókezelés PL/SQL-ben

Adatbázisok elmélete 9. előadás

Adattípusok. Max. 2GByte

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adattípusok. Max. 2GByte

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL DDL-2 (aktív elemek) triggerek

Készítette: Szabóné Nacsa Rozália

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

SQL parancsok feldolgozása

Adatbázisok elmélete 10. előadás

Microsoft SQL Server telepítése

George Shepherd. 1. A webes alkalmazások alapjai 1

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

SQLServer. Particionálás

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Az SQL*Plus használata

Adatbázis rendszerek SQL nyomkövetés

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Java és web programozás

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Elemi alkalmazások fejlesztése IV.


SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

A szerzõrõl... xi Bevezetés... xiii

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

Webfejlesztés 4. alkalom

2 Access 2016 zsebkönyv

Bevezetés: az SQL-be

Haladó irodai számítógépes képzés tematika

LBRA6i integrált rendszer

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Ismerkedés az Office 2007 felhasználói felületével

Programozás és adatbázis kezelés PHP ben

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Access XP alapokon Tartalomjegyzék

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

SQLServer. SQLServer konfigurációk

BEVEZETÉS Az objektum fogalma

B I T M A N B I v: T M A N

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

Az adatbázisrendszerek világa

Adatbázis, adatbázis-kezelő

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Java és web programozás

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT


Spatial a gyakorlatban

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

Adatbázisok tavaszi félév Vizsgatételsor

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Adatbázis-kezelés. Harmadik előadás

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Adatbányászat és Perszonalizáció architektúra

Oracle Audit Vault and Database Firewall. Gecseg Gyula Oracle DBA

Választó lekérdezés létrehozása

PL/SQL (folytatás) Kurzorok, függvények, eljárások

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

Többtáblás lekérdezések megjelenítése

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Adatbázis-kezelés, információs-rendszerek

Több tábla összekapcsolásán alapuló lekérdezések. Copyright 2004, Oracle. All rights reserved.

SQL DDL-1: táblák és megszorítások

Relációsémák létrehozása SQL nyelvben

Átírás:

Köszönetnyilvánítás Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibaigazító p2p.wrox.com xix xxi xxii xxii xxiii xxiii xxiv xxv xxv xxvi 1. RDBMS alapok: miből áll az SQL Server adatbázis? 1 Az adatbázis-objektumok áttekintése 2 Az adatbázis-objektum 2 A tranzakciós napló 8 A legalapvetőbb adatbázis-objektumok: tábla 8 Fájlcsoportok 10 Diagrammok 11 Nézetek 12 Tárolt eljárások 13 Felhasználói függvények 14 Felhasználók és szerepek 14 Szabályok 14 Alapbeállítások 15 Felhasználói adattípusok 15 Teljes szövegű katalógusok 15 SQL Server adattípusok 16 NULL adat 22 Az objektumok SQL Server azonosítói 22 Mi kap nevet? 23 Névadási szabályok 23 Összegzés 24

2. A szakma eszközei 25 Books Online 26 SQL Server Computer Manager 27 Szolgáltatáskezelés 27 Hálózati konfiguráció 28 A protokollok 30 Az ügyfél 32 SQL Server Management Studio 34 A kezdetek 35 Query ablak 40 SQL Server Integration Services (SSIS) 46 A tömegesmásoló-program (Bulk Copy Program, bcp) 48 SQL Server Profiler 48 sqlcmd 49 Összegzés 49 3. A T-SQL alapvető utasításai 51 Ismerkedés a SELECT utasítás egyszerű eseteivel 52 A SELECT utasítás és a FROM klauzula 53 A WHERE klauzula 56 Az ORDER BY klauzula 61 Az adatok csoportosítása a GROUP BY klauzulával 65 A csoportosítás feltételhez kötése a HAVING klauzulával 74 XML előállítása a FOR XML klauzulával 77 A lekérdezések módosítása az OPTION klauzulával 78 A DISTINCT és az ALL predikátumok 78 Adatok beszúrása az INSERT utasítással 81 Az INSERT INTO SELECT utasítás 86 Az adatok módosítása az UPDATE utasítással 88 A DELETE utasítás 91 Összegzés 93 Gyakorlatok 93 4. Összekapcsolások: a JOIN operátor 95 A JOIN operátorok 96 Belső összekapcsolás: az INNER JOIN operátor 97 Az INNER JOIN és a WHERE klauzula hasonlósága 103 Külső összekapcsolás: az OUTER JOIN 107 Az egyszerű OUTER JOIN operátor 108 Összetettebb OUTER JOIN összekapcsolások 114 A két oldal teljes összekapcsolása: a FULL JOIN operátor 119 A CROSS JOIN összekapcsolás 121 Az összekapcsolások alternatív szintaxisa 122 viii

Az alternatív INNER JOIN összekapcsolás 123 Az alternatív OUTER JOIN összekapcsolás 123 Az alternatív CROSS JOIN összekapcsolás 125 A UNION operátor 126 Összegzés 131 Gyakorlatok 132 5. Táblák létrehozása és módosítása 133 Objektumnevek az SQL Serverben 133 Sémanév (vagy Tulajdonjog) 134 Az adatbázisnév 137 Elnevezés a kiszolgáló szerint 138 Az alapértelmezések átvizsgálása 138 A CREATE utasítás 139 CREATE DATABASE 139 NAME 141 FILENAME 141 CREATE TABLE 146 Az ALTER utasítás 163 ALTER DATABASE 163 ALTER TABLE 167 A DROP utasítás 171 A grafikus eszköz használata 173 Adatbázis létrehozása a Management Studio használatával 173 Vissza a kódhoz: a szkriptkészítés alapjai a Management Studio használatával 179 Összegzés 181 Gyakorlatok 181 6. Megszorítások 183 A megszorítások típusai 184 Tartományi megszorítások 185 Entitásmegszorítások 185 Hivatkozásiintegritás-megszorítások 186 A megszorítások elnevezése 187 Kulcsmegszorítások 188 PRIMARY KEY-megszorítások 188 FOREIGN KEY-megszorítások 191 UNIQUE-megszorítások 205 CHECK-megszorítások 206 DEFAULT-megszorítások 208 Egy DEFAULT-megszorítás használata CREATE TABLE utasításunkban 209 Egy DEFAULT-megszorítás hozzáadása egy létező táblához 210 ix

A megszorítások kikapcsolása 211 A rossz adatok figyelmen kívül hagyása, amikor létrehozzuk a megszorítást 211 Egy létező megszorítás ideiglenes kikapcsolása 214 Szabályok és alapértelmezések a megszorítások unokatestvérei 216 Szabályok 216 Alapértelmezések 218 Annak meghatározása, mely táblák és adattípusok használnak egy adott szabályt vagy alapértelmezést 220 Triggerek az adatintegritásért 220 Annak megválasztása, mit használjunk 221 Összegzés 222 7. Hozzunk ki többet a lekérdezésekből! 223 Mi az allekérdezés? 224 Beágyazott allekérdezések készítése 225 Kölcsönösen összefüggő allekérdezések 229 Hogyan működnek a kölcsönösen összefüggő lekérdezések? 229 Kölcsönösen összefüggő lekérdezések a WHERE feltételben 230 A NULL értékű adatok kezelése az ISNULL függvény 234 Leszármaztatott táblák 235 Az EXISTS operátor 238 Az EXISTS használata más módon 240 Adattípusok keverése: CAST és CONVERT 242 Teljesítményszempontok 245 Táblakapcsolás vagy allekérdezés vagy? 246 Összegzés 247 Gyakorlatok 248 8. Normalizálás és a tervezés más, alapszintű kérdései 249 A táblák 249 Az adatok tárolása normalizált formában 250 Mielőtt belevágnánk 252 Az első normálforma 253 A második normálforma 258 A harmadik normálforma 259 További normálformák 262 Kapcsolatok 263 Az egy-egyes kapcsolat 264 Az egy-egyes vagy -többes kapcsolat 265 A több-többes kapcsolat 268 x

Diagramrajzolás 271 A táblák 274 Táblák megadása és törlése 275 Kapcsolatok 281 A denormalizálás 285 A normalizáláson túl 287 Az egyszerűség szerepe 287 Az adattípusok kiválasztása 287 Inkább több adatot tároljunk, mint kevesebbet! 288 Egy gyors példa 289 Az adatbázis létrehozása 289 A diagram és a kezdőtáblák megadása 289 A kapcsolatok megadása 294 Megszorítások megadása 296 Összegzés 298 Gyakorlatok 298 9. SQL Server tároló- és indexstruktúra 299 SQL Server tároló 299 Az adatbázis 299 Az extent 300 A lap 301 Az indexek alapjai 302 B-fák 303 Adatok hozzáférése az SQL Serverben 307 Indexek létrehozása, módosítása és törlése 317 A CREATE INDEX utasítás 317 XML-indexek létrehozása 324 Megszorítások létrehozása során generált indexek 325 A bölcs döntés: hová milyen index kerüljön, és legfőképpen mikor? 326 Változatosság 326 A költségek mérlegelése: amikor a kevesebb több 327 A lehető legjobb csoportosított index kiválasztása 328 Az oszlopsorrend igenis számít 331 Indexek eldobása 331 A Database Engine Tuning varázsló használata 332 Az indexek karbantartása 332 Tördelődés 333 A tördelődés azonosítása és a lapszétválasztások valószínűsége 333 Összegzés 338 Gyakorlatok 339 xi

10. Nézetek 341 Egyszerű nézetek 341 Összetettebb nézetek 347 Nézet használata adatok megváltoztatásához az INSTEAD OF triggerek előtt 351 Nézetek szerkesztése T-SQL-lel 355 Nézetek eldobása 356 Nézetek létrehozása és szerkesztése a Management Studióban 356 Nézetek szerkesztése a Management Studióban 360 Auditálás: a meglévő kód megjelenítése 360 A kód védelme: nézetek titkosítása 362 A sémakötésről 364 Nézetünk táblaszerűvé tétele a VIEW_METADATA opcióval 364 Indexelt (materializált) nézetek 365 Összegzés 369 Gyakorlatok 370 11. Szkriptek és kötegek 371 A szkriptírás alapjai 371 A USE utasítás 372 A változók deklarálása 373 A @@IDENTITY használata 378 A @@ROWCOUNT használata 382 Kötegek 383 Hibák a kötegekben 386 Mikor használjuk a kötegeket? 386 SQLCMD 390 Dinamikus SQL: kódgenerálás menet közben az EXEC parancs segítségével 394 Az EXEC parancs buktatói 396 Összegzés 400 Gyakorlatok 401 12. Tárolt eljárások 403 A tárolt eljárás létrehozása: alapszintaxis 404 Példa alapszintű tárolt eljárásra 404 Tárolt eljárás módosítása az ALTER utasítással 406 Tárolt eljárás eldobása 406 Paraméterezés 407 Paraméterek deklarálása 407 Programvezérlő utasítások 413 Az IF ELSE utasítás 413 Az ELSE rész 417 A CASE utasítás 425 xii

Ciklus használata a WHILE utasítás segítségével 433 A WAITFOR utasítás 434 TRY/CATCH blokkok 435 A sikeres teljesítés vagy hiba jelzése visszatérési értékkel 436 Hogyan használjuk a RETURN utasítást 436 Hibakezelés 439 Ahogy volt 440 Hibák kezelése keletkezésük előtt 447 Hibák manuális kiváltása 450 Egyedi hibaüzenetek felvétele 455 Amit a tárolt eljárás kínál 460 Meghívható folyamatok létrehozása 460 Tárolt eljárás használata biztonság érdekében 462 Tárolt eljárások és a teljesítmény 462 Kiterjesztett tárolt eljárások (Extended Stored Procedures, XP-k) 465 Egy rövid áttekintés a rekurzióról 465 Hibakeresés 469 Az SQL Server beállítása hibakereséshez 469 A Hibakereső indítása 470 A hibakereső részei 472 A hibakereső használata 475.NET-szerelvények 479 Összefoglalás 480 Gyakorlatok 481 13. A felhasználó által definiált függvények 483 Mi is az az UDF 483 Skalár értéket eredményező UDF-ek 484 Táblával visszatérő UDF-ek 489 A determinizmus megértése 498 Hibakeresés felhasználó által definiált függvényekben 500.NET az adatbázis világban 501 Összegzés 501 Gyakorlatok 502 14. Tranzakciók és zárak 503 Tranzakciók 503 BEGIN TRAN 505 COMMIT TRAN 505 ROLLBACK TRAN 505 SAVE TRAN 506 Az SQL Server napló működése 506 Hiba és helyreállítás 508 Zárak és konkurencia 510 xiii

Milyen problémákat oldhatunk meg zárakkal? 511 Zárolható erőforrások 515 A zár továbbterjedése és a zár hatásai a teljesítményre 516 Zárolási módok 517 Zárkompatibilitás 519 Egy adott zártípus megadása: optimalizálási tippek 520 Az izolációs szint beállítása 522 A holtpontok kezelése (aka A 1205 ) 525 Hogyan érzékeli az SQL Server a holtpont helyzeteket? 525 A holtpont áldozatának kiválasztása 526 A holtpontok elkerülése 526 Összegzés 529 15. Triggerek 531 Mi a trigger? 532 ON 534 WITH ENCRYPTION 534 A FOR AFTER és az INSTEAD OF klauzula 534 WITH APPEND 537 NOT FOR REPLICATION 537 AS 538 Triggerek használata adatintegritás-biztosítási szabályok esetében 538 A más táblából származó követelmények kezelése 538 A triggerek használata a módosítás különbségének ellenőrzésére 540 Egyedi hibaüzenetek a triggerek segítségével 542 A triggerek egyéb gyakori felhasználási lehetőségei 543 Egyéb kérdések a triggerekkel kapcsolatban 543 A triggerek egymásba ágyazhatók 543 A triggerek rekurzívak lehetnek 544 A triggerek nem akadályozzák meg az architektúraváltozást 544 A triggerek kikapcsolhatók anélkül, hogy eltávolítanánk őket 545 A triggerek kiváltási sorrendje 546 INSTEAD OF triggerek 548 Teljesítménymegfontolások 548 A triggerek reaktívak, nem proaktívak 548 A triggereknek nincs konkurenciaproblémája a kiváltó folyamatokkal 549 Az IF UPDATE() és COLUMNS_UPDATED használata 549 Röviden és velősen 552 Ne feledkezzünk el a triggerekről, mikor indexet választunk 552 Próbáljuk meg elkerülni a visszagörgetést triggeren belül 552 A triggerek eldobása 553 A triggerek hibakeresése 553 Összegzés 555 xiv

16. Egy rövid bevezetés az XML-be 557 XML-alapok 558 Egy XML-dokumentum részei 560 Névterek 569 Elemtartalom 571 Érvényesség és jól formáltság sémák és DTD-k 572 Mit hoz az SQL Server a konyhára? 573 Relációs adatok előhívása XML-formátumban 574 A RAW opció 577 Az AUTO opció 579 Az EXPLICIT opció 581 PATH 600 OPENXML 606 Néhány szó az XSLT-ről 614 Összegzés 616 17. Jelentkezem szolgálatra, Uram! Betekintés a Reporting Services-be 617 Reporting Services 101 618 Egyszerű jelentésmodellek építése 619 Adatforrásnézetek 624 Jelentés létrehozása 630 Jelentéskiszolgáló-projektek 634 A jelentés telepítése 639 Összegzés 640 18. Integrálódás az Integration Services segítségével 641 A probléma magja 641 Az alapcsomagok generálása az Import/Export varázsló segítségével 642 A csomagok végrehajtása 649 Az Execute Package segédprogram használata 649 Végrehajtás a Business Intelligence Development Studión belül 652 Végrehajtás a Management Studión belül 653 A csomag szerkesztése 653 Összegzés 656 19. Játsszunk rendszergazdát! 657 Munkák ütemezése 658 Operátor létrehozása 659 Munkák és feladatok létrehozása 661 Biztonsági mentés és helyreállítás 669 Biztonsági mentés, más néven dump készítése 670 xv

Helyreállítási modellek 673 Helyreállítás 674 Indexkarbantartás 676 ALTER INDEX 677 Adatarchiválás 679 Összegzés 680 Gyakorlatok 681 A függelék: A gyakorlatok megoldásai 683 B függelék: Rendszerfüggvények 695 Örökül maradt rendszerfüggvények (más néven globális változók) 696 Oszlopfüggvények 708 Kurzorfüggvények 711 Dátum- és időfüggvények 712 Matematikai függvények 716 Metaadatfüggvények 722 Rowset függvények 735 Biztonsági függvények 738 Sztringfüggvények 741 Rendszerfüggvények 748 Szöveg- és képmanipuláló függvények 759 C függelék: A megfelelő eszköz megkeresése 761 ERD-eszközök 761 Logikai és fizikai tervezés 762 Általános parancsprogramozás 763 Visszafejtés 763 Szinkronizálás 763 Makrók 765 Integráció más eszközökkel (kódgenerálás) 765 Egyebek 766 Néhány példa 767 Kódolási eszközök 767 Néhány példa 768 Mentést készítő segédprogramok 768 Néhány példa 769 Összegzés 769 D függelék: Egyszerű példák kapcsolódási lehetőségre 771 Néhány általános elv 771 Kapcsolódás a C#-nyelvben 772 Kapcsolódás a VB.NET esetén 774 xvi

E függelék: A mintaadatbázisok telepítése és használata 775 A könyvben használt mintaadatbázisok 775 A Microsoft által szolgáltatott adatbázisok 776 Szkript használatával létrehozott példák 778 Létrehozott példák 778 Tárgymutató 779 xvii