DB2 Bible

200
Ta ble Of Co ntents 1. PURP OSE AND SCOP E OF THE DOCUMENT.. ........................................... ......1 1.1. USERS OF THE  DOCUMENT............................................................................... 1 1.2. ASSOCIATED DOCUMENTS................................................................................ 1 2. INTRODUCTION............................................................................................... .......2 2.1. DATABASE MANAGEMENT SYSTEMS (DBMS )........ .......................................... 3 2.2. TYPES OF DBMS ............................................................................................. 4 2.2.1. Relatio nal DBMS.. ..... ............... ..... ................... ..... ......................... ..........4 2.2.2. HIERARC HICAL DBMS. ..... ................... ..... .................... ..... ............... .....6 2.2.3. Net W o rk DBMS ................... ..... .................... ..... ............... ......... ...............7 2.3. SAMPLE DB2 DATABASE................................................................................... 8 3. STRUCTURE OF DB2....... ..... .............................. ..... ...............................................9 3.1. HIERARCHY OF DAT A STRUCTURES................................................ ..................9 3.2. DATABASES...................................................................................................... 9 3.3. DB2 STORAGE GROUPS.................................................................................... 9 3.4. TABLE SPACES.................................................................................................. 9 3.4.1. Siml e ! a "le# a$e. .......... ..... ............... ..... ................... ..... ..... ................. ...% 3.4.2. Se&mente' ! a "le Sa$e ..... ............... ..... .................... ..... ...................... .....% 3.4.3. (art itione ' !a "le Sa $e.... .......... ..... ............... ..... ................................... ..% 3.5. TABLES............................................................................................................ 9 3.6. I  NDE SPACES.................................................................................................. 9 3.!. I  NDEES ........................................................................................................... 9 3.8. "IE#S.............................................................................................................. 9 3.9. SYNONYMS...................................................................................................... 9 3.1$. ALIASES........................................................................................................... 9 3.11. DB2 CATALOG.................................................................................................. 9 3.12. DB2 DIRECTORY .............................................................................................. 9 3.13. ACTI"E A  ND A RCHI"E LOGS............................................................................9 3.14. BUFFER  POOLS................................................................................................. 9 . DATA T!PES. ...........................................................................................................3 9 4.1. NUMERIC DAT A.............................................................................................. 39 4.1.1. N)ll# .......... .... ............... ..... ............... ..... ..... ............... ..... ........ ......... ........3% 4.2. STRING DAT A.................................................................................................. 39 4.3. CHARACTER  FORMAT ..................................................................................... 39 4.4. DATE%TIME DATA........................................................................................... 39 4.5. E&UI"ALENT COBOL DECLARATIONS OF DAT A TYPES....................................39 ". S#$ PRO%RAMMI N%... ............................. ..... .............................................. .......9 5.1. DDL STATEMENTS .......................................................................................... 51 *.1.1. Create Data "a#e ............... ..... ............... ..... .................... ..... .....................*1 *.1.2. Cre ate ! a "le Sa$ e.... ..... ..... .............. ..... .................... ..... ............... .........* 1 *.1.3. Create ! a "le. .................... ..... ........................................ .......... ................*1 *.1.4. Create +ie ,....... ..... .................... ..... ........................................ ..... ............*1 *.1.*. Cre ate In'e- ............... ..... .................... ..... ............... ..... .................... .......*1 *.1.6. Alter !a "le.. ..... .................... ..... ............... ..... ............... ..... ..... ............... ...*1 *.1.7. Dro ... ............... ..... ............... ..... .............. ..... ..... .............................. .......*1 5.2. DML STATEMENTS......................................................................................... 64 *.2.1. Sele$t .................... ..... ............... ..... .................... ..... .................................64 ©Case Consult (India) Pvt. Ptd. 03/1998 DB2 Fundamentals /var//a!!s/"onversion/tm!/s"rat"#$2/30389%&'&.do" i

Transcript of DB2 Bible

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 1/200

Table Of Contents

1. PURPOSE AND SCOPE OF THE DOCUMENT...................................................1

1.1. USERS OF THE DOCUMENT............................................................................... 11.2. ASSOCIATED DOCUMENTS................................................................................1

2. INTRODUCTION......................................................................................................2

2.1. DATABASE MANAGEMENT SYSTEMS (DBMS)..................................................32.2. TYPES OF DBMS............................................................................................. 4

2.2.1. Relational DBMS......................................................................................42.2.2. HIERARCHICAL DBMS...........................................................................6 2.2.3. Net Work DBMS........................................................................................7 

2.3. SAMPLE DB2 DATABASE...................................................................................8

3. STRUCTURE OF DB2..............................................................................................9

3.1. HIERARCHY OF DATA STRUCTURES..................................................................93.2. DATABASES...................................................................................................... 93.3. DB2 STORAGE GROUPS.................................................................................... 93.4. TABLE SPACES..................................................................................................9

3.4.1. Simle !a"le#a$e.....................................................................................%3.4.2. Se&mente' !a"le Sa$e.............................................................................%3.4.3. (artitione' !a"le Sa$e............................................................................%

3.5. TABLES............................................................................................................ 93.6. I NDE SPACES.................................................................................................. 93.!. I NDEES...........................................................................................................93.8. "IE#S.............................................................................................................. 9

3.9. SYNONYMS...................................................................................................... 93.1$. ALIASES........................................................................................................... 93.11. DB2 CATALOG..................................................................................................93.12. DB2 DIRECTORY.............................................................................................. 93.13. ACTI"E A ND ARCHI"E LOGS............................................................................93.14. BUFFER  POOLS................................................................................................. 9

. DATA T!PES............................................................................................................39

4.1. NUMERIC DATA.............................................................................................. 394.1.1. N)ll#........................................................................................................3%

4.2. STRING DATA.................................................................................................. 39

4.3. CHARACTER  FORMAT.................................................................................... .394.4. DATE%TIME DATA........................................................................................... 394.5. E&UI"ALENT COBOL DECLARATIONS OF DATA TYPES....................................39

". S#$ PRO%RAMMIN%..........................................................................................9

5.1. DDL STATEMENTS.......................................................................................... 51*.1.1. Create Data"a#e......................................................................................*1*.1.2. Create !a"le Sa$e..................................................................................*1*.1.3. Create !a"le............................................................................................*1*.1.4. Create +ie,..............................................................................................*1*.1.*. Create In'e-............................................................................................*1

*.1.6. Alter !a"le...............................................................................................*1*.1.7. Dro........................................................................................................*1

5.2. DML STATEMENTS......................................................................................... 64*.2.1. Sele$t.......................................................................................................64

©Case Consult (India) Pvt. Ptd. 03/1998 DB2 Fundamentals

/var//a!!s/"onversion/tm!/s"rat"#$2/30389%&'&.do"

i

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 2/200

*.2.2. oinin& !a"le#.........................................................................................64*.2.3. S)" /)erie#.............................................................................................64*.2.4. 0nion.......................................................................................................64*.2.*. In#ert.......................................................................................................64*.2.6. 0'ate.....................................................................................................64

*.2.7. Delete......................................................................................................645.3. CONTROL STATEMENTS................................................................................... 82

*.3.1. rant.......................................................................................................2*.3.2. Reoke.....................................................................................................2*.3.3. Commit....................................................................................................2*.3.4. Roll Ba$k.................................................................................................2

&. PRO%RAM STRUCTURE.....................................................................................'(

6.1. HOST "ARIABLES........................................................................................... 8!6.1.1. De$larin& Ho#t +aria"le#........................................................................7 

6.2. I NDICATOR  "ARIABLES...................................................................................8!

6.3. S&LCA..........................................................................................................8!6.4. COBOL STRUCTURE OF S&LCA.....................................................................8!6.5. S&LCA R  ETURN CODES.................................................................................8!6.6. S&LCA #ARNINGS........................................................................................ 8!6.!. IMPORTANT S&L CODES................................................................................. 8!6.8. STATIC S&L.................................................................................................... 8!6.9. DYNAMIC S&L...............................................................................................8!6.1$. EAMPLE FOR  A DB2 APPLICATION PROGRAM...............................................8!

(. PRO%RAM PREPARATION...............................................................................122

!.1. STEPS I N PROGRAM PREPARATION................................................................122!.2. DCLGEN (DECLARATIONS GENERATOR  )......................................................122!.3. PRECOMPILE.................................................................................................122!.4. BIND............................................................................................................ 122

7.4.1. Bin'in& A DBRM !o A (a$ka&e............................................................1227.4.2. Bin'in& An Ali$ation (lan................................................................122

!.5. COMPILE A ND LIN'EDIT...............................................................................122!.6. O"ER"IE# OF DB2 APPLICATION PROGRAM PREPARATION A ND EECUTION

122!.!. ASSOCIATING LOAD MODULES A ND PAC'AGES............................................122

'. SECURIT! FEATURES.......................................................................................1)

8.1. PRI"ILEGES...................................................................................................14$8.2. R  EFERENTIAL I NTEGRITY..............................................................................14$

.2.1. DB2 Enor$ement 5 Reerential Inte&rit...........................................14.2.2. Reerential Inte&rit Enor$ement R)le#...............................................14.2.3. E-amle 8or Reerential Inte&rit +iolation.........................................14

8.3. DATABASE R ECO"ERY I N CASE OF FAILURE................................................14$.3.1. 0nit 5 Re$oer...................................................................................14.3.2. Data Re$oer.......................................................................................14

9. CONCURRENC!..................................................................................................1"(

9.1. CONCURRENCY............................................................................................ 15!9.2. LOC'ING STRATEGY..................................................................................... 15!

9.3. LOC'  SIES A ND TYPES............................................................................... 15!9.4. AC&UIRE R ELEASE PARAMETERS..................................................................15!9.5. ISOLATION PARAMETER ................................................................................ 15!

©Case Consult (India) Pvt. Ptd. 03/1998 DB2 Fundamentals

/var//a!!s/"onversion/tm!/s"rat"#$2/30389%&'&.do"

ii

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 3/200

1). DB2I *DB2 INTERACTI+E ,..........................................................................1&(

1$.1. DB2I............................................................................................................ 16!1$.2. SPUFI..........................................................................................................16!

11. UTI$ITIES.........................................................................................................1(1

11.1. LOAD........................................................................................................... 1!111.2. R  UNSTATS..................................................................................................... 1!111.3. R  EORG..........................................................................................................1!1

12. AD+ANCED DB2..............................................................................................1(9

12.1. MORE ABOUT I NDEES.................................................................................1!912.1.1. E-amle 5 An In'e-............................................................................17%12.1.2. Cl)#tere' In'e-e#..................................................................................17%12.1.3. Non Cl)#tere' In'e-e#..........................................................................17%

12.2. SPECIAL R EGISTERS......................................................................................1!912.3. MORE ABOUT LOC'S.................................................................................... 1!9

12.3.1. Mo'e# 5 !a"le An' !a"le#a$e Lo$k#.................................................17%12.3.2. Mo'e# 5 Ro, An' (a&e Lo$kin&........................................................17%12.3.3. Lo$k Mo'e Comati"ilit 5 !a"le An' !a"le Sa$e Lo$k#.................17%12.3.4. Lo$kmo'e Comati"ilit 5 Ro, An' (a&e Lo$k#...............................17%

12.4. I N"O'ING O NLINE UTILITIES........................................................................ 1!9

©Case Consult (India) Pvt. Ptd. 03/1998 DB2 Fundamentals

/var//a!!s/"onversion/tm!/s"rat"#$2/30389%&'&.do"

iii

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 4/200

1. P-/ose an0 So/e of te Do-ent

T* P+,-/* 0 / +* / ,7 0,*/ S07,* E**,/ +: :;* *07:7,<* DB2 7 7/ 7 ,*0*,** 7*,7: 0, 7--:7 -,,7*,/.

1.1. Uses of te Do-ent

T/ +* / ** 0, 77=7/* */*,/> 77=7/* 7--:7 -,,7*,/>/+*/ 7 *7*,/ 7 ,* **,7::? 7?* /*/ =,7* / , *, ;:** 0 * 77=7/*> DB2.

1.2. Asso4ate0 Do-ents

 N 7//7* +*/

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 5/200

2. Into0-t4on

DB2 * IBM DATABASE2 , / 7 :? /+*//0+: ,*:77: 77=7/* 77** /?/*.DB2  *7=:*/ @/ +/*,/ ,*7*> +-7* 7 ,: ,*:77: 77=7/* +/

STRUCTURED #UER! $AN%UA%E *S#$,. D*/* ** * **/ 0 /7:: 7:7,* =+/*// 7:;*> DB2 / 77:7=:* 7 +=*, 0 -:70,/. * :: =* *7: DB2  M+S.

RISC S!STEM5&)))

  DB2 FOR DB2 FOR OS52

AI6

DB2 FOR DB2 FOR DB2 FOR  

  HP7U6 SO$ARIS 8INDO8S 5NT

DB2 FOR   SINI6

DB2 FOR   M+S DB2 FOR  

OS5))

DB2 FOR +SE +M

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 6/200

2.1. Database Mana:eent S;stes *DBMS,

DATABASE MANA%EMENT S!STEMS *7: * -,=:* 0 /, 7,*,* :7,* 7+/ 0 77. DBMS -,*/ 7 *,* /7,* 77 7 @/

+/*,/. P,*/*, * ,,**// 0 77 7 ,*/, * 77=7/* 07:+,* 7,* 7, *,/ 0, DBMS.

DBMS

♦DBMS CONSIST OF DATA< HARD8ARE< SOFT8ARE AND USERS

♦ BENEFITS OF DBMS ARE

  REDUCE REDUNDANC!

A+OID INCONSISTENC!

  SHARE DATA

MANIPU$ATES DATA EFFICIENT$!

 

FAU$T TO$ERANT

  DATA INDEPENDENCE

 

DATA

  DATABASE 

APPLICATION PROGRAM

QUERY PROCESSOR

 

STORAGE MANAGER 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 7/200

2.2. T;/es Of DBMS

D*-* 77 *:/ +/*> 77=7/* 77** /?/*/ 7,* 7:? * ,**.

♦ RELATIONAL DBMS

♦ HIERARCHICAL DBMS

♦  NET#OR' DBMS

2.2.1. Relat4onal DBMS

DB2 / =7/* ,*:77: 77 *: 7/ 0,+:7* =? DR. E.F CODD 19().R*:77: /?/*/ 7* *, , * 7*77: *,? 0 ,*:7/. U/ ,*:77:

77 *: > IBM **:-* DB2  19'3.

A RE$ATIONA$ S!STEM IS A S!STEM IN 8HICH

♦ THE DATA IS PERCEI+ED B! THE USER AS TAB$ES

♦ #UERIES ARE USED TO E6TRACT DATA FROM THE DATABASE.

♦ A$$ DATA +A$UES ARE ATOMIC. 4e E+ER! RO8 AND CO$UMN

POSITION CONTAINS ON$! ONE DATA +A$UE= NE+ER A $IST OF+A$UES

♦ E6AMP$E OF RE$ATIONA$ DBMS IS DB2

SAMP$E DATABASE FOR COMPARIN% DIFFERENT DBMS

TAB$E S TAB$E SP

  S SNAME STATUS CITY S P &TY

  S1 SMITH 2$ LONDON S1 P1 3$$  S2 ONES 1$ PARIS S1 P2 2$$  S3 BLA'E 3$ PARIS S1 P3 4$$

  S2 P1 3$$  S2 P2 4$$

TAB$E P S3 P2 2$$

  P PNAME COLOR #EIGHT CITY

  P1 NUT RED 12 LONDON  P2 BOLT GREEN 1! PARIS  P3 SCRE# BLUE 1! ROME  P4 SCRE# RED 14 LONDON

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 8/200

♦ TABLE S ,*-,*/*/ SUPPLIERS. E7 /+--:*, 7/ 7 ++* SUPPLIER NUMBER 

(S)> 7 SUPPLIER NAME (SNAME)> 7 RATING (STATUS) 7 7 LOCATION OFTHE SUPPLIER (CITY).

♦ TABLE P ,*-,*/*/ PARTS. E7 ; 0 -7, 7/ 7 ++* PART NUMBER (P)> 7

PART NAME (PNAME)> 7 COLOUR (COLOR)> 7 #EIGHT (#EIGHT) 7 7:7 *,* * PART IS STORED (CITY).

♦ TABLE SP ,*-,*/*/ SHIPMENTS. I */ *, 7=:*/. I REPRESENTS 7

/-* 0 -7,/ 0 ; P1 =? * /+--:*, 7::* S1 7 * /-* +7?.

♦ I 7 ,*:77: 77 *: TABLES 7,* 7::* RELATIONS> RO#S 7,* 7::*

TUPLES 7 COLUMNS 7,* ,*0*,,* 7/ ATTRIBUTES.

♦ I 7 ,*:77: 77 * 7//7 0 RO#S 0 00*,* TABLES 7,* * +/

COLUMN "ALUES 0 :+/.

♦ DB2 ,*:7*/ TABLE S 7 SP +/ * COLUMN SUPPLIER NUMBER(S).

TABLE P 7 SP 7,* ,*:7* +/ * COMMON 7,=+* PART NUMBER (P).TABLES S 7 P 7,* ,*:7* +/ COLUMN (CITY)

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 9/200

2.2.2. HIERARCHICA$ DBMS

H4ea4al +4e> Of S-//l4e An0 Pats Database

I *,7,7: 77=7/* /+--:*,/> -7,/ 7 /-*/ 7,* 00*,* 77=7/*/

SUPP$IERS DATABASE PARTS DATABASE

S1 P1S2 ..

SMITH NUT

ONES

2$ RED 12 LONDON1$

  LONDON SHIPMENTS DATABASE

  PARIS SHIPMENT SEGMENT

LCHILD

♦ I / * 77 / ,*-,*/** =? 7 /-:* TREE STRUCTURES 7 DBMS :;/

*/* 77 =7/*/ +/ -*,/.

♦ T* +/*, /**/ ,** +7: ,**/ 0, /+--:*, 77=7/*> *7 ,** 7/ 7 -7,*

/+--:*,. E7 ,** 7 =* 7::* 7 /+--:*, ,*, +,,**. S:7,:? ?+ 7 /**

 -7, ,*, +,,** 7 /-* ,*, +,,**.

♦ S-* 77=7/* 7/ * /-* +7?. T* :7: : 0 /-*

77=7/* /// 0 /+--:*, +=*, > -7, +=*, 7 -*,/ ,,*/-77=7/*/ .S:7,:? * /+--:*, 7 -7,/ 77=7/*/ 7:/ 7/ :7: :

 -/ * /-* 77=7/*. N * +/*, 7 7*// /-* 0, /+--:*, 7 -7, 77=7/*/. S:7,:? -7,/ 7 /+--:*, 77=7/*/ 7,* 7:/ 7*//* 0, /-*77=7/*

♦ IMS (I0,7 77** /?/*) / 7 *7-:* 0 H*,7,7: DBMS

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 10/200

2.2.3. Net 8o? DBMS

  SUPP$IER PART RECORD

RECORD SET SET

  S1 SMITH.. P1 NUT ..

  S2 ONES.. P2 BOLT.

&UANTITY RECORDS

3$$

4$$

.

♦  NET#OR' DBMS /// 0 *, 77=7/*/ 7 *=*, 77=7/*/. T* *=*, 

77=7/* 7 =* 7*//* :? 7 * *, 77=7/*.

♦ I * *7-:* *,* 7,* *,/ 0, 7 *=*, 77=7/*. S+--:*, 7 -7, ,*,

/*/ 7,* *,/ 0 /-* ,*, /*. U/ / 77=7/* * +/*, 7 7*// */-* 0 7 -7,+:7, -7, =? 7 /-*0 /+--:*,

♦ T* /+--:*, S1 /+--:*/ -7, P1 0 +7? 3$$. F, * /+--:*, S1 *,* / 7

 -*, 7,/ * /+--:* +7? 7 7*, -*, */ / *,,*/- -7,. A *, 7 7* ,* 7 * -*, 7,/ 00*,*+7*/.

♦ E7-:* 0 *,; 77=7/* / IDMS(I*,7* 77=7/* 77** /?/*)

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 11/200

2.3. Sa/le Db2 Database

T* /7-:* 77=7/* /// 0 THREE 7=:*/ 7 */* 7=:*/ 7,* +/* ,+ + /

 =;.

TAB$E S TAB$E SP

  S SNAME STATUS CITY S P &TY

  S1 SMITH 2$ LONDON S1 P1 3$$  S2 ONES 1$ PARIS S1 P2 2$$  S3 BLA'E 3$ PARIS S1 P3 4$$  S4 CLAR' 2$ LONDON S1 P4 2$$  S5 ADAMS 3$ ATHENS S1 P5 1$$

  S1 P6 1$$

  S2 P1 3$$TAB$E P S2 P2 4$$

  S3 P2 2$$  P PNAME COLOR #EIGHT CITY S4 P2 2$$

  S4 P4 3$$  P1 NUT RED 12 LONDON S4 P5 4$$  P2 BOLT GREEN 1! PARIS

P3 SCRE# BLUE 1! ROME  P4 SCRE# RED 14 LONDON  P5 CAM BLUE 12 PARIS  P6 COG RED 19 LONDON

♦ TABLE S ,*-,*/*/ SUPPLIERS. E7 SUPPLIER 7/ 7 ++* SUPPLIER 

 NUMBER (S)> 7 SUPPLIER NAME (SNAME)> 7 RATING (STATUS) 7 7 :70 * SUPPLIER (CITY). PRIMAR! @E! IS S.

♦ TABLE P ,*-,*/*/ PARTS. E7 ; 0 -7, 7/ 7 ++* PART NUMBER (P)> 7

PART NAME (PNAME)> 7 COLOUR (COLOR)> 7 #EIGHT (#EIGHT) 7 7LOCATION *,* * PART IS STORED (CITY).

PRIMAR! @E! IS P 

♦ TABLE SP ,*-,*/*/ SHIPMENTS .I */ *, T#O TABLES .I ,*-,*/*/ 7

SHIPMENT 0 PARTS OF 'IND P1 =? * SUPPLIER 7::* S1 7 * SHIPMENT&UANTITY. F, 7 * SHIPMENT * =7 0 S 7 P / ++* .T7 /* PRIMARY 'EY / * COMBINATION 0 * 7=* ** 7 *FOREI%N @E!S ARE S AND P

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 12/200

3. St-t-e Of DB2

T/ 7-*, *7:/ * *0/ 7 *7-:*/ 0 =*/ -,*/* DB2.T* -/:+* / 7-*, 7,*

3.1. H4ea; Of Data St-t-es

3.2. Databases

3.3. DB2 Stoa:e %o-/s

3.. Table S/aes

3..1. S4/le Tables/ae

3..2. Se:ente0 Table S/ae

3..3. Pat4t4one0 Table S/ae

3.". Tables

3.&. In0e S/aes

3.(. In0ees

3.'. +4e>s

3.9. S;non;s

3.1). Al4ases

3.11. DB2 Catalo:

3.12. DB2 D4eto;

3.13. At4e An0 A4e $o:s

3.1. B-ffe Pools

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 13/200

STRUCTURE OF DB2

THE E$EMENTS OF DB2 ARE DI+IDED INTOT8O BROAD CATE%ORIES

DATA STRUCTURES S!STEM STRUCTURES

♦ DATA STRUCTURES CONTAIN USER DATA AND ARE ACCESSED

UNDER USERS DIRECTION.

♦ S!STEM STRUCTURES ARE CONTRO$$ED AND ACCESSED B! DB2

♦ DATA STRUCTURES CONSIST OF

• DATABASES

• DB2 STORA%E %ROUPS

• TAB$E SPACES

• TAB$ES• INDE6 SPACES

• INDE6ES

• +IE8S

• S!NON!MS

• A$IASES

♦ S!STEM STRUCTURES MAIN$! CONSIST OF

• DB2 CATA$O%

• DB2 DIRECTOR!

• ACTI+E AND ARCHI+E $O%S

• BUFFER POO$S

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 14/200

HIERARCH! OF DATA STRUCTURES

 

DB*+ D1

  B,+ *PC+ *1

  B,+ 1 B,+ 2

  I-D+ 1

  I-D+ 2

  B,+ 3  PII-+D P 1  B,+*PC+  *2 B,+ 3 

P 2 

PII-+D  I-D+ 3  P 1

  PII-+D  I-D+ 3  P 2

 

*+ P1

  ,4+ 1  (D*D)

  ,4+ 2  (D*D)

*+P 2

  ,4+2  (3380)

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 15/200

H4ea; Of Data st-t-es

♦ T* 7: ::* 0 /,* 77 / * 7 +=*, 0 / 77=7/*/. T*?

7,* USER DATABASES 7 S!STEM DATABASES.

♦ E7 77=7/* / * 7 +=*, 0 / /-7*/@> 7 / /**,7:TABLESPACES 7 INDE SPACES. A /-7* / 7 ?77::? **=:* ::*0 PAGES> *,* PAGE / 7 =:; 0 -?/7: /,7*.

♦ E7 7=:* /-7* 7/ * , ,* /,* 7=:*/. A /,* 7=:* 7/ 7 /* 0 

/,* ,*,/. A * /,* 7=:* +/ =* ::? 7* 7 /:* 7=:*/-7*.

♦ E7 INDESPACE 7/ *7:? * *. A * * +/ =* ::?

7* 7 /:* * /-7*. A * /,* 7=:* 7 7:: 0 / 7//7***/ +/ =* ::? 7* 7 /:* DATABASE.

♦ E7 /-7* (TABLE SPACE , INDE SPACE) 7/ 7 7//7* STORAGE

GROUP. #* 7 /-7* **/ =* ***> /,7* / 7+,* 0, 7--,-,7*/,7* ,+-.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 16/200

DATA BASES

DATABASE1

♦DATABASE IS A CO$$ECTION OF A NUMBER OF TAB$E SPACES A$ON%

8ITH A SET OF INDE6 SPACES

♦A STORED TAB$E AND A$$ OF ITS ASSOCIATED INDE6ES MUST BE IN A

SIN%$E DATABASE

♦8HEN !OU CREATE A TAB$ESPACE OR TAB$E AND DO NOT SPECIF!

THE DATABASE THE OBECT 8I$$ BE CREATED IN THE DEFAU$T

DATABASE DSNDB)

 

TABLESPACE1 

INDEX 1 TABLE 1 TABLE 2 

INDEX 2

  TABLESPACE 2

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 17/200

DB2 STORA%E %ROUPS

STORA%E %ROUP 1

♦ USER AND S!STEM DATABASES ARE PH!SICA$$! STORED IN THE

DATASETS OF SPECIFIED STORA%E %ROUPS

♦ STORA%E %ROUP IS A SET OF +O$UMES OF DIRECT ACCESS STORA%E

DE+ICES*DASD,.

♦ PARTS OF SIN%$E DATABASE CAN BE STORED IN DIFFERENT

STORA%E %ROUPS

♦ DEFAU$T STORA%E %ROUP IS S!SDEF$T

 

VOLUME 1 VOLUME 2

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 18/200

TAB$E SPACES

TAB$ESPACE 1

SIMP$E SE%MENTED PARTITIONED

♦ TAB$ESPACE IS MADE UP OF ONE OR MORE +SAM $INEAR DATASETS

*$DS ,< 8HERE ONE OR MORE TAB$ES ARE STORED.

♦A TAB$E SPACE IS DI+IDED INTO @ OR 32@ PA%ES.

♦ A PA%E IS A UNIT OF I5O TRANSMISSION.

