Escolar Documentos
Profissional Documentos
Cultura Documentos
Tabela DEPT
LINHA
D01 MARKETING 000030
000030 A00
A00
Anotações:
M od elo d e D ad os Lin g u a g em
Relacio n al Sq l
Anotações:
Ta b ela EM P
Anotações:
O nom e d a
t abela é único
at ravés d o N om e da
ow ner/creat or/ co lu n a é
sch e m a u n ico n a
t ab ela
Anotações:
N o m e d a Tab ela
Q ualificado(com p let o)
PROD.EMPL
N om e d a Tab ela N o m e d a Co lu n a
EMPL LASTNAME
N om e da Coluna
Q ualif icad o
EMPL.LASTNAME
Anotações:
CH A V E CH A V E
EST RA N G EI RA PRIM Á RIA
U m d ep t o. só p od e ser
exclu íd o se n ão t iver
nenhum dependent e.
Anotações:
Anotações:
Anotações:
Anotações:
TSO BA T C H IM S/TM
TSO BA TCH
U TI LI TY
Q M F
CI CS
D B2
SPU FI
BSD S LO G DB CA T DIR
Anotações:
TA BLESPA CE A
TA BELA 1 IN D EX 1
TS A
TA BELA 2 IN D EX 2
IDX1 IDX2 IDX4
T A BLESPA C E B NÃ O DB2
TS B IDX3
TA BELA 3 IN D EX 3
TA BELA 4 IN D EX 4
D A TA BA SE X
Anotações:
STO RA G E G RO U P1 STO RA G E G RO U P2
V O L1 V O L2 V O LX
V O L3 V O L4 V O LY
NÃO DB2
TS TS
TS IX IX
Anotações:
• TABLE (Tabelas)
• TABLESPACE
Anotações:
Tipos de TABLESPACE
Anotações:
• INDEX (ÍNDICES)
Tip o s:
• V I EW
• É um subconjunt o de um a ou m ais t abelas.
• Sua ut ilização, em princípio, nada difere de um a t abela norm al.
• Conform e o caso um a VIEW pode ser som ent e leit ura.
Anotações:
• STO RA G E G RO U P
• SYN O N YM (SIN Ô N IM O )
É um nome alternativo (apelido) para uma tabela ou view. Um a vez criado, sua
utilização é restrita a um Auth -id. (Propriet ário ou usuário)
• Á LI A S
É um nom e alt ernat ivo (apelido) para um a t abela ou view. Utilizado mais como
nom e local de um a tabela rem ota. Seu uso é com partilhado.
Anotações:
CAT Á LO G O D I RETÓ RI O
LO G
A TI V A
DDB2
B2
D A TA BA SES
LO G
A RCH I V E
BSD S IM AGE
C O PY
Anotações:
N O TA S:
Anotações:
Anotações:
D B2
TSO At t ach IM S At t ach CICS At t ach
U SU Á RI O U SU Á RI O
Anotações:
SQ L
DDL DM L D CL
DA TA DA TA DA TA
DEFINITION M ANIPULATION CO N TRO L
LANGUAGE LA NGUA GE LANGUAGE
D B2
Anotações:
Anotações:
• A lin g u ag em SQ L :
• N Ã O É PRO CED U RA L
• T E M O CO N CEI TO D E TEO RI A D O S CO N JU N TO S
• É SI MP L E S
Anotações:
• N ão é p roced ural .
Para cad a d ad a p esq u isa n ão p recisam o s in f o rm ar o s p ro ced im en t o s
n ecessá rio s co m o :
1. zere o contador
2. abra o arquivo
3. leia um regist ro
4. verif iq ue se sat isf az o crit ério
5. increm ent e o cont ador
6. etc.
Co m a in st ru çã o SELECT b a st a d iz er:
Anotações:
..União A B U N IO N
. . In t ersecção A B JO I N
. . D if erença A - B O U TER JO I N
Anotações:
A LT ER A LTERA ÇÃ O D E U M O BJETO
D RO P ELI M I N A ÇÃ O D E U M O BJETO
PREV I A M EN TE D EFI N I D O
Anotações:
PRIMARY KEY(ID),
FOREIGN KEY(DEPT) REFERENCES ORG ON DELETE CASCADE)
IN DBYY.TSYY
• ALTER TABLE STAFF ADD COLX DECIMAL (8,2)
Anotações:
DDef
efin
inição
ição ppara
ara Co
Colu
lunnas
as
TI PO D E D A D O D ESCRI ÇÃ O FA IX A
** 1 < = m < = 2 1
21 < = n < = 5 3 Para D ECIM AL, d ef ina X com núm ero im p ar
Anotações:
Anotações:
DDef
efin
iniçã
içãoo ppaara
ra Co
Colu
lunnaass
TI PO D E D A D O D ESCRI ÇA O TAM AN H O
Anotações:
DDef
efin
iniçã o ppaara
ição ra Co
Colu
lunnaas
s
TI PO D E D A D O FO RM A TO IN TERN O
TIM E h h m m ss ( 3 b yt es)
Anotações:
U m a co lu n a p o d e ser:
u m valo r N U LO : N Ã O É Z ERO
N Ã O É BRA N CO
É D ESCO N H ECI D O
Anotações:
• Tim e
• Dat e Valores Correntes
• Tim est a m p
Anotações:
Anotações:
SELEC T A CESSA D A D O S
U PD A TE A TU A LIZA CA M PO S
D ELET E REM O V E LI N H A S
I N SERT I N SERE N O V A S LI N H A S
Anotações:
X . STA FF
ID NOM E D EPT CA RGO ANOS SA LA RI O COM IS
10 SA N TA N A 20 G ER 7 18357.50
20 O RSIN I 20 VENDAS 8 18171.25 612.45
30 DANTAS 38 G ER 5 17506.75 -
40 O ’ BRI EN 38 VENDAS 6 18006.00 846.55
50 SOUZA 15 G ER 10 20659.80 -
60 SU ZU KI 38 VENDAS - 16808.30 650.25
70 AL M EIDA 15 VENDAS 7 16502.83 1152.00
80 JA M ES 20 A TEN D - 13504.60 128.20
90 KOONITZ 42 VENDAS 6 18001.75 1386.70
100 PLO TZ 42 G ER 7 18352.80 -
110 NGAN 15 A TEN D 5 12508.20 206.60
120 NAUGHTON 38 A TEN D - 12954.75 180.00
130 YAM AGUCHI 42 A TEN D 6 10505.90 75,60
140 FRA YE 51 G ER 6 21150.00 -
150 O LI V EI RA 51 VENDAS 6 194 56.50 637.65
160 M O LIN A RI 10 G ER 7 22959.20 -
170 KERM I SCH 15 A TEN D 4 12258.50 110.10
180 ABRAHAM S 38 A TEN D 3 12009.75 236.50
190 SN EI D ER 20 A TEN D 8 14252.75 126.50
200 SCO U TTEN 42 A TEN D - 11508.60 84.20
210 L U 10 G ER 10 20010.00 -
220 SM ITH 51 VENDAS 7 17654.50 992.80
230 LU N D Q U I ST 51 A TEN D 3 13369.80 189.65
240 DA N IELS 10 G ER 5 19260.65 -
250 W H EELER 51 A TEN D 6 14460.00 513.30
260 JO N ES 10 G ER 12 21234.00 -
270 LEA 66 G ER 9 18555.50 -
280 W ILSON 66 VENDAS 9 18674.50 811.50
290 PI N H O 84 G ER 10 19818.00 -
300 DAVIS 84 VENDAS 5 15454.50 806.10
310 GRA HA M 66 VENDAS 13 21000.00 200.30
320 GO N ZA LES 66 VENDAS 4 16858.20 844.00
Anotações:
330
340
BU RKE
V IEIRA
66
84
A TEN D
VENDAS
1
7
10988.00
17844.00
55.50
1285.00
350 G A FN EY 84 A TEN D 5 13030.50 188.00
X . O RG
10 M ATRIZ 160 C EN T RO SÃ O PA U LO
15 CAM PIN AS 50 SU D ESTE CA M PIN A S
20 RIO 10 SU D ESTE R. JA N EI RO
38 M INAS 30 SU D ESTE B. H O RI ZO N TE
42 BA H IA 100 N O RD ESTE SA LV A D O R
51 REC I FE 140 N O RD ESTE REC I FE
66 RI O G RA N D E 270 SU L PO RTO A LEG RE
84 PA RA N Á 290 SU L CU RI TI BA
Anotações:
SEQ U ÊN CI A O BRI G A TÓ RI A :
Anotações:
Anotações:
• Sim p les : EM P
• Qualificado: AUTHID. EM P
Exem p lo
Anotações:
SELECT *
FROM X.ORG
Result ado:
O BS. : EV I TA R O U SO D O SELECT *
Anotações:
• W H ERE
Result ado:
20 SA NTA NA G ER -
20 ORSIN I VEN DA S 612.45
20 JA M ES A TEN D 128.20
20 SN EI D ER A TEN D 126.50
Anotações:
= Igual
< > or ¬= Diferente
> M aior
> = M aior ou Igual
< M enor
< = M enor ou Igual
¬> N ão m aio r
¬< N ão m enor
Anotações:
WHERE DEPT = 20
Anotações:
Resu lt a d o :
SA NTA NA G ER -
DANTAS G ER -
SO U ZA G ER -
PLO TZ G ER -
Anotações:
Resu lt a d o :
Anotações:
Resu lt ad o :
SU ZU KI VENDAS 16808.30
A LM EIDA VENDAS 16502.83
Anotações:
Resu lt ad o :
NOM E CA RG O SA LÁ RIO
Anotações:
Resu lt ad o :
NOM E CA RG O A N OS COM IS
Anotações:
não eq üivale a:
Resu lt a d o :
Anotações:
eq uivale a:
N EGAÇÃO : N O T IN
Anotações:
eq uivale a:
SELECT N OM E, CA RGO, A N OS
FRO M X. STA FF
W H ERE A N O S > = 9
A ND A NOS < = 11
Anotações:
Exe m p lo s:
Anotações:
• Para n eg ar o t est e:
exclu i: G RA H A M
G O N Z A LES
G A FN EY
exclui AN O S de 9 a 1 1
Anotações:
DA VIS VENDAS 5
GA FN EY VENDAS 7
PINHO A TEN D 5
V I EI RA G ER 10
O BS. :
Anotações:
Anotações:
• Co lu n a s cla ssif ica d a s d evem ser ref eren cia d a s p elo SELECT.
Anotações:
Anotações:
Anotações:
+ SOM A * M ULTIPLICA ÇÃ O
- SU BTRA ÇÃ O / DIVISÃO
Resu lt a d o :
ID SA LÁ RIO COM IS CO L1
10 18357.50 - - (1)
20 18171.25 612.45 18783.70
80 13504.60 128.20 13632.80
190 14252.75 126.50 14379.25
O BS. : N Ã O FA Z EX PO N EN CI A ÇÃ O .
(1 ) Q uand o um a d as colunas a serem som ad as cont iver
nulos, não é efet uado o calculo.
Anotações:
Resu lt a d o :
ID SA LÁ RIO COM IS REN DIM EN TOS
Anotações:
Resu lt a d o :
NOM E CO L1
O LI V EI RA 20094.15
GRA HA M 21200.30
Anotações:
EX EM PLO 1 :
Resu lt a d o :
NOM E CO L1
GRA HA M 21200.30
O LI V EI RA 20094.15
EX EM PLO 2 :
Anotações:
TA BELA X ( CO LU N A S varchar : sn o m e n o m e)
SNOM E NOM E M ID
JO N ES JO H N P
M ARQ U ES FRA N CO X
· · ·
· · ·
· · ·
SELECT SNOME || ‘, ‘ || NOME || ‘ ‘ || MID || ‘.‘
FROM TABELA X
Resu lt ad o :
JO N ES, JO N ES P.
M ARQ U ES, FRA N CO X .
· · ·
· · ·
Anotações:
D ad o s n u m érico s
SU M - To t al d o s valo res d e u m a co lu n a
Q uaisq uer t ip os d e d ad os
CO U N T - N úm ero d e ocorrências
Anotações:
EX EM PLO
Resu lt ad o :
CO L1 CO L2 CO L3
Anotações:
• N u lo s sã o exclu íd o s.
AVG(SALÁRIO + COMIS)
Anotações:
Resu lt ad o : C O L1 CO L2 C O L3
8 16 19604.190625000
Anotações:
Anotações:
A B
2 5
- 3
4 -
SU M (A) = ...
COUNT(* )
Anotações:
Anotações:
C O L1 CO L2
513.31 12319.45
C O L1 C O L2 C O L3 C O L4
M ED : 513.31 SO M A: 12319.45
Anotações:
Ag ru p a u m co n ju n t o d e lin h as.
Co m GRO U P BY, a f u n ção d e co lu n a calcu la u m valo r p ara cad a
agrupam ent o.
C O L1 C O L2 C O L1 C O L2
Anotações:
Resu lt ad o :
D EPT C O L1 C O L2
15 41269.53 1468.70
20 45928.60 867.15
38 59778.80 1913.30
. . .
. . .
. . .
Anotações:
N O TA S:
• Po d em o s f a z er ‘ GRO U P BY’ so b re m ú lt ip la s co lu n a s.
Anotações:
Resu lt ad o :
D EPT CO L1 C O L2
20 45928.60 867.15
. . .
. . .
15 41269.53 1468.70
. . .
. . .
38 59778.80 1913.30
Anotações:
CO N D I ÇÕ ES SO BRE G RU PO S
SELECT . . . FRO M ..
W HERE.....
FI LTRO S
GRO U P BY. . .
HAVIN G....
É execu t a d o sem p re a p ó s G RO U P BY
Anotações:
D EPT C O L1
10 83643.45
15 61929.33 SELECT DEPT, SUM(SALÁRIO)
20 64286.10 FROM X.STAFF
38 77285.55 GROUP BY DEPT
42 58369.05 HAVING SUM(SALÁRIO) > 65000
. .
. . D EPT C O L1
. .
10 83643.45
38 77285.55
. .
. .
. .
Anotações:
Anotações:
Anotações:
Anotações:
Anotações:
SELEC T
HAVIN G
Fu n çõ es d e Co lu n a
Anotações:
• Fu n çõ e s STRI N G
• Fu n çõ es d e Co n versã o
• Fu n çõ es D a t e/ Tim e
Anotações:
• Ex. : SU BSTR (M AX (. . . ). . . )
Anotações:
• Se o início + com p rim ent o ult rap assar o f inal d o st ring t erem os erro .
Anotações:
Resu lt ad o :
D EPTN O M E C O L1
M ATRIZ M A TR
CA M PIN A S CAM P
RI O RIO
M INAS M INA
BA H I A BA H I
Anotações:
Anotações:
O b s: N O M E t em t am anho variável
CARGO t em t am an h o f ixo
Resu lt ad o :
NOM E C O L1 CA RG O C O L2
SA N TA N A 7 G ER 6
SI LV A l 6 V EN D A S 6
D AN TAS 6 G ER 6
. . . .
. . . .
Anotações:
• Dad a um a list a d e argum ent os, est a função faz a varred ura d a esquerda
para a direit a at é encont rar o prim eiro valor não nulo .
Anotações:
• Dad a um a list a d e argum ent os, m ost ra o p rim eiro não nulo.
Resu lt ad o :
ID CO M IS BO N U S C O L1
10 - - 0.00
20 612.45 534.25 612 .45
30 - 345.89 345.89
40 846.55 - 846 .55
Anotações:
se co lu n a SALARIO é (D EC (7 , 2 )) : 17506.75
Resu lt ad o :
C O L1 C O L2
17506.7 17506
Anotações:
D ATE, TIM E, TIM ESTAM P arm azen ad o s co m o d ecim al co m p act ad o sem sin al.
TI PO D E D A D O FO RM A TO I N TERN O
D A TE aaaam m dd
TIM E h h m m ss
TIM ESTAM P aaaam m d d hhm m ssnnnnnn
Anotações:
• So m en t e sub t ração
• N ão p o d e u sar SU M e AV G
Anotações:
Anotações:
TA BLE D T
PRJD O C DATAIN I D A TA FI M H RIN I H RFI M
AX001 19900131 20050331 000000 153000
AX002 19880228 19880831 000000 000000
AX003 19870201 19870201 160000 234159
SELECT PRJCOD, DATAINI + 1 YEAR, DATAFIM - 2 MONTHS ....
Resu lt ad o : PRJCO D C O L1 C O L2
Resu lt ad o : PRJC O D C O L1 C O L2
Anotações:
Resu lt ad o :
CO L1 C O L2
15.30.00 0 3 . 3 0 PM
Anotações:
Resu lt a d o:
C O L1 C O L2 CO L3
31 1 1990
Anotações:
• D A YS
Resu lt a d o :
C O L1 C O L2
00150200 5538
(nº .dias)
• DATE, TIM E
Ext rai d at a ou horário d e um t im est am p
Anotações:
• CU RREN T D A TE
Dat a de hoje
• CU RREN T TIM E
H orário corrent e
SELECT * FROM DT
WHERE DATAINI < CURRENT DATE - 90 DAYS
Anotações:
ID NOM E D EPT
10 SA N TA N A 20
20 O RSI N I 20
30 D AN TAS 38
40 O ’ BRI EN 38
50 SO U ZA 15
70 ALM EID A 15
80 JA M ES 20
90 KO O N I TZ 42
. . .
. . .
D EPTCO D D EPTO N O M E G EREN TE
10 M ATRIZ 160
15 CAM PIN AS 50
20 RIO 10
38 M IN AS 30
42 BA H I A 100
• Ta b ela s sã o rela cio n a d a s via d a d o s co m u n s (d o m ín io s)
• Jo i n é im p lem en t ad o p ela cláu su la FRO M o u W H ERE
• N ão f aça J O IN d e t ab elas sem o p red icad o d e join, o result ado é um
p rod ut o cart esiano ent re as t ab elas
Anotações:
X . O RG
DEPTN O M E G EREN TE D I V I SÃ O
RIO 10 .
M IN AS 30 W ESTERN
BAH IA 100 .
. . . Resu lt ad o :
ID NOM E RI O SA N TA N A
30 D AN TAS
M IN AS D A N TA S
10 SA N TA N A
100 PLO TZ BAH IA PLO T Z
. .
Anotações:
O u t ra m an eira d e escrever o In n er Jo in
Anotações:
List
Listar
ar t tood
d oos
s em
emppreg
regad
adoos,
s, ee ppara
ara oos
s ggeren t es,
erent es, oo ddep
epttoo qquue
e eles
elesggerenciam
erenciam
Anotações:
List
Listar
aros
osemempregados,
pregados, oo nom nomeedo do depart
departam
ament
entoo aonde
aondet trabalham
rabalham eesse
euuss
resp
respect
ectivo
ivosspped
edid
idoossddee ven
venddaas.s.
Resu lt a d o :
Anotações:
X . STA FF
CO D I G O NOM E D EPT CA RG O
20 SA N TA N A 20 G ER
20 O RSI N I 20 V EN D A S
. . . .
. . . .
X . O RG
CO D I G O D EPTN O M E G EREN TE
10 M ATRIZ 160 SELECT NOME,DEPTNOME,CODIGO
FROM X.STAFF, X.ORG
10 RIO 10 WHERE CARGO = ‘GER’
. . . AND DEPT = CODIGO
. . .
Anotações:
SO LU ÇÃ O
Anotações:
4 . Co m p arar o salário d o s d o is
5 . Se a cond ição é sat isf eit a, colocar a linha na t ab ela result ante e part ir para
o p róxim o em p reg ad o.
Anotações:
SO LU ÇÃ O :
Resu lt a d o:
NOM E SA LA RI O NOM E SA LA RI O
O LI V EI RA 19456.50 SA N TA N A 18357.50
. . . .
Anotações:
U N ION . .
. .
. .
. .
. .
Anotações:
Anotações:
CA RG O C O L1
V EN D A S 21420.0000
. .
V EN D A S 17144.4660
A TEN D 16918 .2000
V EN D A S 16832.8866
. .
Anotações:
SELECT NOME
FROM X.CANDIDATOS
WHERE ENDEREÇO LIKE ‘%SP’
U N I O N A LL U N ION
SELECT SOBRENOME
FROM X.ENTREVISTADOS
WHERE SIT = ‘REP’
NOM E NOM E ==> d o p rim e iro SELECT
JA C O BS A RA N TES
M ARQ U ES JA C O BS
A RA N TES M ARQ U ES
SI LV A SI LV A
M ARQ U ES
JA C O BS
U N IO N ALL UNION
Anotações:
Anotações:
X . STA FF
NOM E SA LA RI O
Resu lt a d o :
RESU
RESULTA LTADDOO SO
SOMMENENTETE NOM E SA LA RI O
DDOO SELECT
SELECT DDEENNÍ ÍVVEL RESU
MMAAI ISS AALTO
EL RESULTA
LTADDOO DDAA SU
SUBQ
BQUUERY
ERY SAN TAN A 1 8 3 5 7.5 0
LTO RETO
RETO RN A D O PA RA O NNI IVVEL
RN A D O PA RA O EL O RSIN I 1 8 1 7 1.25
SU
SUPERI
PERIOORR
Anotações:
• Po d e ser u sa d o n o W H ERE ou no H AV IN G
• Po d e ser en ca d ea d o
• O sub q uery p od e ret ornar um a ou m ais linhas e ist o acab a d et erm inand o
o o p erad o r a ser u sad o n a co n d ição d e b u sca.
• N ÃO p od e cont er U N IO N, U N IO N A LL o u O RD ER BY
Anotações:
Resu lt ad o :
NOM E SA LA RI O
M O LIN A RI 22959.20
Anotações:
Resu lt a d o:
20865.862500000
20865.862500000
15482.332500000
15482.332500000
16000.000000000
16000.000000000
Anotações:
Resu lt ad o :
NOM E SA LA RI O
FRA Y E 21150.00
G RH A M 21000.00
JO N ES 21234 .00
M O LIN A RE 22959. 20
Anotações:
List
Listaa classif
classificad
icadaa ddoossf fuunncio
cionnário
áriossco
comm salário
saláriommaio
aiorrqquueeaa
mmédia
édia salarial
salarialdedealgum
algum departdepartam ament
entoo
Resu lt a d o :
20865.862500000
20865.862500000
15482.332500000
15482.332500000
Anotações:
Resu lt a d o :
NOM E SA LÁ RI O
D A N I EL 19260.25
D A V IS 15484.50
ED W A RD S 17844.00
. .
. .
Anotações:
Anotações:
Anotações:
List
Listee oossddep
epart
artam
amenenttoosscu
cuja
ja m
méd
édiaia salarial
salarialéé in
infferio
eriorràà m
medediaia ddaa
co
co m p an h ia, co m as su as resp ect ivas m éd ias. O salário d o s ggeren
m p an h ia, co m as su as resp ect ivas m éd ias. O salário d o s erenttes
es
não d eve ser consid erad o. O rd ene p ela m éd
n ão d eve ser co n sid erad o . O rd en e p ela m éd ia. ia.
Resu lt ad o : D EPT C O L1
66 16880.175000000
51 16235.200000000
84 15443.000000000
20 15309.530000000
Anotações:
List
Listaar
r oossem
emppreg
regaad
d oossco
com m sa lá rio su
salário supperio
eriorrààmméd
édiaiaddeeseu
seuss
resp ect ivo s d ep art am en t o s.
resp ect ivo s d ep art am en t o s.
Anotações:
• EX ISTS p o d e ser n eg a d o p o r u m N O T.
Anotações:
List
Listee oos
s ggeren t es
erent esggan h an d oo m
anhand men o s qquue
enos e $$1188. 0
. 00000 se
seexist
existirir
pelos
pelos m enos um gerent e com salário superior a $ 2 2 .000000..
m enos um gerent e com salário superior a $ 2 2 .
ID NOM E SA LÁ RI O D EPT
30 M AREN CH I 17506.75 38
Anotações:
Anotações:
Resu lt ad o :
PCO D PNOM E D EPT R E S P EQ U I PE D ATAIN I D A TA FIM
............ ................. .... .......... .......... ............. ..............
OP2 0 1 1 SU P. SISTEM A E2 1 000320 001.00 19880101 19880201
OP2 0 1 2 SU P. A PLI CA ÇÃ O E2 1 000330 001.00 19880101 19880201
OP2 0 1 3 SU P. D B \DC E2 1 000340 001.00 19880101 19880201
............. ................. .... ............ ........... ............. ...............
M A2114 B0 1 ? 19880920 ?
Anotações:
TESTPRO J
Resu lt a d o :
Anotações:
A N TES:
UPDATE RESTPROJ
SET EQUIPE = EQUIPE * 2, DATAFIM = NULL,
DATAINI = ‘1987-06-01’
WHERE DEPT = ‘B01’
PCO D PNOM E D EPT R E S P EQ U I PE D ATAIN I D A TA FI M
............ ................. .... .......... .......... ............. ..............
OP2 0 1 1 SU P. SI STEM A E2 1 000320 001.00 19880101 19880201
OP2 0 1 2 SU P. A PLI CA ÇÃ O E2 1 000330 001.00 19880101 19880201
OP2 0 1 3 SU P. D B \DC E2 1 000340 001.00 19880101 19880201
............. ................. .... ............ ........... ............. ...............
M A2114 B0 1 002.00 19870601 ?
Anotações:
UPDATE PESSOAL
SET SALARIO = SALARIO + 300
WHERE CARGO = ‘ATEND’
t o d as as lin h as:
UPDATE PESSOAL
SET ANOS = ANOS + 1
Anotações:
A N TES:
PCO D PNOM E D EPT RE SP EQ U I PE D ATAIN I D A TA FIM
............ ................. .... .......... .......... ............. ..............
O P2 0 1 1 SU P. SISTEM A E2 1 000320 001.00 19880101 19880201
O P2 0 1 2 SU P. A PLI CA ÇÃ O E2 1 000330 001.00 19880101 19880201
O P2 0 1 3 SU P. D B \DC E2 1 000340 001.00 19880101 19880201
............. ................. .... ............ ........... ............. ...............
M A2114 B0 1 001.00 19880920 19890201
D EPO I S:
PCO D PNOM E D EPT RE SP EQ U I PE D ATAIN I D A TA FIM
............ ................. .... .......... .......... ............. ..............
O P2 0 1 1 SU P. SISTEM A E2 1 000320 001.00 19880101 19880201
O P2 0 1 2 SU P. A PLI CA ÇÃ O E2 1 000330 001.00 19880101 19880201
O P2 0 1 3 SU P. D B \DC E2 1 000340 001.00 19880101 19880201
............. ................. .... ............ ........... ............. ...............
Anotações:
A N TES:
DELETE
DELETE FROM
FROM TESTPROJ
TESTPROJ
D EPO I S:
Anotações:
Anotações:
N Ã O RELA CI O N A L RELA CI O N A L
CO BO L
PLI SQ L SQ L
em butido
FO RTRA N
A SSEMB L E R
C
ARQ U IV O S CU RSO R
TA BELA S
REG I STRO S V A R. H O ST LIN H A S
Anotações:
• Já as lin g u ag en s t rad icio n ais t rab alh am co m arq u ivo s e reg ist ro s e não
co n seg u em reco n h ecer t ab elas e lin h as.
• Para sim u larm o s u m arq u ivo co m seu s reg ist ro s, t rab alh a-se co m o
CU RSO R d o D B2 . A ssim , o p ro g ra m a p o d e a cessa r lin h a s d e u m a
t abela para um a m anipulação qualquer.
Anotações:
DELIMITADORES
Anotações:
Anotações:
PA RA FO RN ECER U M V A LO R A O D B2
CO BO L
22000 SA L
SQ L
Anotações:
• A variável HOST deve ser compatível com a coluna, quanto ao seu tipo
de dado e tamanho.
Anotações:
PA RA FO RN ECER U M V A LO R A O D B2
M ATR SN OM E
EXEC SQL
UPDATE EMPR
SET SALARIO = SALARIO * :REAJ
WHERE CARGO = :CARGO
END-EXEC.
CA RG O REA J
Anotações:
Anotações:
PA RA REC EBER U M V A LO R D O D B2
EXEC SQL
SELECT MATR, SOBRENOME
INTO :MATR, :SNOME
FROM EMPR
WHERE DEPT = :DEP
END-EXEC.
Anotações:
EST RU T U RA
EXEC SQL
SELECT SOBRENOME, DEPT SNOME
INTO :ESTRUT DEPT
FROM EMPR
WHERE MATR = :MATR
END-EXEC.
MATR
Anotações:
Anotações:
D
DAAD
DOOS
SNNU
UMM ÉRI CO S
ÉRICO
D CL N 1 BIN 0 1 N I PIC S9 (4 )
SM A LLI N T N 1 DS H IN TEGER* 2 / N 1
FIXED (1 5 ) CO M P.
D CL N 2 BIN 0 1 N 2 PIC S9 (9 )
I N TEG ER/ I N T N 2 DS F IN TEGER* 4 N 2
FIXED (3 1 ) CO M P.
REA L* 4 N4 /
FLO AT(2 1 ) D CL N 4 BIN 0 1 N4 COM P -1. N 4 DS E
REA L N 4
FLO A T / REA L* 8 N5 /
FLO AT(5 3 ) / D CL N 5 BIN D O U BLE
0 1 N5 COM P - 2. N 5 DS D
D O U BLE FLO AT(5 3 ) PRECI SI O N N 5
PRECI SI O N
Anotações:
CA
CARA
RACTER
CTER STRI
STRINNG
G
Anotações:
D A TA / H O RÁ RI O / TI M ESTA M P
D B2 P LI CO BO L
G RA PH I C ( 5 ) D CL D BC1 G RA PH I C( 5 ) 0 1 D BC1 PI C G ( 5 ) D I SPLA Y-1 .
V A RG RA PH I C ( 4 0 ) D CL D BC2 G RA PH I C( 4 0 ) V A R 0 1 D BC2
4 9 D BC2 L PIC S9 (4 ) CO M P.
4 9 D BC2 C PI C G ( 4 0 ) D I SPLA Y-1 .
Anotações:
Anotações:
• COMMIT
• ROLLBACK
• LUW ABORTADA
• ATUALIZAÇÃO DESFEITA A PARTIR DO ÚLTIMO COMMIT
• CURSOR FECHADO (EXCETO COM OPÇÃO WITH HOLD)
**** No Banco todo programa BATCH que atualiza tabelas DB2 deve ter
COMMIT e lógica de RESTART. Consultar normas do KIT ANALISTA.
Anotações:
• A instrução COMMIT:
• A instrução ROLLBACK:
Anotações:
U PD A TE U PD A TE COM M IT
CO N TA PO U PA N ÇA
CO N TA PO U PA N ÇA
CO N TA PO U PA N ÇA
100 100
PO N TO D E N O VO PO N TO DE t
CO N SI STÊN CI A CO N SI STÊN CI A
LU W
RO LLBA C K
500 500
LU W A BO RTA D A t
Anotações:
Anotações:
COM M IT
TSO / BA TCH IM S CI CS
call C H KP co m an d o SYN CPO IN T
COM M IT ca ll syn c
G U I O PCB
RO LLBA C K
TSO / BA TCH IM S CI CS
call RO LL co m a n d o RO LLBA CK
RO LLBA C K call RO LB
Anotações:
• N ECESSÁ RI O PA RA O PRO G RA M A
Anotações:
Anotações:
CO N D IÇÃO SQ LCO D E
SU CESSO 0
Anotações:
01 SQLCA.
05 SQLCAID PIC X(8).
05 SQLCABC PIC S9(9) COMP-4.
05 SQLCODE PIC S9(9) COMP-4.
05 SQLERRM.
49 SQLERRML PIC S9(4) COMP-4.
49 SQLERRMC PIC X(70).
05 SQLERRP PIC X(8).
05 SQLERRD OCCURS 6 TIMES
PIC S9(9) COMP-4.
05 SQLWARN.
10 SQLWARN0 PIC X.
10 SQLWARN1 PIC X.
10 SQLWARN2 PIC X.
10 SQLWARN3 PIC X.
10 SQLWARN4 PIC X.
10 SQLWARN5 PIC X.
10 SQLWARN6 PIC X.
10 SQLWARN7 PIC X.
05 SQLEXT.
10 SQLWARN8 PIC X.
10 SQLWARN9 PIC X.
10 SQLWARNA PIC X.
10 SQLSTATE PIC X(5).
Anotações:
SQ LW A RN 5 : in st ru çã o SQ L/ D S in vá lid a n o D B2
Anotações:
Anotações:
• INSTRUÇÃO WHENEVER
manipulação de exceções
• DCLGEN
gerar declaração de variáveis HOST
• INSTRUÇÃO INCLUDE
embutir estrutura de SQLCA/var.HOST no programa
• DSNTIAR/DSNTIR
rotina de formatações de mensagens de erro.
Anotações:
CO N D IÇÃO
A ÇÃ O
GO TO :X
CONTINUE
Anotações:
Anotações:
TA BELA EM PR
M A TR CH A R (6 )
N O M E VARCH AR(1 2 )
CA TÁ LO G O
D CLG EN
ME MB 3
0 1 D CEM PR.
1 0 M ATR PIC X (6 ).
1 0 N O M E.
49 NOM E -LEN PI C S9 ( 4 ) U SA G E CO M P.
49 NOM E -TEX T PIC X (1 2 ).
Anotações:
Anotações:
M EM B3
EX EC SQ L
IN CLU D E M EM B3
EN D -EX EC.
. 0 1 D CLEM PR.
. 10...
.
EX EC SQ L
I N CLU D E SQ LCA 0 1 SQ LCA
EN D -EX EC. 05...
Anotações:
Anotações:
PREPA
PREPARA
RAÇÃ
ÇÃOO DDEEPRO
PROGGRA
RAMMAA CO
COMM SQ
SQLL
Có d ig o f o n t e co m SQ L
PREC O M PI LE
CO M PI LE BI N D
D ef in ição Tab le/Co lu m n
A u t o riz açõ es
M ódulo Objeto
SY SPA C KA G E
LI N K ED I T
Pa cka g e Pla n
Lo a d M ódulo EX ECU TE
(Lan g u ag e In t erf ace)
Anotações:
• Pré-compilação
• Compilação e Linkedição
• BIND
Anotações:
Anotações:
• índices utilizados
• estratégia de locking
• estratégia de resolução de JOIN, etc.
Anotações:
V I SÃ O G ERA L “ BI N D ”
D BRM
na Pa cka g e
SY SI BM . SY SPA CKSTMT
Anotações:
Anotações:
• O otimizador do DB2 pesa fatores com CPU e I/O para optar por uma
estratégia de acesso.
Anotações:
D BRM
BI
BINNDD PA
PACKA
CKAGGEE( (oonline
n lin e) ) BI
BINNDDPA
PACKA
CKAGGEE( (bbaattch
ch))
MMEM
EM BER ( d b rma)
BER ( dbrm a) MMEM BER ( d b rm a)
EM BER ( d b rm a)
o n lin e bat ch
dbrma dbrma
NNom
o m ee ddo
o Pa
Packa
ck aggee ==Co
Collect
llectio
ion_id
n _ id. Pa
.Packa
ck aggee_id
_id
Anotações:
U m a CO LLECTIO N é u m co n ju n t o d e Pa cka g e s
Exem p lo :
online batch
pkg1 pkg3
BI
BINNDD PA
PACKA
CKAGGEE (online
( online)) M EM BER
MEM BER (p
(pkg1
kg 1))
BIN
BINDD PAPACKA
CKAG
GEE (b
(baattch
ch)) M
MEMEM BER
BER (p
(pkg
kg33))
Anotações:
Pre-compilador
Compilador/ Link-edit
BIND PACKAGE
Diretório
Load Módulo
Anotações:
. lmoda
CALL DSNHLI (dbrm1, ,1)
.
.
CALL DSNHLI (dbrm1, ,2)
.
.
Diretório
CALL DSNHLI (dbrm3, ,1)
.
collx colly
RU N PRO G RA M ( Im oda)
PLA N ( p lana) dbrm1 dbrm3 dbrm1
plana
collx.dbrm1, collz.*
dbrm2
BI N D PLA N ( p la n a ) collz
PKLI ST ( collx .dbrm 1 , collz.*)
Anotações:
Anotações:
.
CA LL DSNHLI (d b rm 1 , ,1)
.
p lan a
RU N PRO G RA M ( Im oda )
PLA N (p lan a)
co lly co llx
dbrm1 dbrm1
-805
51002
Anotações:
..
SELECT.
SELECT.....
FRO
FROM
M TA
TAB1 B1
..
BINDPACKAGE
BIND PACKAGE BINDPACKAGE
BIND PACKAGE
BIND PACKAGE
BIND PACKAGE
QUAL (TEST)
QUAL (TEST) QUAL (PROD)
QUAL (PROD)
Anotações:
FET C H
M A TR SO BREN O M E
030 SI LV A
050 PA RK ER 050 PA RK ER
215 C LA RK M A TR SNOM E
Anotações:
Anotações:
• DEFINIÇÃO do CURSOR
EXEC SQL
DECLARE K9 CURSOR FOR
SELECT MATR, SOBRENOME
FROM EMPR
WHERE DEPT = :DEPT
END-EXEC.
• OPEN DO CURSOR
EXEC SQL OPEN K9 END-EXEC.
• FETCH das linhas resultantes
EXEC SQL
FETCH K9 INTO :MATR, :SNOME
END-EXEC.
• CLOSE CURSOR
Anotações:
Anotações:
Anotações:
EXEC SQL
DECLARE CE CURSOR FOR
SELECT ... FROM EMPR...
END-EXEC
.
EXEC SQL OPEN CE END-EXEC
.
Anotações:
• ORDER BY,
• GROUP BY,
• DISTINCT,
• UNION,
• função ou
• Join.
Anotações:
EXEC SQL
DECLARE CX CURSOR FOR
SELECT ... MATR, SOBRENOME
FROM EMPR
WHERE DEPT = : DPT
FOR UPDATE OF SOBRENOME
END-EXEC
.
EXEC SQL OPEN CE END-EXEC
.
.
EXEC SQL FETCH CX INTO :MATR,:SNOME END
.
.
EXEC SQL UPDATE EMPR
SET SOBRENOME = :NOVOSN
WHERE CURRENT OF CX END-EXEC
.
.
EXEC SQL CLOSE CX END-EXEC
Anotações:
• A atualização deve ser feita para a linha que está sendo apontada pelo
CURSOR especificado na clausula “WHERE CURRENT OF CURSOR”.
• Uma instrução DECLARE não pode conter cláusula “FOR UPDATE OF”,
se a instrução SELECT associada contiver:
• ORDER BY,
• GROUP BY,
• DISTINCT,
• UNION,
• função ou
• Join.
Anotações:
PO SI CI O N A M EN TO
O PEN
C LO SE
REU TI LI ZA ÇÃ O d o CU RSO R
O PEN
Anotações:
• Uma instrução COMMIT fecha todos os cursores sem opção with hold e
valida todas as atualizações efetuadas até então.
Anotações:
EXEC SQL
SELECT CARGO DEPT, FONE, NOME
INTO :CC:CCI, :DPT, :FON:NFON, :NOM
FROM EMPR
WHERE MATR = :ID
END-EXEC.
co lu n a V a r. H O ST Var.IN D
CA RG O :CC : CCI
Anotações:
• As variáveis HOST que não trabalham com nulo não requerem uma
variável indicadora. Vide a coluna DEPT do exemplo.
Anotações:
EXEC SQL
SELECT CARGO, DEPT, FONE, NOME
INTO :EST:VETOR
FROM EMPR
WHERE MATR = :ID
END-EXEC.
ID EST V ETO R
0 1 EST. 0 1 V ETO R.
1 0 CC PIC. . . 1 0 ARRAY PIC S9 (4 ) CO M P
1 0 D PT PIC. . . O CCU RS 3 TI M ES
1 0 FO N PIC. . .
1 0 NOM PIC...
Anotações:
Anotações:
• “n” indica que uma variável HOST é pequena demais para conter um
string de “N” caracteres que teve de ser truncado. O SQLWARN1 é
setado para ‘W’.
Anotações:
EXEC SQL
SELECT SMI1, SMI1*INT1, SMI1/SMI2
INTO :MV1:IV1, :MV2:IV2, :MV3:IV3 FROM TABLEA
END-EXEC.
Anotações:
var. IN D I N TERPRETA ÇÃ O
0 var. H O ST co n t ém valo r n ão n u lo
Anotações:
SELECT *
FROM EMPR
WHERE SEXO = ‘F’
AND (CARGO = ‘ANALISTA’ OR SALARIO > 1000)
AND DEPT IN (‘E11’,’D14’)
• ÍNDICES DISPONÍVEIS?
Anotações:
otimizador do DB2.
Anotações:
CICS, IM S, TSO D B2
M Ó D U LO PLA N O
DE C A LL
CA RG A PA CKA G E
RELA TÓ RI O V SA M T A BELA S
D B2
Anotações:
• Ant igam ent e não exist iam p ackag es, e um plano era com post o de um
co n ju n t o d e D BRM ’ s. Para est es p lan o s, q u an d o exist e u m p ro b lem a d e
t im est am p diferent e é em it ido
Anotações:
Anotações:
- SELECT A INTO :B
- WHERE A = :B
Anotações:
Anotações:
SELECT MATR,SOBRENOME
FROM EMPR E
WHERE DEPT = (SELECT DEPT
FROM PROJETO
WHERE RESP = E.MATR)
Anotações:
• CPU ADICIONAL
Anotações:
UUSO
SO DDO
O ÍÍN
N DDIICE
CE
CO LU N A I N D EX A D A IN D EX SO RT
CA N D ID A TO CA N D I D A TO
IN SIM
LI KE N O TA 1
BETW EEN SIM
> ,> = ,< ,< = ,¬ > ,¬ < ,= SIM
¬ = ,< > N ÃO
NOT N O TA 2
OR N O TA 3
O RD E R BY SIM SI M
G RO U P BY SIM SI M
D I STI N CT SIM SI M
CO M PA RED TO :
LO N G ER LI T ERA L N ÃO
A RI TI M ETI C EX P. N ÃO
D I FF. D A TA TYPE N ÃO
U SED FO R JO I N SIM SI M
N O TA 1 : Sim , excet o q u an d o a variável – h o st cont iver ‘% ’ ou ‘-‘ no início.
N O TA 2 : Sim , q u an d o p o d e ser su b st it u id o p o r o p erad o r q u e u sa o ín d ice
N O TA 3 : Sim se p o ssível co n vert er e m IN.
Anotações:
EX
EXPRESSÕ
PRESSÕES
ESAARIRITM
T MÉTI CA SS
ÉTICA
• M A TCH IN G IN D EX EM SA LA RY N Ã O U TILIZA D O
EXEC SQL
SELECT LASTNAME, SALARY
FROM TEMPL
WHERE SALARY <= :SAL + 1000
END-EXEC
• M A TCH I N G I N D EX EM SA LA RY CO N SI D ERA D O
SAL = SAL + 1000
EXEC SQL
SELECT LASTNAME, SALARY
FROM TEMPL
WHERE SALARY <=: SAL
END-EXEC
Anotações:
CO
CONNDDIÇÕ
IÇÕES
ESNNOOTT
Anotações:
UUSO
SO DDOO ““LI
LIKE”
KE”
Anotações:
SU
SUBQ
BQUUERI
ERIES
ES
Anotações:
SELECT
SELECT MATR,
MATR, SOBRENOME
SOBRENOME FROM
FROM EMPR
EMPR
WHERE ......AND......AND......
WHERE ......AND......AND......
EX
EXPLA
PLAIIN
N In st ru ção o u o p ção d o BIN D
PLA N -T A BLE
Anotações:
• NECESSIDADE DE ÍNDICE
• PROBLEMA DE LOCKING
• FERRAMENTA DO PROGRAMADOR
Anotações:
EX
EXPLA
PLAI INN
Co m an d o EX
EXPLA
PLAIINN PLA N - T A BLE
SQ L
• EX PLA I N A LL
SET QUERY = n
FOR sql-statement
Anotações:
Anotações:
PF3
Anotações:
PLA
PLANN__TA
TABLE
BLE
• A CCESSTYPE:
I F A CCESSTYPE = I , M , N , M X , t hen:
• A CCESSN A M E: Name of Index
• M A TCHCOLS: # of matching cols
• INDEXONLY: Y if no d at a access
Anotações:
Parte 3
Anotações:
Anotações:
• Pro t eg e co n t ra
• Granularid ad e
• M odo
• D u ração
Anotações:
LO
LOCCKSI
KSIZZEE TA
T ABLESPA
BLESPACCEE
U PD A TE
S E LE C T
W AITIN G
W AITIN G W AITIN G
U PD A TE S E LE C T
Anotações:
LO
LOCKSI
CKSIZZEETA
TABLE
BLE
S E LE C T U PD A TE
W AITING W AITIN G
U PD A TE SELEC T
Anotações:
LO
LOCKSI
CKSIZE
Z E PA
PAGGE/
E/AANNYY
SELEC T U PD A TE
U PD A TE S E LE C T
Anotações:
LO
LOCKSI
CKSIZZE
E RO
ROWW
S E LE C T U PD A TE
U PD A TE S E LE C T
Anotações:
Anotações:
• S : ( Sh a red) com part ilhado. O dado est á em uso para leit ura por um ou
m a is u su á rio s.
Anotações:
• Para LO CK d e leit ura a nível d e p ágina ou linha t em os q uat ro est rat égias
p o ssíve is:
• R S Read St ab ilit y
O s lo cks são ad q u irid o s so m en t e n as p ág in as/ lin h as q u e sat isf azem
t o d as as co n d içõ es d a clau su la W H ERE. Perm it e u m a ap licação ler a s
m esm a s p ág in as/ lin h as d e d ad o s m ais d e u m a vez sem q u e est es d ad o s
t enham sid o at ualizad os p or out ra ap licação. O f erece m aior conco rrência
q u e RR, p o is em b o ra as o u t ras a p lica çã o es n ão p o ssam alt erar o s d ad o s
lid o s p ela ap licação o rig in al, elas p o d em in serir n o vas lin h as.
Anotações:
• CS Cu rso r Stability
O s lo cks são ad q u irid o s co n f o rm e a n ecessid ad e e lib erad o s
quando o program a lê out ra página/linha.
• UR U ncom m it ed Read
N EN H U M lo ck é adquirido para a leit ura das páginas/ linhas. Perm it e
a leit u ra d o s d ad o s sem ch ecar a in t eg rid ad e. O U R só d eve ser
esco lh id o em sit u açõ es esp eciais ao n d e a in f o rm ação lid a n ão
p recisa est ar 1 0 0 % garant id a. Por exem p lo: select su m (t o t_ ve n d a s)
from ven d a s – aonde o usuário só quer t er um a idéia do t ot al de
ven d as at é o m o m en t o , sem se im p o rt ar co m a p recisão d a
inf orm ação. U SAR CO M M U ITO CU ID AD O .
• Q uant o aos lo cks d o t ip o X, não há d if erença com RR, ond e a lib eração
ocorre som ent e com o CO M M IT.
Anotações:
Anotações:
Anotações:
DATABASE CATALOG
TABLESPACE UTILITIES
TABLE COMMANDS
INDEX BIND
VIEW EXECUTE
BUFFER POOL
Anotações:
TERM-ID
Anotações:
Anotações:
Anotações:
PRO CESSA M EN TO
U TI LI TÁ RI O FU N ÇÃ O / D ESCRI ÇÃ O
CO N CO RREN TE
CH ECK TESTA SE O S I N D Í CES ESTÃ O CO N SI STEN TES
LEI TU RA
IN D EX COM OS DA DOS
TESTA I N TEGRI D A D E REFERÊN CI A L E A S
CH ECK D A TA LEI TU RA
CO N TRA IN TS
NENHUM NO
CA RREGA DA DO S DE U M A RQ U IVO SEQ U EN CIA L
TA BLESPA CE O U
LOAD P AR A UM A OU M AIS TABELAS NO M ESM O
PA RTIÇÃ O SEN D O
TA BLESPA CE
CA RREGA D O
JU N TA CÓ PIA S IN CREM EN TA IS E/ O U TO TA IS E
M ERGECO PY CRIA UM A N OVA CÓPIA IN CREM EN TA L E/ OU Q U A LQ U ER TIPO
TOTA L
DELETA IN FO RM A ÇÕ ES SO BRE U M A CO PIA DA
M O DIFY TA BELA DO CA TÁ LO GO ‘ SYSIBM . SYSCO PY’ E DO Q U A LQ U ER TIPO
DIRETÓ RIO ’ SYSIBM . SYSLGRN G’
Anotações:
PRO CESSA M EN TO
U TI LI TÁ RI O FU N ÇÃ O / D ESCRI ÇÃ O
CO N CO RREN TE
Q U IESCE ESTA BELECE U M ‘ Q U IESCE PO IN T’ N O
LEI TU RA
CA TÁ LO GO PA RA O ( S) TA BLESPA CE( S)
RECUPERA O TABLESPACE, UMA PÁGINA,
RECOVER NENHUM
PARTIÇÃO OU “ERRORANGE”
READY-ONLY
DURANTE
REORG REORGANIZA UM TABLESPACE OU UM INDICE
UNLOAD; NEHUM
DURANTE RELOAD
REPORT
LISTA INFORMAÇÕES DE TABLESPACES QUALQUER TIPO
PROCESSING
ATUALIZA TABELAS CATÁLOGO COM
RUNSTATS ESTATÍSTICAS SOBRE UTILIZAÇÃO DE QUALQUER TIPO
TABLESPACES EFICIÊNCIA DE ÍNDICES
ATUALIZA TABELAS CATÁLOGO COM
STOSPACE ESTATÍSTICAS SOBRE UTILIZAÇÃO DE ESPAÇO QUALQUER TIPO
DE “STORAGE GROUP”
Anotações:
ARQUIVO
ARQUIVO
SEQUENCIAL
SEQUENCIAL
DE
DEENTRADA
ENTRADA
UUTITILILITÁ
TÁRIRIOO
LO A D
LO A D
Anotações:
SYSREC
DFSORT
TABLE RID MAP
DFSORT TODOS INDICES
DA TABELA
CARREGADA SYSMAP
ERROS DE
ERROS DE CONVERSÃO NO DUPLICA DOS NO
REGISTROS
SYSERR SORTEADOS SYSERR
Anotações:
PHASE 5
PHASE 6
SYSERR
DISCARD SEQUENCIAL RID MAP
DA TABELA
DATA SET DE
DISCARD
INPUT
CARREGADA COMPLETO
RID MAP
DA TABELA
SYSUT1 CARREGADA SYSMAP SYSDISC
PHASE 7
ERROR
ERROR
SUMMARY
REPORT TODAS VIOLAÇÕES SUMMARY
ACUMULADAS
SYSERR
Anotações:
Anotações:
D I SCA RD Usa o arq uivo 'SYSERR' p ara sab er q uais linhas t iveram erros e o
arq uivo 'SYSM AP' p ara localizá-las no arquivo seqüencial de ent rada,
est a f ase cria u m arq u ivo 'DISCARD'. O arq u ivo 'DISCARD' p o d e ser
edit ado (usando 'ISPF') e usado com o novo 'INPUT' de 'LOAD' após o s
erros t erem sido corrigidos.
REPO RT Usa 'SYSERR' p ara list ar t od as as linhas q ue não f oram carregad a s.
Um a linha é considerada errada por qualquer um a das
seguint esrazões:
- Erros d e conversão d e d ad os d urant e a f ase '(RE)LOAD'
- Erros de chave duplicada encont rados durant e a f ase 'BUILD
- Erros de int egridade referencial descobert os durant e a f ase
'EN FO RCE‘
Anotações:
LO A D D A TA I N TO TA BLE TA B_ EM PR
W HEN (1 :1 )= ‘* ’
(M ATR PO SITIO N (2 :6 ),
NOM E PO SITIO N (8 :1 6 ),
.
. )
Anotações:
• LO A D I N I CI A L:
- Ta b le sp a ce vazio (Est e é o default)
LO A D D A TA
RESU M E N O
IN TO TA BLE EM P
• LO AD Ad icional :
- Ta b lesp a ce não -vaz io
- Para carreg ar o u t ra t ab ela n o m esm o t ab lesp ace
- Para ad icionar linhas em um a t ab ela não-va z ia
LO A D D A TA
RESU M E YES
IN TO TA BLE EM P
• So b rep o r d ad o s an t ig o s:
- Esva z ia o t a b lesp a ce e o s ín d ices an t es d o load
LO A D D A TA
REPLA C E
IN TO TA BLE EM P
U m a m aneira fácil de fazer um ref resh d o s d ad o s.
Anotações:
T1 , T2 E T2 CO N TÉM D A D O S
CO M O V O CÊ FA RI A PA RA
Anotações:
LO A D D A TA
I N TO TA BLE PRO J
LO G YES / N O
Anotações:
USER TABELA A
UM OU MAIS TABLESPACES
USER TABELA B
UUTITILILITÁ
TÁRIRIOO
CCHHEC ECKK
DDAATA TA
ERROR
ERROR
SUMMARY
SUMMARY
Anotações:
SCA N TA B Ext rai as foreign keys; usa o índice da foreign key, se exist ir,
senão f az scan table
SO RT Faz o sort das foreign keys caso elas não t enham sido ext raidas
at ravés do índice.
Anotações:
• FO R EX CEPTI O N
- PEN D IN G
Indica que som ent e as linhas das t abelas ou part ições que est ão em
CHECK pending st at us devem ser checadas
- A LL
Ch eca t odas as linhas de t odas as t abelas exist ent es no t ablespace
especif icado
• EX CEPTI O N S n
Termina o utilitário após n+ 1 erros
Anotações:
N Ú M ERO D E LI N H A S N A TA BELA ?
CLU STER O K ?
N Í V EL D O S Í N D I CES ? REO RG A N I ZA R ?
N Ú M ERO D E V A LO RES D I STI N TO S D E U M A CO LU N A ?
Anotações:
OBS: No Banco exist e um a rot ina pront a para o R unstats , solicit ar a criação ao
analist a de produção.
Anotações:
• REPO RT N O | Y ES
Produz um relat ório com as est at íst icas obt idas pelo Runst at s
• U PD A TE A LL | N O N E | SPA C E | A C C ESSPA T H
Anotações:
• Pa ra ro d a r p a ra Ta b lesp a ce e Ín d ices
SA M PLE 2 5
Anotações:
Anotações:
USER TABELA A
TABLESPACE
USER TABELA B
U TILITÁ RIO
U TI LI TÁ RI O
CO
C OPY PY
I M A G E CO PY
Anotações:
CO PY Cópia do objeto
Anotações:
• FU LL
YES
Cria um backup com pleto do t ablespace/partition
CO PY TA BLESPA CE D B0 1 . TS0 1
NO
FU LL N O
• CO N CU RREN T
Anotações:
T E MPO
CÓ PI A CÓ PIA CÓ PI A
D AD O S
Anotações:
T EM PO
A LT ERA Ç Õ ES
N O S D AD O S D AD O N ÃO
DADO S A CESSÍ V EL
DADO
REC U PERA D O
Anotações:
Anotações:
T EM PO
CÓ PIA CÓ PI A CÓ PI A
DADO N ÃO
D AD O S A CESSÍ V EL
DADO
REC U PERA D O
Anotações:
T EM PO
PRO CESSO S
PERD I D O S
A LTERA ÇÕ ES
N O S D AD O S D A D O D A N IFICA D O
D AD O S
LO G I CA M EN TE
PO N TO DE
Q U I ESCE
DADO
RECU PERA D O
Anotações:
• T O RBA
• T O C O PY
Especif ica qual a cópia o DB2 deve usar para recuperar os dados.
Anotações:
USER TABELA A
UMA OU MAIS TABELAS
DE ENTRADA
USER TABELA B
DDSN
SNTIAU
TIA ULL
ARQUIVO U
SEQUENCIAL M
DE OUTPUT A
O
U
M
A
I
S
T
A
B
E
Anotações: L
A
S
D
E
S
A
Í
D
A
SYSPU N CH Dat aset de out put . DSNTIAUL escreve os cart ões de cont role para o
LOAD nest e dat aset.
SY SRECn n Dat set de output. O valor nn tem intervalo de 0 0 até 99. É p ossível t er
no máximo 100 datasets de out put por execução do DSNTIAUL. Cada
dat aset contém os dados que foram ‘unload’ p elo DSNTIAUL. O
núm ero dest e dat aset deve ser igual ao núm ero de statements de
SELECT o u d e t ab elas d o dat aset de input.
Anotações:
Anotações:
Anotações:
A invocação de sp é feita no db2 com um comando “call”. Note-se que com rdbms de
outros fabricantes o comando de invocação pode ser diferente de “call” ( e.g. O ms sql
usa “execute” ), assim como as regras de programação e ligação podem ser diferentes
também. Por esse motivo, conhecimentos prévios de outros sw, podem não se aplicar a
db2 stored procedures.
Porque razão iríamos querer usar stored procedures em vez de efetuar todos os acessos
sql no programa invocador?
Existem dois tipos de situação em que é mais recomendável o uso de sp:
Anotações:
SEGURANÇA.
Outra razão que poderia indicar o uso de stored procedures é que pelo fato de estas
rodarem no servidor, podem usar comandos que não estão disponíveis para os clients,
como por exemplo “list database directory”. Além disso, stored procedures também
podem fazer acesso a recursos de software e storage diponiveis apenas no servidor.
Anotações:
CALL proc-name
( parametro, ... )
USING DESCRIPTOR descriptor-name
Identifica a sqlda que descreve as host variables usadas como parâmetros, no caso da
procedure ser invocada dessa forma.
Anotações:
SQLTYPE
SQLLEN
SQLDATA
SQLIND
LEN.SQLLONGLEN
SQLDATALEN
SQLDATATYPE_NAME
Presume-se que cada sqlda seja usada para trocar dados em ambos os sentidos, entre o
programa e a procedure.
Se o programa não usar o parâmetro para transmitir dados para a procedure, o campo
“sqlind” deverá ser inicializado com o valor –1 pelo programa.
Se a procedure não usar o parâmetro para transmitir dados para o programa, o campo
“sqlind” deverá ser inicializado com o valor –128 pela procedure
Anotações:
Stored procedures escritas em sql pl são definidas completamente pelo comando “create
procedure”, ou seja, os comandos fonte fazem parte do corpo do comando “create
procedure”
Quando escritas em linguagens diferentes de sql pl, as stored procedures são programas
criados à parte e catalogados no db2 pelo comando “create procedure”, onde se faz
referencia ao nome do executavel. Esses programas têm de ter sido objeto de prepare,
bind, compilação, edição de ligações (linkedited), e catalogação em biblioteca
reconhecida pelo db2.
Anotações:
Anotações:
Em operações como “drop” em que não se usam parâmetros, pode ser usado o nome
indicado pelo atributo specific.
Anotações:
Anotações:
Em db2 established address spaces o db2 usa caf ( call attachment facility ) calls
implícitos
Em wlm o db2 usa rrsaf calls ( recoverable resource manager services ) implícitos
BACKUP
CONNECT
CONNECT TO
CONNECT RESET
CREATE DATABASE
DROP DATABASE
FORWARD RECOVERY
RESTORE
O db2 não permite usar overload (procedures diferentes com a mesma identificação) em
procedures com o mesmo número de parâmetros, mesmo que sejam de tipos diferentes.
Com exceção de procedures em db2 cli e jdbc, tem de ser feito bind.
Anotações:
COM M IT E ROLLBACK
Uma procedure que contém commit ou rollback, deve ser definida (create procedure)
como contains sql, reads sql data ou modifies sql data
Se a procedure tiver sido definida com commit on return yes, será executado um commit
ao final da procedure, independentemente de a procedure conter commits ou rollbacks
Os cursores do client também são afetados por commit ou rollback dentro da procedure.
Rollback fecha todos os cursores
Commit fecha todos os cursores com exceção daqueles declarados com with hold
Anotações:
- O client usa type 2 connect para um server que contém a stored procedure
Não pode ser usado rollback numa sp, se o db2 não for o coordenador de transação.
Anotações: