DB2 Bible
-
Upload
arvindupadhyay -
Category
Documents
-
view
213 -
download
0
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 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 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 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