♦ A PA%E MA! CONTAIN ONE OR MORE RO8S *MA6 12(,.

♦ A RO8 MUST $IE 8ITHIN A PA%E.

 

TABLE 1

  TABLE 2

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 19/200

Table S/aes

A TABLE SPACE 7 =* + 0 7/ 7 :7: 7,*// /-7* /*7,? /,7* 7 / : * , ,* /,* 7=:*/. T7=:* /-7*/ 7,* * *+7: /<* +/ 7::*PAGES 7,* ,* , ,*7 0, DASD. T7=:*/ 7,* -?/7::? /,* * , ,*

"ASM :*7, 77/*/.

A 7=:* /-7* 7 /// 0 1 to & +SAM 77/*/ 7 **, 7 +- &

%I%AB!TES 0 77. #* ?+ ,*7* 7 7=:* /-7* ?+ 7 /-*0? * 77=7/* 7/,7* ,+- * 7=:*/-7* =*:/ 7 7=:* /-7* ?-*. A/ * 7+ 0 77 7=:*/ , /,7* :: =* 7+,* 0, 7--,-,7* /,7* ,+-/ 7 7* *7=:*/-7*.

F+7*7::? * 7=:* /-7* / 7 /,7* + 0, ,**,? 7 ,*,7<7. I0 * 7=:*/-7* / *,? :7,* * RECO"ERY 7 REORGANIATION +: 7;* 7 : *.H** 7; * 7=:*/-7* /-:*> /***> , -7,* 7 ,7/7::? 700* *

 -*,0,7*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 20/200

SIMP$E TAB$ESPACE

SIMP$E TAB$ESPACE

FREE  PA%E

  FREE  SPACE

PA%E

RECORD OF TAB$E 1

RECORD OF TAB$E 2

♦ SIMP$E TAB$ESPACE CONTAINS ONE OR MORE TAB$ES

♦ RECORDS OF DIFFERENT TAB$ES ARE STORED IN AN INTER$EA+ED

MANNER.

♦ IMPRO+E ACCESS TIME FOR $O%ICA$$! RE$ATED DATA

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 21/200

S4/le Tables/ae

I /-:* 7=:* /-7* ,*,/ 0 7=:*/ 7,* *,:*7* .R*,/ 0 00*,* 7=:*/ 7? =* -,*/* 7 /:* -7* 7 0 7:: ,/ 0 7 7=:* 7 /7 0 * :* 7=:* /-7* /***. B+ =? :7 * 77 7 7--,-,7*:? *,:*7* 7*, 7*// :7::?

,*:7* 77 :: =* ,* *00*.

I0 7 7=:* / ,--*> / ,/ 7,* *:**. T* /-7* +-* =? * ,/ */  =** 77:7=:* +: * 7=:* /-7* / ,*,7<*. A:: 7=:*/ 7 /-:* 7=:* /-7* +/,*/* * /7* +/*,J*0* 77 /* , * /7* /,7* ,+-.

* /,* 7=:* -*, 7=:* /-7* / 7:7?/ * / /7/07,? 7,,7** * 7/* 0 /-:* TABLE SPACE.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 22/200

SE%MENTED TAB$ESPACE

SE%MENT1

SE%MENT2

  PA%E SE%MENT3

TAB$E SPACE HA+IN% A SE%MENT SIE

RECORD OF TAB$E 1

RECORD OF TAB$E 2

♦ TAB$E SPACE IS DI+IDED INTO A NUMBER OF SE%MENTS.

♦ RECORDS OF DIFFERENT STORED TAB$ES ARE NOT INTER$EA+ED IN

A SIN%$E SE%MENT.

♦ A SE%MENTED TAB$E SPACE CAN CONTAIN ONE OR MORE TAB$ES.

♦ SE#UENTIA$ ACCESS TO A PARTICU$AR TAB$E IS MORE EFFICIENT.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 23/200

Se:ente0 Tables/ae

I 7 SEGMENTED TABLESPACE * 7=:*/-7* / * /**/ 7 *7/** /// 0 7 :7::? ++/ /* 0 N PA%ES. N +/ =* 7 +:-:* 0 4 * ,7* TO & 7 / /7* 0, 7:: /**/ * 7=:* /-7*. T* /<* 0 * /**

/ /-*0* :* ,*7 * 7=:*/-7*.

E7 /** * /*** 7=:*/-7* 7/ ,/ 0, :? * 7=:*. B+ *7=:*/-7* 7 7 +:-:* 7=:*/> 00*,* SEGMENTS. I ,*, 0 7 ,> / **//7,? /7 * *,* 7=:* /-7*> =+ :? * /**/ 7 7 * 7=:*.H** /*+*7: 7*// 7 -7,+:7, 7=:* / ,* *00*.

I0 7 7=:* 7 /*** 7=:* /-7* / ,--*> * /-7* 0, 7 7=:* 7 =* ,*+/*+ -*,0, 7 ,*,7<7 0 * 7=:* /-7*.

A /*** 7=:* /-7* 7 7* =*** 1 AND 32  "SAM :*7, 77 /*/. *

7+ /<* 0 7 77 /* * /*** 7=:* /-7* / 2 %I%AB!TES 7 /> *7+ /<* 0 7 /*** 7=:* /-7* / & %I%AB!TES .

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 24/200

PARTITIONED TAB$ESPACE

  AGF PARTITION1

  %GP PARTITION2

#G PARTITION3

RECORD OF TAB$E 1

♦ A PARTITIONED TAB$ESPACE CAN CONTAIN ON$! ONE TAB$E.

♦ EACH PARTITION CONTAINS A PART OF ONE TAB$E.

♦ THE PARTITIONS CAN BE INDEPENDENT$! ASSI%NED TO DIFFERENT

STORA%E %ROUPS.

♦ IMPRO+ED DATA A+AI$ABI$IT! AND #UER! RESPONSE TIME.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 25/200

Pat4t4one0 Tables/ae

PARTITIONED TABLESPACES 7,* ** 0, /,* 7=:*/ 7 7,* /+00*:? :7,*.P7,* 7=:* 7/ *7:? * /,* 7=:*> -7,* 7,7* 7:+*,7*/ 0 7 -7,+:7, :+ , :+ =7 .

A -7, 7 =* 1< 2< OR %I%AB!TES  :*> *-* * +=*, 0  -7,/ 7* * *,* 7=:* /-7*. I0 :? * -7, / *0* * 7=:*/-7*> * / MA6IMUM SIE IS %I%AB!TES.

P7, 7 7=:* /-7* -,*/ /**,7: 777*/ 0, :7,* 7=:*/. #* DB2 /7/77 7/*, 7 +*,? 7 /7 ,+ -7,/ /+:7*+/:? /*7 0 /7,+ * *,* 7=:* 0, * =* *.

A +:? 7 ,; 7:: -7,/ /+:7*+/:? /*7 0 ,; * -7, 7 7*. A:/> 00*,* +:*/ 7 ,; 00*,* -7,/ /+:7*+/:?. T/ 7

/07:? ,*+* * 7+ 0 * *** 0, 7 +:? 0/.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 26/200

TAB$ES

TAB$E S

@E! CO$UMNS

  S SNAME STATUS CIT!

  RO8S S1 SMITH 2) $ONDON  S2 ONES 1) PARIS

  S3 B$A@E 3) PARIS

  S C$AR@ 2) $ONDON  S" ADAMS 3) ATHENS

 

♦ A RE$ATIONA$ DATABASE STORES DATA IN THE FORM OF TAB$ES.

♦ TAB$E CONSISTS OF A NUMBER OF RECORDS.

♦ RECORD CONTAINS CO$UMNS< RO8S< @E!S et.

♦ EACH RECORD SHOU$D BE CONTAINED IN A SIN%$E PA%E BUT A

TAB$E CAN BE SPREAD O+ER PA%ES.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 27/200

+IE8S

BASE TAB$E AS IT E6ISTS +IE8 AS THE PRO%RAMSSTORA%E $O%IC SEES IT.

TAB$E S +IE8

S SNAME STATUS CIT! S STATUS CIT!

♦ A +IE8 CAN INC$UDE A$$ OR SOME OF THE CO$UMNS FROM ONE OR 

MORE BASE TAB$ES

♦ +IE8S ARE CREATED FOR BASE TAB$ES OR +IE8S OR ACOMBINATION OF +IE8S AND TAB$ES.

♦ +IE8S ARE $O%ICA$ REPRESENTATION OF DATA THAT E6ISTS IN

BASE TAB$ES.

♦ +IE8S ARE USED FOR SIMP$ICIT! AND SECURIT!.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 28/200

+4e>s

A "IE# / 7 7* 7=:* 7 / ,*-,*/**> =? / -?/7::? /*-7,7*>/+/7=:* /,* 77> =+ ,7*, =? / *0 *,/ 0 *, 7* 7=:*/."IE#S 7,* ,*7* 0, =7/* 7=:*/ , */ , 7 =7 0 */ 7 7=:*/.

#* ?+ *0* 7 * DB2 /,*/ * *0 0 * * * DB2 77:. D77 / -?/7::? -,*/* =7/* 7=:*/ :? 7 */. #* 7 * / 7*//* * 77 /?77::? ,*,** 0, * =7/* 7=:*.

A0anta:es Of +4e>s

1. T*? -,* 7 *,7 7+ 0 :7: 77 *-*** ,*/,++, *77=7/*

2. T*? 7:: * /7* 77 =* /** =? 00*,* +/*,/ 00*,* 7?/.

3. A+7 /*+,? / -,* 0, 77 7 / -,*/* * =7/* 7=:* =? ,*7 7* /*/* 77 / /=:*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 29/200

INDE6 SPACES

INDE6 SPACE 1

  INDE6 1

♦ ON$! ONE INDE6 IS STORED IN AN INDE6 SPACE

♦ INDE6 SPACE IS AUTOMATICA$$! CREATED 8HEN THE

CORRESPONDIN% INDE6 IS CREATED.

♦ PA%ES IN AN INDE6 SPACE ARE @ B!TES IN SIE.

♦ INDE6 SPACE FOR PARTITIONED TAB$ESPACE ARE PARTITIONED.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 30/200

INDE6

INDE6 1

RID +A$UE

PA%E P

  T

♦ INDE6 CONSISTS OF T8O PARTS <RECORD ID *RID, AND INDE6ED

+A$UE.

♦ A TAB$E CAN HA+E AN! NUMBER OF ASSOCIATED INDE6ES.

♦ INDE6ES ARE USED TO IMPRO+E PERFORMANCE AND IN SOME CASES

TO ENSURE UNI#UENESS.

♦ IN THE E6AMP$E INDE6 IS USED TO FIND A RECORD *T, IN PA%E P.

  DB2 DETERMINES 8HETHER TO USE AN INDE6 OR NOT

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 31/200

In0ees

A * 7/ 7:+*/ 0, * , ,* 0 7 7=:*@/ :+/ 7 7 -*, * ,*, 7 77 7*/ * * 7:+*. DB2 :: 0 77 ,* *00*:? =? /7 ** 7 0:: * -*, 7 =? /7 * *,* 7=:*/-7*.

R*, ID 0 * 7/ -7,/. F,/ -7, / *0? * -7* *,* * ,*, :*/7 * /* -7, / * =?* 00/* 0, * = 0 * -7* *0? * ,*,.I* / /,++,* 7/* , */* /*+** * , ,* :+/. A *7:+* 0 *,*/ 7 =* :7* +;:? * * =*7+/* 0 *, 7/* , */* /,++,*.

A * ,*7* 7 7=:* 7 -7,* 7=:* /-7* / 7 -7,* * 7 / * +:-:* * /-7*/.

I**/ 7,* 0 ?-*/> ++* 7 ++* **/. A ++* * 7 ,*0*,**

+-:7* 7:+*/> 7 UNI&UE INDE :: . Y+ 7 ,*7* 7 * 7? * 70*, ?+,*7* * 7=:*. B+ ,*7 7 * =*0,* :7 * 77 -,*/ /07

 -*,0,7* 777*/.

I**/ 7 =* :+/*,* , :+/*,*. A :+/*, * / * * ,*,/ 7,* -?/7::? /,* 77 -7*/ * /*+*7: ,*, 0 *, * 7:+*/. T* * /+/* ,: -?/7: -:7** 0 * ** ,*,/. N*:? /*,* ,*,/ 7,*

 -?/7::? /,* /+ 7 * -?/7: /*+** 0 /* ,*,/ /,7* :/*:?7--,7*/ * :7: /*+** 7/ *0* =? * *. I 7 :+/*,* * *,*,/ :: =* * ,*, 0 * 7:+*/.

A 7=:* 7 7* 7? +=*, 0 **/ =+ 7 7* :? * :+/*,* *.C:+/*, / *,**:? -,7 0, -<7 -+,-/*. T* -<*, :: ,? /* 7 7*// -7 =7/* * :+/*, * .

F, *7:* *-:77 0 **/ -:*7/* ,*0*, M,* 7=+ **/@> 7-*, 12.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 32/200

A$IASES

♦ AN A$IAS IS AN A$TERNATI+E NAME FOR A TAB$E OR +IE8. IT IS A

#UA$IFIED NAME THAT CAN BE USED B! AN! AUTHORIATION ID.

♦ AN A$IAS CAN BE DEFINED FOR A TAB$E OR +IE8 THAT 8AS

CREATED B! SOME OTHER USER AND FOR 8HICH !OU 8OU$DOTHER8ISE HA+E TO USE A FU$$! #UA$IFIED NAME

♦ A$IASES 8ERE DESI%NED FOR A DISTRIBUTED EN+IRONMENT TO

A+OID HA+IN% TO REFERENCE THE $OCATION #UA$IFIER OF TAB$EOR +IE8

♦ A$IAS IS NOT PRI+ATE TO THE CREATOR 

 

AN A$IAS CAN BE DEFINED ON AN UNDEFINED NAME. THAT IS THE

OBECT ON 8HICH THE A$IAS IS CREATED NEED NOT BE PRESENT ATTHE CREATION TIME

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 33/200

Al4ases

A:7/*/ 7,* +/*0+: 0, ,*7 *70+: 7*/ 0, TABLES 7 "IE#S. ALIASES 7,*,*7* +/ CREATE ALIAS /7**. O* +/*, 7 +/* 7 ALIAS ,*7* =? 7*, +/*, /* 7:7/*/ 7,* -,7* * ,*7, 

EAMPLE

S+--/* +/*, ALPHA ,*7*/ 7 7=:* 7::* SAMPLE.

CREATE TABLE SAMPLE

T* 0+::? +7:0* 7* 0 * 7=:* SAMPLE / ALPHA.SAMPLE 7 7*, +/*, BETA 7 ,*0*, * 7=:* /7-:* =? / 0+::? +7:0* 7*.

SELECT K

FROM ALPHA.SAMPLE

T* +/*, BETA 7 ,*7* 7 7:7/ 7::* TEST 0, * 7=:* ALPHA.SAMPLE +/,*7* /7**.

CREATE ALIAS TEST FOR ALPHA.SAMPLE

A * 7 ,*0*, * 7=:* SMPLE ,*7* =? ALPHA =? /-:? ,*0*,, *7:7/ TEST

SELECT K

FROM TEST

A*, +/*, GAMMA 7 7:/ +/* BETA@S ALIAS TEST ,*0*, ALPHA@SSAMPLE 7=:*.

SELECT K FROMBETA.TEST

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 34/200

S!NON!MS

♦ S!NON!MS ARE USEFU$ FOR CREATIN% MORE MEANIN%FU$ NAMEFOR A PERSON USIN% A TAB$E OR +IE8

♦ A S!NON!M IS AN UN#UA$IFIED NAME THAT CAN ON$! BE USED B!

THE AUTHORIATION ID THAT CREATED IT.

♦ A S!NON!M IS PRI+ATE TO THE USER 8HO CREATES IT

♦ S!NON!M CANNOT REFER TO REMOTE TAB$E IN A DISTRIBUTED

DATA EN+IRONMENT

♦ A S!NON!M CAN ON$! BE DEFINED ON THE NAME OF AN E6ISTIN%

TAB$E OR +IE8.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 35/200

S;non;s

A SYNONYM :;* 7 ALIAS / 7 7:*,7* 7* 0, 7 7=:*. C,*7 7 SYNONYM 0, 7 7=:* , * :: 7:: * ,*7, ,*0*, /* 7=:*/ 7 */ =? * ,**70+: /?? ,*7* =? .

EAMPLE

S+--/* +/*, ALPHA ,*7*/ 7 7=:* 7::* SAMPLE.

CREATE TABLE SAMPLE

T* 0+::? +7:0* 7* 0 * 7=:* SAMPLE / ALPHA.SAMPLE 7 7*, +/*,BETA 7 ,*0*, * 7=:* /7-:* =? / 0+::? +7:0* 7*.

SELECT K

FROM ALPHA.SAMPLE

T* +/*, BETA 7 ,*7* 7 SYNONYM 7::* TEST 0, * 7=:* ALPHA.SAMPLE+/ ,*7* /7**.

CREATE SYNONYM TEST FOR ALPHA.SAMPLE

A * 7 ,*0*, * 7=:* SAMPLE ,*7* =? ALPHA =? /-:? ,*0*,, *SYNONYM TEST

SELECT K

FROM TEST

H**, * +/*, BETA 7 7=:* ALPHA.SAMPLE +/ =* 7 * /7* /*. A:/ *7* TEST / -:**:? -,7* * +/*, BETA. A*, +/*, GAMMA 7 +/** /?? ,*7* =? BETA 7 0 7/ 7 /?? /+: =* ,*7* ALPHA.SAMPLE.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 36/200

DB2 CATA$O%

  DB2 CATA$O% CONSISTS OF TAB$ES 8HICH CONTAIN

INFORMATION ABOUT OBECTS DEFINED UNDER THE

DB2 S!STEM . 8HEN A NE8 TAB$E IS CREATED

  CATA$O% TAB$ES ARE UPDATED . THE! ARE

  S!SIBM.S!STAB$ES < S!SIBM.S!SCO$UMNS .

  S!SIBM.S!STAB$ESPACE < S!SIBM.S!STABAUTH

♦ E6AMP$ES OF CATA$O% TAB$ES

• S!SIBM.S!STAB$ES

CONTAINS INFORMATION OF A TAB$E. 8HEN A NE8 TAB$EIS CREATED DB2 INSERTS ONE RO8 INTO THIS CATA$O%TAB$E.

• S!SIBM.S!SCO$UMNS

CONTAINS INFORMATION ABOUT THE CO$UMNS IN A TAB$E.THIS TAB$E CONTAINS ONE RO8 FOR E+ER! CO$UMN OFEACH RO8 IN A TAB$E .

• S!SIBM.S!STAB$ESPACE

CONTAINS INFORMATION OF THE TAB$E SPACE CREATED.THIS TAB$E CONTAINS ONE RO8 FOR EACH TAB$ESPACE.

• S!SIBM.S!STABAUTH

CONTAINS INFORMATION OF THE TAB$E NAMES ANDAUTHORIATION IDs 8HICH HA+E PRI+I$E%ES ON THAT

TAB$E 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 37/200

DB2 Catalo:

T* CATALOG DB2 / 7 /?/* 77=7/* 7 7/ 0,7 *, 7,+/=*/ 7 7,* 0 *,*/ DB2 /*:0. E7-:*/ 0 /+ =*/ 7,* 7=:*/> */>**/> 77=7/*/> -:7/> -7;7*/> 7*// -,:**/> 7 / . T*/* 0,7 /

*//*7:> 0 * /?/* / 7=:* @/ = -,-*,:?.

CATALOG /*:0 7/ TABLES 7 ?+ 7 /** * */ 0 77: 7=:*/ +/,7: +*,? :7+7* ( S&L ). #* ?+ ,*7*> ,- , 7:*, 7? /,++,*> DB2 +-7*/, *:**/ ,/ 0 * 77: 7 */,=* * /,++,*.

DBA / 7 7--:7 -,,7*,/ 7? +/* 77: 7=:*/ **,*

♦ # 7--:7 -:7 7 -7;7*/ +/* **/

♦ # 7=:*/-7*/> 7=:*/ 7 **/ 7,* 7 77=7/*

♦ A *@/ /,++,*> **, ++* , :+/*,* , * +=*, 0 :**:/ -,*/* 7

*

♦ T* 7+ 0 -?/7: /-7* +/* 7 ,*7

♦ # ,*7* 7 =* 7 / .

♦ # -:7/ 7 -7;7*/ +/* =*/ 7 77=7/*.

♦ # 7/ 7+,<7 ,*7* =*/

♦ # -:7/ 7 -7;7*/ +/* 7=:*/ 7 7=:*/ 7 */

♦ # /??/ 7 7:7/*/ 7* =** ,*7* 7=:*/ 7 */

♦ # / 7+,<* **+* -:7/ 7 -7;7*/ *

O-<*, -* 0 = :: +/* 77: 0,7 /* =*/ 7*// /,7*?.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 38/200

DB2 DIRECTOR!

  DB2 DIRECTOR! CONTAINS INFORMATION

RE#UIRED TO START DB2 AND DB2 USES

  THE DIRECTOR! DURIN% NORMA$ OPERATION.

  DB2 DIRECTOR! CONSISTS OF A SET OF DB2

TAB$ES STORED IN " TAB$E SPACES IN S!STEM

DATABASE DSNDB)1.

♦ S@E$ETON CURSOR TAB$ESPACE *SCT)2, CONTAINS P$ANS

♦ S@E$ETON PAC@A%E TAB$E *SPT)1, CONTAINS PAC@A%ES

♦ $O% RAN%E TAB$E SPACE *S!S$%RN6, CONTAINS THE RBA

*RE$ATI+E B!TE ADDRESS , THE $O% DATASET

♦ S!STEM UTI$ITIES TAB$E SPACE *S!SUTI$6, CONTAINS THE

INFORMATION ABOUT RUNNIN% UTI$ITIES

♦ THE DATABASE DESCRIPTOR TAB$E SPACE *DBD)1, CONTAINS

INTERNA$ CONTRO$ B$OC@S THAT DESCRIBE THE DATABASESE6ISTIN% 8ITHIN DB2.

♦ CANNOT ACCESS DIRECTOR! USIN% S#$ 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 39/200

ACTI+E AND ARCHI+E $O%S

DB2 RECORDS A$$ DATA CHAN%ES AND SI%NIFICANTE+ENTS IN A $O% AS THE! OCCUR 

DB2 8RITES EACH $O% RECORD TO A DASD DATA SETCA$$ED THE ACTI+E $O%.

8HEN THE ACTI+E $O% IS FU$$< DB2 COPIES THE CONTENTSOF THE ACTI+E $O% TO A DASD CA$$ED THE ARCHI+E $O%

♦ IN THE CASE OF FAI$URE DB2 USES $O%S TO RECO+ER DATA.

♦ THE ARCHI+E $O% CAN CONSIST OF UP TO 1))) DATA SETS EACH OF

8HICH IS A SE#UENTIA$ DATA SET.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 40/200

BUFFER POO$S

BUFFER POO$S ARE AREAS OF +IRTUA$

STORA%E THAT TEMPORARI$! STORE PA%ES

OF TAB$E SPACES OR INDE6ES.

THE DATA REMAINS IN THE BUFFER UNTI$

DB2 DECIDES TO USE THE SPACE FOR

ANOTHER PA%E

♦ BUFFER POO$S HO$D THE MOST FRE#UENT$! ACCESSED DATA.

♦ USIN% BUFFER POO$S IMPRO+E PERFORMANCE.

♦ DB2 A$$O8S TO USE ") BUFFER POO$S THAT CONTAIN @B BUFFERS

AND 1) BUFFER POO$S THAT CONTAIN 32@B BUFFERS.

♦ @B BUFFER POO$S ARE BP) TO BP9

♦ 32@B BUFFER POO$S ARE BP32@ TO BP32@9

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 41/200

B-ffe Pools

B+00*, -:/> 7:/ ; 7/ ,+7: =+00*, -:/> 7,* 7,*7/ 0 ,+7: /,7* +/**-,7,:? /,* -7*/ 0 7=:* /-7*/ , **/. #* 7 7--:7 -,,7 **/ 7*// 7 , 0 7 7=:*> DB2 ,*,**/ * -7* 7 7 , 7 -:7*/ * -7*

7 =+00*,. I0 * , / 7*> * =+00*, +/ =* ,* =7; * 7=:* /-7*. I0 **** 77 / 7:,*7? 7 =+00*,> * 7--:7 -,,7 :: 7* 7 0, =*,*,** 0, DASD. T* ,*/+: / 07/*, -*,0,7*.

DB2 7 -,* 2 ?-*/ 0 =+00*, -:/> 4' 7 32' =+00*, -:/. T*,* 7,* 00? 4'  =+00*, -:/ 7* BP$> BP1> P49 7 * 32' =+00*, -:/ 7* BP32'> BP32'1>BP32'9. DB2 77*/ *7 =+00*, -:/ /*-7,7*:? . G**,7::? /?/* 7/,7, **/ + *,? 7::7* 0, =+00*, -:/. T* ,* *,? 7::7*

 =+00*, -: * ,* 77 7 : 7 *,*0,* * ,*7*, * :;*: 7 77--:7 ,*+*/ :: 0 * 77 *,*.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 42/200

. Data T;/esT/ 7-*, */,=*/ 7,+/ 77 ?-*/ +/* DB2 7 *, *7-:*/. COBOL*:7,7/ 0 * ,,*/- DATA TYPES 7,* 7:/ :+*.

T* /+= // 0 / 7-*, 7,*

.1. N-e4 Data

.1.1. N-lls

.2. St4n: Data

.3. Caate Foat

.. Date5T4e Data

.". E-4alent Cobol Delaat4ons Of Data T;/es

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 43/200

DATA T!PES

E+ER! CO$UMN IN A TAB$E IS ASSI%NED A SPECIFIC

T!PE AND SIE OF DATA

CATE%ORIES OF DATA T!PES 

NUMERIC DATASTRIN% DATADATE 5 TIME DATA

♦ EACH CO$UMN IN A TAB$E MUST BE DEFINED

♦ CO$UMN DEFINITION MUST INC$UDE THE DATA T!PE AND SIE

♦ A$$ DATA T!PES CAN INC$UDE NU$$ +A$UES.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 44/200

NUMERIC DATA

SMA$$INT T8O B!TE BINAR! INTE%ER < 1" BITS AND SI%N.

INTE%ER FOUR B!TE BINAR! INTE%ER< 31 BITS AND SI%N.

DECIMA$ *P<#, PAC@ED DECIMA$ NUMBER HA+IN% P DI%ITS OF8HICH # DI%ITS ARE AFTER THE ASSUMED DECIMA$POINT

F$OAT *M, IF M IS BET8EEN 1 AND 21 THEN IT IS SIN%$EREA$ PRECISION F$OATIN% POINT AND IT OCCUPIES FOUR  

B!TES. IT CAN A$SO BE REFERRED AS REA$

F$OAT *M, IF M IS BET8EEN 22 AND "3 THEN IT IS SIN%$E

F$OAT PRECISION F$OATIN% POINT AND IT OCCUPIES EI%HTB!TES. IT CAN A$SO BE REFERRED AS F$OAT

RAN%E OF +A$UES

SMA$$INT 732(&' to J32(&(

INTE%ER 721('3&' to J21('3&(

DECIMA$ *P <#, MA6IMUM 31 DI%ITS) K P K 32 AND * ) KL # KL P ,

REA$ ".E7(9 to (.2EJ(".

F$OAT ".E7(9 to (.2EJ(".

E6AMP$ES OF NUMERIC DATA DEC$ARATION

SP@ DECIMA$*"< 2,

DRU SMA$$INTHDNR INTE%ER  

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 45/200

NU$$S

♦ S#$ S!STEMS $I@E DB2 REPRESENT MISSIN% INFORMATION IN ACO$UMN B! MEANS OF SPECIA$ MAR@ERS CA$$ED NU$$S.

♦THE PRESENCE OF NU$$ +A$UE IN A CO$UMN DEPENDS ON THE

CO$UMN DEFINITION .

♦THREE OPTIONS< SPECIFIED IN CO$UMN DEFINITION 8HICH DEA$

8ITH NU$$ +A$UES ARE

 

NOT NU$$

  NU$$  NOT NU$$ 8ITH DEFAU$T

♦ IF A CO$UMN IS DEC$ARED AS NOT NU$$ THEN DB2 8I$$ NOT

A$$O8 NU$$ +A$UES ON THAT CO$UMN

♦8HEN A CO$UMN IS DEC$ARED AS NU$$ 8HICH IS THE DEFAU$T<

DB2 8I$$ A$$O8 NU$$ +A$UE ON THAT CO$UMN

♦NOT NU$$ 8ITH DEFAU$T MEANS THAT THE CO$UMN IN#UESTION CANNOT CONTAIN NU$$S< BUT IT IS STI$$ $E%A$ TO OMITA +A$UE FOR THE CO$UMN

E6AMP$ES

SP@ DECIMA$*"< 2, NU$$DRU SMA$$INT NOT NU$$

HDNR INTE%ER NOT NU$$ 8ITH DEFAU$T

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 46/200

N-lls

 N+:: 7:+*/ 7,* +/* 7 7=:* * 7+7: 7:+*/ 7,* +;. S+--/* * * 0 7 -7, * SUPPLIERJPARTS DATABASE / +::> * *7/ 7

(1) T* -7, *//(2) I */ 7* 7 *(3) #* ; 7 * 7:+* /

I *, ,/ * ; 7 *+* * 7:+* 7 7 /*/=:? =* -+ ** /: * , 0, * -7, +*/. I/*7 * 7,; 7 /: 7/ +:: 7 **,-,* 7 7,; *7 -,*/*:? 7 * ; 7 * ,*7: 7:+* /. * 7/*, 7 +:: 7:+* * #EIGHT :+ 0 / *:7,* 7/ NULL. B+ 0 / *:7,* 7/

 NOT NULL #ITH DEFAULT> / -//=:* /*, 7 , * 7=:* +/-*0? 7 7:+* 0, #EIGHT :+. I 7 7/* * :+ :: 7 *07+: 7:+*/,,*/- * :+ 77 ?-*.

S+--/* 7 NOT NULL / /-*0* 0, :+ #EIGHT * SUPPLIERJPARTSDATABASE> * / :: +7,7** 7 **,? , 7=:* P :: 7:7?/ 7 7*+* ( +::) #EIGHT 7:+*. I *, ,/ 7 7:+* +/ 7:7?/ =* -,* 0, :+ #EIGHT * 7 , / /*,* * P 7=:*.

I0 7 * :+ / 7::* 7 +::/ 7 7 , /*,* * 7=:* 7:+* -,* 0, 7 :+ DB2 :: 7+77::? -:7* 7 +:: 7 -/. S+--/* 7* #EIGHT :+ /+--:*,J7=:* 77=7/* / /-*0* 7/ NULL> * * 7 /*, 7, * 7=:* P + /-*0? 7 7:+* 0, #EIGHT. DB2 :: 7+77::? -+ 7+:: 7:+* 7 :+.

 NOT NULL #ITH DEFAULT *7/ * :+ +*/ 7 7 +::/ =+ /**,*:*// /:: :*7: 7 7:+* 0, * :+ /*,. I0 7 , / /*,* 7 7:+* / -,* 0, /* :+ NOT NULL #ITH DEFAULT 7--:*/ DB27+77::? -:7*/ * 0 * 0:: +:: *07+: 7:+*/ 7 -/.

♦ *, 0, +*, */

♦ B:7;/ 0, 0* :* /, :+/

♦ E-? (<*, :* /,) 0, 7,? :* /, :+/

♦ T* 7:+* 0 CURRENT DATE , CURRENT TIME , CURRENT TIMESTAMP 0, 

7,7=:*/ *:7,* 7,=+*/ DATE> TIME , TIMESTAMP.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 47/200

STRIN% DATA

CHARACTER FORMAT

CHARACTER*n, FI6ED $EN%TH STRIN% OF n ' BIT CHARACTERSOCCUP!IN% N B!TES

+ARCHAR*n, +AR!IN% $EN%TH STRIN% UP TO n ' BIT CHARACTERSOCCUP!IN% nJ2 B!TES . FIRST T8O B!TES AREUSED FOR STORIN% THE $EN%TH OF THE +ARIAB$E

$ON% +ARCHAR +AR!IN% $EN%TH CHARACTER STRIN% 8HOSE

MA6IMUM $EN%TH 8I$$ BE DECIDED B! DB2

RAN%E OF +A$UES

CHARACTER*n, 1 TO 2"

+ARCHAR*n, MUST BE $ESS THAN PA%E SIE *@,

$ON% +ARCHAR MA6IMUM $EN%TH IS DETERMINED B!

THE AMOUNT OF SPACE A+AI$AB$E INA PA%E

E6AMP$ES OF CHARACTER DATA REPRESENTATION

SP@ CHAR *2),NUM +ARCHAR *&),

+AR $ON% +ARCHAR  

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 48/200

%RAPHIC FORMAT

%RAPHIC*n, FI6ED $EN%TH STRIN% OF N 1& BIT CHARACTERSOCCUP!IN% 2n B!TES

+AR%RAPHIC*n, +AR!IN% $EN%TH STRIN% UP TO N 1& BIT CHARACTERS OCCUP!IN% 2nJ2 B!TES . FIRST T8O

 B!TES ARE USED FOR STORIN% THE $EN%TH OF THE+ARIAB$E

$ON% +AR%RAPHIC +AR!IN% $EN%TH 1& BIT CHARACTER STRIN%

8HOSE MA6IMUM SIE 8I$$ BE DECIDED B!DB2

RAN%E OF +A$UES

%RAPHIC*N, 1 TO 12(

+AR%RAPHIC*N, N MUST BE $ESS THAN HA$F THE PA%E SIE

*2@,

$ON% +AR%RAPHIC MA6IMUM $EN%TH IS DETERMINED B! THEAMOUNT OF SPACE A+AI$AB$E IN A PA%E

E6AMP$ES OF %RAPHIC DATA DEC$ARATIONS

TAB@OST %RAPHIC *1),TABID +AR%RAPHIC *'),TEMP $ON% +ARRRAPHIC

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 49/200

DATE 5 TIME DATA

INTERNA$ REPRESENTATIONS

DATE !!!!MMDD

TIME HHMMSS

TIMESTAMP !!!!MMDDHHMMSSNNNNNN

♦DATE IS REPRESENTED AS A SE#UENCE OF EI%HT UNSI%NED PAC@ED

DECIMA$ DI%ITS OCCUP!IN% B!TES

♦TIME IS REPRESENTED AS A SE#UENCE OF SI6 UNSI%NED PAC@ED

DECIMA$ DI%ITS OCCUP!IN% 3 B!TES

♦TIMESTAMP IS REPRESENTED AS A SE#UENCE OF 2) UNSI%NED

PAC@ED DECIMA$ DI%ITS OCCUP!IN% 1) B!TES

E6AMP$ES OF DATE TIME DEC$ARATIONS

CCTEMP DATECCDAT TIMECCSTAMP TIMESTAMP

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 50/200

Date 5 T4e Data

C:+/ /* 77 ?-*/ 7,* DATE> TIME> OR TIMESTAMP 7,* ,*-,*/** 7*,7: 0, 7 / ,7/-7,* * +/*, 0 S&L. B+ DATES> TIMES> ANDTIMESTAMPS 7 7:/ =* ,*-,*/** =? DATE%TIME /,/. T*/* 7,* 7,7*, /,

,*-,*/*7/ 0 7* 7:+*/. #* ?+ ,*,** 7*%* 7:+*/ *? +/ =* 7//*  -,-*,:? *:7,* 7,7*, /, 7,7=:*/.

#* 7 7* , * / 7//* 7 7,7=:*> * /, 0,7 / **,* =? 7 -,*-:*, - , /+=/?/* -7,7**,. #* 7 /, ,*-,*/*7 0 7 7**7:+* / +/* *, -*,7/> / *,* 7 7** 7:+*. H**,> / 7 =** :? 0 * /, ,*-,*/*7 / -7=:* * 7* % * 7:+*

Ea/le

T* ISO 7* 0,7 198!J1$J12@ / *,7::? /,* 4 =?*/. B+ ?+ +/ 7// 7

7,7=:* 1$ =?*/ 7/ / 7,7=:* 0, ,*,* * 7=* 7*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 51/200

E#UI+A$ENT COBO$ DEC$ARATIONS OF DATA T!PES

 DATAT!PE COBO$ DEC$ARATION

 CCTEMP SMA$$INT )1 CCTEMP PIC S9*, COMP.

 

CCTEMP INT )1 CCTEMP PIC S9*9, COMP.

 CCTEMP DECIMA$*9<3, )1 CCTEMP PIC S9*&,+9*3, COMP73.

 CCTEMP F$OAT*21, )1 CCTEMP COMP71.

CCTEMP  F$OAT*"3, )1 CCTEMP COMP72.

 CCTEMP CHAR*1), )1 CCTEMP PIC 6*1),.

 CCTEMP +ARCHAR*'), )1 CCTEMP

  9 +AR$EN PIC S9*, COMP.  9 CC+AR PIC 6*'),.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 52/200

". S#$ Po:a4n:

IN DB2 -*,7/ 7,* * +/ /,++,* +*,? :7+7*. T/ 7-*, *-:7/ ?-*/0 S&L 7 *, +/7*. S&L /7**/ 7,* *

♦ DDL S7**/

♦ DML S7**/

♦ C,: S7**/

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 53/200

S#$ PRO%RAMMIN%

S#$ *STRUCTURED #UER! $AN%UA%E , ISTHE $AN%UA%E USED TO ACCESS DATA

IN DB2 TAB$ES

  S#$

  DD$ DM$ CONTRO$  STATEMENTS

♦ DD$ *DATA DEFINITION $AN%UA%E,

• CREATE

• A$TER 

• DROP

 

♦ DM$ *DATA MANIPU$ATION $AN%UA%E,

• SE$ECT

• UPDATE

• INSERT

• DE$ETE

♦ CONTRO$ STATEMENTS

• %RANT

• RE+O@E

• COMMIT

• RO$$BAC@ 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 54/200

".1. DD$ Stateents

D77 *0 :7+7* /7**/ +/* 0, ,*7> 7 7 ,-- DB2 =*/.T* 0:: /*/ *-:7 */* /7**/ /+7=:* *7-:*/

".1.1. Ceate Database

".1.2. Ceate Table S/ae

".1.3. Ceate Table

".1.3.1. @e;s

".1.3.2. P4a; @e;s

".1.3.3. Foe4:n @e;s

".1.. Ceate +4e>

".1.". Ceate In0e

".1.&. Alte Table

".1.(. Do/

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 55/200

CREATE DATABASE

THE CREATE DATABASE STATEMENT DEFINES A

DB2 DATABASE TO THE DB2 SUBS!STEM. THE NAMEMUST NOT START 8ITH DSNDB AND MUST NOT

IDENTIF! AN E6ISTIN% DATABASE

IN THIS STATEMENT !OU CAN SPECIF! THE NAME OF BUFFER 

POO$ AND STORA%E %ROUP FOR TAB$E SPACES AND INDE6ES8ITHIN THE DATABASE

IF BUFFER POO$ IS NOT SPECIFIED IN THE CREATE DATABASE

STATEMENT THEN DEFAU$T BUFFER POO$ USED IS BP).

 

IF STORA%E %ROUP IS NOT SPECIFIED IN THE CREATE DATABASE

STATEMENT THEN DEFAU$T STORA%E %ROUP USED IS S!SDEF$T.

 

E6AMP$E

CREATE DATABASE D211)@BUFFERPOO$ BP2STO%ROUP S%DB2O=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 56/200

CREATE TAB$ESPACE

THE CREATE TAB$ESPACE STATEMENT A$$OCATES SPACE FOR

TAB$ES. THIS STATEMENT CREATES A SIMP$E< SE%MENTED<OR PARTITIONED TAB$E SPACE IN THE SPECIFIED DATABASE.

IF DATABASE IS NOT SPECIFIED THEN TAB$ESPACE IS CREATEDIN THE DEFAU$T DATABASE DSNDB)

♦E6AMP$ES

1. CREATE TAB$ESPACE S11)@1) IN D211)@USIN% STO%ROUP S%DB2OPRI#T! 1)) SEC#T! "2FREEPA%E ) PCTFREE "BUFFERPOO$ BP)$OC@SIE AN!

C$OSE NOSE%SIE '=

2. CREATE TAB$ESPACE S11)$) IN D211)$USIN% STO%ROUP S%DB2O

PRI#T! 1)) SEC#T! "2ERASE NO

NUMPARTS 1&FREEPA%E ) PCTFREE "

BUFFERPOO$ BP2$OC@SIE PA%EC$OSE NO=

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 57/200

Ceate Table S/ae

M7? -7,7**,/ 7 =* /-*0* * CREATE TABLESPACE /7** **/* ?-* 0 7=:*/-7*> * SIE 0 "SAM 77/*/ : * 7=:*/ 7 **/> *7+ 7 /,=+ 0 /-7* :*0 0,** * 77/*/> * 7+ 0 77 *,* =?

+,,*? ,: :;/ *. A:: 0 */* *// 7* +, 7=:* /-7* ,*7 : -*,0,7* -:7/. I0 * **:-*, */ /-*0? */ 0, 7? 0 */* -7,7**,/ DB2 :: +/* *07+: 7:+*/.

I * * *7-:*/ DB2 7+77::? ,*7*/ "SAM :*7, 77/*/ *** 0, *7=:*/-7* * /-*0* /,7* ,+-. E7 77 /* :: =* *0* 7 :+* 0 * /,7* ,+- /-*0* * ,*7* 7=:*7-7* /7**. T* 7:+*/ /-*0* 0, PRI&TY 7 SEC&TY **,* * -,7,? 7 /*7,? 7::7/ 0, * 77 /*.

E,7/* -7,7**, I7*/ **, * DB2J77* 77 /*/ 0, * 7=:*/-7* 7,* =**,7/* * *? 7,* *:** +, * **+ 0 7 +:? , 7 S&L /7** 7

,-/ * 7=:* /-7*. ERASE NO */ *,7/* * 77 /*/. ERASE YES *,7/*/ *77 /*/. A/ 7 /*+,? *7/+,*> DB2 *,,*/ 7:: 77 * 77 /*/ <*,/ =*0,**? 7,* *:**.

FREEPAGE -7,7**, S-*0*/ 0* :*7* 7 -7* 0 0,** /-7* * * 7=:*/-7* , -7, / :7* , ,*,7<*. T* *07+: / FREEPAGE $> :*7 0,**

 -7*/. PCTFREE -7,7**, 7*/ 7 -*,*7* 0 *7 -7* :*7* 7/ 0,** /-7** * 7=:* / :7* , ,*,7<*. T* *07+: / PCTFREE 5.

LOC'SIE -7,7**, S-*0*/ * /<* 0 :;/ +/* * 7=:* /-7* . F, ,*0,7 -:*7/* ,*0*, 7-*, 9.

 NUMPARTS -7,7**, I7*/ 7 * 7=:* /-7* :: =* -7,* 7 * +=*, 0  -7,/ 7 7=:*/-7*.

BUFFERPOOL -7,7**, I*0*/ * =+00*, -: =* +/* 0, * 7=:* /-7* 7**,*/ * -7* /<* 0 * 7=:* /-7*.

CLOSE -7,7**, /-*0*/ **, , * 77 /*/ 7,* *:=:* =* :/* * *7=:* /-7* / =* +/* , * : * +=*, 0 -* 77 /*/ / ,*7*.CLOSE YES /7?/ * 77/* / *:=:* 0, :/. T/ / * *07+:. CLOSE NO/-*0*/ 7 * 77/* / *:=:* 0, :/.

SEGSIE -7,7**, I7*/ 7 * 7=:* /-7* :: =* /*** 7 /-*0*/> 7? -7*/ 7,* =* 7//* *7 /**. I0 SEGSIE 7 NUMPARTS -7,7**,/7,* *> * * 7=:* /-7* :: =* SIMPLE

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 58/200

CREATE TAB$E

CREATE TAB$E STATEMENT CREATES A TAB$E IN A

TAB$ESPACE. TAB$E NAME IS UNI#UE FOR A USER.

IF USERA CREATES TAB$EA THEN FU$$! #UA$IFIED

NAME 8I$$ BE USERA.TAB$EA. USERA CAN SIMP$! USE

THE NAME TAB$EA BUT OTHER USERS MUST SPECIF!

FU$$! #UA$IFIED NAME

E6AMP$ES

1. CREATE TAB$E D211)$.SP

*<S CHAR*", NOT NU$$

<P CHAR*&, NOT NU$$<#T! INTE%ER NOT NU$$<PRIMAR! @E!* S < P ,

<FOREI%N @E! * S , REFERENCES S<<FOREI%N @E! * P , REFERENCES P,IN D211)$.TABSP

*2, CREATE TAB$E D211)$.SP $I@E D211)@.TAB IN D211)$.TABSP=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 59/200

@E!S

  A @E! IS ONE OR MORE CO$UMNS THAT ARE IDENTIFIED ASSUCH IN THE DESCRIPTION OF A TAB$E< AN INDE6< OR A

REFERENTIA$ CONSTRAINT.

  S SNAME STATUS CIT!

  S1 SMITH 2) $ONDON  S2 ONES 1) PARIS  S3 B$A@E 3) PARIS

  @E!

♦ A @E! IDENTIFIES A RO8 OF DATA

♦A RO8 IN ONE TAB$E CAN CARR! THE @E! OF ANOTHER TAB$E SO

@E!S ARE USED FOR RE$ATIN% TAB$ES

  A @E! COMPOSED OF MORE THAN ONE CO$UMN IS CA$$ED A

COMPOSITE @E!. A COMPOSITE @E! IS AN ORDERED SET OFCO$UMNS OF THE SAME TAB$E.

  A UNI#UE @E! IS A @E! THAT IS CONSTRAINED SO THAT NO T8O OF

ITS +A$UES ARE E#UA$.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 60/200

PRIMAR! @E!

 

A PRIMAR! @E! IS A UNI#UE @E! THAT IS A PART OF THE

DEFINITION OF A TAB$E

  P PNAME CO$OR 8EI%HT CIT!

P1 NUT RED 12 $ONDON  P2 BO$T %REEN 1( PARIS  P3 SCRE8 B$UE 1( ROME  P SCRE8 RED 1 $ONDON  P" CAM B$UE 12 PARIS

  P& CO% RED 19 $ONDON

PRIMAR! @E!

♦PRIMAR! @E! OF A TAB$E IS THE UNI#UE IDENTIFIER FOR THAT

TAB$E

♦PRIMAR! @E! CAN BE COMPOSITE

♦A TAB$E CANNOT HA+E MORE THAN ONE PRIMAR! @E!< AND THE

CO$UMNS OF A PRIMAR! @E! CANNOT CONTAIN NU$$ +A$UES.

♦8HEN A PRIMAR! @E! IS DEFINED ON A TAB$E< A UNI#UE INDE6

MUST BE CREATED ON THAT PRIMAR! @E!

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 61/200

FOREI%N @E!S

 

A FOREI%N @E! IS A CO$UMN OR COMBINATION OF CO$UMNS

IN ONE TAB$E 8HOSE +A$UES ARE RE#UIRED TO MATCH+A$UES OF THE PRIMAR! @E! IN SOME OTHER TAB$E.

TAB$E S TAB$E SP

  S SNAME STATUS CIT! S P #T!

  S1 SMITH 2) $ONDON S1 P1 3))  S2 ONES 1) PARIS S1 P2 2))

 S2 P1 3))  .. . . ..

  PRIMAR! @E! IN S FOREI%N @E! IN SP

♦A FOREI%N @E! +A$UE REPRESENTS A REFERENCE TO THE RO8

CONTAININ% THE MATCHIN% PRIMAR! @E! +A$UE.

♦THE TAB$E THAT CONTAINS THE FOREI%N @E! IS @NO8N AS THE

DEPENDENT TAB$E AND THE TAB$E THAT CONTAINS THE PRIMAR!@E! IS @NO8N AS THE PARENT TAB$E.

♦EACH +A$UE OF A FOREI%N @E! MUST BE 8HO$$! NU$$ OR 8HO$$!

NON NU$$. THAT IS IF FOREI%N @E! IS A COMPOSITE @E! THEN A$$COMPONENTS OF THAT @E! MUST BE NU$$ OR NON NU$$< NOT A

MI6TURE.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 62/200

CREATE +IE8

THE CREATE +IE8 STATEMENT CREATES A+IE8 ON TAB$ES OR +IE8S. IF THE +IE8 NAMEIS UN#UA$IFIED THEN THE AUTHORIATION IDIS THE IMP$ICIT #UA$IFIER 

  BASE TAB$E S

  S SNAME STATUS CIT!

+IE8 %OODSUPP$IERS

S STATUS CIT!

♦ IF !OU DO NOT SPECIF! A $IST OF CO$UMN NAMES< THE CO$UMNS

OF THE +IE8 INHERIT THE NAMES OF THE CO$UMNS OF THE RESU$T

TAB$E OF THE SUB SE$ECT.

E6AMP$E

CREATE +IE8 %OODSUPP$IERSAS SE$ECT S < STATUS< CIT!FROM S8HERE STATUS 1" =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 63/200

CREATE INDE6

THE CREATE INDE6 STATEMENT CREATES A PARTITIONED

OR NON PARTITIONED INDE6 AND AN INDE6 SPACE.INDE6 CAN BE CREATED ON ONE OR MORE CO$UMNS.

8HEN !OU CREATE UNI#UE INDE6 THE @E! CANNOT HA+EDUP$ICATE +A$UES. UNI#UE INDE6 SHOU$D BE CREATEDFOR A PRIMAR! @E!.

 

E6AMP$ES

1. CREATE UNI#UE INDE6 D211)@.I11)1)U1ON D211)@.S*S,BUFFERPOO$ BP)USIN% STO%ROUP S%DB2OPRI#T! )SEC#T! 2)C$OSE NO=

2. CREATE INDE6 D211)P.I11)1)U2ON D211)N.P *P DESC,

3. CREATE UNI#UE INDE6 D211)$.I11)1)U3

ON D211)$.SP *S< P,

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 64/200

A$TER TAB$E

THE A$TER TAB$E STATEMENT CHAN%ES THE

DESCRIPTION OF A TAB$E

TO ADD MU$TIP$E CO$UMNS <CODE MU$TIP$E A$TER STATEMENTS.

ADDED CO$UMNS MUST ACCEPT NU$$ OR NOT NU$$8ITH DEFAU$T +A$UES

THIS COMMAND CANNOT BE USED FOR DE$ETIN% A CO$UMN

PRIMAR! AND FOREI%N @E!S CAN BE CREATED AND DROPPEDUSIN% THIS COMMAND

 

E6AMP$ES

1. A$TER TAB$E D211).P

ADD PRICE SMA$$INT=

2. A$TER TAB$E D211)@.SPFOREI%N @E!*P, REFERENCES D211)@.P

ON DE$ETE CASCADE=

3 A$TER TAB$E D211)@.P

PRIMAR! @E!*P,=

A$TER TAB$E D211)@.SDROP PRIMAR! @E!*S,=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 65/200

DROP

THE DROP STATEMENT DE$ETES AN OBECT

A$IAS al4as naeDATABASE 0atabase naeINDE6 4n0e naeSTO%ROUP sto:o-/ nae

DROP S!NON!M s;non; naeTAB$E table naeTAB$ESPACE table s/ae nae+IE8 4e> nae

PAC@A%E ollet4on740./a?a:e740

FREE P$AN

♦ 8HEN AN OBECT IS DROPPED A$$ OBECTS THAT ARE DIRECT$! OR

INDIRECT$! DEPENDENT ON THAT OBECT ARE DE$ETED

♦ THE OBECTS DESCRIPTION IS DE$ETED FROM THE CATA$O%

TAB$E.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 66/200

Do/

T* ,*/+:/ 0 ,-- 7,+/ =*/ 7,* * =*:.

1. D,-- 7 7:7/ 7/ *00* 7? * , /?? 7 7/ *0* +/ *

7:7/.

2. #* ?+ ,- * 77=7/* > * 77=7/* 7 7:: 0 / 7=:* /-7*/> 7=:*/> */-7*/> 7 **/ 7,* ,--*.

3. #***, 7 * / ,*:? , ,*:? ,--* >@/ * /-7* / 7:/ ,--*.

4. #* * /?? / ,--*> * , 7:7/ 7 *0* +/ * /?? 7,* ,--*.

5. #***, 7 7=:* / ,*:? , ,*:? ,--*> 7:: -,:**/ * 7=:*> 7::

,*0*,*7: /,7/ * 7=:* / 7 -7,* , *-**> 7 7:: /??/>*/> 7 **/ *0* * 7=:* 7,* 7:/ ,--*.

6. #***, 7 7=:* /-7* / ,*:? , ,*:? ,--*> 7:: 7=:*/ * 7=:* /-7* 7,*7:/ ,--*.

!. #***, 7 * / ,*:? , ,*:? ,--*> 7:: -,:**/ * * 7 7::/??/ 7 */ 7 7,* *0* * * 7,* 7:/ ,--*.

8. * * -7;7* *,/ / ,--*> 7:: -,:**/ * -7;7* 7,* ,--* 7 7:: -:7/ 7 7,* *-** * **+* -,:** 0 * -7;7* 7,* 7:7*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 67/200

".2. DM$ Stateents

D77 7-+:7 /7**/ 7,* +/* 0, ,*,* 77 0, DB2 7=:*/. T* 0::/7**/ **, ; 7/ 77 7-+:7 :7+7*.

".2.1. Selet

".2.1.1. Co/a4son O/eatos

".2.1.2. Selet D4st4nt

".2.1.3. M-lt4/le Con04t4ons

".2.1.. O0e B;

".2.1.". In< Bet>een

".2.1.&. Pat4al Sea

".2.1.(. A::e:ate F-nt4ons

".2.1.'. %o-/ B;

".2.1.9. Ha4n:

".2.2. o4n4n: Tables

".2.3. S-b #-e4es

".2.. Un4on

".2.". Inset

".2.&. U/0ate

".2.(. Delete

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 68/200

DM$ STATEMENTS

SE$ECT 

S#$ SE$ECT

RE#UIRED SE#UENCE

SE$ECT

FROM

8HERE

ORDER B!

E6AMP$E

# %ET SUPP$IER NUMBERS AND STATUS FOR SUPP$IERS IN PARIS< IN DESCENDIN% ORDER OF STATUS

#UER!SE$ECT S < STATUS

7TE$$S 8HICH CO$UMNS TO USE

FROM S7TE$$S 8HICH TAB$ES TO USE

8HERE CIT! L PARIS7TE$$S 8HICH RO8S TO USE

ORDER B! STATUS DESC =7TE$$S HO8 TO SE#UENCE THE RESU$T 

RESU$T

S STATUS

S3 3)S2 1)

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 69/200

COMPARISON OPERATORS

  L E#UA$

QL NOT E#UA$

K NOT E#UA$

%REATER THAN

Q NOT %REATER THAN 

L %REATER THAN OR E#UA$

K $ESS THAN

QK NOT $ESS THAN

KL $ESS THAN OR E#UA$

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 70/200

SE$ECT DISTINCT

SE$ECT DISTINCT IS TO E$IMINATE DUP$ICATE RO8S

# %ET PART NUMBERS FOR A$$ PARTS SUPP$IED

8ITH REDUNDANT DUP$ICATES E$IMINATED

#UER! SE$ECT DISTINCT P

FROM SP=

RESU$T

P

P1P2

P3PP"

P&

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 71/200

MU$TIP$E CONDITIONS

MU$TIP$E CONDITION RETRIE+A$

  AND OR

#1 %ET SUPP$IER NUMBERS AND SUPP$IERNAMES OF SUPP$IERS $OCATED IN

$ONDON AND HA+IN% STATUS CODE 2)

#2 %ET SUPP$IER NUMBERS AND SUPP$IER NAMES OF SUPP$IERS 8HOSE STATUS IS 1)

OR 2).

#UER! 1 SE$ECT S< SNAMEFROM S8HERE STATUS L 2)AND CIT! L $ONDON =

#UER! 2 SE$ECT S< SNAME

FROM S8HERE STATUS L 1)OR STATUS L 2) =

RESU$T 1 RESU$T 2

S SNAME S SNAME

S1 SMITH S1 SMITHS C$AR@ S2 ONES

S C$AR@  

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 72/200

ORDER B!

SPECIF! CO$UMN NAME AND TE$$ 8HETHER 

ASCENDIN% OR DESCENDIN% SE#UENCE

THE DEFAU$T SE#UENCE IS ASCENDIN%

#UER! SE$ECT P < 8EI%HT IN %RAMS L < 8EI%HT "FROM PORDER B! 3< P =

RESU$T

P

P1 8EI%HT IN %RAMS L "'

P" 8EI%HT IN %RAMS L "'P 8EI%HT IN %RAMS L &3"&P2 8EI%HT IN %RAMS L ((1'

P3 8EI%HT IN %RAMS L ((1'P& 8EI%HT IN %RAMS L ''

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 73/200

IN< BET8EEN

IN TO MATCH ONE OF A $IST OF +A$UES

BET8EEN TO SE$ECT A RAN%E OF +A$UES

CAN USE NOT IN AND NOT BET8EEN

#1 %ET PART NUMBERS < PNAME AND 8EI%HT OFPARTS 8HOSE 8EI%HT IS AN! ONE OF THEFO$$O8IN% 12 <1& <1(

#2 %ET PART NUMBERS < PNAME AND 8EI%HT OFPARTS 8HOSE 8EI%HT IS IN THE RAN%E 1& TO19 INC$USI+E

#UER! 1 SE$ECT P < PNAME < 8EI%HTFROM P8HERE 8EI%HT IN * 12 < 1& < 1( , =

#UER! 2 SE$ECT P < PNAME < 8EI%HTFROM P8HERE 8EI%HT BET8EEN 1& AND 19 =

RESU$T 1 RESU$T 2

  P PNAME 8EI%HT P PNAME 8EI%HT

  P1 NUT 12 P2 BO$T 1(

  P2 BO$T 1( P3 SCRE8 1(  P3 SCRE8 1( P& CO% 19  P" CAM 12

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 74/200

PARTIA$ SEARCH

TO SEARCH ON A SUBSET OF CHARACTERS $I@E

NOT TO SEARCH ON A SUBSET OF CHARACTERS NOT$I@E 

#UER! 1 SE$ECT S < SNAME < CIT!FROM S8HERE CIT! $I@E $ =

#UER! 2 SE$ECT S < SNAME < CIT!FROM S8HERE SNAME $I@E S =

#UER! 3 SE$ECT S < SNAME < CIT!

FROM S8HERE CIT! NOT $I@E A =

#UER! SE$ECT S < SNAME < CIT!FROM S

8HERE CIT! $I@E DON =

#UER! " SE$ECT S < SNAME < CIT!

FROM S8HERE SNAME $I@E $ =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 75/200

RESU$T 1

  S SNAME CIT!

S1 SMITH $ONDON

S C$AR@ $ONDON

RESU$T 2

  S SNAME CIT!

S2 ONES PARISS" ADAMS ATHENS

RESU$T 3

  S SNAME CIT!

S1 SMITH $ONDON

S C$AR@ $ONDON

RESU$T

  S SNAME CIT!

S1 SMITH $ONDONS C$AR@ $ONDON

RESU$T "

 

S SNAME CIT!

S3 B$A@E PARISS C$AR@ $ONDON

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 76/200

A%%RE%ATE FUNCTIONS

 COUNT NUMBER OF +A$UES IN THE CO$UMN

SUM SUM OF +A$UES IN THE CO$UMN

A+% A+ERA%E OF +A$UES IN THE CO$UMN 

MA6 MA6IMUM OF +A$UES IN THE CO$UMN

MIN MINIMUM OF +A$UES IN THE CO$UMN

#1 %ET THE TOTA$ NUMBER OF SUPP$IERS.

#2 %ET THE TOTA$ #UANTIT!< A+ERA%E #UANTIT!<MA6IMUM #UANTIT! AND MINIMUM #UANTIT! OFPART P2 SUPP$IED

#UER! 1 SE$ECT COUNT*,FROM S=

#UER! 2 SE$ECT SUM *#T!, < A+% *#T!, < MA6 *#T!, < MIN*#T!,

FROM SP8HERE P L P2 =

RESU$T 1 RESU$T 2

  " 1))) 2") )) 2))

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 77/200

%ROUP B!

8ITH %ROUP B!< A CO$UMN FUNCTION RESU$TS

IN A SIN%$E +A$UE FOR EACH %ROUP

# FOR EACH PART SUPP$IED %ET THE PARTNUMBER AND THE TOTA$ SHIPMENT #UANTIT!FOR THAT PART

#UER! SE$ECT P < SUM *#T!,

FROM SP%ROUP B! P =

RESU$T

  P

P1 &))

  P2 1)))  P3 ))

  P "))  P" "))  P& 1))

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 78/200

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 79/200

OININ% TAB$ES

IT IS A #UER! IN 8HICH DATA IS RETRIE+ED FROM MORE

THAN ONE TAB$E

# %ET A$$ COMBINATIONS OF SUPP$IER AND PART

INFORMATION SUCH THAT THE SUPP$IER CIT!FO$$O8S THE PART CIT! IN A$PHABETICA$ ORDER 

#UER! SE$ECT S. < P.FROM S < P8HERE S.CIT! P.CIT!

RESU$T

  S SNAME STATUS S.CIT! P PNAME CO$OR 8EI%HT P.CIT!

  S2 ONES 1) PARIS P1 NUT RED 12 $ONDON  S2 ONES 1) PARIS P SCRE8 RED 1 $ONDON

  S2 ONES 1) PARIS P& CO% RED 19 $ONDON  S3 B$A@E 3) PARIS P1 NUT RED 12 $ONDON

  S3 B$A@E 3) PARIS P SCRE8 RED 1 $ONDON  S3 B$A@E 3) PARIS P& CO% RED 19 $ONDON

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 80/200

SUB #UERIES

A SUB #UER! IS A SE$ECT7FROM78HERE E6PRESSIONTHAT IS NESTED INSIDE ANOTHER SUCH E6PRESSION

MA6IMUM 1" $E+E$S ARE POSSIB$E IN A NESTED SUB

SE$ECT

# %ET SUPP$IER NAMES FOR SUPP$IERS 8HO SUPP$!

PART P2.

#UER! SE$ECT SNAMEFROM S8HERE S IN* SE$ECT SFROM SP8HERE P L P2 , =

RESU$T

SNAME

SMITH

ONESB$A@EC$AR@ 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 81/200

UNION

THE RESU$TS OF ONE OR MORE RE$ATIONS ARE

MI6ED TO FORM A SIN%$E RE$ATION USIN% UNION .

# %ET PART NUMBERS FOR PARTS THAT EITHER 8EI%H MORE THAN 1& POUNDS OR ARESUPP$IED B! SUPP$IER S2

#UER! SE$ECT PFROM P8HERE 8EI%HT 1&UNIONSE$ECT PFROM SP8HERE S L S2 =

RESU$T

P1P2

P3P&

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 82/200

INSERT

THE INSERT STATEMENT INSERTS A NE8 RO8 INTOTHE TAB$E. !OU CAN EITHER INSERT +A$UES FOR A$$ CO$UMNS OR OMIT +A$UES. BUT OMITTIN% AA +A$UE FOR SOME CO$UMN DEPENDS ON THE8A! THE CO$UMN 8AS DEFINED

#1 ADD PART P' *A SPROC@ET < CO$OR PIN@ <

8EI%HT 1 < CIT! NICE , TO TAB$E P

#2 ADD PART P( *CIT! ATHENS < 8EI%HT 2 , NAMEAND CO$OR AT PRESENT UN@NO8N. ASSUME

THAT THE CO$UMNS PNAME AND CO$OR ARECREATED 8ITH NU$$ ATTRIBUTE SPECIFICATION.

#UER! 1 INSERTINTO P+A$UES * P'< SPROC@ET< PIN@< 1< NICE , =

#UER! 2 INSERTINTO P * P< CIT!< 8EI%HT ,+A$UES * P(< ATHENS< 2 ,=

  P PNAME CO$OR 8EI%HT CIT!

  . .... .  P' SPROC@ET PIN@ 1 NICE RESU$T 1

  P( 2 ATHENS RESU$T 2

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 83/200

UPDATE

THE UPDATE STATEMENT UPDATES THE +A$UESOF SPECIFIED CO$UMNS IN RO8S OF A TAB$E OR +IE8. UPDATIN% A RO8 OF A +IE8 UPDATES ARO8 OF THE TAB$E ON 8HICH THE +IE8 IS BASED.

# CHAN%E THE CO$OR OF PART P1 TO !E$$O8 <

INCREASE ITS 8EI%HT B! " < AND SET ITS CIT!TO UN@NO8N. ASSUME THAT THE DEFINITION

OF P.CIT! A$$O8S NU$$ +A$UES.

#UER! UPDATE P

SET CO$OR L !E$$O8 <8EI%HT L 8EI%HT J "CIT! L NU$$8HERE P L P1 =

RESU$T

 P PNAME CO$OR 8EI%HT CIT! 

P1 NUT !E$$O8 1(  

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 84/200

DE$ETE

THE DE$ETE STATEMENT DE$ETES RO8S FROM

A TAB$E OR +IE8. DE$ETIN% A RO8 FROM A+IE8 DE$ETES THE RO8 FROM THE TAB$E ON

8HICH THE +IE8 IS BASED.

SIN%$E RO8 DE$ETE

#1 DE$ETE SUPP$IER S"

MU$TIP$E RO8 DE$ETE

#2 DE$ETE A$$ SHIPMENTS 8ITH #UANTIT!%REATER THAN 3))

#UER! 1 DE$ETE

FROM S8HERE S L S" =

#UER! 2 DE$ETE

FROM SP8HERE #T! 3)) =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 85/200

".3. Contol Stateents

S7**/ *, 7 DDL 7 DML 7,* *-:7* / /*. T*? 7,*

".3.1. %ant

".3.2. Reo?e

".3.3. Co4t

".3.. Roll Ba? 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 86/200

CONTRO$ STATEMENTS

%RANT

TO PERFORM AN! OPERATION ON AN! OBECT THEUSER MUST HO$D THE APPROPRIATE PRI+I$E%E

FOR THE OPERATION AND THE OBECT IN #UESTION .THE %RANT STATEMENT %RANTS PRI+I$E%ES ON AN

OBECT TO AUTHORIATION IDS.

TAB$E PRI+I$E%ES

%RANT SE$ECT ON TAB$E S TO CHAR$! =

%RANT SE$ECT < UPDATE *STATUS < CIT! , ON TAB$E S

TO UD!< AC@< OHN =

%RANT A$$ PRI+I$E%ES ON TAB$E S TO PUB$IC = 

PAC@A%E AND P$AN PRI+I$E%ES%RANT E6ECUTE ON P$AN P$ANB TO CHAR$! =

CO$$ECTION PRI+I$E%ES

%RANT CREATE IN E8S@ TO OHN =

DATABASE PRI+I$E%ES

%RANT CREATETAB ON DATABASE DB6 TO NANC! =

USE PRI+I$E%ES

%RANT USE OF TAB$ESPACE DB6.TS(& TO TOM =

S!STEM PRI+I$E%ES%RANT CREATEDBC TO ARNO$D =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 87/200

RE+O@E

USED TO RE+O@E PRE+IOUS$! %RANTED PRI+I$E%ES ON ANOBECT FROM USERS. %ENERA$ FORMAT OF RE+O@E IS

SIMI$AR TO THAT OF %RANT. RE+O@E CAN BE USED TORE+O@E A$$ PRI+I$E%ES E6P$AINED IN THE %RANT COMMAND

E6AMP$ES

RE+O@E SE$ECT ON TAB$E S FROM CHAR$! =

RE+O@E UPDATE ON TAB$E S FROM OHN =

RE+O@E CREATETAB ON DATABASE DB6 FROM NANC! =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 88/200

COMMIT

COMMIT OPERATES ON A UNIT OF RECO+ER!

AFTER E6ECUTIN% THIS STATEMENT

♦A$$ CHAN%ES 8I$$ BE DONE PERMANENT$!

♦RO8 $OC@S 8I$$ BE RE$EASED

♦DEFAU$T COMMIT IS AT PRO%RAM TERMINATION

♦ IF AN APP$ICATION DETERMINES THAT A UNIT OF 8OR@ IS

SUCCESSFU$ IT CAN INDICATE THAT TO THE DATABASE MANA%ER+IA A COMMIT. THE DATABASE MANA%ER CAN MA@E THE CHAN%ESPERMANENT

♦ CURSORS ARE C$OSED E6CEPT THOSE DEC$ARED 8ITH HO$D

OPTION

E6AMP$E

UPDATE TAB$E S

SET STATUS L 2)8HERE S L S1=

COMMIT=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 89/200

RO$$BAC@ 

A UNIT OF 8OR@ IS UNDONE IF AN! ABNORMA$

CONDITION OCCURS . 8HEN THIS STATEMENT

IS E6ECUTED

♦ A$$ CHAN%ES IN THAT UNIT OF 8OR@ 

8I$$ BE BAC@ED OUT

♦ A$$ $OC@S ARE RE$EASED

♦ A$$ OPEN CURSORS ARE C$OSED

♦ 8HEN !OU ISSUE A RO$$BAC@ THEN THE DATABASE MANA%ER 8I$$RE7ESTAB$ISH THE STATE OF THE DATABASE AT THE $AST

COMP$ETED UNIT OF 8OR@ 

♦ RO$$BAC@ 8I$$ BE DONE EITHER B! THE PRO%RAM OR B! THE

S!STEM.

E6AMP$E

RO$$BAC@ 8OR@ =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 90/200

&. Po:a St-t-e

T/ /* */ 7 *, * 0 7 DB2 7--:7 -,,7 .D00*,* /*/ =*:+* 7 7--:7 7,* *-:7* =,*0:?.

&.1. Host +a4ables

&.1.1. Dela4n: Host +a4ables

&.2. In04ato +a4ables

&.3. S#$CA

&.. Cobol St-t-e Of S#$CA

&.". S#$CA Ret-n Co0es

&.&. S#$CA 8an4n:s

&.(. I/otant S#$ o0es

&.'. Stat4 S#$

&.9. D;na4 S#$

&.1). Ea/le Fo A DB2 A//l4at4on Po:a

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 91/200

PRO%RAM STRUCTURE

STRUCTURE OF A PRO%RAM THAT ACCESSES DB2

S#$CA

 HOST +ARIAB$E DEC$ARATIONS 

DEC$ARE TAB$E STATEMENTS

DEC$ARE CURSOR 

  S#$ STATEMENTS 8ITHOUTFETCH

OPEN CURSOR 

FETCH CURSOR 

C$OSE CURSOR 

♦ DIFFERENT SECTIONS TO BE INC$UDED IN A DB2 PRO%RAM ARE

SHO8N IN THE ABO+E FI%URE.

♦ IF THE HOST $AN%UA%E IS COBO$< THEN HOST +ARIAB$EDEC$ARATION< S#$CA< AND DEC$ARE TAB$E STATEMENTS SHOU$D

BE IN THE 8OR@IN% STORA%E SECTION AND CURSOR DEC$ARATIONS SHOU$D BE UST ABO+E THE PROCEDURE DI+ISION.A$$ OTHER SECTIONS ARE IN PROCEDURE DI+ISION.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 92/200

Po:a St-t-e

P,,7/ 7 7*// DB2 7,* ,* 7 +=*, 0 / :7+7*/ J COBOL> PL%1> C >ASSEMBLER > FORTRAN> BASIC *. T*/* -,,7/ 7 7 S&L /7**/ 7,*,**/ , +-7*/ 77=7/*.

T* /7, 7 * 0 S&L /7**/ +/ =* 7* =? *:*,/. T* *:*,/ +/* COBOL 7,* EEC S&L 7 ENDJEEC.

S&L /7**/ +/ =* * */* *:*,/. E* 0 +:-:* S&L /7**/7--*7, /*+*7::?> *7 S&L /7** /+: =* 7* =? *:*,/.

P,* -:*, +/*/ *:*,/ *0? S&L /7**/ 0, * / :7+7*.

EAMPLE OF USING DELIMITERS IN COBOL

E6EC S#$UPDATE SSET STATUS 1$#HERE CITY ATHENS@END7E6EC.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 93/200

HOST +ARIAB$ES

HOST +ARIAB$ES ARE USED TO IDENTIF! THE S!MBO$IC

NAME OF STORA%E< THAT HAS BEEN DEC$ARED USIN%THE APP$ICATION PRO%RAM $AN%UA%E DEFINITION STATEMENT

S#$ STATEMENT

SE$ECT SNAME INTO TMPNAME 8HERE S L S1

HOST +ARIAB$E

♦ HOST +ARIAB$ES ARE OPTIONA$

♦ HOST $AN%UA%E +ARIAB$ES IN S#$ STATEMENT MUST BE

PRECEDED B! A CO$ON

♦ HOST +ARIAB$E MUST MATCH CO$UMN DATA T!PE

♦ CAN BE USED AN!8HERE A +A$UE IS RE#UIRED IN AN S#$

STATEMENT

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 94/200

E6AMP$E*1,

♦ S#$ STATEMENT 1

INSERT INTO S( S> SNAME )

"ALUES ( S6@ > GEORGE@ )

♦ S#$ STATEMENT 2

INSERT INTO S( S> SNAME )"ALUES ( SUPCODE> SUPNAME )

I S&L /7** 1 * 7:+*/ =* /*,* 7,* 7, * .S* S&L /7** //* +/* 0 / 7,7=:*/ 7 *=** S&L .T/ /7** +: =* :+* 7

 -,*// :- * -,,7@/ : 7// 7,+/ 7:+*/ * / 7,7=:*/.

E6AMP$E *2,

♦ S#$ STATEMENT

UPDATE SSET STATUS STATUS K PERCENT#HERE S SUPCODE

I / *7-:* / 7,7=:*/ 7,* +/* +-7* 7 7=:* .

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 95/200

DEC$ARIN% HOST +ARIAB$ES

THERE ARE T8O METHODS OF HOST +ARIAB$E DEC$ARATION

(1) DEC$ARE HOST +ARIAB$ES IN THE 8OR@IN% STORA%E SECTION

(2) E6EC S#$

INC$UDE *ebe nae >4 onta4ns all ost a4able 0elaat4onsan0 0elae table stateents,

END E6EC.

we cant access data to other application prgograms from db2 directly.

so we need to create dummy variable as we defined variables in applicationprogram , by using those variables we can access data.

dummy variables also called as host variables need not be created manually as

they are default generated by dclgen when we create it.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 96/200

Dela4n: Host +a4ables

Y+ 7 *:7,* 7:: / 7,7=:*/ * ,; /,7* /* 0 * COBOL -,,7.T* / 7,7=:* *:7,7 /+: 7 * ,,*/- :+ *0

T* / 7,7=:* 7*/ +/ =* S&L , EEC.

A*, * 0 *:7, / 7,7=:*/ / +/ * *,= INCLUDE. A:: * /7,7=:*/ 7,* *:7,* 7 -7,* 77/* *=*, 7 7 *=*, / :+* */+,* -,,7 +/ *,= INCLUDE.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 97/200

INDICATOR +ARIAB$ES

INDICATOR +ARIAB$E INDICATES THE PRESENCEOF NU$$ +A$UE IN A CO$UMN

SE$ECT SNAME INTO SUPNAMESUPNAMINDFROM S

HOST +ARIAB$E

INDICATOR +ARIAB$E

♦ INDICATOR +ARIAB$E IS RE#UIRED IF THE SE$ECTED CO$UMNS

A$$O8S NU$$

♦ IF CO$UMN CONTAINS NU$$ +A$UE THEN THE INDICATOR +ARIAB$E

IS SET TO NE%ATI+E +A$UE< HOST +ARIAB$E IS UNTOUCHED

♦ INDICATOR +ARIAB$E IS ASSOCIATED 8ITH A HOST +ARIAB$E

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 98/200

In04ato +a4ables

#* * -,,7 / ,*** 7 7:+* 0, 7 :+ 7 7::/ +::/> * -,,7 7* **, 7 7:+* , +::. S * -,,7 ,*+,*/ 7,7=:*/> 7 / 7,7=:* ,***7:+* 7 7 7, 7,7=:* 7* * -,*/** 0 +:: 7:+* * /*:** :+.

I0 DB2 7*-/ 7* * -,*/** 0 7 +:: 7 * -,,7 */ -,* 77, 7,7=:* 7 *,,, +,/.

I0 * 7:+* ,*+,* / +:: * * +:: 7, 7*/ 7 =? 7 *7* 7:+* 7 *7:+* * / 7,7=:* ,*7/ +7*. T* -,,7 /+: 7* 7 7, 7,7=:* 0, *7 :+ 7 7::/ +::.

I EAMPLE1 * * /*:** :+ 7/ 7 +:: 7:+* * * -,,7 : /* /+ 7? 7;:* .

E7-:* 2 // 7 7, 7,7=:*/ 7,* +/* 0, UPDATE -*,7/ 7:/. B*0,*+-7 * 7=:*> * 7, 7,7=:* / 7* *7* 7 DB2 /*/ * :+ +::, * 7:+* * / 7,7=:*.

I7, 7,7=:* /+: =* *:7,* :;* ?+ *:7,* 7 / 7,7=:*. D77 ?-* 0 77, 7,7=:* / SMALLINT 7 ,,*/- =: *:7,7 / * =*:

$1 SUPNAMIND PIC S9(4) COMP.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 99/200

Ea/les

1. EEC S&LSELECT SNAME > CITYINTO SUPNAMESUPNAMIND > PGMCITY

FROM S #HERE S S1@END EEC.

IF SUPNAMIND $PERFORM NONAMEJSECTION

ELSEPERFORM NAMEJSECTION.

2. IF ( /* )SUPNAMIND J1

ELSESUPNAMIND $.

EEC S&L

UPDATE SSET SNAME SUPNAMSUPNAMIND#HERE S S1@

END EEC.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 100/200

S#$CA * S#$ COMMUNICATION AREA,

THE SUCCESS OR FAI$URE OF THE $AST E6ECUTED S#$STATEMENT IS DESCRIBED IN S#$CA

PRO%RAMSTATUS OF E6ECUTED S#$

  S#$CA

  S#$ STATEMENTS   DB2

♦ AFTER EACH S#$ STATEMENT< S#$CA CODES MUST BE CHEC@ED B!

THE PRO%RAM TO FIND 8HETHER THE S#$ 8AS SUCCESSFU$ ORNOT

♦ S#$CA IS INCORPORATED IN THE PRO%RAM USIN% INC$UDE

STATEMENT.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 101/200

S#$CA

T* S&L +7 7,*7 (S&LCA) / 7 77 /,++,* 7 +/ =* :+* 7?/ :7+7* -,,7 +/ S&L .T* S&LCA -,*/ 7 7? 0, DB2 -7// 0**=7; 7=+ @/ -*,7/ * -,,7 .A0*, **+ 7 S&L DB2 ,*+,/ 7 *

S&LCA >*/ 7 * **+ 7/ /+*//0+: , *0? *,,,/ 7 /-*7:/. T* -,,7 7 * */ 0, */* */ 7 ,*7 7, *, *.

T* S&LCA /,++,* 7/ 7,7=:*/ 0, 7 +=*, 0 */ 7 *//7*/.P,,7*,/ 7 * * **//7,? /,++,*(*-:7* * -7*) > -? 0, 7/+,* :=,7,? , 7* DB2 **,7* .

A :+* /7** 7::/ * /+,* -,,7 :+* S&LCA /,++,* 0, * -?:=,7,? 7 / / =*:.

EEC S&L

INCLUDE S&LCAEND EEC.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 102/200

COBO$ STRUCTURE OF S#$CA

)1 S#$CA.

)" S#$CAID PIC 6*',.)" S#$CABC PIC S9*9, COMP7.)" S#$CODE PIC S9*9, COMP7.)" S#$ERRM.

9 S#$ERRM$ PIC S9*, COMP7.9 S#$ERRMC PIC 6*(),.

)" S#$ERRPPIC 6*',.)" S#$ERRD OCCURS & TIMES

PIC S9*9, COMP7.)" S#$8ARN.

1) S#$8ARN) PIC 6.

1) S#$8ARN1 PIC 6.1) S#$8ARN2 PIC 6.1) S#$8ARN3 PIC 6.1) S#$8ARN PIC 6.1) S#$8ARN" PIC 6.1) S#$8ARN& PIC 6.1) S#$8ARN( PIC 6.

)" S#$E6T.1) S#$8ARN' PIC 6.1) S#$8ARN9 PIC 6.1) S#$8ARNA PIC 6.

1) S#$STATE PIC 6*",.

♦ MOST IMPORTANT S#$CA CODES ARE S#$CODE AND S#$8ARN)

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 103/200

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 104/200

S#$CA 8ARNIN%S

S#$ 8ARNIN% DESCRIPTION

S#$8ARN) THIS FIE$D IS B$AN@ IF A$$ S#$ 8ARNIN%SFROM S#$8ARN1 TO S#$8ARNA ARE [email protected] 8 IF ONE OR MORE S#$ 8ARNIN%SCONTAINS 8.

S#$8ARN1 CONTAINS 8 IF THE +A$UE OF A STRIN% CO$UMN8AS TRUNCATED 8HEN ASSI%NED TO HOST+ARIAB$E.

S#$8ARN2 CONTAINS 8 IF NU$$ +A$UES 8ERE E$IMINATEDFROM THE AR%UMENT OF A CO$UMN FUNCTION

S#$8ARN3 CONTAINS 8 IF THE NUMBER OF RESU$T CO$UMNS

IS $AR%ER THAN THE NUMBER OF HOST +ARIAB$ES.

S#$8ARN CONTAINS 8 IF A PREPARED UPDATE OR DE$ETESTATEMENT DOES NOT INC$UDE A 8HERE C$AUSE.

S#$8ARN" CONTAINS 8 IF THE S#$ STATEMENT 8AS NOTE6ECUTED BECAUSE IT IS NOT A +A$ID S#$STATEMENT IN DB2 FOR M+S5ESA.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 105/200

S#$CA 8ARNIN%S..

S#$ 8ARNIN% DESCRIPTION

S#$8ARN& CONTAINS 8 IF THE ADDITION OF A MONTH OR !EARDURATION TO A DATE OR TIMESTAMP +A$UERESU$TS IN AN IN+A$ID DA!. AN IN+A$ID DA! *FORE6AMP$E< UNE 31,. INDICATES THAT THE +A$UE OFTHE DA! 8AS CHAN%ED TO THE $AST DA! OF THE

MONTH TO MA@E THE RESU$T +A$ID.

S#$8ARN( CONTAINS A 8 IF ONE OR MORE NON ERO DI%ITS8ERE $IMITED FROM THE FRACTIONA$ PART OFA NUMBER USED AS THE OPERAND OF A DECIMA$MU$TIP$! OR DI+IDE OPERATION.

S#$8ARN' CONTAINS A 8 IF A CHARACTER THAT COU$D NOTBE CON+ERTED 8AS REP$ACED 8ITH ASUBSTITUTE CHARACTER.

S#$8ARN9 CONTAINS A 8 IF ARITHMETIC E6CEPTIONS 8ERE

I%NORED DURIN% COUNT DISTINCT PROCESSIN%.

S#$8ARNA CONTAINS A 8 IF AT $EAST ONE CHARACTER FIE$DOF THE S#$CA OR THE S#$DA NAMES OR $ABE$S ISIN+A$ID DUE TO A CHARACTER CON+ERSION ERROR.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 106/200

I/otant S#$ o0es

J1$2 LITERAL STRING IS TOO LONG. STRING BEGINS /,

J1$! THE NAME 7* IS TOO LONG. MAIMUM ALLO#ABLE SIE IS /<*

J11! THE NUMBER OF INSERT "ALUES IS NOT THE SAME AS THE NUMBER OF OBECT COLUMNS

J119 A COLUMN IDENTIFIED IN A HA"ING CLAUSE IS NOT INCLUDED INTHE GROUP BY CLAUSE

J125 AN INTEGER IN THE ORDER BY CLAUSE DOES NOT IDENTIFY ACOLUMN OF THE RESULT

J15$ THE OBECT OF THE INSERT> DELETE> OR UPDATE STATEMENT IS A

"IE# FOR #HICH THE RE&UESTED OPERATION IS NOT PERMITTED

J2$4 7* IS AN UNDEFINED NAME

J2$5 :+J7* IS NOT A COLUMN OF TABLE 7=:*J7*

J3$3 A "ALUE CANNOT BE ASSIGNED TO OUTPUT HOST "ARIABLE NUMBER  -/J+=*, BECAUSE THE DATA TYPES ARE NOT COMPARABLE

J4$1 THE OPERANDS OF AN ARITHMETIC OR COMPARISON OPERATION ARE NOT COMPARABLE

J4$! AN UPDATE OR INSERT "ALUE IS NULL> BUT THE OBECT COLUMN:+J7* CANNOT CONTAIN NULL "ALUES

J5$1 THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOTOPEN

J5$2 THE CURSOR IDENTIFIED IN AN OPEN STATEMENT IS ALREADY OPEN

J5$3 A COLUMN CANNOT BE UPDATED BECAUSE IT IS NOT IDENTIFIED INTHE UPDATE CLAUSE OF THE SELECT STATEMENT OF THE CURSOR 

J5$4 THE CURSOR NAME +,/,J7* IS NOT DEFINED

J54$ THE DEFINITION OF TABLE 7=:*J7* IS INCOMPLETE BECAUSE ITLAC'S A PRIMARY INDE OR A RE&UIRED UNI&UE INDE

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 107/200

J551 7+J DOES NOT HA"E THE PRI"ILEGE TO PERFORM OPERATION-*,7 ON OBECT =*J7*

J6$3 A UNI&UE INDE CANNOT BE CREATED BECAUSE THE TABLECONTAINS RO#S #HICH ARE DUPLICATES #ITH RESPECT TO THE "ALUES

OF THE IDENTIFIED COLUMNS

J623 A CLUSTERING INDE ALREADY EISTS ON TABLE 7=:*J7*

J661 INDE *J7* CANNOT BE CREATED ON PARTITIONED TABLESPACE /-7*J7* BECAUSE THE NUMBER OF PART SPECIFICATIONS IS NOTE&UAL TO THE NUMBER OF PARTITIONS OF THE TABLE SPACE

J6!2 OPERATION DROP NOT ALLO#ED ON TABLE 7=:*7*

J!19 BIND ADD ERROR 

USING 7+J AUTHORITYPAC'AGE -7;7*J7*ALREADY EISTS

J8$5 DBRM , PAC'AGE NAME :7J7*.::*J.=,J7*.//*?J;* NOT FOUND IN PLAN -:7J7*. REASON ,*7/

J811 THE RESULT OF AN EMBEDDED SELECT STATEMENT IS A TABLE OFMORE THAN ONE RO#> OR THE RESULT OF THE SUB&UERY OF A BASICPREDICATE IS MORE THAN ONE "ALUE

J9$4 UNSUCCESSFUL EECUTION CAUSED BY AN UNA"AILABLERESOURCE. REASON ,*7/J*> TYPE OF RESOURCE ,*/+,*J?-*> ANDRESOURCE NAME ,*/+,*J7*

J911 THE CURRENT UNIT OF #OR' HAS BEEN ROLLED BAC' DUE TODEADLOC' OR TIMEOUT. REASON ,*7/J*> TYPE OF RESOURCE ,*/+,*J?-*> AND RESOURCE NAME ,*/+,*J7*

J913 UNSUCCESSFUL EECUTION CAUSED BY DEADLOC' OR TIMEOUT.REASON CODE ,*7/J*> TYPE OF RESOURCE ,*/+,*J?-*> AND RESOURCE

 NAME ,*/+,*J7*

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 108/200

CODIN% AIDS

8HENE+ER STATEMENT

E6EC S#$

8HENE+ER Con04t4on At4onEND7E6EC

♦ CONDITION

S#$ERROR77 NE%ATI+E S#$CODE

S#$8ARNIN%77 POSITI+E S#$CODE * NOT J1)) ,

77 OR S#$8ARN) L 8NOT FOUND77 S#$CODE L J1))

♦ ACTION

%O TO SECTA77 CONTRO$ TRANSFERRED TO STATEMENT $ABE$ED

SECTACONTINUE

77 PRO%RAM CONTINUES 8ITH NE6T STATEMENT77 USED TO CANCE$ THE EFFECT OF PRIOR 8HENE+ER 

♦ PH!SICA$ P$ACEMENT OF 8HENE+ER STATEMENT DETERMINES

THE S#$ STATEMENTS UNDER ITS EFFECT

♦ THE USE OF CO$ON BEFORE THE $ABE$ IS OPTIONA$

♦ %O TO AND %OTO ARE E#UI+A$ENT

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 109/200

8enee Stateent

#HENE"ER /7**/ *:- -,,7*,/ 7 *; S&LCODE 70*, **,? S&L/7**. #HENE"ER /7**/ 7,* S&L STATEMENTS 7 7 =* *=** *, ,* */ * / :7+7* -,,7 0, =,7 7 -7,7,7- *-* *

* 0 S&LCODE.

E7 #HENE"ER /7** 7--:*/ 7:: 0 * S&L /7**/ 7 0:: * -,,7 :/> ,*7,:*// 0 ,*, * /7**/ 7,* 7+7::? **+*. T/7--*/ =*7+/* COBOL -,*-:*, -+/ 7--,-,7* =,7 /,+ 70*, **,?S&L /7** 7 0::/ * ***, /7**.

#HENE"ER /7**/ 7 =* +/* 0, ,** 00*,* / 7 */* 7,* /:7, IF THEN /7**/. IF S&L* /7/0*/ /* * * -,,7 -*,0,/ *

 =,7 .

EAMPLE

EEC S&L#HENE"ER NOT FOUND CONTINUEENDJEEC

EEC S&L#HENE"ER S&LERROR PERFORM ERRJSECTIONENDJEEC

EEC S&L

#HENE"ER S&L#ARNING PERFORM #ARNJSECTIONENDJEEC

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 110/200

INC$UDE STATEMENT

THE INC$UDE STATEMENT INSERTS DEC$ARATIONSOR CODE INTO A SOURCE PRO%RAM.

SOURCE PRO%RAM S#$CA *TO BE INC$UDED IN SOURCEPRO%RAM ,

  )1S#$CA

E6EC S#$ )" S#$CAID PIC 6*',.

)" S#$CABC PIC S9*9, COMP7.  INC$UDE S#$CA

END7E6EC. 

♦ THE INC$UDE STATEMENT INSERTS SOURCE CODE INTO A SOURCE

PRO%RAM AT PRE COMPI$E TIME.

♦ THE INC$UDE STATEMENT CANNOT REFER TO SOURCE STATEMENTS

THAT THEMSE$+ES CONTAIN INC$UDE STATEMENTS.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 111/200

USIN% CURSORS

PROCESSIN% MU$TIP$E RO8S

#UER! SE$ECT STATUS< CTT! INTO RAN@< CIT!FROM S 8HERE STATUS K 3) =

STATUS CIT!

2 $ONDON1) PARIS2) $ONDON

RAN@ CIT!

STATUS CIT!

2) $ONDON1) PARIS2) $ONDON

RAN@ CIT!

STATUS CIT!

2) $ONDON1) PARIS2) $ONDON

RAN@ CIT!

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 112/200

Poess4n: M-lt4/le Ro>s

I -,*+/ *7-:* * ,*/+: 0 * +*,? */ +:-:* ,/. B+ *,* / * **,* * +=*, 0 ,/ /7/0? * =*0,* 7+7::? ,** 77 0,DB2.T*,*0,* / -//=:* 7::7* /,7* * 7--:7 -,,7 ,*** 7

*,* /* 0 77.

#* * 7,* +/ / 7,7=:*/ 0, ,*,* 77 7 0 * ,*/+: / 7 /:* , *+*,? :: ,; 7 S&L ,*+, * :: =* /* <*,. B+ * * *7-:* *,*/+: 0 * +*,? */ +:-:* ,/ 7 * / :7+7* 7 *7: :? 7 7 *

 N * -,,7 / *,,,> S&LCODE :: =* /* 7 *7* 7:+* 7 * 7:+*/ 0 * / 7,7=:*/ :: =* +-,*7=:*.

DB2 -,*/ * +/* 0 +,/,/ -,*// SETS 0 77. T* +,/, / +/* ,*,** 7::,/ * SET * =? *. E7 0* 0 * +,/, ,*,**/ * * , * /* 0 77 7 **/ * .

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 113/200

SE$ECT 8ITH FETCH

♦ DEFINE A CURSOR E6EC S#$

DEC$ARE CURSOR @1) FOR 

SE$ECT SNAME< CIT! DEFINITIONFROM S

8HERE STATUS K 3)END7E6EC

♦ OPEN THE CURSOR E6EC S#$

OPEN @1)END7E6EC

♦ FETCH RESU$T RO8S ONE AT A TIMEE6EC S#$ E6ECUTION

FETCH @1) INTO SUPNAME< CIT!END7E6EC

♦ C$OSE CURSOR 8HEN FINISHEDE6EC S#$

C$OSE @1)END7E6EC

♦ THE DEC$ARE CURSOR STATEMENT RE$ATES A CURSOR TO A SE$ECT

STATEMENT

♦ OPEN CURSOR STATEMENT %ENERATES E6ECUTAB$E CODE.

♦ FETCH CURSOR STATEMENT RETRIE+ES A RO8 FROM A SET OF DATA

♦ C$OSE CURSOR STATEMENT DEACTI+ATES THE CURSOR 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 114/200

Selet 84t Fet

DECLARE +,/, /7** *0*/ 7 +,/, * /-*0* 7* 7 7//7*+*,? 7/ /-*0* =? * /*:* 7 0,/ -7, 0 7 *:7,*. T* *:7,* +,/, /7**/ 7 **+7=:* *> =+ 7 -+,*:? *:7,7* /7**. A -,,7 7 +/* 7?

+=*, 0 DECLARE CURSOR /7**/> 7 *7 0 +/ =* 0 7 00*,*7*.

O-* +,/, /7** **,7*/ **+7=:* *. T* /*:* :7+/* +/* * DECLARECURSOR /7** / *00**:? **+* * * +,/, / -**. T/ / * +/* +,,* 7:+* 0 * / 7,7=:* (0 +/*).T/ **+7=:* * :: 7:: /+=/*+* 0* /7**/ 7*// * /* 0 77 7**/ * *0 0 * DECLARE CURSOR/ +*,:? SELECT /7**.O-* * +,/, / 7 +/ 7 DB2 :: -* * 0,/ 0*.

T* FETCH /7** :: ,*,**/ 7 , 0 77 0, * /* 7* 7*//=:* =? *

-* /7**. D77 / ,*,** / 7,7=:*/ /-*0* 70*, * INTO :7+/* 0 FETCH /7**. A0*, * 0,/ FETCH /7** ,*,**/ * 0,/ ,> *+,/, :: =* 77* * * , +, * /* FETCH -*,7 7 *7/// 7:+*/ 0, 7 , / 7,7=:*/.

A0*, ,*,* * ,*+,* ,/ * CURSOR 7 =* :/*. T* CLOSE CURSOR /7** ,*:*7/*/ * +,/, 0, * /* 0 77.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 115/200

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 116/200

U/0ate Us4n: A C-so

T* +/+7: : 0 +,/,/ / +/* 0, +-7 7 , / -,*/* * /* 0 77>/7/0? * /*:* /7** * DECLARE CURSOR. T* :+/ 7 7? =*+-7* 7,* /-*0* +/ FOR UPDATE OF :7+/* * DECLARE CURSOR 

/7**.

T* +-7* -*,7 / * 70*, 0* 7 , 0, * SET 0 77. T/ ?-* 0 +-7* / +/*0+: *,* * ,*,** , / ,*+,* 0, * -,,7 =*0,* +-7 .UPDATE #HERE CURRENT OF CURSOR :7+/* +-7*/ * , *,* * +,/, /

 -,*/*:? -/*. T* * , 7 =* +-7* :? 70*, //+ 7*, FETCH.

R*+,** 0 /-*0? FOR UPDATE OF :7+/* 0, +-7 7 7=:* +/ CURSORS*-*/ * -,* -:*, - *. I0 -,* -:*, NOFOR - / /-*0* *FOR UPDATE OF :7+/* / ,*+,*. I0 NOFOR / /-*0* FOR UPDATE OFCLAUSE / ,*+,* 7 7 7*- +-7* 7 :+ ** 7 :+ ::

07: 7 ,+ *.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 117/200

DE$ETE USIN% A CURSOR 

E6EC S#$

DEC$ARE CURSOR @1) FOR SE$ECT SNAME< CIT!FROM S8HERE STATUS L RAN@ FOR UPDATE OF CIT!

END7E6EC

E6EC S#$

OPEN @1)END7E6EC

E6EC S#$FETCH @1) INTO SUPNAME< CIT!

END7E6EC

E6EC S#$DE$ETE FROM S8HERE CURRENT OF @1)

END7E6EC

E6EC S#$C$OSE @1)

END7E6EC

♦ THE DEC$ARE< OPEN< FETCH an0 C$OSE CURSOR $O%IC IS NOT

CHAN%ED

♦ DE$ETE 8HERE CURRENT OF -so DE$ETES THE RO8 PRESENT$!

POSITIONED B! THE CURSOR 

♦ THIS FORM OF DE$ETE 8I$$ BE USED IF THE DATA CONTAINED IN A

RO8 IS NEEDED B! THE APP$ICATION BEFORE IT IS DE$ETED.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 118/200

STATIC S#$

P$AN TO SE$ECT DATA

  PRO%RAM  P$AN

 DB2

 

• PRO%RAM HAND$ES THE RESU$T

♦ STATEMENT

PRO%RAMMER @NO8S THE S#$ STATEMENT TO BE USEDAND A$8A!S DOES THE SAME FUNCTION ON THE SAME

TAB$ES AND CO$UMNS.

♦ BIND 

ON A$$ S#$ STATEMENTS

  BEFORE PRO%RAM E6ECUTION

  BUI$DS A STORED P$AN

 

SE$ECT  CA$$

RESU$T

SE$ECT

 TAB$E

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 119/200

♦ AUTHORIATION

• HE$D B! THE P$AN BINDER 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 120/200

D!NAMIC S#$

  P$AN TO E6ECUTE USERS RE#UEST

  PRO%RAM P$AN 

PREPARE DB2

  E6ECUTE

  CA$$ E6ECUTE TAB$E

  RESU$T

PRO%RAM HAND$ES THE RESU$T

 

STATEMENT

S#$ STATEMENTS ARE PREPARED AT RUN TIME ANDE6ECUTED. TAR%ET TAB$E OR CO$UMN CAN BE SPECIFIEDAT RUN TIME

 

BIND

 

ON SIN%$E STATEMENT

  AT STATEMENT E6ECUTION

  ACCESS STRATE%! NOT SA+ED

 

AUTHORIATION

• HE$D B! THE PRO%RAM E6ECUTOR 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 121/200

Ea/le Fo D;na4 S#$

$1 STMT49 LEN PIC S9(4) COMP.49 TET PIC (2$$).

$1 PIC(6).$1 Y PIC(6).$1 PIC (6).

EEC S&L DECLARE SS STATEMENT ENDJEEC

EEC S&L DECLARE CC CURSOR FOR SS ENDJEEC

MO"E #SJTET TO TETMO"E LENGTHJOFJTET TO LEN

(SELECT CL1>CL2>CL3 FROM T1 #HERE CL1 1932)

EEC S&L PREPARE SS FROM STMT ENDJEECEEC S&L OPEN CC ENDJEEC

EEC S&L FETCH CC INTO > Y> ENDJEEC

( ,*-*7 0* +: /:* 1$$).

EEC S&L CLOSE CC ENDJEEC

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 122/200

Ea/le Fo A Db2 A//l4at4on Po:a

IDENTIFICATION DI"ISION.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK IDENTIFICATION DI"ISION. K

  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  PROGRAMJID. SD11$18.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  EN"IRONMENT DI"ISION.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K K  K EN"IRONMENT DI"ISION. K  K K

  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  CONFIGURATION SECTION.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK CONFIGURATION SECTION. K  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  SPECIALJNAMES.

DECIMALJPOINT COMMA.INPUTJOUTPUT SECTION.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  K K  K INPUTJOUTPUT SECTION. K  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  FILEJCONTROL.

DATA DI"ISION.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  K K  K DATA DI"ISION. K  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  FILE SECTION.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K K  K FILE SECTION. KK

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 123/200

#OR'INGJSTORAGE SECTION.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  K K  K #OR'INGJSTORAGE SECTION. K

  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ  K

K DB2JCOMMUNICATIONJAREA DECLARATIONS  K

KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ  EEC S&L INCLUDE S&LCA

ENDJEEC.KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ

  K

K S&LJTABLE DECLARATIONENKKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ

EEC S&L INCLUDE "T11$18 ( OUTPUT OF DC$%EN )ENDJEEC.%( 8OR@IN% STORA%E

+ARIAB$ES )

LIN'AGE SECTION.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K L I N ' A G E S E C T I O N K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 124/200

  KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ  K

K S&LJCURSOR DECLARATIONSK

KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKJ  EEC S&L

DECLARE T11$18ALLRO# CURSOR FORSELECT

TABINDE> DAH#"> DAH#B> DART

FROM"T11$18

ORDER BY TABINDE

ENDJEEC.PROCEDURE DI"ISION

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K K  K PROCEDURE DI"ISION K  K K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  K

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  K..

%KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

  81$$JOPENJT11$18JCURSOR SECTION.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

 EEC S&L

OPEN T11$18ALLRO#

ENDJEECKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK..

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 125/200

..81$$JFETCHJT11$18JRO# SECTION. * THIS SECTION SHOU$D BE IN A

$OOP TO FETCH A$$ RO8S,  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

 EEC S&L

FETCH T11$18ALLRO#INTO

TABJINDE> DAH#"> DAH#B> DART

ENDJEECKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

..  81$$JCLOSEJT11$18JCURSOR SECTION.

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK  EEC S&L

CLOSE T11$18ALLRO#ENDJEECSTOP RUN.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 126/200

(. Po:a Pe/aat4on

T/ 7-*, *-:7/ * /*-/ :* **+ 7 =2 7--:7 -,,7.C,: 0,7 ,*+,* 0, *7 /*- 7 *7-:*/ 7,* 7:/ -,*

T* -/ /+//* / 7-*, 7,*

(.1. Ste/s In Po:a Pe/aat4on

(.2. DC$:en *Delaat4ons %eneato ,

(.3. Peo/4le

(.. B4n0

(..1. B4n04n: A DBRM To A Pa?a:e

(..2. B4n04n: An A//l4at4on Plan

(.". Co/4le An0 $4n?e04t

(.&. Oe4e> Of DB2 A//l4at4on Po:a Pe/aat4on An0 Ee-t4on

(.(. Asso4at4n: $oa0 Mo0-les An0 Pa?a:es

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 127/200

PRO%RAM PREPARATION

STEPS IN PRO%RAM PREPARATION

DC$%EN

PRO%RAM PRE COMPI$E

BIND

COMPI$E AND $IN@ EDIT

E6ECUTION

DB2 APP$ICATION PRO%RAM SHOU$D %O THROU%H A$$ THE ABO+ESTEPS.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 128/200

DC$%EN *DEC$ARATIONS %ENERATOR ,

INPUT OUTPUT

 DEC$ARE TAB$ESTATEMENT

CONTRO$ STATEMENTS8HICH INC$UDE TAB$E OR DC$%EN+IE8 NAME AND NAME OFTHE HOST $AN%UA%E HOST $AN%UA%E

DATA STRUCTURE

DC$%EN USES DB2CATA$O% TAB$ES

♦ DC$%EN SHOU$D BE DONE BEFORE PRE COMPI$IN% THE SOURCE

MODU$E

♦ DC$%EN %ENERATES BOTH DEC$ARE TAB$E STATEMENT AND

DATA STRUCTURE IN THE SPECIFIED HOST $AN%UA%E.

♦ DEC$ARE TAB$E STATEMENT USED FOR APP$ICATION PRO%RAM

DOCUMENTATION AND PRE$IMINAR! S!NTA6 CHEC@IN% FOR THEPRE COMPI$ER 

♦ USE DC$%EN OR CODE DEC$ARE TAB$E AND HOST $AN%UA%E

DATA STRUCTURE MANUA$$!

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 129/200

DC$%EN *Delaat4ons %eneato ,

T* DECLARATIONS GENERATOR /+--:* DB2 -,+*/ DECLARE TABLE/7**/ 0, 7=:*/ 7 */. I 7:/ **,7*/ / :7+7* 77 /,++,* 7,,*/-/ * DB2 7=:*/ 7 */ =* 7*//* =? * -,,7. T* +-+ 0 

DCLGEN :: =* ,*7* 7 -7, 77/* *=*, T/ *=*, /+: =* :+* * ,; /,7* /* 0 * 7--:7 -,,7 +/ INCLUDE /7**.

T* -+,-/* 0 7 DECLARE TABLE /7** * /+,* * / 7:: * -,*-:*, *; * /?7 0 * S&L /7**/ ,*0*,, * 7=:*/ 7 */.H7 * 7=:* 7 * *:7,7/ * /+,* * 7::/ * -,* -:*, +*, /?77: *,,,/> *,/* +: =* 0+ +: DB2 =/ * -:7 , 

 -7;7*.

H/ :7+7* 77 /,++,* -,+* =? DCLGEN> / * HOST LANGUAGEDECLARATIONS 0 7=:*/ , */. T*/* 7 =* +/* 7/ / 7,7=:*/ * 7--:7

 -,,7. DCLGEN -,**/ +/ 0, 7+7::? / 7,7=:* *:7,7/ 7*:7,* 7=:* /7**/.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 130/200

E6AMP$E

INPUT FOR DCLGEN

DCLGEN TABLE(S)

LIBRARY(NTCI.PTAB.DCL(S))ACTION(REPLACE)LANGUAGE(COBOL)STRUCTURE(S)&UOTE

OUT PUT FROM DCLGEN IN NTCI.PTAB.DCL(S)

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK K DCLGEN TABLE(S) K K LIBRARY(NTCI.PTAB.DCL(S)) K

 K ACTION(REPLACE) K K LANGUAGE(COBOL) K K STRUCTURE(S) K K &UOTE K K IS THE DCLGEN COMMAND THAT MADE THE FOLLO#ING K STATEMENTS K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

EEC S&L DECLARE S TABLE(S CHAR(5) NOT NULL>SNAME CHAR(2$)>NOT NULL #ITH DEFAULTSTATUS SMALLINT NOT NULL #ITH DEFAULT>

CITY CHAR(15) NOT NULL #ITH DEFAULT) ENDJEEC

  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK K COBOL DECLARATION FOR TABLE "T11$1$ K  KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

$1 S.1$ S PIC (5).1$ SNAME PIC (2$).1$ STATUS PIC S9(4) COMP.1$ CITY PIC (15).

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

K THE NUMBER OF COLUMNS DESCRIBED BY THIS DECLARATION IS 4KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 131/200

PRECOMPI$E

  SOURCE MODU$E

SOURCE $ISTIN%DIA%NOSTICS PRE COMPI$ECROSS REFERENCES

MODIFIEDSOURCE CODE DBRM

  *CONTAINS *CONTAINS  CONSISTENC! CONTO@EN ,

TO@EN,

 

PRE COMPI$ER INPUT

HOST $AN%UA%E PRO%RAM 8HICH CONTAINS S#$ STATEMENTS

  S#$ STATEMENTS ARE COMMENTED OUT ARE REP$ACED B! HOST

$AN%UA%E CA$$ STATEMENTS

 

PRE COMPI$ER OUTPUT

MODIFIED SOURCE CODE 8HICH CONTAINS PRE COMPI$ERCONSISTENC! TO@EN *CONTO@EN, 8HICH IS AN INTERNA$REPRESENTATION OF TIMESTAMP.

• DATABASE RE#UEST MODU$E 8HICH CONTAINS EDITED

FORM OF S#$ STATEMENTS AND CONSISTENC! TO@EN

• ERROR MESSA%ES AND OTHER DIA%NOSTIC INFORMATION

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 132/200

Pe Co/4le

DB2 7--:7 -,,7/ :+* S&L /7**/ 7 ?+ 7 -:* /* -,,7/+: ?+ 7* * S&L /7**/ * :7+7* ,*<* =? ?+, -:*,. H**?+ +/ +/* 7 -,* -:*, /* 0+ / 77:?<* * / :7+7* /+,* +:*>

/,-- 7:: S&L /7**/ 0/ 7 ,*-:7 * =? / :7+7* 7:: /7**/.PRE COMPILER 7:/ ,*7*/ 7 DBRM 0, * S&L /7**/ *+*,*. DBRM+7*/ ?+, S&L ,*+*// DB2 +, BIND -,*//.

O* DBRM / ,*7* 0, 7 -,,7> * 7* 0 * DBRM 7 -,,7 :: =* */7*. DBRM 7/ S&L /7**/ 7 / 7,7=:* 0,7 *,7* 0, */+,* -,,7. T* DBRM 7:/ 7/ 7 //*? ;* 7 *0*/ * -,,77 */ * DBRM * 0* /+,* /7**/ =? +/ * /7* //*? ;*

 -,*/* * 0* /+,* *.

T* -,* -:*, */ 7 /?7 *; +/ * *0 * =? * DECLARE

TABLE /7** 7:: S&L /7**/ * -,,7. P,* -:*, */ *,,, >7,/ 7 *, 7/ *//7*/ *-* * ,*/+: 0 /?7 *; .

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 133/200

BIND

DBRMS DIRECT$! BOUND TO THE P$AN

INPUT OUTPUT

  DBRM1  BIND P$AN

  DBRM2

DBRMS BOUND TO THE PAC@A%E AND PAC@A%ES BOUND TO THE P$AN

  DBRM1 BIND PAC@A%E1

  BIND P$AN

  DBRM2 BIND PAC@A%E2

  THERE ARE T8O T!PES OF BIND• BIND PAC@A%E

• BIND P$AN

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 134/200

BIND

♦ BIND CON+ERTS HI%H $E+E$ S#$ STATEMENTS PRESENT IN DBRMTO E6ECUTAB$E MACHINE INSTRUCTION

♦ BIND THE DBRM TO A P$AN OR PAC@A%E BEFORE E6ECUTIN% THE

APP$ICATION PRO%RAM.

♦ BIND IN+O$+ES

 

CHEC@IN% THE STATUS OF THE REFERENCED OBECTS TO

DETERMINE IF AN S#$ STATEMENT IS E6ECUTAB$E

 

CREATIN% AN OPTIMIED FORM OF THE S#$ STATEMENTS

FOR IMPRO+ED PERFORMANCE AND COMPACTNESS

 

IDENTIF!IN% MOST EFFICIENT PATH FOR EACH S#$

STATEMENT

 

BIND CHEC@S THE AUTHORIATION TO PERFORM

OPERATIONS RE#UESTED B! THE S#$ STATEMENT

THE CONSISTENC! TO@EN PRESENT IN THE DBRM 8I$$ BE CARRIED

FOR8ARD TO PAC@A%E AND P$AN

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 135/200

B4n0

T* + -+ 0 * -,*-:*, 7/ *,7* S&L /7**/ 0, * /+,* +:*.B+ DB2 7/ * /?7 *; 7 /+: **,* * =*/ 7*// /,7*? 0,*7 S&L. DB2 ,*,/ 7:: */* 0,7 * PAC'AGE.

I0 7 DBRM / + 0 7/ 7 S&L /+,* +:*@ * * -7;7* -,+* =? =7 DBRM 7 =* + 0 7/ * ,,*/- =* +:*. I *, ,/> 7

 -7;7* /// 0 7 /* 0 *,7: ,: /,++,*/ > ,*-,*/* * -:* 0, 0* ,7: S&L /7**/ * ,,*/- DBRM

E7 -7;7* / 7//* *7:? * ::* * / =+. #* ?+ = 7 -7;7*> ?+ /-*0? * ::* * -7;7* =*:/. T* ::* / 7 -?/7: *?> 7 ?+ ,*7* * ::* 7* / *,*:? 7 ** 7? 0,*0*,, 7 ,+- 0 -7;7*/. U/+7::? 7:: 0 * -7;7*/ +/* 7 * 7--:7+: =* 7//* * /7* ::*

T*,* 7,* ?-*/ 0 =. F,/ * / = DBRMS 7 7--:7 -:7. I */* * DBRMS 7,* =+ * -7;7* 7 -7;7*/ * PLAN. P:77/ -*,/ * -7;7*/.

B *7*/ * S&L /7**/ * -+ DBRM 7 *;/ **, 7:: * **//7,?*:**/ 0 7 /7** 7,* -,*/* 7 /?77::? ,,*. I 7:/ *;/ 7 *+7: = * -:7 / 7+,<* -*,0, * -*,7/ ,*+*/* =? * S&L/7**.

O-<*, -* 0 = *,,7*/ 77: 7=:*/> /*/ * 7*// -7 7

**,7*/ * 7* * 7::/ *** **+* * /7**.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 136/200

BINDIN% A DBRM TO A PAC@A%E

DBRM CATA$O%

PAC@A%E BIND $ISTIN%DIA%NOSTICS

  PAC@A%E

♦EACH PAC@A%E CONTAINS ON$! ONE DBRM.

♦PAC@A%ES ARE OPTIONA$< A$$ MEMBERS CAN BE DIRECT$! BOUNDTO A SIN%$E P$AN

♦ INPUT TO THE PAC@A%E BIND IS DBRM AND OUTPUT IS THE PAC@A%E.

♦PAC@A%E MUST BE BOUND TO THE P$AN

♦CON7TO@ FROM THE DBRM 8I$$ BE CARRIED ON TO PAC@A%E

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 137/200

B4n04n: A DBRM To A Pa?a:e

B4n0 Pa?a:e I s E/la4ne0 Us4n: Te Follo>4n: Ea/le

BIND PAC'AGE (E#S') J

MEMBER (SD11$1$) JO#NER (AM124$) J&UALIFIER (SYSADM' ) J"ALIDATE (BIND) JEPLAIN (NO) JISOLATION (CS) JRELEASE (COMMIT) JACTION (REPLACE)

#* ?+ BIND 7 -7;7* /-*0? * ::* * -7;7* =*:/. T*::* / 7 -?/7: *? 7 ?+ ,*7* .

I * *7-:* ::* 7* / E#S' 7 * -7;7* 7* -,+* =? / = /E#S'.SD11$1$

T* *, 0 * -7;7* / AM124$.T* *, 0 7 =* 7/ 7:: -,:**/ 7=*. I0 7:+* / **,* * *07+: / * +/* 0 * -,7,? AUTHID 0 * =*,.

T* +7:0*, -7,7**, :: =* +/* 7/ * +7:0*, 0 7:: ++7:0* 7=:*/ 7 */,*0*,** * 7--:7 -,,7.

"7:7* -7,7**, / +/* /-*0? * * DB2 :: +/* 7:7* * -7;7* , 

 -:7. "7:7 7 =* -*,0,* +, = , * * -,,7 ,+/> 7* =? **/ 0 BIND , RUN * "ALIDATE -7,7**,."ALIDATE (RUN) / * *07+: 7:+*.

EPLAIN 7*/ **, -,* 0,7 * +/*, 7=+ * 7*// /,7*?** =? * =. D*07+: / EPLAIN(NO)

ACTION -7,7**, 7*/ **, * -7;7* / * , 7 ,*-:7**. ACTION(ADD) :: ,*/+: 7 *,,, 0 * =* 7:,*7? *//. T* *07+: 7:+* 0 REPLACE:: 7 * =* , ,*-:7* 0 7:,*7? *//.

ISOLATION /-*0*/ * :; /,7*? :* +/ +,/,/. D*07+: / RR (,*-*77=:*,*7) > 7 =* *, ,* +/ CS (+,/, /7=:?) F, ,* 0,7 ISOLATION -7,7**, -:*7/* ,*0*, 7-*, 9

RELEASE -7,7**, 7*/ * * :;/ /+: =* ,*:*7/* :* +/ 7 +,/,.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 138/200

BINDIN% AN APP$ICATION P$AN

  $IST OF PAC@A%ESOR 

  DBRMSOR 

  BOTH

  P$AN BIND $ISTIN%DI%NOSTICMESSA%ES

  P$AN

 

DBRMS CAN BE BOUND TO A P$AN

  A $IST OF PAC@A%ES CAN BE BOUND TO A P$AN

  DBRMS AND PAC@A%ES TO%ETHER CAN BE BOUND TO A SIN%$E

APP$ICATION P$AN

 

P$AN CONTAINS POINTERS TO THE PAC@A%ES

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 139/200

B4n04n: An A//l4at4on Plan

BIND PLAN IS EPLAINED USING THE FOLLO#ING EAMPLE

BIND P$AN *A&1) , 7MEMBER*81&))< >(1)))9, 7O8NER*S!SADM, 7

#UA$IFIER*S!SADM, 7P@$IST*E8S.A&1))) 7

E8S.S6D11)"3 < 7E8SA.AN$DB2, 7

ACTION*REP$, RETAIN 7+A$IDATE*BIND, 7ISO$ATION*CS, 7CACHESIE*),

I * 7=* *7-:* 7* 0 * -:7 / A61$> DBRMS> 7 ,** -7;7*/ 7,* =+ * -:7.

P7,7**,/ +/* / *7-:* 7* * /7* *7 7/ * = -7;7* /7**.

T* -7,7**, ACTION 7*/ **, 7 * -7;7* / =* 7* , ,*-:7*.ACTION(REPL)RETAIN 7 =* +/* :? 0, BIND PLAN. RETAIN -7,7**, 

 -,*/*,*/ EECUTE -,:**/ * ?+ ,*-:7* * -:7. I0 RETAIN / /-*0* */* +/*,/ 7 =** +/ * -:7 *7,:*, :: 7* * 7+,? +/* 70*, *

 =.

D**,*/ * /<* ( =?*/) 0 * 7+,<7 7* 7+,* * EDM -: 0, * -:7. A ,+ *> * 7+,<7 7* /,*/ +/*, ID/ 7+,<* ,+. C/+: *7* 7 7 7 77: :;+- 0, *; 7+,<7 ,+ * -:7.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 140/200

COMPI$E AND $IN@EDIT

MODIFIED

  SOURCE MODU$E  *CONTAINS CONTO@EN,

  COMPI$ER 

  OBECT MODU$E

OTHER $IN@ EDITOR OBECT MODU$ES

$OAD MODU$E

  *CONTAINS CONTO@EN,

 

MODIFIED SOURCE FROM THE PRE COMPI$ER IS COMPI$ED USIN%

HOST $AN%UA%E COMPI$ER 8HICH PRODUCES OBECT MODU$E.

  $IN@A%E EDITOR IS USED TO MA@E AN E6ECUTAB$E $OAD MODU$E

8HICH CONTAINS MAIN PRO%RAM< SUB PRO%RAMS< $AN%UA%EINTERFACE ROUTINES< AND S!STEM ROUTINES.

  TIMESTAMP PRESENT IN THE MODIFIED SOURCE IS CARRIED ON TO

THE $OAD MODU$E

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 141/200

O+ER+IE8 OF DB2 APP$ICATION PRO%RAMPREPARATION AND E6ECUTION

SOURCE

  MODU$E

 MODIFIED  SOURCE PRECOMPI$ER DBRM 

MODU$E

COMPI$ER BIND

OBECT PAC@A%EMODU$E

  OTHER $IN@A%E OBECT $IST OF BIND

 EDITOR MODU$ES PAC@A%ES

$OAD $OAD MODU$E APP$ICATIONMODU$E P$AN

  P$AN 5 PAC@A%ES

 

MAIN MEMORY

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 142/200

ASSOCIATIN% $OAD MODU$ES AND PAC@A%ES

CT CT

PRE COMPI$E

  MODIFIED  SOURCE DBRM

  CT CT

  $OAD

  MODU$E P$AN

CONTO@ENS  SHOU$D MATCH

TO E6ECUTE

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 143/200

Asso4at4n: $oa0 Mo0-les An0 Pa?a:es

D+, PRECOMPILE 7 CONSISTENCY TO'EN / -:7* = * 0* /+,*7 * DBRM. #* DBRM / ,*:? =+ * -:7 * * CONSISTENCYTO'EN / 7,,* * -:7 0, * DBRM. #* DBRM / =+ * -7;7*

* * /7* CONSISTENCY TO'EN :: =* -,*/* * -7;7* 7 -:7 7/ -*,/ * -7;7*. A **+7=:* :7 +:* 7 =* :;* @/ -:7 , -7;7*+/ * CONSISTENCY TO'EN 0*: -,*/* *. CONSISTENCY TO'EN /+/* */+,* 7 * ,*/+:7 :7 +:* 7 -7;7* *,* *,* 0, * /7*,7: /+,*.

A//+* 7 * -:7 0 7 7--:7 -,,7 7/ :? DBRMS. #* / -,,7**+*/ * CONSISTENCY TO'EN -,*/* * :7 +:* 7 * ,,*/-DBRM /+: =* * /7* . O*,/* * -,,7 :: =* **+* 7 */ 7S&LCOSE OF J8$5.

 N * DBRM 0 7 7--:7 -,,7 / =+ * -7;7* 7 7 /* 0 -7;7*/7,* =+ * -:7. #* / -,,7 / **+* * :7 +:* 7 * -7;7* * -,,7 7/ **+* /+: 7* * /7* CONSISTENCY TO'EN>07:+,* 0 / :: * 7 S&LCODE J8$5.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 144/200

'. Se-4t; Feat-es

DB2 -,*/ 77 *,? =? +/ 00*,* /*+,? *7//. D77 7*// /,::* =? +/ 7+,<7 ID@/ 7 -,:**/ * 7 ID. T/ 7-*, =,*0:?

*-:7/ */* /*+,? 0*7+,*/ 7 DB2@/ ,*0*,*7: *,? /+--,.

'.1. P44le:es

'.2. Refeent4al Inte:4t;

'.2.1. DB2 Enfoeent Of Refeent4al Inte:4t;

'.2.2. Refeent4al Inte:4t; Enfoeent R-les

'.2.3. Ea/le Fo Refeent4al Inte:4t; +4olat4on

'.3. Database Reoe; In Case Of Fa4l-e

'.3.1. Un4t Of Reoe;

'.3.2. Data Reoe;

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 145/200

SECURIT! FEATURES

 

SECURIT! IN DATABASE MEANS THE PROTECTION OF A$$ OBECTSIN DATABASE A%AINST UNAUTHORIED DISC$OSURE< A$TERATIONOR DESTRUCTION.

DB2 USES T8O INDEPENDENT FEATURES TO PRO+IDE SECURIT! TO

ITS OBECTS

 

THE AUTHORIATION SUB S!STEM

THE +IE8 MECHANISM

  THE S!STEM ADMINISTRATOR PRO+IDES AUTHORIATION IDS TO

ITS USERS. THIS ID IS USED TO $O% ON TO THE S!STEM AND THEACTI+ITIES USER CAN PERFORM IN DB2 DEPENDS ON THEPRI+I$E%ES %RANTED TO THIS ID.

  THERE ARE T8O T!PES OF AUTHORIATION IDS

PRIMAR! AUTHORIATIONS IDS

  SECONDAR! AUTHORIATION IDS

  +IE8 MECHANISM CAN BE USED TO PROTECT SENSITI+E DATA FROM

USERS B! CREATIN% A +IE8 ON CO$UMNS OF THE BASE TAB$E THATARE NOT SENSITI+E. NO8 THE USER ARE A$$O8ED TO USE THIS+IE8 < PROTECTIN% SENSITI+E DATA.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 146/200

Se-4t; Feat-es

A+,<7 ID@S 7,* -,* +/*,/ 0 DB2 -,** +7+,<* +/* 0 DB2=*/. U/*,/ 7,* ; DB2 =? / 7+,<7 *0*, * =? * /?/*7/,7, 7 / +/*,@/ ,*/-/=:? *0? */*:*/ =? /+--:? 7 ID

* *? / * /?/*.

T ?-*/ 0 7+,<7 ID@/ DB2 +/*/ ,: 7 ,7; /?/* +:<7 7,* -,7,? 7 /*7,? AUTHID/.

E7 +7: / 7//* 7 PRIMARY AUTHID 7 / +/* / * /?/*.G**,7::? / * -,7,? 7+,<7 ID 7 *0*/ 7 -,*// DB2. #*++7:0* 7=:*/> */> **/ 7,* +/* * 7--:7 -,,7> / AUTHID

 =**/ * +7:0*, 0 * =*. T* -*,7/ 7 =* -*,0,* =? /AUTHID *-*/ * -,:**/ ,7* =? /?/* 7/,7, , *, +/*,/.

S?/* 7/,7, 7? -,* 7 /*7,? 7+ 7 ,+- 0 **:-*,/ ** 7/* 0 -,:**/ 7//7* 7 . N * +/*, 7/ 7:: * -,:**/ 0 = -,7,?7 /*7,? 7+. T* /*7,? 7+,<7 ID / -7: .

A +/*, 7 +/* DB2 +*, **, 7 -,7,? AUTHID , /*7,? AUTHID , =.S+--/* ?+ 7,* +/ -,7,? 7 7 /0 /*7,? 7+ 0, /* -*,7 -*,0, . T/ /0 7 =* 7** =? +/ * 7

SET CURRENT S&LID (7* 0 /*7,? )@.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 147/200

PRI+I$E%ES

♦ S!STEM ADMINISTRATOR DECIDES 8HICH SPECIFIC PRI+I$E%E

SHOU$D BE %I+EN TO 8HICH SPECIFIC USERS

♦ DATABASE ADMINISTRATOR HAS IMP$ICIT RI%HT TO %RANT OR

RE+O@E PRI+I$E%ES FROM THE USER.

♦ DATABASE ADMINISTRATOR CAN %I+E INDI+IDUA$ OR A

CO$$ECTION OF PRI+I$E%ES TO USERS

♦ CREATOR OF AN OBECT HAS IMP$ICIT RI%HT TO DROP OR A$TERTHE OBECT

 

S!STEM ADMINISTRATOR HAS THE AUTHORIT! TO TA@E AN!

POSSIB$E ACTION 8ITHIN THE DB2 S!STEM.

  PRI+I$E%ES ARE %I+EN AND TA@EN BAC@ USIN% %RANT AND

RE+O@E COMMANDS

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 148/200

P44le:es

S!STEM ADMINISTRATOR 7/ * 7+,? 7:: =*/ DB2. I ,*,  -*,0, 7? -*,7 DB2< * +/*, +/ : 7--,-,7* -,:** 0, * -*,77 * =* +*/> O*,/* * ,*+*/ :: =* ,***. S?/* 7/,7, 

,7/ /:* , ,+- (=+:*) -,:**/ +/*,/.

G,+- 0 -,:**/ (BUNDLED PRI"ILEGES) +/* DB2 7,* / =*:

S!SADM

SYSTEM ADMINISTRATOR AUTHORITY 7::/ * :*, **+* 7? -*,77 * /?/* /+--,/.

S!SCTR$

SYSTEM CONTROL AUTHORITY 7::/ * :*, **+* 7? -*,7> **-0, -*,7 7 7*// 77=7/* */.E7-:* CREATE STOGROUP

DBADM

DATABASE ADMINISTRATOR AUTHORITY 7 /-*0 77=7/* 7::/ * :*, **+* 7? -*,7 7 * /?/* /+--,/ * 77=7/*E7-:* SELECT> UPDATE *

DBCTR$

DATABASE CONTROL AUTHORITY 7 /-*0 77=7/* 7::/ * :*, **+*7? -*,7 7 /?/* /+--,/ **- 0, 77 7-+:7 -*,7E7-:* RECO"ER DATABASE

DBMAINT

DATABASE MAINTENANCE AUTHORITY 7 /-*0 77=7/* 7::/ * :*, **+* ,*7 :? 7*7* 0+/ * 77=7/*E7-:* DISPLAY DATABASE> START DATABASE *

S!SOPR 

SYSTEM OPERATOR AUTHORITY 7::/ * :*, 7,,? + /:* -*,7, 0+/ * /?/*.E7-:* STARTING AND STOPPING SYSTEM TRACE ACTI"ITIES

PAC@ADM

 -7;7* 7/,7, 7+,? 7 /-*0 ::* 7::/ * :*, ,*7* -7;7*/ 7 ::* 7 */ * :*, 7:: -7;7* -,:**/ 7 ::*

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 149/200

REFERENTIA$ INTE%RIT!

DB2S REFERENTIA$ INTE%RIT! SUPPORT

  THERE ARE T8O %ENERA$ INTE%RIT! RU$ES IN DB2 FOR

MAINTAININ% DATA INTE%RIT!

ENTIT! INTE%RIT! RU$E

NO COMPONENT OF PRIMAR! @E! OF A BASE TAB$E ISA$$O8ED TO ACCEPT NU$$S.

REFERENTIA$ INTE%RIT! RU$E

REFERENTIA$ INTE%RIT! RU$E STATES THAT A$$ NON

NU$$ +A$UES OF FOREI%N @E! MUST APPEAR AS A+A$UE OF THE PRIMAR! @E! OF SOME SPECIFIC TAB$E

 

B! DEFINITION FOREI%N @E! IN ONE TAB$E MATCHES A PRIMAR!

@E!.

 

A PRIMAR! @E! MUST BE UNI#UE AND CANNOT BE NU$$

 

A FOREI%N @E! +A$UE MUST MATCH A PRIMAR! @E! +A$UE OR BE

NU$$

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 150/200

DB2S Refeent4al Inte:4t; S-//ot

R*0*,*7: *,? /// 0 7 /* 0 ,+:*/ +/* DB2 -,* 7+,7? > 7:? , ,,**// 0 77 77=7/*. M77 *,? / 0 -7,7+ -,7* 7 /7/; / 7:* =? * /?/* ,7*, 7 * +/*, . F, / * /?/* **/ =* 77,* 0 

*,? ,+:*/> /+: , 7:: -*,7/ 7 /+: */+,* 7 *? :7*7? 0 /* ,+:*/.

DB2 /+--,/ ENTITY INTEGRITY RULE =? *0, * -,,7*, 7;* *:+ *:7,7 0 * -,7,? ;*? +::. I0 * -,7,? ;*? / -/* * 7:: *:+/ 7 -/* ;*? /+: =* *:7,* 7/ +::. T* +/07 0, / /

 =7/7::? 7 * -,7,? ;*? 7:+*/ =7/* 7=:*/ /*,* *0? **/ * ,*7:,:. P,7,? ;*?/ 7,* +/* 0, ,* , :**: ,*,*7: 7 ,*:7 * 7=:* 7*,  ,*:77: 77=7/*. T*,*0,* 7 +; 7:+* -,7,? :+ :: =* *7:*//.

DB2 *0,*/ 7 7:+*/ 0 7 * 0,* ;*? +/ 7 * 7:+*/ 0 *,,*/- -,7,? ;*?. B+ * *,/* / 7 ,*+,**. * * -,7,? ;*?,,*/- /* * 0,* ;*? 7 7 7:+* 7 +,,*:? */ 7--*7, 7/ 7 7:+* 0 7 0,* ;*?. T7=:* 7/ * -,7,? ;*? / * -7,*7=:* 7 7=:* 7 0,* ;*? / * *-** 7=:*.

T/ ,*0*,*7: *,? ,+:* 7 =* :7* +, 77 7-+:7 :;* +-7*> *:**>/*,. DB2 :: , 7:: -*,7/ 7 :: 7:: 7? :7 ,*0*,*7:*,? ,+:*/.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 151/200

DB2 ENFORCEMENT OF REFERENTIA$ INTE%RIT!

 

DB2 ENFORCES REFERENTIA$ CONSTRAINTS 8HEN

AN INSERT STATEMENT IS APP$IED TO THE DEPENDENT

TAB$E

 

AN UPDATE STATEMENT IS APP$IED TO A FOREI%N @E! OF A

DEPENDENT TAB$E OR AN UPDATE OF THE PRIMAR! @E! OFTHE PARENT TAB$E

 

A DE$ETE STATEMENT IS APP$IED TO A PARENT TAB$E

 

AN INSERT INTO A PRIMAR! @E! TAB$E CANNOT +IO$ATE

REFERENTIA$ INTE%RIT! AND NO CHEC@IN% IS RE#UIRED

DE$ETION OF A FOREI%N @E! +A$UE CANNOT +IO$ATE

REFERENTIA$ INTE%RIT! AND NO CHEC@IN% IS RE#UIRED

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 152/200

REFERENTIA$ INTE%RIT! ENFORCEMENT RU$ES

  INSERT RU$E

  THE INSERTION OF AN! FOREI%N @E! +A$UE IN THE

DEPENDENT TAB$E IS A$$O8ED ON$! IF THE MATCHIN% +A$UEE6ISTS IN THE PRIMAR! @E! OF THE PARENT TAB$E

  UPDATE RU$E

 

CHAN%ES IN THE PRIMAR! @E! +A$UES ARE A$$O8ED ON$!

FOR THOSE +A$UES THAT DO NOT HA+E MATCHIN% FOREI%N

@E! +A$UES

UPDATIN% A FOREI%N @E! +A$UE IS A$$O8ED ON$! IF SUCH A

+A$UE E6ISTS IN THE PRIMAR! @E!

 

DE$ETE RU$E

 

DE$ETION OF A PRIMAR! @E! +A$UE 8HEN A CORRESPONDIN%

+A$UE E6ISTS

∗ 8I$$ BE BARRED IF THE FOREI%N @E! CONSTRAINT HASBEEN SPECIFIED AS RESTRICT

∗ 8I$$ CAUSE DE$ETION OF THE CORRESPONDIN% FOREI%N

@E! +A$UES IF THE CONSTRAINT HAS BEEN SPECIFIED AS

CASCADE

∗ 8I$$ SET THE CORRESPONDIN% FOREI%N @E! +A$UES TO

NU$$ IF THE CONSTRAINT HAS BEEN SPECIFIED SETNU$$

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 153/200

Refeent4al Inte:4t; Enfoeent R-les

#* *,? /,7/ 7,* *00*> 7 0* 77 7-+:7/ :;* INSERT> UPDATE>DELETE) : * -*7: 0, *,? :7/ , 0, +-,*7=:* , 77:+/,*/+:/. DB2 **/ /* 0 */* /+7/ * 7*-/ = S&L /7**/ 7

,*/+: -,=:*/. I/*7 0 -:* /+ 7 => DB2 //+*/ 7 *,,, *//7*.

I/*, 0 ,/ 7 * -,7,? ;*? 7:+*/ 0 * -7,* 7=:* ,*+,**;/ 0 7//7* 0,* ;*?/ =*7+/* 7/ -/* ,*7 ,*0*,*7: *,?."7:+*/ 7* 0,* ;*? :+/ 0 *-** 7=:* ,+ /*,/> * *, 7+/ 7* ,,*/- -,7,? ;*? 7:+*/.

U-7 * -,7,? ;*? 0 * -7,* 7=:* :: =* ,*/,* 0 7 0,* ;*?/ 7,*0+ *-** 7=:*. #:* +-7 * *-** 7=:* * * 0,* ;*? 7:+*+/ =* -,*/* * -7,* 7=:*. O*,/* * ,*+*/ :: =* ,***.

T* *:** ,+:* 0 7 ,*0*,*7: /,7 7--:*/ * 7 , 0 * -7,* 7=:* / *:**.T* *00* 0 / *:** *-** 7=:*/ :: *-** * ON DELETE :7+/* 0 FOREIGN 'EY DEFINITION. T* -//=:* /-*07/ 0 ON DELETE :7+/* 7,*RESTRICT> CASCADE> SET NULL.

#* * *:* 7 -,7,? ;*? 7:+*> 7//+* 7 * *:** ,+:* / RESTRICT> * **:** / ,*/,* * 7/* *,* *,* 7,* 7 ,/ * *-** 7=:*. I0 7 ,/ */ * * *:** ,*+*/ :: =* ,***.

T* *:** ,+:* CASCADE *:**/ 7:: 7 ,/. I* T/ *:**/ * ,,,*/- * -,7,? ;*? -7,* 7=:* 7 * 7 ,/ *-** 7=:*.

F, +/ * *:** ,+:* SET NULL * 0,* ;*? +/ 7* +::/ 7::*.H*,* , ,,*/- * -,7,? ;*? 7:+* * -7,* 7=:* :: =* *:** 7 *0,* ;*? 7:+* :: =* /* +:: 7:: 7 ,/ 0 * -,7,? ;*? *-**7=:*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 154/200

Ea/le Fo Refeent4al Inte:4t; +4olat4on 

TAB$E S TAB$E SP

  S SNAME STATUS CITY S P &TY

  S1 SMITH 2$ LONDON S1 P1 3$$  S2 ONES 1$ PARIS S1 P2 2$$  S3 BLA'E 3$ PARIS S1 P3 4$$  S4 CLAR' 2$ LONDON S1 P4 2$$  S5 ADAMS 3$ ATHENS S1 P5 1$$

  S1 P6 1$$S2 P1 3$$

  S2 P2 4$$  S3 P2 2$$

S4 P2 2$$  S4 P4 3$$  S4 P5 4$$

C/*, 7=:*/ S 7 SP 0, *-:7 * -:7/ 0 REFERENTIAL INTEGRITY*-

PRIMARY 'EY FOREIGN 'EY :7+/*/ 0 * ,*7* 7=:* /7**/ 0, */* 7=:*/ 7,** =*:

TABLE SP TABLE S

PRIMARY 'EY ( S> - ) PRIMARY 'EY ( S )FOREIGN 'EY SF' ( S )

REFERENCES SON DELETE CASCADE

FOREIGN 'EY PF' ( P )REFERENCES PON DELETE RESTRICT

I / *7-:* 7=:* S / * -7,* 7=:* 7 7=:* SP / * *-** 7=:*. PF' 7 SF' 

7,* /,7 7*/ 7 :: =* +/* =? DB2 7/ *//7*/ ,*:7 * 0,*;*?/ S 7 P. I0 * +/*, */ /-*0? * 7* DB2 :: ,*7* * *,* 0, *7* 0 * 0,/ :+ -7,-7 * 0,* ;*?.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 155/200

F+, 00*,* 7/*/ 0 -*7: ,*0*,*7: *,? :7/ 0, */* 7=:*/ 7,* *-:7* =*:

CASE1A /*, * SP 7=:* ,+* 7 /-* 0, *,* / 7

/+--:*,. F, *7-:*

INSERTINTO SP (S> P> &TY )"ALUES ( S2$@> )

CASE2A +-7* :+ SP.S 0 * SP 7=:* ,+* 7 /-* /+--:*, +=*, 0,  *,* / 7 /+--:*,. F, *7-:*

UPDATE SP

SET S S2$@#HERE.

CASE3A *:* * S 7=:* ,** 7 /+--:*, 0, *,* *// 7 7/-*. F, *7-:*

DELETEFROM S#HERE S S1@

CASE4A +-7* :+ S.S 0 * S 7=:* ,** 7 /+--:*, 0, *,* *// 77 /-* . F, *7-:*

UPDATE SSET S S2$@#HERE S S1@

I ,*, *0,* ,*0*,*7: /,7> * /?/* +/ *7: 7:: 0+, 0 */* 7/*/.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 156/200

E/lanat4on

CASE1T/ /+7 / -,*** =? * ,+* 0 * 07 7 SP.S / 7 0,* ;*? 7=:* SP7 * -,7,? ;*? S.S 0 7=:* S. S+ 7 /*, :: /-:? =* ,***. B+ 7

/*, 7 ,+*/ 7 /-* 0, 7 /+--:*, 7 */ 7:,*7? */ 7=:* S :: =*7*-*.

CASE2I / 7/* 7:/ * +-7* :: =* ,*** . B+ 7 +-7* 7 ,+*/ 7 SP.S 7:+*7 */ 7:,*7? */ 7=:* S :: =* 7*-*.

CASE3T/ /+7 / 7:* =? * *:** ,+:* CASCADE. I **,7: RESTRICT +: *77 * *:** :: =* 7*-* :? 0 *,* /+ 7 /-*/. CASCADE+: *7 7 7? /+ 7 /-*/ :: * ,** 7?7?. A SET NULL

+: *7 7 7? /+ 7 /-*/ :: =* ,** =+ :: =* +-7* /7 *? 7,* :*, 7.

CASE4

T/ /+7 / 7:* =? * -: +-7* ,+:* ,*/,> *7/ 7 * +-7*:: =* 7*-* :? I0 /+ 7 /-*/ */.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 157/200

DATABASE RECO+ER! IN CASE OF FAI$URE

UNIT OF RECO+ER!

  POINT OF NE8 POINT OFCONSISTENC! CONSISTENC!

O$D DATA UPDATES UPDATED

DATA UNIT OF RECO+ER! DATA

  COMMIT

  POINT OF NE8 POINT OFCONSISTENC! CONSISTENC!

  ABNORMA$TERMINATION

DATA UPDATES BAC@ OUT UPDATESO$D O$D

DATA DATA

 

SUCCESSFU$ E6ECUTION OF MU$TIP$E S#$ STATEMENTS MA! BE

NECESSAR! TO COMP$ETE A $O%ICA$ UNIT OF RECO+ER!

 

THE APP$ICATION PRO%RAMMER MUST DETERMINE THE $O%ICA$

UNIT OF RECO+ER!

 

DATABASE RECO+ER! IS DONE TO THE $AST POINT OF CONSISTENC!

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 158/200

Un4t Of Reoe;

A + 0 ,**,? / * ,; * =? 7 DB2 0, 7 7--:7> 7 7*/ DB2 770, * - 0 //*? 7*,. A - 0 //*? / 7 * * 7::,**,7=:* 77 7 7 7--:7 -,,7 7*//*/ / //* *, 77.

A + 0 ,**,? =*/ * 0,/ 7* * 77 70*, * =* 0 * = , 0:: * :7/ - 0 //*? 7 */ 7 7 :7*, - 0 //*?. I0 07:+,*+,/ 7 + 0 ,**,?> DB2 =7;/ + 7? 7*/ 77> ,*+, * 77 / /7* 7 * /7, 0 * + 0 ,**,? 7 /> DB2 +*/ * ,;.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 159/200

DATA RECO+ER!

BAC@UP

DATA BASEUPDATEDDATABASE

FCOMMIT A

I

$U

UPDATE1 UPDATE2 R  E

  $O%

BAC@UP

RECO+EREDDATABASE

RESTORE

UPDATE

  $O%

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 160/200

Data Reoe;

B7;+-/ 7,* 77* =? 77=7/* 7/,7 0, * 77 DB2 /+=/?/*.B7;+-/ 7? =* 0 * *,* 77=7/* , 0 * , ,* 7=:*/-7*/. I 7/* 0 07:+,*77=7/* ,**,? / * +/ */* =7;+-/.

A:: 77 7*/ 7 *, /07 7*/ 7,* ,*,* :/ =? DB2. D77=7/*77*, 7? +/* * =7;+- -*/ 7 * :/ ,*J*/7=:/ * 77 =7/* * :7/* + 0 ,;. C7*/ 7 *,* * =*0,* * 07:+,* 7,* ,**,* 7? 7/*

I * * *7-:*> * =7;+- / 7* 0, 7 77=7/* =? DB2. A0*, 7 * 77=7/* /7* > 7 7 / 7* -*,7* =? //+ 7 . A7 * 7--:7 -,,7,*/ 7*, +-7* 7 =*0,* @/ -:* 7 07:+,* +,/

 N * 7 ,**, * 77 * 77=7/*. T* 77=7/* / ,**,* 0, *

 =7;+- 7 * 7*/ 7 *,* 7* 7 77=7/* :: * :7/ *,* *. 7* 77=7/* / ,*/,*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 161/200

9. Con-en;

O=*/ DB2 7 =* +/* =? 7? +/*,/ 7 * /7* *. T/ / 7** =? * +/ -,-*, :; /?/*. T/ 7-*, *-:7/ DB2 +/*/ */* :;/ 7 +

,: * -,,7*, 7/ *, * +,,*? DB2.

9.1. C+,,*?

9.2. L; S,7*?

9.3. L; S<*/ A T?-*/

9.4. A+,* R*:*7/* P7,7**,/

9.5. I/:7 P7,7**, 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 162/200

CONCURRENC!

♦DB2 A$$O8S AN! NUMBER OF USERS TO ACCESS THE SAME TAB$E AT

THE SAME TIME .THIS IS CA$$ED CONCURRENC!

♦DB2 USES A CONCURRENC! CONTRO$ MECHANISM TO A+OID ERRORS

AND INCONSISTENCIES IN DATA 8HEN MU$TIP$E USERS ACCESS THESAME DATABASE.

♦DB2 MANA%ES CONCURRENC! CONTRO$ 8ITH SE+ERA$ T!PES OF

$OC@S THAT RESTRICT ACCESS TO DATA 8HI$E THE! ARE BEIN%

USED

♦CONCURRENC! CONTRO$ E$IMINATES THE POSSIBI$IT! OF ONE

USER CHAN%IN% DATA 8HI$E ANOTHER IS IN THE PROCESS OF USIN%OR CHAN%IN% THEM 8HICH CAN $EAD TO ERRORS OR 

INCONSISTENCIES IN DATA.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 163/200

Con-en;

DB2 / 7 /7,* /?/*> 7 / 7 /?/* 7 7::/ 7? +=*, 0 +/*,/ 7*// * /7*77=7/* 7 * /7* *. A? /+ /?/* ,*+,*/ /* ; 0 +,,*? ,:*7/ */+,* 7 +,,* ,7/7/ *,0*,* *7 *, 

-*,7. T* 7=/** 0 /+ 7 *7/ :: :*7 *,,,/ 7 //**/ 77

DB2 +/*/ :;/ ,: 7*// /7* 77=7/* =? +:-:* +/*,/. T* =7/ *7 0 :; / /-:*> * 7 ,7/7 **/ 7 7//+,7* 7 /* =* 7 / *,*/*> :: 7* /* +-,*7=:* 7*, =? 7*, +/*,. A *:+/* :; *=* :: -,* / 7//+,7*. T* *00* 0 * :; / :; *, ,7/7/ + 0 * =*> 7 *,*=? -,** * 0, 7 . T* 0,/ ,7/7 / +/ 7=:* 7,,? + / -,*// * *,7 ;:** 7 * =* +*/ :: ,*7 7 /7=:* /7* 0, 7/ : 7/ * ,7/7 /*/ .

I0 7 ,7/7 ,*+*// 7 :; 7 / +,,*:? 77:7=:*> * * ,7/7 /-:?

7/ +: */ . I -,7* * /7::7 7 /-*0? 7 7+ 7 * I0 7,7/7 **, ,*7*/ 7 ,*/: 7 0, 7 :;> */ + 7 * :; ,*+*/ / 07:*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 164/200

$OC@IN% STRATE%!

 

DB2 DETERMINES ITS $OC@IN% STRATE%! FOR EACH PRO%RAM

8HEN IT BINDS THE APP$ICATION P$AN. THE $OC@IN% STRATE%!DEPENDS ON SE+ERA$ FACTORS

 

THE $OC@ SIES DEC$ARED IN THE $OC@SIE PARAMETER

OF CREATE TAB$ESPACE STATEMENT

  T!PE OF S#$ STATEMENTS

 

THE PRESENCE OF E6P$ICIT $OC@ TAB$E STATEMENTS

  THE AC#UIRE AND RE$EASE OPTIONS CHOSEN B! THEDE+E$OPER AT BIND TIME

 

THE ISO$ATION $E+E$ CHOSEN AT BIND TIME.

  THE ACCESS PATH CHOSEN

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 165/200

$o?4n: State:;

DB2 7::/ +:-:* +/*,/ 7*// /7* =* 7 /7* *> =+ *? 7,* ,::* =?:;/. DB2 /*:*/ 7--,-,7* :; *7/ =7/* +,,*? ,:,*+,**/ *,* * 7--:7 -,,7. T*? 7,* 7::* -: :;/.

I 7 * -: :; *7/> DB2 -,*/ *,7 *-: 07:*/.

T*/* *-: 07:*/ 7,*

1. LOC'SIE -7,7**, 0 CREATE TABLESPACE /7**.2. ISOLATION -7,7**, 3. AC&UIRE % RELEASE -7,7**, 4. S&L /7** LOC'TABLE.

L; 7=:* /7** 7 =* * * 7--:7 -,,7 7+,* 7 *-: :;

7 =* =*7:0 0 * 7--:7 -,,7. O*, -7,7**,/ 7,* *-:7* *0:: -7*/.

E7-:*

LOC' TABLE SP IN ECLUSI"E MODE

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 166/200

$OC@ SIES AND T!PES

 

THE SIE *SCOPE, OF A $OC@ ON DATA IN A TAB$E DESCRIBES THE

AMOUNT OF DATA CONTRO$$ED

  THE SIE IS SPECIFIED IN THE $OC@SIE PARAMETER OF CREATE

TAB$ESPACE STATEMENT

 

$OC@SIE TAB$ESPACE

THIS MEANS THAT A$$ $OC@S AC#UIRED ON DATA IN THETAB$E SPACE 8I$$ BE AT THE TAB$E SPACE $E+E$

 

$OC@ SIE TAB$E

THIS MEANS THAT $OC@S AC#UIRED ON DATA IN THE TAB$ESPACE 8I$$ BE AT THE TAB$E $E+E$

 

$OC@SIE PA%E

THIS MEANS THAT $OC@S AC#UIRED ON DATA IN THE TAB$ESPACE 8I$$ BE AT TAB$E $E+E$

 

$OC@SIE RO8

THIS MEANS THAT THE $OC@S AC#UIRED ON DATA IN THETAB$E SPACE 8I$$ BE AT THE RO8 $E+E$

  $OC@SIE AN!THIS MEANS THAT DB2 8I$$ DECIDE THE APPROPRIATEPH!SICA$ UNIT OF $OC@IN% FOR THE TAB$ESPACE

DB2 A$8A!S RE#UIRES A TAB$E OR TAB$ESPACE $OC@ BEFORE

ACCESS TO DATA IS PERMITTED .

  DB2 MA! USE TAB$E OR TAB$ESPACE $OC@ A$ONE TO ACCESS DATA

ACCORDIN% TO THE $OC@SIE PARAMETER 

 

IF THE $OC@IN% STRATE%! INC$UDES RO8 OR PA%E $OC@IN%

THEN DB2 $OC@S TAB$E OR TAB$E SPACE BEFORE $OC@IN% RO8OR PA%E

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 167/200

$o? S4Ves An0 T;/es

P,-*, /*:* 0 :; /<* / -,7 0, =**, -*,0,7* 7 +,,*? 0 *77=7/*. A :;/<* 0 7=:*/-7* 7::/ 7 -,*// :; * 7=:*/-7* ,:/ 7::7=:*/ /* * 7=:* /-7*. O * *, 7 , :; :: :? :; * , *

7--:7 -,,7 7/.

I 7 /-:* 7=:*/-7* :; 7=:* /-7* *7/ :; 7:: 7=:*/ /* 7 7=:* /-7* :: ,*+* +,,*?. B+ 7 -7* :; :: :; :? /* ,/ 0 7=:*/ -,*/* 7 -7* 7 *, +/*,/ 7 7*// *, ,/ 7 7=:*/-7* +,,*:?.

L; :7,*, , /7::*, 7+/ 0 77 7::/ ?+ ,7* -*,0,7* 0, +,,*?. #* ?+ +/* -7* , , :;/ /*7 0 7=:* , 7=:*/-7* :;/+,,*? +/+7::? -,*/> *7 =**, ,*/-/* */ .#* ?+ +/* :? 7=:* , 7=:*/-7* :;/ * -,*// * 7 /,7* +/* / ,*+*. B+ +,,*? / 7:/,*+* > *7 :*, ,*/-/* */ 0, /* +/*,/.

F, 7+ +,,*?> :;/ 7 /7:: 7+ 0 77 *: 0, 7 /, +,7 7,* =**, 7 :;/ 7 :7,* 7+ 0 77 *: 0, 7 : +,7 0 *. H**, 7+, 7 :; ,*+,*/ -,*//, *> 7 : 7 :; ,*+,*/ /,7*. T*/* //+: =* ;*- :* * 7 :; /<*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 168/200

AC#UIRE RE$EASE PARAMETERS

  AC#UIRE AND RE$EASE ARE BIND OPTIONS 8HICH 8I$$ DETERMINE8HEN TO AC#UIRE AND RE$EASE ITS $OC@S

 

AC#UIRE * A$$OCATE ,

AC#UIRES THE $OC@ 8HEN THE P$AN IS A$$OCATED

  AC#UIRE *USE ,

AC#UIRES THE $OC@ 8HEN THE OBECT IS FIRST ACCESSED.

 

RE$EASE *DEA$$OCATE,

RE$EASES THE $OC@S 8HEN THE P$AN IS DE A$$OCATED

 

RE$EASE*COMMIT,

RE$EASES THE $OC@ AT THE NE6T COMMIT POINT. IF THEAPP$ICATION ACCESSES THE OBECT A%AIN IT MUST AC#UIRETHE $OC@ A%AIN

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 169/200

ISO$ATION PARAMETER 

♦ ISO$ATION PARAMETER SPECIFIES THE $OC@IN% STRATE%!

FOR CURSORS

♦ THE ISO$ATION $E+E$ CHOSEN FOR AN APP$ICATION CAN

IMPACT BOTH THE $OC@ STRATE%! AND THE DURATION OF

RO8 $OC@S

♦ THE ISO$ATION $E+E$ CAN BE SPECIFIED DURIN% BIND TIME

♦ DIFFERENT ISO$ATION $E+E$S ARE

• REPEATAB$E READ*RR,• READ STABI$IT!*RS,

• CURSOR STABI$IT!*CS,

• UNCOMMITTED READ*UR,

♦ DEFAU$T +A$UE FOR ISO$ATION PARAMETER IS REPEATAB$E

READ*RR,

♦ ISO$ATION SPECIFIES THE DE%REE TO 8HICH OPERATIONS AREISO$ATED FROM THE POSSIB$E EFFECTS OF OTHER OPERATIONSACTIN% CONCURRENT$!.

♦ BASED ON THIS INFORMATION< DB2 CHOOSES TAB$E AND TAB$E

SPACE $OC@S AS NONRESTRICTI+E AS POSSIB$E< AND RE$EASES SAND U $OC@S ON RO8S OR PA%ES AS SOON AS POSSIB$E.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 170/200

Isolat4on /aaete

I0 7 S&L /7** *=** 7 / :7+7* -,,7 :: ,*+, +:-:* ,/> ***:-*, +/ *:7,* * -,,7 7 +,/, 7 -,*/*/ * * / -,,7 *7 7 *> +/+7::? 7 ,*-*7*:? **+* =:;. DB2 7 7:* :; 0, */*

+,/,/ +/ 00*,* ISOLATION :**:/.

ISOLATION(RR) R*-*77=:* ,*7 A , , -7* :; / *: 0, 7:: 7*//* ,/>+7:0? , > 7 :*7/ +: * * -. I0 * 7--:7 -,*// ,*+,/ * /7* -7* 7 ,*7/ * /7* , 77> * 77 7 7* 7* 7 *,/ 7 7* =** /*,*.

ISOLATION (RS) R*7 /7=:? A , , -7* :; / *: 0, -7*/ , ,/ 7 7,*,*+,* 7 7--:7 7 :*7/ +: * * -. I0 7 , , -7* / ,***+, /7* 2 -,*//> / :; / /:: *:> ** + / ,*+,* *7--:7.

I0 * 7--:7 -,*// ,*+,/ * /7* -7* 7 ,*7/ * /7* , 77> * 777 7* 7*> 7:+ 77: ,/ 7* =** /*,* =? 7*, 7--:7 -,*//. A /:7, /+7 7 7:/ +, 0 7 , , -7* 7 / ,*+,* * 7--:7 / +-7* =? 7*, 7--:7 -,*//. I0 * , /7/0*/ */*7, > 7--*7,/.

ISOLATION(CS) C+,/, /7=:? A , , -7* :; / *: :? : *+ 7:: * +,/, * 7*, , , -7*. F, 77 7 /7/0*/ * /*7, 0 * 7--:7> * :; / *: +: * 7--:7 :;/ * * , , 

 -7*. F, 77 7 */ /7/0? * /*7, * :; / *7*:? ,*:*7/*.

ISOLATION(UR) U* ,*7 T* 7--:7 7+,*/ 0* :;/ 7 7 ,++,,*:? / *, -*,7/. B+ * 7--:7 / 7*, 0 ,*7 777 7/ 7* =? 7*, -*,7 =+ ?* *.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 171/200

1). DB2I *DB2 Inteat4e ,

DB2I / 7 *,7* 07:? 77:7=:* DB2 . A:/ 7:: 0 * 0+/ 0 DB2 7,*77:7=:* DB2I > # 7 =* +/* =? **:-*,/ .T/ 7-*, 7/

1).1. DB2I

1).2. SPUFI

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 172/200

DB2I *DB2 INTERACTI+E ,

♦ THE DB2 INTERACTI+E INTERFACE IS A TSO ON$INE APP$ICATION

8HICH 8OR@S UNDER THE CONTRO$ OF ISPF*INTERACTI+E S!STEMPRODUCTI+IT! FACI$IT!, 8HICH IS A SCREEN 5DIA$O% MANA%ER FOR TSO

♦ DB2I PRO+IDES OPTIONS FOR A$$ THE DB2 FUNCTIONS THAT

DE+E$OPERS ARE $I@E$! TO NEED

♦ DB2 FUNCTIONS THAT ARE A+AI$AB$E THROU%H DB2I ARE SHO8N IN

THE DB2PRIMAR! OPTION MENU

DB2 PRIMAR! OPTION MENU

L L L

selet one of te follo>4n: 0b2 f-nt4ons an0 /ess ente

1 SPUFI *Poess S#$ stateents,2 DC$%EN *%eneate S#$ an0 soe lan:-a:e

0elaat4ons,

3 PRO%RAM PREPARATION *Pe/ae a DB2 a//l4at4on /o:ato -n, PRE COMPI$E *Ino?e DB2 /e o/4le,

" BIND5REBIND5FREE *B4n0 eb4n0 o fee a//l. Plans o/a?a:es,

& RUN *RUN an S#$ /o:a,( DB2 COMMANDS *Iss-e DB2 oan0s,' UTI$ITIES *Ino?e DB2 -t4l4t4es,9 CATA$O% +ISIBI$IT! *Ino?e atalo: 04alo:s,0 DB2I DEFAU$TS *set :lobal /aaetes, E6IT * leae DB2,

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 173/200

DB2I

DB2 -,*/ 7 +=*, 0 7/ 0, +/* ,*7? 7 -,,7 0, **+ 7 -,,7*,/ 7 +/* -*,0, * 0+/ ,*+,* *, * 0, /+,* **+7=:* +:*/. A ** 7:*,7* / ,; ,+ DB2I > -,*/ 7

*+ *,07* * **//7,? 7 -,*//, . I0 ?+ **:- -,,7/ +/ TSO7 ISPF> ?+ 7 -,*-7,* * ,+ +/ * DB2 P,,7 P,*-7,7 -7*:/. T*/*

 -7*:/ +* ?+ /*- =? /*- ,+ * -,*// 0 -,*-7, ?+, 7--:7 ,+.T*,* 7,* *, 7?/ -,*-7,* 7 -,,7 ,+> =+ +/ DB2I / * *7/*/> 7/ :*7/?+ 7+77::? 0, 7/; 7/;.

DB2I -,7,? - *+ :// * 0+/ 7 -*,0,. T* +/*, 7 /*:* 7? * 0 */* 0+/ 7, / ,*+,**/

SPUFI (S&L -,*//, +/ 0:* -+) /+--,/ * :* **+ S&L /7**/ 0,7 TSO *,7:. SPUFI / ** =7/7::? 0, 7--:7 -,,7*,/ /

 -*,0, S&L -,/ 0 *, -,,7/.

T* DCLGEN *+ 7::/ +/*,/ ;* * *:7,7/ **,7, -,,7>  -,+*/ * DECLARE TABLE /7**/ 7 / :7+7* 77 /,++,*.

O*, -/ :;* PRECOMPILE> BIND> RUN 7,* +/* 0, -,*-7, 7 **+ DB27--:7 -,,7.

UTILITIES *+ *:-/ * +/*, ;* DB2 :* +:*/ :;* LOAD> REORG>RECO"ER *. T* **//7,? +:? ,: /7**/ ,* * -*,7 0 */-*0 +:? +/ =* ,*7* =*0,* * +:? / ;*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 174/200

SPUFI

  INPUT S#$ SPUFI OUTPUT

STATEMENTS RESU$TS

DB2

  SPUFI PROCESSES INC$UDE

 

PREPARIN% INPUT FI$E FOR SPUFI

 

DB2I SUBMITS THE S#$ TO DB2

 

SUCCESSFU$ OBS ARE AUTOMATICA$$! COMMITTED

 

E6AMININ% THE RESU$TS OF S#$

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 175/200

11. Ut4l4t4es

F, 77:?< 7 77 -?/7: 77 -,*/* 77 =7/*> DB2 00*,/ 7 +=*, 0+:*/ . T/ 7-*, */ 7 =,*0 *-:77 0 */* +:*/

11.1. $oa0

11.2. R-nstats

11.3. Reo:

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 176/200

UTI$ITIES

DB2 OFFERS A NUMBER OF UTI$ITIES FOR ANA$!IN%

AND MANA%IN% THE PH!SICA$ STORA%E OF DATA .

THERE ARE T8O T!PES OF DB2 UTI$ITIES.

ON$INE UTI$ITIES STAND A$ONE UTI$ITIES

♦ DB2 ON$INE UTI$ITIES RUN AS STANDARD M+S BATCH

OBS< AND THE! RE#UIRE DB2 TO BE RUNNIN%

♦ THE STAND7A$ONE UTI$ITIES E6ECUTE AS BATCH OBS

INDEPENDENT OF DB2. THE! CAN BE IN+O@ED ON$! B!MEANS OF M+S C$.

IMPORTANT ON$INE UTI$ITIES ARE

♦$OAD

♦REOR%

♦RECO+ER 

♦RUNSTATS

IMPORTANT STAND A$ONE UTI$ITIES ARE

♦DSNU))3

♦DSNU))

♦DSN1CH@R 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 177/200

$OAD

THE $OAD UTI$IT! $OADS DATA FROM A SE#UENTIA$FI$E TO ONE OR MORE TAB$ES IN A TAB$ESPACE

INPUT $OAD UTI$IT! CORRECT DATA DB2 TAB$EDATA

E6AMP$E

CONTRO$ INFORMATION FOR $OAD UTI$IT!

$OAD DATA

RESUME NO$O% NO

4n00n 00naeINTO TAB$E D211)@.S

* S POSITION *1, CHAR "P POSITION *&11, CHAR &#T! POSITION *121", INTE%ER ,=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 178/200

$oa0

L7 +:? / +/* :7 77 0, 7 /*+*7: 0:* 7 TABLE 7 7=:* /-7*.I * -,*+/ *7-:* * TABLE S / :7* 0, * 77/* /-*0* * :7 :.7* 0 * -+ 77/* 7 / +/* * LOAD CL / * INDDN -7,7**,.

E7 0*:/ 7 *, -// 7,* 7:/ /-*0*.

I0 * 7=:* /-7* 7:,*7? 7/ 77> ?+ 7 /* **, ?+ 7 7 * 77 */ 77 , ,*-:7* * */ 77. T/ 7 =* * +/ * -7,7**, RESUME.

T*,* 7,* ,** -/ 0, RESUME.

RESUME NO I7*/ 7 * 77/* / =* *-?. T/ / * *07+: -.

RESUME NO REPLACE T/ 7+/*/ * +:? *, ,* * */ 77.

RESUME YES T/ 7::/ * +:? 7 * ,/ * */ 7=:*.

T* LOG NO 7 /,+/ * +:? ,*, 77 * : 7/ *? 7,*:7* .IF * +/*, */ /-*0? LOG NO > * +:? ,*,/ * 7*/ 7 =*+/* 0, ,**,? -+,-/*. D*07+: / LOG YES. R*, 77 * : +, 7 :77 ,*7/* * * ,*+,* 0, * :7 /07:?.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 179/200

RUNSTATS

RUNSTATS UTI$IT! CO$$ECTS STATISTICS OF TAB$ESPACE

AND UPDATES CATA$O% TAB$ES

RUNSTATS SHOU$D BE E6ECUTED IMMEDIATE$! AFTER ATAB$E AND ITS INDE6ES ARE CREATED AND THE DATA IS $OADED

DB2 OPTIMIER CAN TA@E AD+ANTA%E OF THESE UPDATEDCATA$O% TAB$ES TO SE$ECT BEST ACCESS STRATE%!

E6AMP$E

CONTRO$ INFORMATION FOR RUNSTATS UTI$IT!

RUNSTATS TAB$ESPACE D211)@.TABSPTAB$E*A$$,INDE6*A$$, =

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 180/200

R-nstats

T* RUNSTATS +:? ,*7/ 7=:*/-7*/ 7 **/ ::* /7// */,= *77. T* 7 /7// ::** :+* +=*, 0 ,/ * 7=:*> +=*, 0 -7*/7 7 * ,/ 0 * 7=:*> +=*, 0 / 7:+*/ 0 ** :+ > -*,*7*

0 /-7* +-* =? ,/ *. RUNSTATS +:? +/*/ / 0,7 +-7*CATALOG 7=:*/.

I * -,*+/ *7-:* RUNSTATS +:? / +/* 0, 7=:* /-7* TABSP 77=7/*D211$'. A:: 7=:*/ * 7=:*/-7* 7,* /-*0* =? TABLE(ALL) ;*?,. H*,* ?+ 7/-*0? * 7=:* 7* -7,**/*/ 70*, ;*?, TABLE * +:? 7/ ,+.Y+ 7 =7 /7// 7:: **/ 7:: 7=:*/ * 7* 7=:* /-7* =? /-*0?INDE(ALL).T* +/*, 7 * /7// 0 * ,* /-*0 **/ =? /-*0? *

 -7,**/*/ 70*, * ;*?, INDE .

T* RUNSTATS +:? / +/*0+: 0, 0 + * 0,** /-7* ,*7 7 7=:*/-7* 7

* +/* 7 0,7 0, ,*,7< * 7=:*/-7*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 181/200

REOR%

REOR% UTI$IT! IS USED TO REOR%ANIE DATA ON

PH!SICA$ STORA%E OF TAB$ES. DIFFERENT PHASES

OF REOR% UTI$IT! ARE

♦ UN$OADS RO8S FROM A TAB$E SPACE

♦ RE$OADS RO8S IN A NEATER ARRAN%EMENT

8ITH FREE SPACE

♦ REBUI$DS INDE6ES

♦ DOES NOT +A$IDATE DATA

CONTRO$ STATEMENTS FOR REOR% UTI$IT!

REOR% TAB$ESPACE D211)@.TABSP$O% NO=

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 182/200

Reo:

T* REORG :* +:? ,*,7<*/ 7 7=:* /-7* , * -,* 7*// -*,0,7* 7 ,*:7 0,7** /-7*. I 7> * +:? 7 ,*,7<* 7 /:* -7, 0 **, 7 -7,* * , 7 -7,* 7=:* /-7*.

REORG +:? ,*,7<*/ 7=:* /-7* , * 7/ ?+ /-*0? ,: /7**/. #*7 * /-7* :? / ,*,7<* * * 77 -7*/ 7,* -,*//*. O:? :*70 -7*/ 7/ **/ 7,* /7*.

P,-*, /*+: 0 ,*,7<7/ /07:? -,*/ -*,0,7* 0 7:: 7--:7 -,,7/.

I * * *7-:* REORG +:? / ,+ 7=:*/-7* TABSP 77=7/* D211$'. I0 ?+ 7 ,*,7<* 7 * * /-*0? REORG INDE (* 7*) . LOG NO

 -7,7**, / /-*0* * *7-:* 7 , 77 ,*,/ * : :* :7

* 7=:*/-7*.

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 183/200

12. A0ane0 DB2

T/ /* *-:7/ /* 0 * 77* *-/ DB2. T* *7:* /+/// **/ 7 DB2 :;/ 7,* :+*. A7* -/ -,*/*  / /* 7,* 

12.1. Moe Abo-t In0ees

12.1.1. Ea/le Of An In0e

12.1.2. Cl-stee0 In0ees

12.1.3. Non Cl-stee0 In0ees

12.2. S/e4al Re:4stes

12.3. Moe Abo-t $o?s

12.3.1. Mo0es Of Table An0 Tables/ae $o?s

12.3.2. Mo0es Of Ro> An0 Pa:e $o?4n:

12.3.3. $o? Mo0e Co/at4b4l4t; Of Table An0 Table S/ae $o?s

12.3.. $o?o0e Co/at4b4l4t; Of Ro> An0 Pa:e $o?s

12.. Ino?4n: Onl4ne Ut4l4t4es

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 184/200

Moe Abo-t In0ees

DB2 +/*/ **/ :? *0,* ++**// :+ 7:+*/> 7/ 0, -,7,? ;*?/> =+ 7:/ :+/*, 77> -7, 7=:*/> 7 -,* 7*// -7/ 77 0, +*,*/.U*,/7 /* 0 * /,++,* 0 DB2 **/ 7 =* -,7 0, 7* ?+, 

 =*/ -*,0,7*.

A 7=:* 7 7* ,* 7 * *> 7 7 * ;*? 7 +/* * , ,* :+/. A* ;*? / 7 :+ , 7 ,*,* ::* 0 :+/ 7 * / *0*. A-/* ;*? / 7 ;*? =+: 2 64 :+/.

T* +/*0+:*// 0 7 * *-*/ / ;*?. C:+/ 7 ?+ +/* 0,*+*:?  -*,0, /*:*> > ,+-> 7 ,*, -*,7/ 7,* 77*/ 0, +/*7/ ;*?/

DB2 7::/ ?+ **, +-:7* 7:+*/ 7 ;*? :+. I0 ?+ 7 +-:7*

7:+*/> +/* CREATE UNI&UE INDE. I0 7 7=:* 7/ 7 -,7,? ;*?> / *,*/ /+: =*++*. I/ ++**// / *0,* =? *0 7 ++* * * -,7,? ;*? :+/>

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 185/200

E6AMP$E OF AN INDE6

2" &1 '& ROOT PA%E

  ' 1( 2" 33 ) &1 () (" '& INTER7  MEDIATE  PA%ES

  $EAF  PA%ES

  . . ' . . 1( . . 2" . . 33 . ) . . &1 . . () . . (" . . '&

POINTERS TO DATA RECORDS

DATAPA%ES

 

THE INDE6 IS STRUCTURED AS A B7TREE

  A RECORD IS $OCATED USIN% ROOT PA%E< INTERMEDIATE PA%ES

AND $EAF PA%ES

 

THE PA%E SIE OF AN INDE6 IS @B

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 186/200

Ea/le Of An In0e

I**/ DB2 7,* =7/* 7 /,++,* ; 7/ BJT,**. I**/ 7 7* ,* 7 *:**: 0 -7*/. I* -7*/ 7 - ,*:? * 77 * 7=:*/ 7,* 7::* :*70 -7*/.I0 * * 7/ ,* 7 * :*70 -7*> +/ 7* 7 :*7/ * :*70 -7*> 7

*,*/ 7 - :*70 -7*/. I0 7/ ,* 7 * :*70 -7*> * :*70 -7*//* *,*/ - ,*:? :*70 -7*/ 7,* /7 =* * 0,/ :**: *,* +/ =* 7/* :**: 0 :*70 -7*/ - * 0,/> 7 / . T* */ :**: 7/ 7/:* -7*> 7::* * , -7*.

A ?-7: * / / * 0+,*> / 7 +::**:> ,** /,++,* * * -,-*,? 7 * ,** / 7:7?/ =7:7*> 7 / 7 / 7:: :*70 *,*/ * /,++,* 7,**+/7 0, * , 0 * ,**. 7 / -,-*,? / 77* 7/ * *,*/ 7,*/*,* * ,** 7 */ *,*/ 7,* *:**

T* , -7* / * - 0 * /,++,*. T* , -7* :: 7 7 *,? 0, *7

:*70 , *7* -7*. T* *,? * , -7* /// 0 * 7:+* 7* * *,*7* -7* 7 7 -*, 7 -7*.

T* *7* -7*/ 7,* /:7, /,++,* * , -7*> *-* 7 * ,7* 0 7:+*/ 7,*//* / ,* /-*0. T* *7* -7* 7/ 7 *,? 0, *7 0 * :*70 

 -7*/ 7,*//*. T* *,? /// 0 * 7:+* 7* * :*70 -7* 7 7 -*, / :*70 -7*.

T* :*70 -7*/ 7 * RID> +/ * ,*, 7 =* :7* 7 7=:* /-7*. T*:*70 -7*/ ::**:? 7,*// * *,* 7=:*.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 187/200

C$USTERED INDE6ES

  2" &1 ROOT PA%E

  ' 1( 33 ) INTERMEDIATEPA%ES

$EAF

PA%ES

DATAPA%ES

♦ A C$USTERIN% INDE6 IS ONE IN 8HICH THE RECORDS ARE

PH!SICA$$! STORED IN DATA PA%ES IN THE SE#UENTIA$ ORDER OFTHEIR INDE6 +A$UES

♦ HI%H PERFORMANCE BECAUSE OF REDUCED I5O OPERATIONS

♦ EACH TAB$E CAN HA+E ON$! ONE C$USTERIN% INDE6

C$USTERIN% INDE6ES ARE E6TREME$! IMPORTANT FOR OPTIMIATION PURPOSES. OPTIMIER 8I$$ TR! TO CHOOSE ANACCESS PATH BASED ON THE C$USTERIN% INDE6

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 188/200

Cl-stee0 In0e

A :+/*, * / * 0, * /*+** *0* =? * * / * /7* 7/ , :/* * -?/7: /*+**. T* :+/*, :/ * / -*7: 0, -*,0,7*7/. # 7 :+/*, * DB2 7;*/ ,*/-/=:? 0, 77 ,/ /*+**

* :+/*, * :+/ 7/ : 7/ *,* / 0,** /-7*. DB2 77/ :+/*, =? -:7 /*,* ,/ * ** :+@/ /*+** 77:7=:* 0,** /-7* * 77 -7*/.DB2 7 * -,*// * 7=:* 7 ,*, *00*:?. I0 / 7 :+/*, ** DB2 7/ ,*,*7 77 -7*/ *0? 7:: * +7:0? ,/> :: ,*+*

 -*,0,7*.

C:+/*, / 7:+7=:* * DB2 +/ -,*// 7 :+@/ 7:+*/ /*+**. T* S&L/7**/ ORDER BY> GROUP BY> 7 DISTINCT ,*+,* /+ -,*//. I0 7 :+/-*0* */* -*,7 7 *,* / 7 /+7=:* * * :+> DB2 +/ /, -+ /*+** =*0,* ,*+, ** * , * +/*,. I0 *,* / 7 :+/*,* 7 :+ DB2 +/*/ / :+ ,*,** * ,/ /*+** 7 ,*+, *

,/ *7*:? * =? *.

T /-*0? 7 :+/*, *> +/* * CLUSTER :7+/* * CREATE INDE /7**.

CREATE INDE STATEMENT FOR A CLUSTERED INDE

CREATE UNI&UE INDE D211$N.I11$1$U1ON D211$N.T11$1$(TABINDE)BUFFERPOOL BP$USING STOGROUP SGDB2O

PCTFREE 2$FREEPAGE 1$PRI&TY 4$SEC&TY 2$CLOSE NOCLUSTER

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 189/200

NON C$USTERED INDE6ES

  2" &1 ROOT PA%E

  ' 1( 33 ) INTERMEDIATEPA%ES

$EAF

PA%ES

DATAPA%ES

♦ IN A NON C$USTERED INDE6 THE DATA RO8S DO NOT CORRESPOND

TO THE ORDER OF THE INDE6 ENTRIES

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 190/200

SPECIA$ RE%ISTERS

♦ A SPECIA$ RE%ISTER IS A STORA%E AREA THAT DB2 DEFINES FOR APROCESS

 

SPECIA$ RE%ISTERS USED IN DB2 ARE

• CURRENT DATE

• CURRENT DE%REE

• CURRENT PAC@A%ESET

• CURRENT RU$ES

• CURRENT SER+ER 

• CURRENT S#$ID

• CURRENT TIME

• CURRENT TIMESTAMP

• CURRENT TIMEONE

• USER 

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 191/200

S/e4al Re:4stes

DB2 /+--,/ 7 +=*, 0 /-*7: ,*/*,/. A /-*7: ,*/*, / 7 /,7* 7,*7 7 DB2*0*/ 0, 7 -,*//. #*,**, / 7* 7--*7,/ 7 S&L /7**> * 7* / ,*-:7*

 =? * ,*/*,/ 7:+* * * /7** / **+*. T+/> * 7* 7/ :;* 7 0+

7 7/ 7,+*/. (<*, 7,+* =+: /7:7, 0+/)

Y+ 7 +/* * SET /7** 7* * +,,* 7:+* 0 7 ,*/*,. #*,* *,*/*,/ 7* 7--*7,/ *, S&L /7**/> * +,,* 7:+* 0 * ,*/*, ,*-:7*/* 7* * * /7** **+*/. A , ,::=7; -*,7 7/ *00* *7:+*/ 0 /-*7: ,*/*,/. N, */ 7? S&L /7**> *, 7 SET /7** 77* 7 ,*/*, 7:+*

CURRENT DATE> /-*0*/ * +,,* 7*. T* 77 ?-* / DATE. T* 7* / *,* =? * DB2 7 **+*/ * S&L /7** 7 ,*0*,/ * /-*7: ,*/*,.

E7-:* D/-:7? * 7*,7* 7* 0 *-:?**/.

SELECT A"G(YEAR(CURRENT DATE J BIRTHDATE))FROM DSN841$.EMP

CURRENT PAC'AGESET /-*0*/ 7 /, 0 =:7;/ , * ::* ID 0 * -7;7*, -7;7*/ 7 :: =* +/* **+* S&L /7**/. T* 77 ?-* / CHAR(18).

EAMPLEE7-:* F, **+ 7 -,,7> *0? * ::* ID 0, / -7;7* 7/ E#SA.

SET CURRENT PAC'AGESET E#SA

CURRENT S&LID /-*0*/ * S&L 7+,<7 ID 0 * -,*//. T* 77 ?-* /CHAR(8). T/ SET /7** / +/* 7* * 7+,<7 0, 7 -,*//

E7-:* S* * S&L 7+,<7 ID GROUP34 (* 0 * 7+,<7 ID/ 0 * -,*//).

SET CURRENT S&LID GROUP34

CURRENT TIME> /-*0*/ * +,,* *. T* * / *,* =? * DB2 7 **+*/

* S&L /7** 7 ,*0*,/ * /-*7: ,*/*,. >

E7-:* D/-:7? 0,7 7=+ 7:: -,* 7*/ 7 :+* * +,,* 7* 7* *7 , 0 * ,*/+:.

SELECT DSN841$.PROACT.K> CURRENT DATE> CURRENT TIMEFROM DSN841$.PROACT

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 192/200

CURRENT TIMESTAMP> /-*0*/ * +,,* */7-. T* 77 ?-* / TIMESTAMP.T* */7- / *,* =? * DB2 7 **+*/ * S&L /7** 7 ,*0*,/ */-*7: ,*/*,.E7-:* D/-:7? 0,7 7=+ * 0+:: 7* -*/ 7 *,* 7;* * :7/ **;.

SELECT K FROM SYSIBM.SYSCOPY#HERE TIMESTAMP Q CURRENT TIMESTAMP J ! DAYS

CURRENT USER /-*0*/ * -,7,? 7+,<7 ID 0 * -,*//. T* 77 ?-* /CHAR(8).

E7-:* D/-:7? 0,7 7=+ 7=:*/> */> 7 7:7/*/ 7 7,* * =? * -,7,? 7+,<7 ID 0 * -,*//.

SELECT K FROM SYSIBM.SYSTABLES #HERE CREATOR USER

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 193/200

MORE ABOUT $OC@S

MODES OF TAB$E AND TAB$ESPACE $OC@S

IS INTENT SHARE

I6 INTENT E6C$USI+E

S SHARE

U UPDATE

SI6 SHARE 8ITH INTENT E6C$USI+E

6 E6C$USI+E

 

IS THE $OC@ O8NER CAN READ AN! DATA IN THE TAB$E IF AN

S$OC@ CAN BE OBTAINED ON THE TAR%ET RO8 OR PA%E

 

I6 THE $OC@ O8NER CAN READ OR CHAN%E AN! DATA IN THE

TAB$E PRO+IDED AN 6 $OC@ CAN BE OBTAINED ON RO8SOR PA%ES TO BE CHAN%ED AND A U OR S $OC@ CAN BEOBTAINED ON RO8S TO BE READ

  SI6 THE $OC@ O8NER CAN READ AN! DATA IN THE TAB$E AND

CHAN%E RO8S IN THE TAB$E PRO+IDED IT CAN OBTAIN AN6 $OC@ ON THE TAR%ET RO8 OR PA%E FOR CHAN%E. RO8$OC@S ARE NOT OBTAINED FOR READIN%.

 

S THE $OC@ O8NER CAN READ AN! DATA IN THE TAB$E AND

8I$$ NOT OBTAIN RO8 OR TAB$E $OC@S

  U THE $OC@ O8NER CAN READ AN! DATA IN THE TAB$E AND

MA! CHAN%E DATA IF AN 6 $OC@ ON THE TAB$E CAN BEOBTAINED. NO RO8 OR PA%E $OC@S ARE OBTAINED

♦ 6 THE $OC@ O8NER CAN READ OR UPDATE AN! DATA IN THE

TAB$E. RO8 $OC@S ARE NOT OBTAINED

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 194/200

Mo0es Of Table An0 Tables/ae $o?s

T* :; */ IS I SI 7,* +/* 7 * TABLE OR TABLESPACE :**: /+--,, , -7* :;/. T*? -*, , , -7* :**: :; :* -,** ,* *:+/*:;/ * 7=:* =? *, 7--:7/.

#* 7 7--:7 =7/ 7 IS :; 7 7=:*> 7 7--:7 7? 7+,* 7 :; 7, , -7* 0, ,*7 :?. O*, 7--:7/ 7 7:/ ,*7 * /7* ,. I 7 *, 7--:7/ 7 7* 77 *, ,/ * 7=:*.

A 7--:7 7 7 I :; 7 7=:* 7 7* 7 , 70*, 7+, 7 , ,  -7* :;. O*, 7--:7/ 7 READ%CHANGE 77 *, ,/ * 7=:*.

#* 7 7--:7 7/ 7 SI :; 7 7=:*> 7 7--:7 7? 7+,* 7 :; 7, 0, 7*. O*, 7--:7 7 :? ,*7 *, ,/ * 7=:*.

T* */ S U 7 7,* +/* 7 * 7=:* :**: *0,* * /, 7=:* :;/,7*?. N , , -7* :**: :; / +/* =? 7--:7 7 -//*// * 0 */*:; */.

#* 7 7--:7 =7/ 7 S :; 7 7=:*> 7 7--:7 7 ,*7 7? 77 77=:*. I :: 7:: *, 7--:7/ =7 :;/ 7 /+--, ,*7 :? ,*+*// 0, 7?77 * *,* 7=:*. N 7--:7 7 7* 7? 77 * 7=:* +: / :; /,*:*7/*.

#* 7 7--:7 =7/ 7 U :; 7 7=:* > 7 7--:7 7 ,*7 7? 77 0,7 7=:* 7 7? **+7::? 7* 77 7 7=:* =? =7 7 :;. O*, 

7--:7/ 7 :? ,*7 77 I 7 7=:*.

#* 7 7--:7 =7/ 7 :; 7 7=:* 7 7--:7 7 ,*7 7 7* 7?, 7:: 77 * 7=:* , 7=:*/-7* . N *, 7--:7 7 7*// 77 * *,*7=:* , 7=:*/-7* 0, READ , CHANGE

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 195/200

MODES OF RO8 AND PA%E $OC@IN%

RO85PA%E $OC@ MINIMUM SUPPORTIN%TAB$E5TAB$E SPACE $OC@ 

S SHARE IS

U UPDATE I6

6 E6C$USI+E I6

 

S THE RO8 IS BEIN% READ B! ON$! ONE APP$ICATION AND IS

A+AI$AB$E FOR READ ON$! B! OTHER APP$ICATIONS

 

U THE RO8 IS BEIN% READ B! ONE APP$ICATION BUT IS

POSSIB$! TO BE CHAN%ED B! THAT APP$ICATION. THE RO8IS A+AI$AB$E FOR READ ON$! B! OTHER APP$ICATIONS

6 THE RO8 IS BEIN% CHAN%ED B! ONE APP$ICATION AND IS

NOT A+AI$AB$E FOR OTHER APP$ICATION

RO8 $E+E$ $OC@S ARE ON$! RE#UESTED B! APP$ICATIONS THAT

HA+E SUPPORTIN% $OC@S AT THE TAB$E $E+E$

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 196/200

$OC@ MODE COMPATIBI$IT! OF TAB$E AND TAB$ESPACE $OC@S

  MODE OF MODE OF $OC@ B

  $OC@ A  IS S I6 SI6 U 6

  IS !ES !ES !ES !ES !ES NO

  S !ES !ES NO NO !ES NO

  I6 !ES NO !ES NO NO NO

  SI6!ES NO NO NO NO NO

  U !ES !ES NO NO NO NO

  6 NO NO NO NO NO NO

 

THE S!MBO$S A AND B IN THE ABO+E DIA%RAM ARE USED TO

REPRESENT T8O DIFFERENT APP$ICATIONS

  THIS CHART IS USEFU$ TO DETERMINE IF T8O APP$ICATION CAN

RUN CONCURRENT$! IF THE! ARE ACCESSIN% SAME TAB$E 8ITHTHE %I+EN $OC@ MODE AT THE SAME TIME.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 197/200

$o? Mo0e Co/at4b4l4t; Of Table An0 Table S/ae $o?s

I0 7--:7 A =7/ 7 IS :; 77/ 7 * 7=:* 7--:7 B +: =7 7 IS> S>I> SI , U :; 77/ * /7* 7=:* 7 * /7* *. H**, 7 :; +:

 =* -*,* 7 * /7* *.

T/ -7,+:7, *7-:* ::+/,7*/ * *- 0 IS :; 7 7/ /+--, :; 0, 7:*, :**: 0 :;. T* :? 7=:* :; 7 / -7=:* / :; +:,*+,* *:+/* :; +/* 0 * 7=:*. T* -,*/** 0 IS :; 7*/ 7 7 :*, :**:0 :; / ,*+,* 0, / 7=:* 7 :; / *.

S+? 0 * 7, ,*0,*/ * *0/ 0 7=:* 7 , :; */ -,*/**  -,*+/ -7*/. R** * , 0, I +*, 7--:7 A. A//+* 7 7--:7 A=7/ 7 I :; 7=:* Y. T/ :; 7*/ 7 * 7--:7 */ =7:;/ /+--, 7* 7 * , :**:. T* 7--:7 :: 7:: *, ,/ =* ,*77 +-7* =+ :: -,** 7*// * 7,* ,/ E7* *7 0 * -//=:*

-* 7=:* :;/ 7 7--:7 B ,*+*/

ISJJ I* :; 0, ,*7 :? 7 , :**:. T/ :; / -7=:*. T*,* 7? =** 7 * , :**: 0 7--:7 A / 7 * /7* , 7 7--:7 B7/ ,*7.

SJJ S7,* :; 7 * 7=:* :**:. T/ :; / -7=:* /* * S :; /7*/ 7 **,* 7=:* / 77:7=:* 0, ,*7 :? =? * 7--:7 -//*// * :; 7 7:: *, 7--:7/. T* I :; /7*/ 7 7 * 7* 77 7 * , :**: ,7/ * ,*+,** 0, ,*7 :?. T*,*0,* 7--:7 B +: =7 * S:; 

IJJ I* :; 0, 7* 7 * , :**:. T/ :; / -7=:*. T*,* 7? =* :; * 7 * , :**: 0 7--:7 A / 7 * /7* , 7 7--:7 B7/ 7*.

SIT* SI :; /7*/ 7 :; ,*+*/ 0, 7 77 7? =* ,*+,* 7 * ,:**: 0, * 7--:7 -,*// * :;. I 7 * ,*/ 0 * 7=:* / 77:7=:* 0, ,*7 :? 7--:7/. T* I :; -:*/ 7* 7 * , :**: 7/ *::. A--:7 B+: =7 / :; * 7=:*

UJJ R*7 * +-7*. T/ 7=:* :**: :; /7*/ 7 * 7--:7 -,*//

* :; 7? ,*7 7? 77 7 7? -*7::? *7* * U :; 0, 7 :;.H**, +: / *7* / * *, 7--:7/ 7 =7 :;/ /+--, ,*7:?. A--:7 B +: =* 7=:* =7 * U :; 7 * /7* * 7 7--:77 -//*//* 7 I :; * /7* 7=:*.

JJ T* 7--:7 -//*// / * 0 :; * 7=:* ,*+,*/ *:+/* +/* 0 *7=:*. N *, 7*// / -*,*. T* :; -//*//* =? 7 7--:7 A +:

 -,** 7--:7 B 0, =7 :; 

T* /7* ?-* 0 /7**/ 7 =* :7::? *,* 0, * *, ,/ * 7,

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 198/200

$OC@ MODE COMPATIBI$IT! OF RO8 AND PA%E $OC@S

  MODE MODE OF $OC@ B  OF

  $OC@ A S U 6

S !ES !ES NO

U !ES NO NO

6 NO NO NO

  THIS CHART IS USEFU$ TO DETERMINE IF T8O APP$ICATION CANRUN CONCURRENT$! IF THE! ARE ACCESSIN% SAME RO8 8ITH THE%I+EN $OC@ MODE AT THE SAME TIME.

 

CONSIDER AN APP$ICATION A HA+IN% AN S $OC@ ON RO8 !. THEN

ANOTHER APP$ICATION B CAN ON$! %ET $OC@S AND U ON THATRO8

 

IF AN APP$ICATION A HAS A SHARE $OC@ ON A RO8 IT< 8I$$ A$$O8

OTHER APP$ICATIONS TO READ THE SAME RO8. SO APP$ICATION BCAN %ET AN S $OC@ ON THE SAME RO8 AT THE SAME TIME

 

AN APP$ICATION B CAN %ET AN UPDATE $OC@ ON A RO8 8HICH IS

CURRENT$! $OC@ED B! AN S $OC@ OF APP$ICATION A. IF THEAPP$ICATION B 8ANTS TO CHAN%E THAT RO8 DB2 8I$$ 8AIT UNTI$THE S $OC@ IS REMO+ED AND IT 8I$$ PROMOTE THE U $OC@ TO AN6 $OC@.

  NO T8O APP$ICATION CAN HA+E AN E6C$USI+E $OC@ ON THE SAME

RO8 AT THE SAME TIME

  THE SAME T!PE OF STATEMENTS CAN BE $O%ICA$$! DERI+EDFROM OTHER RO8S OF ABO+E CHART.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 199/200

Ino?4n: Onl4ne Ut4l4t4es

C,*7 +:? ,: /7**/ / * 0,/ /*- ,*+,* ,+ 7 :* +:?. U:?,: /7**/ *0* * 0+ * +:? = -*,0,/. U:? ,: /7**/ 7,*,*7 0, * SYSIN -+ /,*7. T* SYSIN /,*7 7 7 +:-:* +:? ,:

/7**/. C,: /7**/ 7,* 00*,* 0, *7 +:? 7 7,* *-:7* 7-*, 11

T*,* 7,* 00*,* */ 0 ; DB2 :* +:*/. C:? +/* */ 7,*+/ DB2I 7 IBM /+--:* CL -,*+,* DSNUPROC.

#* ?+ +/* DB2I (DB2 *,7* ) -7*: 0, **+ 7 +:? ?+ +/ /-*0? *7* 0 * +:? > * 77/* 7/ * ,: 0,7 7 *, 77/*/*** =? * * +:?. T* ?+ 7 **+* * +:? 0, 7 -7*:.

DB2 :* +:*/ 7 =* ;* +/ DSNUPROC -,*+,*> F, 7 ?+ +/ ,*7 /+= CL> ?+, CL> * EEC /7** ;*/ * DSNUPROC -,*+,*.

Y+ +/ * * ,: /7**/ 7/ -+ DSNUPROC 7 +/* * **//7,?77/*/ ,*+,* 0, * **+ 0 * +:?.

 

8/20/2019 DB2 Bible

http://slidepdf.com/reader/full/db2-bible 200/200

Sa/le C$ Fo Ino?4n: Onl4ne Ut4l4t4es

%E6216 OB S#3$1!$9>I65$$$ T$1DL1>%% NOTIFYSYSUID>%% MSGCLASS8>REGION6M>

%% TIME15>LINES2$$%%K%%PROCLIB CLLIB ORDERNTTU.SYS.PROCLIB%%K%%K %%K DB2 LOAD%%K %%K%%K%%KJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJK%

%%K T$$1$1%%K JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ%K