Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Todo Sobre Firebird - Documentos de Investigación - Alejitofzz
Todo Sobre Firebird - Documentos de Investigación - Alejitofzz
Todo Sobre Firebird - Documentos de Investigación - Alejitofzz
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
H o l ar j f p 2 1
E n s a y o syT r a b a j o s
G e n e r a d o r d eC i t a s
M s
M sd e6 . 3 0 0 . 0 0 0d o c u me n t o s
P g i n ap r i n c i p a l I n f o r m e sd el i b r o s
F i r e b i r d C o n t e n i d o
F i r e b i r d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 I n t r o d u c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 D e s c r i p c i n y c a r a c t e r s t i c a s g e n e r a l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 A r q u i t e c t u r a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 S e r v i d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 C l i e n t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 B l o q u e o s , v e r s i o n e s y g e n e r a c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 p e r a c i o n e s c o n m l t i p l e s E S P E RO T UL L A M A DA . . .O t a b l a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 T r a n s a c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
825.180
Me gusta
U s t e dn ot i e n en i n g nt r a b a j o g u a r d a d oe ne s t em o m e n t o .
C o n c u r r e n c i a1 : n i v e l e s d ea i s l a mi e n t od e t r a n s a c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 C o n c u r r e n c i a2 : mo d od eb l o q u e od eu n a t r a n s a c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 B l o q u e o s p e s i mi s t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 Ma n t e n e r e l c o n t e x t o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 I n t e g r i d a d r e f e r e n c i a l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 I n s t a l a c i n y p u e s t ae n ma r c h a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 D e s c a r g ad e s d e I n t e r n e t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 P r o b a r l a i n s t a l a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 I S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8
Ensayos relacionados
Firebird
. . . F I R E B I R DR E S U M E NF i r e b i r de sg e s t o r d eb a s e d ed a t o s, l i b r et i e n es uo r i g e ne nI n t e r b a s ed e . . .
2 0P g i n a s a g o s t od e2 0 1 1
1 8 . 3 K
Tw ittear
Firebird
. . . U n i v e r s i d a dT e c n o l g i c aI n t e r c o n t i n e n t a l ( S e d eV I . D r . J u a nE . E s t i g a r r i b i a ) F A C U L T A DD E . . .
1 6P g i n a s m a y od e2 0 1 1
1 4 k
Firebird
. . . F i r e b i r d V e r s i o n1 . 5N o t a sd el aV e r s i n1 . 55d e F e b r e r od e2 0 0 4V e r s i nd ed o c u me n t o . . .
1 0 5P g i n a s m a y od e2 0 1 0
Firebird E n 2 Minut os
. . . C o n o z c aF i r e b i r de nd o smi n u t o s P o r C a r l o sH . C a n t u r e v i s i n1 . 1d e l d o c u me n t o N o v i e mb r e / 2 0 0 6 . . .
5P g i n a s n o v i e m b r ed e2 0 1 0
H e r r a mi e n t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B S e r v e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B G u a r d i a n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 G b a k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z I B C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9
E j e c u t a r s e n t e n c i a s S Q Le n I B C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 I B O C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 I B _ S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 E l l e n g u a j ed e c o n s u l t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 S Q L S Q Ls o n l a s i n i c i a l e s d e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 C u r s o r e s v s c o n j u n t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 S e l e c c i n d er e g i s t r o s : S E L E C T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5 O r d e n e n l a s a l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 F i l t r a d o s y b s q u e d a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0 F e c h a s / H o r a s e n S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 C r i t e r i o s d e s e l e c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 F u n c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 F u n c i o n e s d e a g r e g a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 S u b c o n s u l t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 C o mp a r a c i n c o n e l r e s u l t a d od eu n a s u b c o n s u l t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 U n i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 C o n s u l t ad ev a r i a s t a b l a s r e l a c i o n a d a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 C r e a c i n , mo d i f i c a c i n y b o r r a d od e o b j e t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 L e n g u a j ed eD e f i n i c i n d eD a t o s ( D D L ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 B a s e s d e D a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 C r e a c i n d eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 E l t a ma on oi mp o r t a( p e r d n , G o d z i l l a ! ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 P g i n a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 E l j u e g od e c a r a c t e r e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 Mo d i f i c a c i n d eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7 B o r r a d od eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 T a b l a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C r e a c i n d eu n a t a b l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 N o mb r e s d e o b j e t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9 T i p o s d ed a t o s s o p o r t a d o s p o r F i r e b i r d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9 C o n d i c i o n e s p a r al o s c a mp o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 0 C a mp o s c a l c u l a d o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1 R e s t r i c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Mo d i f i c a c i n d el ae s t r u c t u r ad eu n a t a b l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 B o r r a d od eu n at a b l a c o mp l e t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 D o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 C r e a c i n d e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 Mo d i f i c a c i n d e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 B o r r a d od e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 I n d i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 C r e a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 Mo d i f i c a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 B o r r a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 R e s t r i c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 P K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 U Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 F K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 C h e c k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 N o t N u l l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 G e n e r a d o r e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 C r e a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 Mo d i f i c a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 B o r r a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 E x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 D e f i n i r e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 Mo d i f i c a r e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 B o r r a r
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 P r o g r a ma c i n d e l s e r v i d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 0 S c r i p t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 0 P r o c e d i mi e n t o s a l ma c e n a d o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 P r o c e d i mi e n t o s d e a c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 T r i g g e r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 F u n c i o n e s d e l u s u a r i o ( U D F ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 L i b r e r a s e s t n d a r d ef u n c i o n e s e x t e r n a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 C r e a r f u n c i o n e s e x t e r n a s e n D e l p h i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 A c c e s od e s d e D e l p h i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 B D E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 I B X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 D B X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 A D O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 I B O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 U I B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 O p t i mi z a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 P l a n d e e j e c u c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 C r e a c i n d e n d i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 S e l e c t i v i d a d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 R e s t r i c c i o n e s d e c l a r a t i v a s v s . a c t i v a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 R e s t r i c c i n d el ac a n t i d a dd er e g i s t r o s at r a e r a l c l i e n t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 F u t u r o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5
I n t r o d u c c i n
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
D e s c r i p c i n y c a r a c t e r s t i c a s g e n e r a l e s
F i r e b i r de s u n G e s t o r d eB a s e s d eD a t o s R e l a c i o n a l e s . E s d e c i r q u et r a b a j a c o n e l e s q u e mar e l a c i o n a l s u r g i d oe n l o s l a b o r a t o r i o s d eI B M, d el ama n od eE . F . C o d dy C h r i s D a t e . E s t ee s q u e mah as i d oi mp l e me n t a d oc o n x i t oe n f o r ma c o me r c i a l , y d eh e c h ol ama y o r ad el a s a p l i c a c i o n e s d eB a s e s d eD a t o s s e u t i l i z a n g e s t o r e s q u et r a b a j a n c o n e s t emo d e l o [ 1 ] . F i r e b i r de s p e q u e a u n ai n s t a l a c i n c o mp l e t ao c u p aa l r e d e d o r d e1 0Mb i n c l u y e n d ol i b r e r a s , e j e mp l o s d ep r o g r a ma c i n y B Dd emu e s t r a , f c i l d e i n s t a l a r y e j e c u t a r , y a n a s mu y p o d e r o s a . P u e d et r a b a j a r mu y b i e n c o n c a n t i d a d e s d ed a t o s q u ev a n d e s d eu n o s p o c o s h a s t av a r i o s mi l l o n e s d e r e g i s t r o s p o r t a b l a . G e n e r a l me n t en oe s n e c e s a r i ot o ma r me d i d a s e s p e c i a l e s p a r ao p t i mi z a r e l r e n d i mi e n t od e l s e r v i d o r , a u n q u et e n e mo s l ap o s i b i l i d a dd e t o c a r a l g u n a s v a r i a b l e s p a r as a c a r m s p r o v e c h oas i t u a c i o n e s p a r t i c u l a r e s . S ep u e d ee j e c u t a r e n u n aa mp l i av a r i e d a dd es i s t e ma s o p e r a t i v o s : Wi n d o w s e n t o d a s s u s e n c a r n a c i o n e s , L i n u x , S o l a r i s , Ma c O Sy o t r o s [ 2 ] . P o r s u t a ma o , r e n d i mi e n t oy p o c an e c e s i d a dd ema n t e n i mi e n t oe s u n g e s t o r i d e a l p a r aa p l i c a c i o n e s p e q u e a s y me d i a n a s , q u es ep u e d el l e v a r s i n p r o b l e ma s at r a b a j a r e n s i t u a c i o n e s m s e x i g e n t e s y c o n ma y o r c a r g ad e t r a b a j oy d a t o s . F s i c a me n t e , F i r e b i r dt r a b a j ac o n u n oov a r i o s a r c h i v o s a d o n d ea l ma c e n a t o d o s l o s d a t o s y e s t r u c t u r a s : n om s p r o l i f e r a c i n d ea r c h i v o s c o mot e n a mo s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
A r q u i t e c t u r a
F i r e b i r ds ec o mp o n ed ed o s p a r t e s : e l s e r v i d o r p r o p i a me n t ed i c h o , y e l c l i e n t e q u es ec o mu n i c ac o n l . S e r v i d o r E l s e r v i d o r e s l ap a r t eq u eh a c ee l t r a b a j o : a l ma c e n al o s d a t o s , l o s p r o c e s a , e j e c u t al o s p r o c e d i mi e n t o s a l ma c e n a d o s y a p l i c al a s v a l i d a c i o n e s . D e b ee x i s t i r u n op o r l ome n o s e n l ar e d . C l i e n t e E l c l i e n t ee s l ap a r t eq u es ee n c a r g ad el ac o mu n i c a c i n e n t r el a s a p l i c a c i o n e s y e l s e r v i d o r . Ma n e j al o s p r o t o c o l o s , e n v ay r e c i b ed a t o s , e n v ac o ma n d o s , e t c . E s u n ac a p am n i ma u n al i b r e r ad ee n l a c ed i n mi c o , a l g u n o s a r c h i v o s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
a u x i l i a r e s y e n t r a d a s e n e l r e g i s t r od es e r v i c i o s d e l s i s t e ma p e r on e c e s a r i a p a r al ac o mu n i c a c i n c o n e l s e r v i d o r . D e b ei n s t a l a r s ee n t o d o s l o s e q u i p o s q u ev a y a n aa c c e d e r a l s e r v i d o r , i n c l u i d oe l e q u i p oa d o n d er e s i d af s i c a me n t e e l mi s mos e r v i d o r s i s ev aau s a r c o mot e r mi n a l . B l o q u e o s , v e r s i o n e s y g e n e r a c i o n e s L ap r i n c i p a l c a r a c t e r s t i c aq u ed i s t i n g u eaF i r e b i r d / I n t e r b a s ed e l r e s t od el o s g e s t o r e s c o me r c i a l e s c o n o c i d o s c o moO r a c l e , S Q L S e r v e r oMy S Q Le s s u a r q u i t e c t u r ag e n e r a c i o n a l . L ama y o r ad el o s g e s t o r e s d ed a t o s r e l a c i o n a l e s i mp l e me n t a n u n me c a n i s mo d et r a n s a c c i o n e s , y F i r e b i r dn oe s l ae x c e p c i n ; l ad i f e r e n c i ae s t e n c mos e i mp l e me n t ae l me c a n i s mo . G e n e r a l me n t es eu t i l i z a n b l o q u e o s d ed i f e r e n t e s n i v e l e s r e g i s t r o , p g i n a , t a b l a p a r ai mp e d i r q u eo t r a s t r a n s a c c i o n e s mo d i f i q u e n d a t o s q u es ee s t n p r o c e s a n d o . E s t ot i e n el ad e s v e n t a j ad eq u e e s a s t r a n s a c c i o n e s q u e d a r n i mp o s i b i l i t a d a s d et r a b a j a r c o n l o s d a t o s b l o q u e a d o s h a s t aq u el at r a n s a c c i n q u ei mp u s oe l b l o q u e ot e r mi n e . P e n s e mo s e n e l s i g u i e n t ee j e mp l o : u n ae mp r e s at i e n eq u ec o n s o l i d a r l o s d a t o s d el o s i n v e n t a r i o s d es u s s u c u r s a l e s , p a r al oc u a l t i e n eq u el e e r l o s v a l o r e s d e c a d as u c u r s a l y a c u mu l a r l o s . L aa p l i c a c i n q u eh a r l ac o n s o l i d a c i n c o mi e n z a u n at r a n s a c c i n y v al e y e n d oy s u ma n d ol o s d a t o s d ec a d as u c u r s a l ; n o mo d i f i c an a d a , p o r l oq u en os e r a n n e c e s a r i o s l o s b l o q u e o s t e r mi n ad e s u ma r t o d o , a l ma c e n aomu e s t r ae l r e s u l t a d oy t e r mi n al at r a n s a c c i n . T o d o s c o n t e n t o s . A h o r ap e n s e mo s q u p a s a r as i e n e l me d i od e l c l c u l ou n as u c u r s a l t r a n s f i e r e p r o d u c t o s ao t r a , os i mp l e me n t el o s v e n d e . C l a r oq u el ao p e r a c i n d e b eq u e d a r r e g i s t r a d ae n l ab a s ed ed a t o s , p o r l oq u e c a mb i a n l o s d a t o s q u es ee s t n s u ma n d o s i n ot o ma mo s me d i d a s , p o d e mo s l l e g a r as u ma r v a r i a s v e c e s l o s mi s mo s p r o d u c t o s , oad e j a r a l g u n o a f u e r a . E s t a s s i t u a c i o n e s s ec o n t r o l a n me d i a n t el o s d i s t i n t o s n i v e l e s d ea i s l a mi e n t od e l a s t r a n s a c c i o n e s , q u ei n d i c a n l oq u eu n at r a n s a c c i n v e r d el o s c a mb i o s q u e p r o d u c eo t r at r a n s a c c i n q u es ea c t i v aa l mi s mot i e mp o . P a r aq u el o s d a t o s d e l at r a n s a c c i n q u ea c u mu l as e a n f i d e d i g n o s , s ed e b eu s a r e l n i v e l d e a i s l a mi e n t om s a l t op o s i b l e : e s t at r a n s a c c i n n od e b e r av e r l o s c a mb i o s h e c h o s p o r l a s d e m s e n t o d oe l t i e mp oq u ed u r e . E s t en i v e l s ed e n o mi n a g e n e r a l me n t ed el e c t u r a s r e p e t i b l e s . P a r al o g r a r e s t en i v e l d ea i s l a mi e n t os e r an e c e s a r i ob l o q u e a r l o s c a mb i o s a t o d o s l o s r e g i s t r o s ac o n s i d e r a r , oh a c e r u n ac o p i a( u n an u e v ag e n e r a c i n d e d a t o s ) d el o s r e g i s t r o s u s a d o s p a r al aa c u mu l a c i n , q u ee n t o n c e s p o d r a n s e r l e d o s c u a n t a s v e c e s f u e r an e c e s a r i o . L ama y o r ad el o s g e s t o r e s d eb a s e s d e d a t o s u t i l i z a n e l p r i me r me c a n i s mo ; F i r e b i r du s ae l s e g u n d o .
L a s t r a n s a c c i o n e s e x i s t e n t e s e n u n d e t e r mi n a d omo me n t oe n l ab a s ed ed a t o s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z L a s t r a n s a c c i o n e s e x i s t e n t e s e n u n d e t e r mi n a d omo me n t oe n l ab a s ed ed a t o s
E j e mp l o . S u p o n g a mo s q u et e n e mo s l as i g u i e n t es e c u e n c i at e mp o r a l :
2 1 / 0 4 / 1 3
a c t i v e ) p o r l oq u et a mb i n s ei g n o r a .
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L av e r s i n 1 0 3c o r r e s p o n d eau n at r a n s a c c i n c a n c e l a d a , p o r l oq u et a mb i n s ei g n o r a . F i n a l me n t e , l av e r s i n 1 0 0e s c o r r e c t ay e s l aq u es er e c u p e r a .
[ E R C 1 ] [ E R C 2 ]
O p e r a c i o n e s c o n m l t i p l e s t a b l a s
T r a n s a c c i o n e s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z o p e r a c i o n e s q u es ed e b e n r e a l i z a r oc a n c e l a r j u n t a s : t o d a s l a s o p e r a c i o n e s
q u e d a n e n s u s p e n s o h a s t aq u es et e r mi n al at r a n s a c c i n . N os ep o d r n v e r d e s d en i n g u n ao t r at r a n s a c c i n , l oc u a l e s u n ad el a s ma y o r e s s o r p r e s a s c u a n d ou n oe mp i e z aat r a b a j a r d ee s t ama n e r a( s i n ot e n e mo s e s t oe n c u e n t a , l o s c a mb i o s r e a l i z a d o s e n u n ae s t a c i n n os ev e r n d e s d eo t r ah a s t aq u es e c i e r r ey s ev u e l v aaa b r i r l aa p l i c a c i n ) . L a s t r a n s a c c i o n e s d e b e n t e n e r l o s s i g u i e n t e s a t r i b u t o s , r e c o n o c i d o s g e n e r a l me n t ee l a c r n i moA C I D , p o r s u s i n i c i a l e s e n i n g l s : Ap o r A t o mi c i t y ( A t o mi c i d a d ) . L a s o p e r a c i o n e s i n c l u i d a s e n u n a t r a n s a c c i n s ema n e j a n c o mou n t o d oi n d i v i s i b l e . T o d a s l a s o p e r a c i o n e s s e a c e p t a n j u n t a s , on i n g u n a . Cp o r C o n s i s t e n c y ( C o n s i s t e n c i a ) . L a s t r a n s a c c i o n e s s i e mp r e l l e v a n l ab a s ed ed a t o s d e s d eu n e s t a d oc o n s i s t e n t eao t r o ; n op u e d e n q u e d a r d a t o s i n c o n s i s t e n t e s , p o r e j e mp l od o s r e g i s t r o s e n l ami s mat a b l ac o n e l mi s mov a l o r e n l ac l a v ep r i ma r i a . S i p u e d e n d a r s ei n c o n s i s t e n c i a s d u r a n t ee l d e s a r r o l l od eu n at r a n s a c c i n ; p e r ol a s d e m s t r a n s a c c i o n e s s i mu l t n e a s q u e e x i s t a n n ov e r n e s t ee s t a d o , y t o d a s l a s i n c o n s i s t e n c i a s d e b e r n r e s o l v e r s ea l mo me n t od et e r mi n a r l at r a n s a c c i n . I p o r I s o l a t i o n ( a I s l a mi e n t o ) . C a d at r a n s a c c i n s ee j e c u t ac o mos i e s t u v i e r as o l ae n l ab a s ed ed a t o s ; l o s c a mb i o s p r o d u c i d o s p o r o t r a s t r a n s a c c i o n e s c o n c u r r e n t e s n od e b e n v e r s ed e s d el a s d e m s . Dp o r D u r a b i l i t y ( D u r a b i l i d a dop e r s i s t e n c i a ) . U n av e z q u eu n a t r a n s a c c i n s ea c e p t a , s u s c a mb i o s q u e d a n f i j o s e n l ab a s ed ed a t o s a n e n c a s od eu n af a l l ad e l s i s t e maoc a d ad el ac o n e x i n . C o mou n c o r o l a r i o , t a mb i n s ea s e g u r aq u el o s c a mb i o s n os ema n t e n d r n e n c a s od eu n ac a d a p r e ma t u r ad e l s i s t e ma , a n t e s q u el at r a n s a c c i n s e aa c e p t a d ac o n C o mmi t .
L ai mp l e me n t a c i n d et r a n s a c c i o n e s d eF i r e b i r dc u mp l ec o n t o d a s e s t a s p r o p i e d a d e s .
L o s d a t o s s ep i e r d e n a l c e r r a r l aa p l i c a c i n S ea c e p t a r o n l o s c a mb i o s e n l aa p l i c a c i n , p e r on os eh aa c e p t a d ol a t r a n s a c c i n . L o s d a t o s e s t n e n s u s p e n s o e n l aB a s ed eD a t o s h a s t aq u es e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z t r a n s a c c i n . L o s d a t o s e s t n e n s u s p e n s o e n l aB a s ed eD a t o s h a s t aq u es e
e j e c u t eC o mmi t , d et a l ma n e r aq u es i n u e s t r aa p l i c a c i n n ol oh a c ey c i e r r al a c o n e x i n , e l s e r v i d o r a s u mi r q u es ep r o d u j oa l g n p r o b l e may h a r u n R o l l b a c k a u t o m t i c o ; t o d a s l a s mo d i f i c a c i o n e s r e a l i z a d a s e n e s a t r a n s a c c i n s ep e r d e r n . .
P r o b l e ma s d eb l o q u e o s e n r e g i s t r o s q u ey as emo d i f i c a r o n C u a n d os et r a b a j ac o n m l t i p l e s u s u a r i o s al av e z e s i mp o r t a n t ema n t e n e r l a s t r a n s a c c i o n e s d ec o r t ad u r a c i n . P o r q u ?P o r q u ec o moh e mo s v i s t o , l o s o t r o s u s u a r i o s n ov e r n n u e s t r o s c a mb i o s h a s t aq u ec e r r e mo s n u e s t r a t r a n s a c c i n ; p e r oa d e m s , l o s r e g i s t r o s mo d i f i c a d o s s o n b l o q u e a d o s p a r al a e d i c i n d e s d eo t r a s t e r mi n a l e s b l o q u e oq u es ema n t i e n emi e n t r a s d u r al a t r a n s a c c i n . I ma g i n e mo s q u ed e s d eu n p u e s t od ev e n t as ec o mi e n z au n a f a c t u r a , s ea c t u a l i z ae l s t o c k , y a n t e s d et e r mi n a r l at r a n s a c c i n e l e mp l e a d os e d e t i e n eat o ma r u n c a f n os ep o d r n v e n d e r l o s mi s mo s p r o d u c t o s d e s d e o t r a s t e r mi n a l e s h a s t aq u ev u e l v ay t e r mi n ec o n s u t r a n s a c c i n ! T a mb i n h a y u n p r o b l e mac o n e l r e c o l e c t o r d eb a s u r a d eF i r e b i r d , p e r oe s e p r o b l e mae s me n o s u r g e n t eq u el o s a n t e r i o r e s ( s en o t ad e s p u s d eu n t i e mp o ) . E n b r e v e , e l s i s t e mar e c o l e c t o r d eb a s u r ad eF i r e b i r ds ea c t i v a d e s p u s d eNt r a n s a c c i o n e s ( u n p a r me t r od ec o n f i g u r a c i n d e l s e r v i d o r ) y s e e n c a r g ad ee l i mi n a r l o s o b j e t o s a u x i l i a r e s q u ec r e ae l s e r v i d o r mi e n t r a s p r o c e s al o s d a t o s . S i d e j a mo s p a s a r mu c h ot i e mp os i n q u es ea c t i v ee s t e s i s t e ma , s ep u e d er a l e n t i z a r mu c h ol ao p e r a c i n d e l s e r v i d o r .
C o n c u r r e n c i a1 : n i v e l e s d ea i s l a mi e n t od et r a n s a c c i o n e s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z r e a l i z a r u n c a mb i oe n u n av e n t a n ay n ov e r l od e s d eo t r a ; i n c l u s or e e j e c u t a n d o
l ac o n s u l t a .
H a y u n n i v e l m s d ea i s l a mi e n t oq u ee s c o m n e n l o s s i s t e ma s d eb a s e s d e d a t o s l o c a l e s : e l l l a ma d od i r t y r e a dod e l e c t u r as u c i a . E n e s t en i v e l s ep u e d e n v e r l o s c a mb i o s d el a s d e m s t r a n s a c c i o n e s , i n me d i a t a me n t e . S ep u e d e n p r o d u c i r p r o b l e ma s p o r l e e r d a t o s q u en oh a n s i d ot o d a v aa c e p t a d o s ; s i e l u s u a r i oq u eh i z ol amo d i f i c a c i n f i n a l me n t er e c h a z al o s c a mb i o s , h e mo s l e d o d a t o s i n e x i s t e n t e s s ed e n o mi n a n c o m n me n t ef i l a s f a n t a s ma , p h a n t o mr o w s . E s t en i v e l n oc u mp l ec o n l a s p r o p i e d a d e s d ea i s l a mi e n t oy c o n s i s t e n c i a , p o r l o q u en os ep e r mi t ee n F i r e b i r d .
C o n c u r r e n c i a2 : mo d od eb l o q u e od eu n at r a n s a c c i n
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
E l p a r me t r oq u es ei n d i c ac mor e a c c i o n a r u n at r a n s a c c i n a l e n c o n t r a r s e u n r e g i s t r ob l o q u e a d os ed e n o mi n an i v e l d eb l o q u e o , y s ec o n f i g u r aa l mo me n t od ec o me n z a r l at r a n s a c c i n . F i r e b i r dt i e n el a s s i g u i e n t e s o p c i o n e s :
Mo d os i n e s p e r a( N OWA I T ) : s i h a y u n c o n f l i c t oc o n o t r a t r a n s a c c i n , e l p r o c e s or e c i b eu n me n s a j ed ee r r o r i n me d i a t a me n t e .
L o s d i s t i n t o s mo d o s d ea i s l a mi e n t oj u n t oc o n l o s n i v e l e s d eb l o q u e os e c o n f i g u r a n me d i a n t ep a r me t r o s e n l al l a ma d aal aA P I i n t e r n ad e l s e r v i d o r q u e c o mi e n z al at r a n s a c c i n . P o d e mo s v e r a l g u n o s e j e mp l o s e n l ac o n f i g u r a c i n d el o s n i v e l e s d ea i s l a mi e n t op r e c o n f i g u r a d o s e n l o s c o mp o n e n t e s I n t e r b a s e E x p r e s s ( I B X ) : S n a p s h o t : n os ev e n l o s c a mb i o s r e a l i z a d o s p o r l a s o t r a s t r a n s a c c i o n e s , p e r o s ep e r mi t ee l a c c e s od el a s mi s ma s al o s d a t o s q u ee s t a mo s mi r a n d oo mo d i f i c a n d o ; i g u a l me n t e , p o d e mo s v e r l o s d a t o s q u eo t r at r a n s a c c i n e s t t r a b a j a n d oa l mi s mot i e mp o , a u n q u ev e mo s l av e r s i n q u ee x i s t aa l mo me n t o d ei n i c i a r n u e s t r at r a n s a c c i n . P a r me t r o s p o r d e f e c t o : c o n c u r r e n c y , n o w a i t . I d e a l p a r ar e p o r t e s .
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
R e a d O n l y T a b l eS t a b i l i t y : e s t at r a n s a c c i n n op u e d ea c c e d e r ad a t o s q u e h a y a n s i d oc a mb i a d o s d e s d eq u ee mp e z , n i p e r mi t eao t r a s t r a n s a c c i o n e s q u ea c c e d a n al o s d a t o s q u e s t ah a y al e d o . P a r me t r o s p o r d e f e c t o : r e a d ( s l ol e c t u r a , e n e s t emo d on os ep u e d e n mo d i f i c a r l o s d a t o s ) , c o n s i s t e n c y ( g a r a n t i z aq u el o s d a t o s v i s t o s p o r e s t at r a n s a c c i n n o c a mb i e n , b l o q u e a n d ol o s r e g i s t r o s p a r ae s c r i t u r a ) .
R e a d Wr i t eT a b l eS t a b i l i t y : i g u a l q u el aa n t e r i o r , p e r oa h o r al at r a n s a c c i n b l o q u e al o s r e g i s t r o s t a n t op a r al e c t u r ac o mop a r ae s c r i t u r a . P a r me t r o s p o r d e f e c t o : w r i t e , c o n s i s t e n c y .
L o s mo d o s m s u s a d o s s o n e l S n a p s h o t y e l R e a d C o mmi t t e d , y aq u ep e r mi t e n e l a c c e s oc o n c u r r e n t eal o s mi s mo s d a t o s ( s i n b l o q u e o s i n n e c e s a r i o s ) .
P o r e j e mp l os u p o n g a mo s u n at a b l aMa s c o t a s c o n l o s s i g u i e n t e s d a t o s :
Ma s c o t a s | N o mb r e| C a t e g o r i a| R a z a| E d a d| I d| L u l | P e r r o| C a n i c h e| 5| 8 9| T o m| G a t o| A n g o r a| 3| 9 0 8| P i n k y | R a t n | E s t u p i d i s mo u s i i s | 6| 3 4 6|
Aa c t u a l i z al av i s t ad el o s d a t o s c e r r a n d oy a b r i e n d ol at a b l a p e r t i n e n t e , p e r os i n s a l i r d es u t r a n s a c c i n . A : l omi s mo( n ov el o s c a mb i o s )
Amo d i f i c al ae d a dd eL u l , q u en oe s 5s i n o4 . H a c eC o mmi t y
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
v u e l v eaa b r i r l at a b l a .
Av ea h o r ae l c a mb i oa n t e r i o r d eB . Bt o d a v an ov ee l c a mb i od eA .
Bc i e r r ay a b r el at a b l a . A h o r aBp u e d ev e r l o s c a mb i o s d eA
Be mi t el ai n s t r u c c i n S e l e c t * f r o m Ma s c o t a s w h e r eE d a d = 4 Bo b t i e n el o s d a t o s d eL u l y T o m.
Ma n t e n e r e l c o n t e x t o U n ac a r a c t e r s t i c aq u eav e c e s e s mo l e s t a : c u a n d oc e r r a mo s u n at r a n s a c c i n y as e ac o n C o mmi t oc o n R o l l b a c k , s ec i e r r a n t o d o s l o s c o n t r o l e s d ed a t o s a s o c i a d o s al ami s ma . F i r e b i r dl i b e r al o s r e c u r s o s d el at r a n s a c c i n , p o r l oq u e l o s c o mp o n e n t e s d ed a t o s s ed e s c o n e c t a n . H a y q u ev o l v e r aa b r i r u n op o r u n o t o d o s l o s c o mp o n e n t e s d ea c c e s oad a t o s q u et r a b a j e n c o n e s at r a n s a c c i n . P a r ae v i t a r e l t e n e r q u ea b r i r n u e v a me n t et o d o , p o d e mo s i n d i c a r aI n t e r b a s e q u et e r mi n el at r a n s a c c i n p e r oq u ema n t e n g al o s r e c u r s o s i n t e r n o s e l c o n t e x t od el at r a n s a c c i n . D ee s t ama n e r ama n t e n e mo s l o s c o mp o n e n t e s c o n e c t a d o s a u n q u ea c e p t a mo s oc a n c e l a mo s l at r a n s a c c i n . L a s o p e r a c i o n e s s ed e n o mi n a nC o mmi t R e t a i n i n gy R o l l b a c k R e t a i n i n g . H a y u n p r o b l e mac o n e s t ama n e r ad ep r o c e d e r : mi e n t r a s n oc e r r e mo s t o t a l me n t el at r a n s a c c i n , s ee v i t aq u ee l R e c o l e c t o r d eB a s u r ad eI n t e r b a s e t r a b a j e . E l a c c i o n a r d e l s e r v i d o r s ev u e l v em s l e n t op o r l ap r o l i f e r a c i n d e
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
I n t e g r i d a dr e f e r e n c i a l
L a s c o mp r o b a c i o n e s q u ei mp i d a n e s t o s p r o b l e ma s y ma n t e n g a n l ai n t e g r i d a d r e f e r e n c i a l s ep u e d e n l l e v a r ac a b oe n e l c l i e n t eoe n e l s e r v i d o r ; h a b l a r e mo s a h o r ad ee s t a l t i mao p c i n . F i r e b i r di mp l e me n t al ar e s t r i c c i n d e n o mi n a d ac l a v ee x t e r n ae n f o r ma d e c l a r a t i v a : s ec r e al ar e s t r i c c i n c o mou n ap r o p i e d a dm s d eu n at a b l a , y e l s e r v i d o r s ee n c a r g a r d eh a c e r l ac u mp l i r c u a n d os e an e c e s a r i o . E n c o n t r a s t e , p o d e mo s h a c e r u n c o n t r o l a c t i v oe s c r i b i e n d ot r i g g e r s q u ec o n t r o l e n e x p l c i t a me n t el a s r e f e r e n c i a s . L a s r e s t r i c c i o n e s d ec l a v ee x t e r n a( f o r e i g n k e y ) s ed e c l a r a n e n l a t a b l ad e t a l l ed el ar e l a c i n , e n l at a b l aq u er e f e r e n c i aal ama e s t r a . E n n u e s t r o e j e mp l o , l at a b l ad ef a c t u r a s s e r al ama e s t r a , y l ad ed e t a l l e s P a r ad e c l a r a r u n ar e s t r i c c i n d ec l a v ee x t e r n an e c e s i t a mo s l os i g u i e n t e : U n c a mp ooc o n j u n t od ec a mp o s d e l mi s mot i p oe n l a s d o s t a b l a s . L o s v a l o r e s d ee s t o s c a mp o s e n l at a b l ad e t a l l er e f e r e n c i a r n l o s v a l o r e s d el o s c a mp o s c o r r e s p o n d i e n t e s e n l at a b l ama e s t r a( e l n r o . d ef a c t u r ad e l d e t a l l e , e n n u e s t r oe j e mp l o ) U n ar e s t r i c c i n d eu n i c i d a ds o b r el o s c a mp o s d el ar e l a c i n e n l a t a b l ama e s t r a . P u e d es e r u n ac l a v ep r i ma r i aou n ar e s t r i c c i n U N I Q U E ;
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L a s m s u s a d a s s o n l a s d o s p r i me r a s . F i r e b i r di n c l u s on o s p e r mi t ei n d i c a r u n a a c c i n p a r au n c a s oy o t r ap a r ae l r e s t a n t e , p o r e j e mp l ou n ac o mb i n a c i n mu y u s a d ae s N o A c t i o n e n b o r r a d o s , C a s c a d ee n mo d i f i c a c i o n e s . E l s e r v i d o r e n t o n c e s ma n t e n d r l a s r e f e r e n c i a s a u n q u ec a mb i e mo s e l c a mp oe n l at a b l a d ed e t a l l e , mi e n t r a s q u ei mp e d i r q u ee l i mi n e mo s r e g i s t r o s d ed e t a l l eq u e e s t n s i e n d or e f e r e n c i a d o s .
E n l ap r c t i c a , l a s r e s t r i c c i o n e s d ei n t e g r i d a dr e f e r e n c i a l s ea p l i c a n g e n e r a l me n t ec u a n d os ev aap o n e r e n p r o d u c c i n e l s i s t e ma , n oa n t e s . P o r q u ?P u e s p o r q u ee l s e r v i d o r n on o s d e j a r mo d i f i c a r l ae s t r u c t u r ad eu n at a b l a q u ef o r mep a r t ed eu n ar e s t r i c c i n d ei n t e g r i d a dr e f e r e n c i a l , y e s mu y c o m n q u el ae s t r u c t u r av a r ee n e l p e r o d od ed i s e oy p r o g r a ma c i n d e l s i s t e ma . A s , s ec r e a n t o d a s l a s t a b l a s y d e m s o b j e t o s , s et r a b a j ac o n e s t ab a s ed ed a t o s , y f i n a l me n t es ea g r e g a n l a s r e s t r i c c i o n e s p a r aq u en oh a y as o r p r e s a s . E s mu y f c i l g e n e r a r u n a r c h i v os c r i p t c o n l a s i n s t r u c c i o n e s S Q Ln e c e s a r i a s p a r a d e c l a r a r l a s r e s t r i c c i o n e s ap o s t e r i o r i d el ac r e a c i n d el a s t a b l a s . N oo b s t a n t e , h a y q u et e n e r e n c u e n t aq u el a s r e s t r i c c i o n e s s ec o mp r u e b a n e n e l mo me n t o d es u d e c l a r a c i n e s t oe s , s i t e n e mo s d a t o s q u en oc u mp l a n c o n l a s r e s t r i c c i o n e s n os ep o d r n c r e a r e s t a s l t i ma s . w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z r e s t r i c c i o n e s n os ep o d r n c r e a r e s t a s l t i ma s .
I n s t a l a c i n y p u e s t ae n ma r c h a
L ai n s t a l a c i n y p u e s t ae n ma r c h ad eF i r e b i r de s mu y s i mp l e . S ei n c l u y eu n p r o g r a mai n s t a l a d o r a l e s t i l oe x p e r t oq u en o s g u i a r p a s oap a s oe n l a i n s t a l a c i n ; s l ot e n d r e mo s q u es e l e c c i o n a r q u p a r t e s i n s t a l a r y a d n d e . Ac o n t i n u a c i n v e r e mo s e l p r o c e s oc o mp l e t od e s d el ad e s c a r g ad el o s a r c h i v o s d eI n t e r n e t , l ai n s t a l a c i n p a s op o r p a s oy d a r e mo s u n p r i me r s a l u d oa l a s h e r r a mi e n t a s q u es ei n c l u y e n c o n e l p a q u e t e .
D e s c a r g ad e s d eI n t e r n e t
V e r s i n | U R Lp a r ad e s c a r g a| I n t e r b a s e6 . 0 . 2| h t t p : / / me r s . c o m| w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 8 / 1 4 7
2 1 / 0 4 / 1 3
I n t e r b a s e6 . 0 . 2| h t t p : / / me r s . c o m|
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F i r e b i r d1 . 0 . 3| h t t p : / / w w w . f i r e b i r d s q l . o r g| F i r e b i r d1 . 5 . 1| h t t p : / / w w w . f i r e b i r d s q l . o r g|
L ai n s t a l a c i n e s mu y s e n c i l l a c u a n d ot o d of u n c i o n a: P . e n Wi n d o w s , c o r r e mo s e l a r c h i v oe j e c u t a b l e ; e n L i n u x , i n s t a l a mo s e l p a q u e t er p m ob i e n e j e c u t a mo s e l s c r i p t s i d e s c a r g a mo s l av e r s i o n n oc o mp i l a d a . L a s o p c i o n e s s o n m n i ma s y s er e d u c e n as e l e c c i o n a r l o s c o mp o n e n t e s ai n s t a l a r . C u a n d o h a y a l g u n p r o b l e ma , b u e n o h a b r q u ee mp e z a r ap r e g u n t a r . E l me j o r l u g a r p a r ae n c o n t r a r r e s p u e s t a s e s e l f o r od es o p o r t ef i r e b i r d s u p p o r t e n y a h o o g r o u p s . c o m.
P r o b a r l ai n s t a l a c i n
I S Q L
* E s c r i b a C o n n e c t " l o c a l h o s t : c : \ a r c h i v o s d ep r o g r a ma \ f i r e b i r d \ e x a mp l e s \ e mp l o y e e . g d b " u s e r " s y s d b a " p a s s w o r d" ma s t e r k e y " ; p a r ac o n e c t a r c o n l ab a s ed ed a t o s d ee j e mp l o . N o t eq u ep u e d ec o r t a r l a s e n t e n c i ae n d o s om s l n e a s s i mp l e me n t ep r e s i o n a n d o< E n t e r > ; i s q l i n d i c a r q u eu n al n e ac o n t i n au n as e n t e n c i aa n t e r i o r c a mb i a n d oe l i n d i c a d o r ( p r o mp t ) p o r ' C O N > ' . L a s s e n t e n c i a s s et e r mi n a n c o n p u n t oy c o ma( ; ) .
* S i l ac o n e x i n s ep u e d ee s t a b l e c e r , i s q l r e s p o n d e r c o n u n me n s a j e i n d i c a n d oq u ee s t a h o r ac o n e c t a d oal ab a s ed ed a t o s . Ap a r t i r d ee s e mo me n t os ep u e d e n e j e c u t a r s e n t e n c i a s S Q Ls o b r ee s ab a s ed ed a t o s , ou s a r a l g u n o s c o ma n d o s e s p e c f i c o s d ei s q l c o moS h o wT a b l e s . E n l ap a r t e d eh e r r a mi e n t a s h a b l a r e mo s m s e n p r o f u n d i d a ds o b r el au t i l i d a di s q l .
H e r r a mi e n t a s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
H e r r a mi e n t a s
I B S e r v e r
I B G u a r d i a n
I S Q L
G b a k
I B C o n s o l e
A c c e d e r e mo s au n aB a s ed eD a t o s d ee j e mp l oq u es ei n c l u y ee n e l p a q u e t e ( s i n oi n s t a l l o s e j e mp l o s , h g a l oa h o r a ; l ab a s ed ed a t o s d ee mp l e a d o s u t i l i z a t c n i c a s q u ev a l el ap e n ae s t u d i a r ) . U s a r e mo s l ab a s ed ed a t o s l l a ma d a E mp l o y e e . g d bos u v e r s i n i n t e r n a c i o n a l ( q u ec o n t i e n ec a r a c t e r e s n o i n g l e s e s ) l l a ma d aI n t l e mp . g d b . C u a l q u i e r ad el a s d o s s i r v ep a r an u e s t r o s e j e mp l o s p o r q u el o n i c oq u ec a mb i ae s e l c o n t e n i d od el a s t a b l a s , n os u d e f i n i c i n .
P a r au s a r l ab a s ed ed a t o s , d e b e mo s r e g i s t r a r l ae n I B C o n s o l e . L o s p a s o s n e c e s a r i o s s o n l o s s i g u i e n t e s : r e g i s t r a r e l s e r v i d o r l o c a l c o n l ao p c i n c o r r e s p o n d i e n t ed e l me n S e r v e r
| | |
e n e l me n c o n t e x t u a l d e l r b o l d eo b j e t o s d el ai z q u i e r d as e l e c c i o n a mo s R e g i s t e r
e n e l c u a d r od ed i l o g oq u ea p a r e c eac o n t i n u a c i n , c o mp l e t a mo s l a i n f o r ma c i n d er e g i s t r od el ab a s ed ed a t o s y a c e p t a mo s . L an u e v aB a s ed e D a t o s d e b e r aa p a r e c e r e n e l r b o l d eo b j e t o s .
H a s t aa h o r al o n i c oq u eh e mo s h e c h oe s c r e a r u n a l i a s p a r al aB a s ed e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z H a s t aa h o r al o n i c oq u eh e mo s h e c h oe s c r e a r u n a l i a s p a r al aB a s ed e
E l s o l oh e c h od el o g r a r l ac o n e x i n y ai n d i c aq u ee l s e r v i d o r e s t f u n c i o n a n d o c o r r e c t a me n t e . T o d a v as ep u e d e n p r e s e n t a r p r o b l e ma s e n e l a c c e s oat r a v s d el ar e d , p e r on o s o c u p a r e mo s d ee s oas u d e b i d ot i e mp o .
E j e c u t a r s e n t e n c i a s S Q Le n I B C o n s o l e
P a r ae j e c u t a r c u a l q u i e r s e n t e n c i aS Q Lu t i l i z a mo s l ah e r r a mi e n t ac o n o c i d a c o moI n t e r a c t i v eS Q L . E n I B C o n s o l ee s t i n t e g r a d aa l p r o d u c t o , y s ea c c e d e d e s d ee l me n T o o l s oe l b o t n . L av e n t a n at i e n ee l s i g u i e n t ea s p e c t o :
L a s s e n t e n c i a s S Q Ls ee s c r i b e n e n e l e d i t o r s u p e r i o r , s ee j e c u t a n c o n C T R L + Eoe l b o t n , y e l r e s u l t a d os eo b t i e n ei n me d i a t a me n t ee n l ap a r t e i n f e r i o r ( d a t o s , p l a n d ee j e c u c i n y e s t a d s t i c a s d ee j e c u c i n ) . P o r e j e mp l o , l as i g u i e n t ei ma g e n mu e s t r ae l r e s u l t a d od ep e d i r e l c o n t e n i d od e l at a b l ae mp l o y e e : | | |
I B O C o n s o l e
E s t ah e r r a mi e n t ae s c o mou n c l o n d eI B C o n s o l e , p e r oc o n s t r u i d ac o n l o s c o mp o n e n t e s I BO b j e c t s . E s g r a t u i t ay s ep u e d ed e s c a r g a r d e< < < V e r e l e n l a c er e a l e n I B P h o e n i x > > > , y e n g e n e r a l e s m s e s t a b l eq u el a s v e r s i o n e s d e I B C o n s o l eq u eh ep r o b a d o . S ema n e j ad el ami s mama n e r a , l ai n t e r f a z e s p r c t i c a me n t ei g u a l , y p o d e mo s e s p e r a r q u es e a t i l c o n l a s n u e v a s v e r s i o n e s d eF i r e b i r d , y aq u el o s c o mp o n e n t e s I B Os o p o r t a n t o d a s l a s c a r a c t e r s t i c a s d e e s t o s s e r v i d o r e s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
I B _ S Q L
S Q L
E l l e n g u a j ed ec o n s u l t a
T a l v e z e l p r o b l e mama y o r q u es ep r e s e n t aal o s p r o g r a ma d o r e s v i e j o s , l o s q u eu s a b a n s i s t e ma s d ed a t o s o r i e n t a d o s aa r c h i v o s c o moC l i p p e r , D b a s eo C o b o l , s e ae l d ec a mb i a r l af o r mad ea c c e d e r al o s d a t o s . L oq u ea n t e s r e q u e r ar e c o r r e r t o d au n at a b l ab u s c a n d oc o i n c i d e n c i a s oa r ma r t a b l a s t e mp o r a l e s c o n d a t o s d ed i s t i n t a s t a b l a s r e l a c i o n a d a s , a h o r as eh a c ec o n u n a s o l as e n t e n c i ad eu n l e n g u a j ee s p e c i a l d i s e a d op a r ae s o : e l L e n g u a j e E s t r u c t u r a d od eC o n s u l t aoS Q L . U n ad el a s c a r a c t e r s t i c a s q u ed i s t i n g u e n ae s t el e n g u a j ee s s u o r i e n t a c i n ac o n j u n t o s d ed a t o s . A s p o r e j e mp l o , e n S Q Ln op e d i mo s r e c o r r et o d o s l o s r e g i s t r o s y c u a n d oe n c u e n t r e s u n oc u y oc a mp oN o mb r ec o mi e n c ec o n A , mel o mu e s t r a s ; e n s u l u g a r , p e d i mo s u n at a b l at e mp o r a l f o r ma d ap o r t o d o s l o s r e g i s t r o s q u ec u mp l a n l ac o n d i c i o n : e l c a mp oN o mb r ee mp i e z ac o n A . L l e v a u n t i e mp oa c o s t u mb r a r s eap e n s a r e n c o n j u n t o s d ed a t o s , p e r os el o g r a . T r a t a r e mo s a q u d ed a r l ama y o r c a n t i d a dp o s i b l ed ee j e mp l o s y e j e r c i c i o s p a r aq u ee s t af o r mad ep e n s a r s eh a g ac a s i n a t u r a l . S Q Ls o n l a s i n i c i a l e s d e S t r u c t u r e dQ u e r y L a n g u a g e oL e n g u a j eE s t r u c t u r a d o d eC o n s u l t a . E s u n l e n g u a j en op r o c e d u r a l i n v e n t a d oe n I B M ap r i n c i p i o s d el o s a o s 7 0 , p a r ai mp l e me n t a r e l mo d e l or e l a c i o n a l d eC o d d . I n i c i a l me n t es el e l l a mS E Q U E L( S t r u c t u r e dE n g l i s h Q u e r y L a n g u a g e ) , l u e g op a s as e r S E Q U E L / 2y f i n a l me n t eS Q L( e s p e r e mo s q u en os i g al at e n d e n c i ay e n u n o s a o s s et e r mi n el l a ma n d oS ) . H o y e n d ae s e l l e n g u a j ed ec o n s u l t am s u t i l i z a d op o r l o s g e s t o r e s d eB a s e s d eD a t o s d et o d o s l o s t a ma o s , d e s d e D b a s eoP a r a d o x p a s a n d op o r O r a c l e , I n f o r mi x oS Q LS e r v e r , h a s t al o s g e s t o r e s d ed a t o s u t i l i z a d o s e n s u p e r c o mp u t a d o r a s . H a y d e f i n i d o s t r e s e s t n d a r e s o f i c i a l e s p o r e l I n s t i t u t oN a c i o n a l d eE s t n d a r e s A me r i c a n o( A me r i c a n N a t i o n a l S t a n d a r d s I n s t i t u t e , A N S I ) : S Q L 8 6 , S Q L 8 9y S Q L 9 2 . L ama y o r ad el o s g e s t o r e s d ec o n s u l t a s i mp l e me n t a n as u ma n e r a l a s r e c o me n d a c i o n e s d e l e s t n d a r . E s t u d i a r e mo s l o s c o ma n d o s m s c o mu n e s , q u es ea p l i c a n al o s mo t o r e s d ec o n s u l t am s u t i l i z a d o s , y c u a n d os e a p e r t i n e n t ec o me n t a r e mo s d i f e r e n c i a s e n d i s t i n t o s s e r v i d o r e s . Ac o n t i n u a c i n v e r e mo s e n d e t a l l ee l l e n g u a j eS Q Lq u ei mp l e me n t aF i r e b i r d . L o s e j e mp l o s u t i l i z a n l ab a s ed ed a t o s d ee j e mp l oq u ev i e n ec o n e l s e r v i d o r , l l a ma d aE MP L O Y E E . G D B , y s ee j e c u t a n e n I B C o n s o l eoI B O C o n s o l e .
C u r s o r e s v s c o n j u n t o s
L o s g e s t o r e s d ed a t o s t i p oD b a s eoP a r a d o x t r a b a j a b a n c o n e l c o n c e p t o d ec u r s o r ; e l l e n g u a j eS Q Lt r a b a j ac o n c o n j u n t o s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
Mo d i f i c a c i n d eu n s u b c o n j u n t od er e g i s t r o s q u ec u mp l e n u n c r i t e r i o S ee mi t eu n as e n t e n c i aU P D A T Eq u ei n c l u y el ao p e r a c i n ar e a l i z a r y e l c r i t e r i od es e l e c c i n , y e l s e r v i d o r mo d i f i c a r e l s u b c o n j u n t oq u ec u mp l ae l c r i t e r i os i n m s i n t e r v e n c i n n u e s t r a .
S e l e c c i n d er e g i s t r o s : S E L E C T
L as e n t e n c i ae s t r e l l ad eS Q Le s , s i n n i n g u n ad u d a , S E L E C T . E s t ai n s t r u c c i n p e r mi t eo b t e n e r d a t o s d eu n aov a r i a s t a b l a s , c o n u n p o d e r y f l e x i b i l i d a d i n c r e b l e s . S i S Q Ln ot u v i e r am s q u ee s t ai n s t r u c c i n , i g u a l me n t ev a l d r al a p e n aa p r e n d e r l o . L as i n t a x i s b s i c ad eS E L E C Te s c o mos i g u e [ 6 ] :
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S E L E C Tc o l u mn a s | * F R O Mt a b l a s [ WH E R Ec o n d i c i n ] [ O R D E RB Yc o l u mn a s ]
H a y mu c h a s v a r i a c i o n e s y a g r e g a d o s s o b r ee s t ee s q u e l e t ob s i c o , p e r ot o d o as u t i e mp o . E n p a l a b r a s , e s t ai n s t r u c c i n d e v o l v e r u n at a b l av i r t u a l c o mp u e s t ap o r l a s c o l u mn a s e s p e c i f i c a d a s ( e l a s t e r i s c o* s er e e mp l a z ap o r t o d a s l a s c o l u mn a s d et o d a s l a s t a b l a s ) , c o n l a s f i l a s d el a s t a b l a s d a d a s q u ec u mp l a n l ac o n d i c i n ( o p c i o n a l ) , y t o d oo r d e n a d op o r l a s c o l u mn a s i n d i c a d a s ( o p c i o n a l ) . P o r e j e mp l o , p a r ao b t e n e r l o s n o mb r e s d el o s e mp l e a d o s p o d e mo s e s c r i b i r :
S E L E C TF I R S T _ N A ME F R O ME MP L O Y E E
Yv e r e mo s e n l av e n t a n ad eI S Q L : | | |
L as e n t e n c i aS Q Ld e s a p a r e c ed e l e d i t o r , q u eq u e d al i s t op a r ae s c r i b i r o t r a ; p e r op u e d er e c u p e r a r s ec o n e l b o t nol ao p c i n d eme n Q u e r y | P r e v i o u s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
V a mo s ae x t e n d e r l at a b l ad er e s u l t a d o s p a r aq u emu e s t r eo t r a s c o l u mn a s : e l a p e l l i d o( l a s t _ n a me ) y e l p a s d et r a b a j o( j o b _ c o u n t r y ) . L as e n t e n c i aq u e d a c o mos i g u e
S E L E C TF I R S T _ N A ME , L A S T _ N A ME , J O B _ C O U N T R Y F R O ME MP L O Y E E
C moh a r ap a r aq u ea p a r e z c ap r i me r oe l a p e l l i d oy d e s p u s e l n o mb r e ? C u a n d oq u e r e mo s t o d a s l a s c o l u mn a s d el at a b l ae n e l r e s u l t a d o , e n e l mi s mo o r d e n q u ee s t n d e f i n i d a s , p o d e mo s u s a r e l c o mo d n * ( a s t e r i s c o ) :
S E L E C T* F R O ME MP L O Y E E
| | |
H e mo s u t i l i z a d oa q u e l o p e r a d o r d ec o n c a t e n a c i n | | ( d o s b a r r a s v e r t i c a l e s ) , q u ep e r mi t ej u n t a r c a d e n a s d ec a r a c t e r e s . E l r e s u l t a d oe s o t r ac a d e n a . N o t e mo s q u ep o d e mo s u s a r t a n t on o mb r e s d ec a mp o s c o moc a d e n a s c o n s t a n t e s , c o n c o mi l l a s s i mp l e s .
U n p r o b l e mac o m n c u a n d os eu t i l i z a n c o l u mn a s f o r ma d a s p o r e x p r e s i o n e s e s e l n o mb r ed ee s t a s c o l u mn a s . P o r e j e mp l o , l ac o l u mn ag e n e r a d ae n e l e j e mp l o a n t e r i o r s el l a ma F _ 1 . Q u i n p u s oe s t en o mb r e ?E l s e r v i d o r . E s p o s i b l e c a mb i a r l o ?S i , a s i g n a n d ou n a l i a s a l c a mp op o r me d i od el ap a r t c u l a a s :
S i e j e c u t a n e s t as e n t e n c i a , v e r n e l mi s mor e s u l t a d oq u ea n t e s p e r oa h o r al a c o l u mn as el l a ma E mp l e a d o , l oc u a l e s mu c h om s f c i l d er e c o r d a r .
A n t e s d ec o n t i n u a r s u me r g i n d o n o s e n l a s c o mp l e j i d a d e s d eS E L E C T , r e a l i c e l o s s i g u i e n t e s e j e r c i c i o s p a r aa f i r ma r l oa n t e r i o r .
E j e r c i c i o s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
1 ) O b t e n g al o s s i g u i e n t e s d a t o s ( y e n e s t eo r d e n ) d el o s e mp l e a d o s : N o mb r e , A p e l l i d o , N r o . d ee mp l e a d o , s a l a r i oy p a s d et r a b a j o . 2 ) A h o r amu e s t r et r e s c o l u mn a s l l a ma d a s A p e l l i d o , N o mb r e , S a l a r i o . E n l ap r i me r amu e s t r ee l a p e l l i d o , e n l as e g u n d ae l n o mb r e , y e n l at e r c e r al a i n f o r ma c i n s i g u i e n t e( l o s n g u l o s i n d i c a n q u ee s e l n o mb r ed eu n c a mp o ) : < J o b _ c o d e > , n i v e l < j o b _ g r a d e >( U $ S< s a l a r y > ) 3 ) D el at a b l ad ep r o y e c t o s : u n ac o l u mn al l a ma d a P r o y e c t o c o n e l s i g u i e n t e f o r ma t o ( < p r o j _ i d > ) < p r o j _ n a me > o t r ac o l u mn ac o n e l t i p od ep r o d u c t o( p r o d u c t ) , y u n at e r c e r ac o n e l N r o . d ee mp l e a d od e l l d e r d e l p r o y e c t o( t e a m_ l e a d e r )
O r d e n e n l as a l a E l o r d e n e n q u ee l s e r v i d o r d e v u e l v el o s d a t o s d e p e n d ed ev a r i o s f a c t o r e s ; e n g e n e r a l , n os ep u e d ea s u mi r u n o r d e n d e t e r mi n a d op o r l oq u eh a y q u ei n d i c a r l o e x p l c i t a me n t eu s a n d ol ac l u s u l aO R D E RB Y . L ac l u s u l aO R D E RB Ye s mu y s i mp l ed eu s a r : e s s e g u i d ap o r u n al i s t ad e c a mp o s ( q u ed e b e n f i g u r a r e n l al i s t ad ec o l u mn a s amo s t r a r ) p o r l o s q u es e o r d e n a r . P o r e j e mp l o , p a r ao b t e n e r d a t o s d el o s e mp l e a d o s o r d e n a d o s p o r p a s d e t r a b a j o , p o d e mo s h a c e r
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y
C o mop o d r n v e r , h a y mu c h o s e mp l e a d o s q u et r a b a j a n e n c a d ap a s , q u en o g u a r d a n e n t r es u n o r d e n p r e d e c i b l e . A s , s i t e n e mo s q u eb u s c a r u n e mp l e a d o p o r n o mb r ee n e l l i s t a d oa n t e r i o r s u p o n i e n d oq u es a b e mo s e n q u p a s t r a b a j a , t e n d r a mo s q u er e c o r r e r t o d o s l o s e mp l e a d o s d ee s ep a s h a s t a e n c o n t r a r e l q u eb u s c a mo s . P a r as i mp l i f i c a r l ab s q u e d a , p o d e mo s i n d i c a r a l s e r v i d o r q u eq u e r e mo s l o s r e s u l t a d o s o r d e n a d o s , s i , p o r p a s ; p e r om s t o d a v a , e l c o n j u n t od ee mp l e a d o s d ec a d ap a s l oq u e r e mo s o r d e n a d op o r a p e l l i d oy n o mb r e . P r u e b el as i g u i e n t e s e n t e n c i a :
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y , l a s t _ n a me , f i r s t _ n a me
Y as ec o mi e n z aan o t a r l ap o t e n c i ad e l l e n g u a j e . E s t ai n s t r u c c i n n o s d e v u e l v e u n at a b l ac o n t o d o s l o s e mp l e a d o s o r g a n i z a d o s p o r p a s , d e n t r od ec a d ap a s p o r a p e l l i d o , y s i h a y a p e l l i d o s r e p e t i d o s , s eo r d e n a n p o r n o mb r e . U n av a r i a c i n p o s i b l ee s e l s e n t i d od el ao r d e n a c i n : s i e s a s c e n d e n t eo d e s c e n d e n t e . P o r d e f e c t oF i r e b i r dd e v u e l v el o s d a t o s o r d e n a d o s e n f o r ma a s c e n d e n t e ; p a r ai n d i c a r l oc o n t r a r i oa g r e g a mo s l ap a r t c u l a d e s c d e s p u s d e l n o mb r ed e l c a mp od eo r d e n a c i n . P o r e j e mp l o ,
S E L E C T*
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y d e s c
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y d e s c , l a s t _ n a mea s c , f i r s t _ n a med e s c
S E L E C T* F R O Me mp l o y e e WH E R Ej o b _ c o u n t r y =' C a n a d a '
P o d e mo s o r d e n a r e l r e s u l t a d oa g r e g a n d oa l f i n a l l ac l u s u l ao r d e r b y :
S E L E C T* F R O Me mp l o y e e WH E R Ej o b _ c o u n t r y =' C a n a d a ' O R D E RB Yl a s t _ n a me , f i r s t _ n a me
E s t ai n s t r u c c i n n o s p e r mi t i r e n c o n t r a r r p i d a me n t eu n e mp l e a d od eC a n a d . P e r op o d e mo s t a mb i n u s a r l o s o p e r a d o r e s l g i c o s p a r aa f i n a r l ab s q u e d a ; p o r e j e mp l o , s i q u e r e mo s v e r l o s e mp l e a d o s d eC a n a d ad ec a t e g o r a4 , h a r a mo s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 7 / 1 4 7
2 1 / 0 4 / 1 3
h a r a mo s
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
N o t e mo s q u ee l 4 n oe s t r o d e a d od ec o mi l l a s ; e s u n n me r o , n ou n ac a d e n a . L o s p a r n t e s i s n os o n n e c e s a r i o s e n e s t ee j e mp l o , p e r op u e d e n s e r v i r p a r a a c l a r a r e l o r d e n d ee v a l u a c i n . E l o r d e n d ee v a l u a c i n p u e d ed e t e r mi n a r e l r e s u l t a d od eu n ae x p r e s i n : p o r e j e mp l o , n oe s l omi s moe v a l u a r 1 + 2 * 3d ei z q u i e r d aad e r e c h a( 1 + 2 = 3 , 3 * 3 = 9 ) q u ea s o c i a n d op o r p r e c e d e n c i ac o moh a c e mo s e n ma t e ma t i c a s : 1 + ( 2 * 3 ) =7 . L as i g u i e n t et a b l ai n d i c ae l o r d e n d ep r e c e d e n c i ad el o s o p e r a d o r e s e n F i r e b i r d . A l g n s e r v i d o r p u e d ed i f e r i r c o n e s t eo r d e n , p e r oe n g e n e r a l t o d o s l o c o n s i d e r a n d el ami s mama n e r a . L ap r e c e d e n c i av ad ema y o r ame n o r , l e d o s d ea r r i b ah a c i aa b a j o( p o r e j e mp l o , s ee v a l ap r i me r ou n ac o n c a t e n a c i n q u e u n amu l t i p l i c a c i n ; p e r oe s t a l t i mas ee v a l aa n t e s q u eu n as u ma ) .
T i p o| O p e r a d o r | C o me n t a r i o| C a d e n a s | | | | C o n c a t e n a c i n | Ma t e m t i c o s | * / + | Mu l t i p l i c a c i n D i v i s i n S u ma R e s t a| C o mp a r a c i n | = , = = < > , [ E R C 9 ] ! = , ~ = , ^ = > < > = < = ! > , ~ > , ^ > ! < , ~ < , ^ <| I g u a l d a d D e s i g u a l d a d Ma y o r Me n o r Ma y o r oi g u a l Me n o r oi g u a l N oma y o r N o me n o r | L g i c o s | N O T A N D O R| N e g a c i n C o n j u n c i n ( Y ) D i s j u n c i n ( O ) |
E s mu y i mp o r t a n t ec o n o c e r e l o r d e n d ep r e c e d e n c i ad el o s o p e r a d o r e s , p a r a n oc o me t e r e r r o r e s q u ep u e d e n s e r mu y d i f c i l e s d ed e t e c t a r . P o r e j e mp l o , s i e l r e s u l t a d od eu n ac o n s u l t at i e n e1 0 0 0r e g i s t r o s u s a n d oe l c r i t e r i o WH E R En > 1 + 2 * 3 y 1 0 1 0r e g i s t r o s u s a n d oe l c r i t e r i o WH E R En >( 1 + 2 ) * 3 , c u l e s e l c o r r e c t o ?N os e r af c i l d e c i d i r l o . Ys i d e c i d e n ma l , y l ee n t r e g a n a l j e f el al i s t a d el o s e mp l e a d o s q u ec u mp l e n l ac o n d i c i n e r r n e a , y s t o s s o n d e s p e d i d o s b u e n o , n od i g a n q u en ol e s a v i s .
E j e r c i c i o s 1 ) R e a l i z a r u n ac o n s u l t aq u ed e v u e l v al o s n o mb r e s y a p e l l i d o s d el o s e mp l e a d o s q u ec o b r a n m s d eU $ S1 0 0 . 0 0 0( a f o r t u n a d o s e l l o s ) . 2 ) R e a l i z a r u n ac o n s u l t aq u ed e v u e l v au n at a b l ac o mol as i g u i e n t e , c o n l o s d a t o s o r d e n a d o s p o r P a s , c a t e g o r a , a p e l l i d oy n o mb r e : E mp l e a d o| P a s | C a t e g o r a| S a l a r i o| < f i r s t _ n a me > < e s p a c i o > < l a s t _ n a me >| < j o b _ c o u n t r y >| < j o b _ g r a d e >| < s a l a r y >|
3 ) A g r e g a r al at a b l aa n t e r i o r u n ac o l u mn ac o n e l c d i g od et r a b a j o ( j o b _ c o d e ) e n t r el a s d eC a t e g o r ay S a l a r i o . L l a ma r al ac o l u mn a C o d i g o _ t r a b a j o . 4 ) L i s t a r a q u e l l o s e mp l e a d o s q u eh a y a n s i d oc o n t r a t a d o s e n 1 9 9 0 ( h i r e _ d a t e )
E l l t i moe j e r c i c i op o n ee l d e d oe n u n al l a g a : e l ma n e j od ef e c h a s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 2 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F e c h a s / H o r a s e n S Q L N u e v a me n t e , c a d as e r v i d o r t i e n es u s c o n v e n c i o n e s c o n r e s p e c t oa l f o r ma t od e l a s f e c h a s . E n F i r e b i r dt e n e mo s v a r i o s t i p o s d ec a mp o s p a r aa l ma c e n a r f e c h a s y h o r a s :
D i a l e c t o1 D A T E : a l ma c e n af e c h ay h o r a , c o mod o s n me r o s e n t e r o s d e3 2b i t s . E q u i v a l e n t ea l t i p ot i me s t a mpd e l d i a l e c t o3
E n t o n c e s , c mop o d e mo s u s a r f e c h a s e n c r i t e r i o s d es e l e c c i n ? C i e r t a me n t e , n oc a l c u l a n d ol ac a n t i d a dd ed a s p a s a d o s d e s d ee l d ac e r o , 1 7 d eN o v i e mb r ed e1 8 5 8 . F i r e b i r dp u e d ec o n v e r t i r u n t i p od ed a t oe n o t r o , y p a r t i c u l a r me n t ec o n l a s f e c h a s h a c el ac o n v e r s i n a u t o m t i c a me n t es i e l f o r ma t od e l t e x t oc o n l af e c h ac o i n c i d ec o n a l g u n od el o s r e c o n o c i d o s : C C Y Y MMD D MMD D C C Y YMMD D Y Y MMMD D C C Y YMMMD D Y Y D D MMMC C Y YD D MMMY Y C C Y Y MMD DH H : Mi n : S S : n n n n MMD D C C Y YH H : Mi n : S S : n n n n MMD D Y YH H : Mi n : S S : n n n n MMMD D C C Y YH H : Mi n : S S : n n n n MMMD D Y YH H : Mi n : S S : n n n n D D MMMC C Y YH H : Mi n : S S : n n n n D D MMMY YH H : Mi n : S S : n n n n
d o n d e
C C=s i g l o Y Y=a o MM =me s D D=d a H H=h o r a Mi n =mi n u t o s S S=s e g u n d o s n n n n =mi l i s e g u n d o s E l s e p a r a d o r d el a s f e c h a s p u e d es e r ' ' , ' / ' o' . ' . P a r al a s f e c h a s s ep u e d eu s a r e l f o r ma t oa me r i c a n o( MM/ D D ) oe l e u r o p e o( D D . MM) , r e c o n o c i n d o s ep o r e l s e p a r a d o r : e l p u n t op a r ae l f o r ma t oe u r o p e o , c u a l q u i e r o t r op a r ae l a me r i c a n o . P o r e j e mp l o , p a r av e r t o d o s l o s e mp l e a d o s c o n t r a t a d o s e n 1 9 9 0p o d e mo s e s c r i b i r : w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
e s c r i b i r :
S ed e f i n e n e n F i r e b i r da l g u n a s l i t e r a l e s q u es o n r e e mp l a z a d a s p o r l o s v a l o r e s q u er e p r e s e n t a n e n e l mo me n t od el ae v a l u a c i n : N O W: f e c h ay h o r aa c t u a l e s T O D A Y : f e c h aa c t u a l Y E S T E R D A Y : f e c h ad ea y e r T O MO R R O W: f e c h ad ema a n a E s t a s l i t e r a l e s s eu t i l i z a n e n c e r r a d a s e n t r ec o mi l l a s s i mp l e s , c o moe n e l s i g u i e n t ee j e mp l o :
S E L E C T* F R O Me mp l o y e e WH E R Eh i r e _ d a t e<' T O D A Y '
L as e n t e n c i aS Q Ln e c e s a r i aa p a r e c ee n e l c u a d r od el ad e r e c h a . N on o s p r e o c u p e mo s p o r a h o r ad ee s t as e n t e n c i a ; l o n i c oq u et e n e mo s q u es a b e r e s q u ec r e a r l at a b l ad e s e a d a . A h o r ae mi t i mo s l o s s i g u i e n t e s c o ma n d o s , u n o p o r v e z , p a r al l e n a r l at a b l ac o n d a t o s :
I N S E R TI N T Op r u e b aV A L U E S( 1 , ' 0 9 : 0 0 ' , ' T O D A Y ' , ' N O W' ) I N S E R TI N T Op r u e b aV A L U E S( 2 , ' 1 0 : 0 0 ' , ' Y E S T E R D A Y ' , ' y e s t e r d a y ' ) I N S E R TI N T Op r u e b aV A L U E S( 3 , ' 1 1 : 0 0 ' , ' t o mo r r o w ' , ' t i me ' ) I N S E R TI N T Op r u e b aV A L U E S( 4 , ' 1 2 : 0 0 ' , c u r r e n t _ d a t e , ' n o w ' ) I N S E R TI N T Op r u e b aV A L U E S( 5 , ' 1 3 : 0 0 ' , ' 2 0 0 2 0 5 2 4 ' , ' n o w ' ) I N S E R TI N T Op r u e b aV A L U E S( 5 , ' 1 3 : 0 0 ' , ' 2 0 0 2 0 5 2 4 ' , ' 2 0 0 2 0 5 2 41 2 : 3 5 ' ) w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
3 0 / 1 4 7
2 1 / 0 4 / 1 3
S i a h o r ap e d i mo s l o s d a t o s i n t r o d u c i d o s , c o n u n S E L E C Tc o m n
S E L E C T* F R O Mp r u e b a
v e r e mo s c moi n t e r p r e t F i r e b i r dc a d au n od el o s l i t e r a l e s y f u n c i o n e s u s a d o s , e n c a d at i p od ec a mp o . T a mb i n p o d e mo s p r o b a r o t r a s c o mb i n a c i o n e s p a r a g a n a r u n e n t e n d i mi e n t oma y o r d el a s e x p r e s i o n e s q u es o n v l i d a s y l a s q u en o .
Mi e n t r a s q u el as i g u i e n t es e n t e n c i ad e v o l v e r t o d o s l o s e mp l e a d o s q u e c o n t e n g a n u n a a mi n s c u l ae n c u a l q u i e r p o s i c i n d es u a p e l l i d o :
P r u e b eac a mb i a r l a a d el ac o n d i c i n p o r u n a A .
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C o moe j e mp l o , v e a mo s e l mi s moe j e mp l oq u ea n t e s : l o s e mp l e a d o s c u y o n o mb r ec o mi e n z ac o n A :
T a mb i n e x i s t el av e r s i n n e g a d a , e s d e c i r q u ed e v u e l v eT R U Ec u a n d oe l v a l o r N Oc o n t i e n el ac a d e n a :
< c a mp o >B E T WE E N< v a l o r i n f e r i o r >A N D< v a l o r s u p e r i o r > : d e v u e l v e T R U Ec u a n d oe l v a l o r c o mp a r a d o( q u ep u e d es e r d ec u a l q u i e r t i p os a l v o B L O B ) s ee n c u e n t r ae n t r e< v a l o r i n f e r i o r >y < v a l o r s u p e r i o r > , a mb o s i n c l u s i v e . E s t o s l mi t e s d e b e n s e r d e l mi s mot i p oq u ee l v a l o r ac o mp a r a r . P o r e j e mp l o , l as i g u i e n t es e n t e n c i ad e v o l v e r l o s d a t o s d el o s e mp l e a d o s q u e c o b r a n e n t r eU $ S5 0 . 0 0 0y U $ S7 2 . 0 0 0 :
S E L E C T* F R O Me mp l o y e e WH E R Es a l a r y B E T WE E N5 0 0 0 0A N D7 2 0 0 0
L as i g u i e n t ei n s t r u c c i n t r a e r l o s e mp l e a d o s c o n t r a t a d o s e n 1 9 9 0 ( e q u i v a l e n t eal aq u ev i mo s e n u n e j e mp l oa n t e r i o r ) :
Yl as i g u i e n t er e c u p e r a r t o d o s l o s e mp l e a d o s c u y on o mb r ee mp i e c ec o n A , B o C :
S E L E C T*
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 3 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
N o t e mo s e l u s od e C z p a r ae l l mi t es u p e r i o r ; c u a l q u i e r c a d e n aq u ee mp i e c e c o n C y s i g ac o n u n c a r c t e r c o m n s e r me n o r oi g u a l q u ee s t ac a d e n a , p o r l oq u ee n t r a n e n l as e l e c c i n t o d o s l o s a p e l l i d o s c o me n z a d o s e n C . L av e r s i n n e g a d ad e v u e l v eT R U Ec u a n d oe l v a l o r n oe s t e n e l r a n g od a d o :
D e v o l v e r l o s e mp l e a d o s q u en of u e r o n c o n t r a t a d o s e n 1 9 9 0 .
P o r e j e mp l o , p a r av e r a q u e l l o s e mp l e a d o s d eU S A , C a n a d ay A l e ma n i a ( G e r ma n y ) p o d e mo s h a c e r :
Mi e n t r a s q u ep a r av e r l o s e mp l e a d o s q u es o n l d e r e s d ea l g n p r o y e c t o p o d r a mo s h a c e r :
S E L E C T* F R O Me mp l o y e e WH E R Ee mp _ n oI N( S E L E C Tt e a m_ l e a d e r F R O Mp r o j e c t )
L ac o n s u l t ai n t e r i o r , e n c e r r a d ae n t r ep a r n t e s i s , s ed e n o mi n as u b c o n s u l t ay e s u n ap o d e r o s ap o s i b i l i d a dd eS Q Le n l aq u ea h o n d a r e mo s e n b r e v e . T a mb i n e x i s t el av e r s i n n e g a d a , c o mos eh a b r n i ma g i n a d o :
S E L E C T* F R O Me mp l o y e e WH E R Ee mp _ n oN O TI N( S E L E C Tt e a m_ l e a d e r F R O Mp r o j e c t )
D e v u e l v el o s e mp l e a d o s q u en os o n l d e r e s d ep r o y e c t o s .
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
c o n t r a r i o . E s t a s i n s t r u c c i o n e s f u e r o n c r e a d a s e s p e c i a l me n t ep a r al i d i a r c o n l o s v a l o r e s n u l o s , y g e n e r a l me n t en oe q u i v a l e n ac o mp a r a r s i mp l e me n t eu n c a mp o c o n e l v a l o r N U L L a u n q u et a mb i n d e p e n d ed e l s e r v i d o r . V e a mo s u n p a r d e e j e mp l o s :
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t I SN U L L
D e v u e l v el o s e mp l e a d o s c u y ae x t e n s i n d et e l f o n oe s d e s c o n o c i d a . P r u e b ea e j e c u t a r l as i g u i e n t es e n t e n c i a , q u ep a r e c es e r e q u i v a l e n t e :
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t =N U L L
E s t ec o mp o r t a mi e n t oe s p a r t ed el a s e x t r a v a g a n c i a s d el o s n u l o s , d el a s q u e h a b l a r e mo s mu c h a s v e c e s . S i q u e r e mo s v e r l o s q u es t i e n e n a l ma c e n a d au n ae x t e n s i n , h a r e mo s
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t I SN O TN U L L
( 1 . 5 ) C A S E Ap a r t i r d el av e r s i n 1 . 5d eF i r e b i r d , s ep u e d eg e n e r a r u n a c o n s u l t ac o n d i c i o n a l c u y a s c o l u mn a s t o ma r n v a l o r e n b a s ea l r e s u l t a d od el a e v a l u a c i n d eu n ae x p r e s i n . L as i n t a x i s e s l as i g u i e n t e : S ep u e d e n c l a s i f i c a r l a s s e n t e n c i a s C A S Ee n d o s f o r ma s : 1 ) s i mp l e : s ed e f i n el ae x p r e s i n d e s p u s d el ap a l a b r aC A S Ey l o s d i s t i n t o s v a l o r e s s ea s i g n a n e n b a s eal o s d i s t i n t o s r e s u l t a d o s d el ae v a l u a c i n d ee s t ae x p r e s i n
2 ) c o n b s q u e d a : p a r ac a d av a l o r s ee s p e c i f i c au n ae x p r e s i n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
3 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F u n c i o n e s E x i s t e n e n t o d o s l o s s e r v i d o r e s a l g u n a s f u n c i o n e s q u et o ma n u n p a r me t r o e n t r ep a r n t e s i s u s u a l me n t ee l c o n t e n i d od eu n c a mp o y d e v u e l v e n e l v a l o r mo d i f i c a d o . S ep u e d e n u s a r t a n t oe n l ae s p e c i f i c a c i n d el a s c o l u mn a s a d e v o l v e r c o moe n l o s c r i t e r i o s . F i r e b i r de s b a s t a n t ep a r c oe n c u a n t oal a s f u n c i o n e s p r e d e f i n i d a s ; t e n e mo s s o l a me n t eu n p u a d o :
U P P E R ( < c a d e n a > ) : d e v u e l v el ami s mac a d e n ac o n t o d o s l o s c a r a c t e r e s e n ma y s c u l a s . C A S T ( < v a l o r >a s < t i p o > ) : c o n v i e r t ee l v a l o r a l t i p od a d o s i p u e d e . G E N _ I D ( < n o mb r eg e n e r a d o r > , < i n c r e me n t o > ) : i n c r e me n t ae l v a l o r d e l g e n e r a d o r e n l ac a n t i d a dp e d i d ay d e v u e l v ee l r e s u l t a d o . E l g e n e r a d o r q u e d ai n c r e me n t a d o . S U B S T R I N G ( c a d e n aF R O Mi n i c i o[ F O Rn ] ) : d e v u e l v en c a r a c t e r e s d ec a d e n aap a r t i r d e l c a r a c t e r n r o . i n i c i o . S i n os ee s p e c i f i c al ac l u s u l aF O R , s ed e v u e l v e n t o d o s l o s c a r a c t e r e s d e s d ei n i c i oh a s t ae l f i n a l . < < < O J O : c r e oq u eh a y u n p r o b l e mac u a n d os eu s a n j u e g o s d ec a r a c t e r e s d e m s d eu n b y t e v e r l o s me n s a j e s d el o s f o r o s d eF i r e b i r dy p r o b a r c o n f s s _ u n i c o d ey i s o 8 8 5 9 _ 1 > > >
S E L E C T* F R O Me mp l o y e e WH E R Ee x t r a c t ( mo n t h f r o mh i r e _ d a t e ) =1
E MP _ N O
F I R S T _ N A ME
L A S T _ N A ME
P H O N E _ E X T
H I R E _ D A T E 1 1 2 0 1 4 1 K . J . C h r i s P i e r r e We s t o n 3 4 1 7 / 0 1 / 1 9 9 0 8 8 7 0 1 / 0 1 / 1 9 9 0
P a p a d o p o u l o s O s b o r n e
0 3 / 0 1 / 1 9 9 4
( 1 . 5 ) C O A L E S C E ( e x p r 1 , e x p r 2 , e x p r 3 , e x p r N ) d e v u e l v ee l v a l o r d el a
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 3 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F u n c i o n e s d ea g r e g a c i n L a s s i g u i e n t e s f u n c i o n e s o p e r a n s o b r eu n c o n j u n t od er e g i s t r o s ( q u ep u e d es e r l at a b l ae n t e r a ) , d e v o l v i e n d ou n s o l ov a l o r p o r c a d ag r u p o : A V G ( < c a mp o > ) : d e v u e l v ee l v a l o r me d i od e l c a mp oe n e l g r u p od er e g i s t r o s c o n s i d e r a d o . C O U N T ( < c a mp o >| * ) : d e v u e l v el ac a n t i d a dd er e g i s t r o s d e l g r u p o . S i u s a mo s l ap r i me r av e r s i n , c o n e l n o mb r ed eu n c a mp oe n t r el o s p a r n t e s i s , d e v o l v e r l ac a n t i d a dd ef i l a s e n q u ee s t ec a mp os e an on u l o ; l as e g u n d av e r s i n , c o n u n a s t e r i s c o , d e v u e l v el ac a n t i d a dt o t a l d er e g i s t r o s d e l g r u p o . S i n os ee n c u e n t r a n i n g u n af i l aq u ec u mp l ac o n l a s c o n d i c i o n e s , d e v u e l v e0 . C O U N T ( d i s t i n c t < c a mp o > ) : i g u a l q u ee l a n t e r i o r , p e r oc u e n t as l ol o s r e g i s t r o s c o n v a l o r e s d i f e r e n t e s e n e l c a mp op e d i d o . MA X ( < c a mp o > ) : d e v u e l v ee l v a l o r m x i mod e l c a mp oe n e l g r u p o . MI N ( < c a mp o > ) : d e v u e l v ee l v a l o r m n i mod e l c a mp oe n e l g r u p o . S U M( < c a mp o > ) : d e v u e l v el as u mad el o s v a l o r e s d e l c a mp oe n e l g r u p o . N o c o n s i d e r al o s v a l o r e s n u l o s . S i n oe n c u e n t r an a d ap a r as u ma r ( n oh a y r e g i s t r o s ot o d o s s o n n u l o s ) n od e v u e l v e0 , c o mou n oe s p e r a r a : s i mp l e me n t ed e v u e l v e u n n u l o . P o r e j e mp l o , l ac o n s u l t as i g u i e n t ed e v o l v e r e l mo n t ot o t a l d er e mu n e r a c i o n e s a n u a l e s , s u ma n d oe l c a mp oS A L A R Yd et o d o s l o s r e g i s t r o s d el a t a b l aE MP L O Y E E : s e l e c t s u m( s a l a r y ) f r o me mp l o y e e
S U M 1 1 5 5 2 2 4 6 8
T O T A L P O R D E P T O 2 6 6 6 4 3 1 5 5 2 6 2 . 5
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 3 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
1 3 0 4 4 2 . 8 1 1 3 4 8 0 0 0 0 9 5 7 7 9 . 6 9 1 1 0 0 0 0
A n me j o r , p o d e mo s mo s t r a r e l n r o . d ed e p a r t a me n t oj u n t oac a d at o t a l : s e l e c t d e p t _ n oa s D e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e g r o u pb y d e p t _ n o
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 0 01 5 5 2 6 2 . 5 1 1 01 3 0 4 4 2 . 8 1 1 1 51 3 4 8 0 0 0 0 1 2 09 5 7 7 9 . 6 9 1 2 11 1 0 0 0 0
T r a t ed ev i s u a l i z a r me n t a l me n t ee l r e s u l t a d od el as e n t e n c i aa n t e r i o r s i n l a c l u s u l aO R D E RB Y . S i U d . p u e d e , l of e l i c i t o ; y on os a b r ac moa r ma r l a s f i l a s , me z c l a n d on r o s . d ed e p a r t a me n t o( q u es er e p i t e n ) y t o t a l e s p o r c a d a d e p a r t a me n t od i f e r e n t e . E l i n t r p r e t eS Q Lt a mp o c ol os a b e , y s eq u e j a a ma r g a me n t e : s e l e c t d e p t _ n oa s D e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e
D y n a mi c S Q LE r r o r S Q Le r r o r c o d e=1 0 4 i n v a l i dc o l u mn r e f e r e n c e
S u p o n g aa h o r aq u eq u e r e mo s v e r s o l a me n t ea q u e l l o s d e p a r t a me n t o s e n l o s c u a l e s s ep a g a n m s d e2 5 0 . 0 0 0d o l a r e s a l a oe n s u e l d o s . E n e s t ec a s ol a r e s t r i c c i n n os ep u e d ea p l i c a r c o n u n ac l u s u l aWH E R E , y aq u el ac o n d i c i n a c u mp l i r u t i l i z ae l t o t a l p o r d e p a r t a me n t oc a l c u l a d os o b r el o s s u b c o n j u n t o s . P a r a a p l i c a r u n ac o n d i c i n d ef i l t r a d od e s p u s d e l a g r u p a mi e n t od el o s r e g i s t r o s , e x i s t el ap a r t c u l aH A V I N G :
s e l e c t d e p t _ n oa s d e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
3 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z s e l e c t d e p t _ n oa s d e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o
f r o me mp l o y e e g r o u pb y d e p t _ n o h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 1 51 3 4 8 0 0 0 0 1 2 33 9 0 5 0 0 1 2 59 9 0 0 0 0 0 0 6 2 12 7 6 7 3 9 . 5 6 2 32 8 7 7 5 8 . 2 5 6 7 12 1 9 4 6 5 . 1 9
E s o s s o n t o d o s l o s d e p a r t a me n t o s q u ec u mp l e n c o n n u e s t r ac o n d i c i n . A h o r ac a mb i a mo s l ap r e g u n t a : q u e r e mo s s a b e r c u l e s s o n l o s s u e l d o s q u es e p a g a n p o r d e p a r t a me n t o , p e r os o l a me n t ee n U S A . E s t ac o n d i c i n s s ed e b e a p l i c a r r e g i s t r op o r r e g i s t r o , y aq u ep u e d eh a b e r u n d e p a r t a me n t oc o n e mp l e a d o s e n d i s t i n t o s p a s e s . L as e n t e n c i ar e s u l t a n t ee s : s e l e c t d e p t _ n oa s d e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e w h e r ej o b _ c o u n t r y = ' U S A ' g r o u pb y d e p t _ n o
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 0 01 5 5 2 6 2 . 5 1 1 01 3 0 4 4 2 . 8 1 1 3 01 8 9 0 4 2 . 9 4 1 8 01 0 7 3 7 7 . 5 6 0 01 3 2 9 0 0
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 6 2 12 7 6 7 3 9 . 5 6 2 32 8 7 7 5 8 . 2 5 6 7 12 1 9 4 6 5 . 1 9 w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
3 8 / 1 4 7
2 1 / 0 4 / 1 3
6 7 12 1 9 4 6 5 . 1 9
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
N o t e mo s l ap o t e n c i ad e l l e n g u a j e ; i ma g n e s el oq u et e n d r aq u eh a c e r p a r a o b t e n e r e s t er e s u l t a d ou s a n d ou n c u r s o r , r e c o r r i e n d ol o s r e g i s t r o s u n op o r u n o
S u b c o n s u l t a s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z L at a b l aE mp l o y e e _ P r o j e c t t i e n el as i g u i e n t ee s t r u c t u r a :
C R E A T ET A B L EE MP L O Y E E _ P R O J E C T( E MP _ N OE MP N ON O TN U L L , P R O J _ I DP R O J N ON O TN U L L , P R I MA R YK E Y( E MP _ N O , P R O J _ I D ) ) ;
C o mov e mo s , s o l a me n t et i e n ed o s c a mp o s : u n or e f e r e n c i aau n e mp l e a d o , e l o t r oau n p r o y e c t o . C a d ar e g i s t r od ee s t at a b l ar e l a c i o n aau n e mp l e a d oc o n u n p r o y e c t o , y l ac l a v ep r i ma r i ae s l ac o n j u n c i n d el o s d o s c a mp o s p a r ap e r mi t i r r e p e t i c i o n e s e n c u a l q u i e r ad ee l l o s p o r s e p a r a d op e r on oe n l o s d o s j u n t o s ( u n mi s moe mp l e a d on os ep u e d ep o n e r e n u n mi s mop r o y e c t od o s v e c e s ) . A h o r ap e n s e mo s e n l as i g u i e n t ep r e g u n t a : c u l e s s o n l o s n o mb r e s d el o s p r o y e c t o s e n l o s c u a l e s p a r t i c i p aB r u c eY o u n g ?I n t e n t eo b t e n e r u n ar e s p u e s t a c o n S Q La n t e s d es e g u i r l e y e n d o . P o d e mo s e j e c u t a r l as i g u i e n t es e c u e n c i ad ea c c i o n e s : 1 ) b u s c a r e l n r o . d ee mp l e a d od eB r u c eY o u n g , y aq u e s t ee s e l c a mp oq u e e x i s t ee n l at a b l ai n t e r me d i aE mp l o y e e _ P r o j e c t . E s mu y s i mp l e : s e l e c t e mp _ n o f r o me mp l o y e e w h e r ef i r s t _ n a me = ' B r u c e ' a n dl a s t _ n a me = ' Y o u n g '
E MP _ N O 4
2 ) b u s c a r l o s p r o y e c t o s e n q u ep a r t i c i p ae s t ee mp l e a d o : s e l e c t * f r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 4
E MP _ N O
P R O J _ I D
4 4 V B A S E MA P D B
P R O J _ I DP R O J _ N A ME V B A S E V i d e oD a t a b a s e MA P D B Ma p B r o w s e r p o r t
E s t of u ef c i l , d i r u s t e d . S . P e r on or e s u l t ad i f c i l e n c o n t r a r s er e l a c i o n e s d e e s t et i p oe n l a s q u eu n r e g i s t r od eu n at a b l as er e l a c i o n a w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
4 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z e s t et i p oe n l a s q u eu n r e g i s t r od eu n at a b l as er e l a c i o n a
s e l e c t P r o j _ i d , P r o j _ N a me f r o mp r o j e c t w h e r ep r o j _ i di n ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 4 )
P R O J _ I DP R O J _ N A ME V B A S E V i d e oD a t a b a s e MA P D B Ma p B r o w s e r p o r t
O b s e r v ee s p e c i a l me n t eq u ec a d as u b c o n s u l t av ae n c e r r a d ae n t r ep a r n t e s i s .
E s t en oe s , c l a r o , e l n i c oc a s oe n q u es eu t i l i z a n l a s s u b c o n s u l t a s . P r c t i c a me n t ec u a l q u i e r p r o b l e maq u er e q u i e r al ae j e c u c i n d es e n t e n c i a s d e s e l e c c i n i n t e r me d i a s , c u y o s r e s u l t a d o s l u e g os eu s a r n p a r ao b t e n e r l a r e s p u e s t a , s ep u e d ee s c r i b i r u s a n d os u b c o n s u l t a s .
C o mp a r a c i n c o n e l r e s u l t a d od eu n as u b c o n s u l t a L o s s i g u i e n t e s o p e r a d o r e s s ep u e d e n u s a r c o n s u b c o n s u l t a s : < v a l o r >A L L< s u b c o n s u l t a > : d e v u e l v eT R U Es i e l v a l o r e s i g u a l at o d o s l o s d e v u e l t o s p o r l as u b c o n s u l t a < v a l u e >A N Y| S O ME< s u b c o n s u l t a > : d e v u e l v eT R U Es i e l v a l o r c o mp a r a d oe s i g u a l aa l g u n od el o s d e v u e l t o s p o r l as u b c o n s u l t a . E X I S T S< s u b c o n s u l t a > : d e v u e l v eT R U Es i l as u b c o n s u l t ad e v u e l v ea l me n o s u n af i l a . E j e mp l o : d e t e r mi n a r s i h a y a l me n o s u n p r o y e c t oe n e l q u et r a b a j eL e s l i e J o h n s o n s e l e c t ' S i ' a s H a y _ u n _ p r o y e c t o f r o mp r o j e c t w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
4 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
f r o mp r o j e c t w h e r ee x i s t s ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 8 )
H A Y _ U N _ P R O Y E C T O S i S i S i S i S i S i
P r u e b ec o n u n n r od ee mp l e a d od i s t i n t o , p o r e j e mp l o1( n oe x i s t e ) o2( n oe s t a s i g n a d oan i n g n p r o y e c t o ) . L ar e s p u e s t ae s u n t a n t or e p e t i t i v a e l h e c h oe s q u es emo s t r a r u n ' S i ' p o r c a d ap r o y e c t oe x i s t e n t ee n l at a b l a' P r o j e c t ' , d a d oq u el as u b c o n s u l t an oe s t r e l a c i o n a d ac o n l ac o n s u l t ae x t e r i o r . E n t o n c e s , p o r c a d ar e g i s t r od el at a b l a P r o j e c t s ee v a l al as u b c o n s u l t ay s t as i e mp r ee s l ami s ma , s i e mp r ed ae l mi s mor e s u l t a d o . V e r e mo s d o s ma n e r a s d ee v i t a r l a s r e p e t i c i o n e s : 1 ) U s a n d ou n at a b l ac o n u n s o l or e g i s t r oe n l ac o n s u l t ae x t e r n a . E n F i r e b i r d/ I n t e r b a s ee x i s t eu n at a b l aa s e n t o d a s l a s b a s e s d ed a t o s : e s l aq u ea l ma c e n a c a r a c t e r s t i c a s d el ab a s ed ed a t o s e n s , y p o r c o n s i g u i e n t es l ot i e n eu n r e g i s t r o . S el l a mar d b $ d a t a b a s e . L ac o n s u l t aa n t e r i o r q u e d a r i ad el as i g u i e n t e ma n e r a s e l e c t ' S i ' a s H a y _ u n _ p r o y e c t o f r o mr d b $ d a t a b a s e w h e r ee x i s t s ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 8 )
E s t ac o n s u l t ad e v u e l v eu n s o l o' S i ' s i h a y a l me n o s u n p r o y e c t oq u ec o n t e n g aa l e mp l e a d o , y N U L Le n c a s oq u en oh a y an i n g u n o . E s b a s t a n t ee f i c i e n t ey aq u e l as u b c o n s u l t as ee j e c u t au n as o l av e z .
H A Y _ U N _ P R O Y E C T O S i
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S i S i
E l r e s u l t a d op u e d et e n e r v a r i a s l n e a s , u n ap o r c a d ap r o y e c t oa l q u ee s t a s i g n a d oe l e mp l e a d o . E s t ac o n s u l t ae s m s l e n t aq u el aa n t e r i o r p e r od au n a i n f o r ma c i n e x t r a : l ac a n t i d a dd ep r o y e c t o s al o s q u ee s t a s i g n a d oe l e mp l e a d o .
S I N G U L A R< s u b c o n s u l t a > : d e v u e l v eT R U Es i l as u b c o n s u l t a d e v u e l v ee x a c t a me n t eu n af i l a .
U n i o n e s
C o n s u l t ad ev a r i a s t a b l a s r e l a c i o n a d a s
H a s t aa h o r ah e mo s t r a b a j a d os i e mp r ec o n u n as o l at a b l a . P e r os i s e g u i mo s l a s r e g l a s d en o r ma l i z a c i n t e n d r e mo s q u ed i v i d i r mu c h a s v e c e s l o s d a t o s e n v a r i a s t a b l a s ; p o r e j e mp l o , e n l at a b l ad ep r o y e c t o s ( p r o j e c t s ) d el ab a s ed e d a t o s q u ee s t a mo s u s a n d oe x i s t eu n c a mp ol l a ma d ot e a m_ l e a d e r , n u m r i c o . N u m r i c o ? Q u i e r ed e c i r q u el o s l d e r e s d ep r o y e c t os er e c o n o c e n p o r u n n me r o n i c a me n t e , n op o r e l n o mb r ey a p e l l i d oc o mot o d oe l mu n d o ?B u e n o , j u s t a me n t e : e s en me r oe s e l n me r od ee mp l e a d od eu n r e g i s t r od el a t a b l ae mp l o y e e . D e s p u s d et o d o , h a s t al o s l d e r e s d ep r o y e c t os o n e mp l e a d o s ! < < < g r f i c od el o s d a t o s e n f o r mad ea r b o l , al ad e r e c h a > > > V e a mo s d eo t r ama n e r al an o r ma l i z a c i n d et a b l a s : c o mou n r b o l . E n e s t e r b o l e l t r o n c oe s n u e s t r at a b l a p r i n c i p a l , y c a d an u e v ar a mae s u n r e g i s t r od e o t r at a b l ac o n u n e n l a c eh a c i ae l t r o n c o . E n e l c a s ome n o s b o t n i c od el a s b a s e s d ed a t o s r e l a c i o n a l e s e l e n l a c ev i e n ed a d op o r u n oom s c a mp o s q u e t e n d r n l o s mi s mo s v a l o r e s e n l a s d o s t a b l a s . P a r aa c c e d e r at o d o s l o s d a t o s c o mp l e t o s d eu n r e g i s t r od el at a b l ap r i n c i p a l ( e l t r o n c o ) , d e b e mo s mo s t r a r
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S E L E C Tc o l u mn a s | * F R O Mt a b l a 1 , t a b l a 2 , t a b l a 3 [ WH E R Ec o n d i c i n ] [ O R D E RB Yc o l u mn a s ]
C o n u n e j e mp l os ev e r m s c l a r o . E n l ab a s ed e d a t o s E mp l o y e e . g d bt e n e mo s v a r i a s t a b l a s r e l a c i o n a d a s , p o r e j e mp l ol a s d e e mp l e a d o s ( d a t o s g e n e r a l e s d el o s e mp l e a d o s ) y l ad ed e p a r t a me n t o s ( d a t o s d ec a d ad e p a r t a me n t od el ae mp r e s a ) . E n l at a b l ad ed e p a r t a me n t o s ( A p a r t me n t ) h a y u n c a mp oq u er e l a c i o n ac o n l at a b l ad ee mp l e a d o s : Mn g r _ N o , on me r od ee mp l e a d od e l e n c a r g a d o( Ma n a g e r ) . E s t en me r os er e l a c i o n a c o n e l c a mp oE mp _ n od el at a b l ad ee mp l e a d o s , d et a l ma n e r aq u ec a d a d e p a r t a me n t oq u et e n g au n e n c a r g a d ot e n d r ae n e l c a mp oMn g r _ n os u n me r o d ee mp l e a d o . S i q u e r e mo s mo s t r a r e l n o mb r ed e l d e p a r t a me n t oy e l n o mb r e d es u e n c a r g a d o , t e n d r e mo s q u eb u s c a r e n l a s d o s t a b l a s . L as i g u i e n t ee s u n a ma n e r ad eh a c e r l oe n S Q L :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e , d e p a r t me n t WH E R Ed e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E s t ai n s t r u c c i n n o s d e v u e l v el al i s t ad et o d o s l o s d e p a r t a me n t o s , y e l n o mb r e
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
d e l e n c a r g a d o , o r d e n a d o s p o r d e p a r t a me n t o .
U n mo me n t o ! P i d a n u n al i s t ad el o s d e p a r t a me n t o s o r d e n a d o s , y c o mp a r e n p o r e j e mp l o , p u e d e n v e r e n e l p r i me r r e s u l t a d oe l d e p a r t a me n t o Ma r k e t i n g ? E s t ee s s l ou n od el o s q u ef a l t a n . L ar a z n : e l c a mp o Mn g r _ N o d ee s o s r e g i s t r o s t i e n eu n v a l o r n u l o , i mp l i c a n d oq u en oh a y u n e n c a r g a d oa s i g n a d oa l d e p a r t a me n t o( oa l g u i e n s eo l v i d d ec a r g a r l oe n l ab a s ed ed a t o s ) . Mo r a l e j a : c u a n d os eu t i l i z ae s t af o r mad er e l a c i n e n t r et a b l a s ( l i s t a d od el a s t a b l a s e n e l F R O M, c o n d i c i o n e s d ee n l a c ee n WH E R E ) n i c a me n t ea p a r e c e n e n e l r e s u l t a d ol o s r e g i s t r o s d el a s d o s t a b l a s e n l a s c u a l e s h a y av a l o r e s d e e n l a c ec o i n c i d e n t e s . E s t et i p od ee n c u e n t r oe n t r et a b l a s s e d e n o mi n aE n c u e n t r oI n t e r n o( I N N E RJ O I N ) .
E j e r c i c i o R e a l i c el ami s mac o n s u l t ad e l e j e mp l oa n t e r i o r , p e r oe s t av e z s i n e l c r i t e r i od e s e l e c c i n ( WH E R E ) . q u o b t i e n e ?
S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c , c o u n t r y p a i s , s a l e s s WH E R Ec . c u s t _ n o=s . c u s t _ n o A N Dc . c o u n t r y =p a i s . c o u n t r y O R D E RB Yc . c u s t o me r
H a y v a r i a s c o s a s p a r an o t a r e n l ac o n s u l t aa n t e r i o r . N oa p a r e c e n t o d o s l o s c l i e n t e s . E s t oy ae r ad ee s p e r a r , n o ? C u l e s s o n l o s q u ea p a r e c e n ? L a s r e l a c i o n e s e n t r el a s d i s t i n t a s t a b l a s s eu n e n e n t r es c o n A N D , p a r a i n d i c a r q u es et i e n e n q u ec u mp l i r t o d a s l a s c o n d i c i o n e s p a r aq u ee l r e g i s t r o a p a r e z c ae n e l r e s u l t a d o .
A s s ep u e d e n a g r e g a r m s t a b l a s , s i mp l e me n t el i s t n d o l a s e n e l F R O My
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
a g r e g a n d ou n ac o n d i c i n a l c r i t e r i od es e l e c c i n c o n A N D . Q u p a s a r s i n o s o l v i d a mo s d ea l g n c r i t e r i o ?P u e s q u ee l s e r v i d o r n oe mi t i r n i n g n e r r o r , y g e n e r a r u n au n i n c a r t e s i a n ac o n l at a b l aq u ed e j e mo s s u e l t a
H a y o t r a s f o r ma s d ec o mb i n a c i n d et a b l a s . P o d e mo s p e d i r a l s e r v i d o r q u e n o s mu e s t r et o d o s l o s r e g i s t r o s d eu n ad el a s t a b l a s , y n i c a me n t el o s v a l o r e s d el ao t r at a b l ac u a n d oh a y au n ac o r r e s p o n d e n c i a . S ed i c eq u es e p r e s e r v au n a t a b l a , l aq u es emu e s t r ac o mp l e t a . A l g u n o s s e r v i d o r e s i mp l e me n t a n e s t a s c o mb i n a c i o n e s c o n v a r i a c i o n e s d el a s i n t a x i s a n t e r i o r , a g r e g a n d on u e v o s o p e r a d o r e s al as e n t e n c i aw h e r e . F i r e b i r d e n c a mb i os i g u ee l e s t n d a r A N S I 9 2e n e l q u es ep r o p o n eu n an u e v af o r ma d ee s p e c i f i c a r l a s c o mb i n a c i o n e s e n t r et a b l a s , i n d i c n d o l a s e n e l F R O M. L a s i n t a x i s c o mp l e t as e r a
E s c r i b a mo s a l g u n o s d el o s e j e mp l o s a n t e r i o r e s c o n l an u e v as i n t a x i s :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e , d e p a r t me n t WH E R Ed e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
E s t ai n s t r u c c i n n o s d e v u e l v el al i s t ad et o d o s l o s d e p a r t a me n t o s , y e l n o mb r e d e l e n c a r g a d o , o r d e n a d o s p o r d e p a r t a me n t o . C o n l an u e v as i n t a x i s , q u e d a r a :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e eI N N E RJ O I Nd e p a r t me n t O Nd e p a r t me n t . mn g r _ n o= e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
Ov e a mo s l as i g u i e n t e , q u et r a el o s d a t o s d el o s p e d i d o s , c l i e n t e s y p a s e s S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c , c o u n t r y p a i s , s a l e s s WH E R Ec . c u s t _ n o=s . c u s t _ n o A N Dc . c o u n t r y =p a i s . c o u n t r y O R D E RB Yc . c u s t o me r
C o n l an u e v as i n t a x i s : S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c I N N E RJ O I Nc o u n t r y p a i s O Nc . c o u n t r y =p a i s . c o u n t r y I N N E RJ O I Ns a l e s s O Nc . c u s t _ n o=s . c u s t _ n o O R D E RB Yc . c u s t o me r
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L an u e v as i n t a x i s s e p a r af s i c a me n t el o s c o n c e p t o s l g i c o s d er e l a c i n o e n c u e n t r oy c r i t e r i o s d es e l e c c i n .
V o l v a mo s s o b r ee l p r i me r e j e mp l o , d o n d et r a a mo s c a d ad e p a r t a me n t oc o n e l n o mb r ed es u e n c a r g a d o . N o t a mo s a n t e s q u en os el i s t a n t o d o s l o s d e p a r t a me n t o s c u a n d op e d i mo s u n au n i n i n t e r n a , y aq u eh a y d e p a r t a me n t o s q u en ot i e n e n e n c a r g a d o . U s a n d ol a s e x t e n s i o n e s al as i n t a x i s p o d e mo s p e d i r q u es en o s mu e s t r e n t o d o s l o s d e p a r t a me n t o s , c o mp l e t a n d oe l r e g i s t r oc o n e l n o mb r ed e l e n c a r g a d oc u a n d o s t ee x i s t a :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e R I G H TJ O I Nd e p a r t me n t O Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E u r o p e a n H e a d q u a r t e r s R e e v e s , R o g e r F i e l dO f f i c e : C a n a d a S u t h e r l a n d , C l a u d i a
F i e l dO f f i c e : E a s t C o a s t We s t o n , K . J . F i e l dO f f i c e : F r a n c e F i e l dO f f i c e : I t a l y F i e l dO f f i c e : J a p a n G l o n , J a c q u e s
F e r r a r i , R o b e r t o Y a ma mo t o , T a k a s h i
F i e l dO f f i c e : S i n g a p o r e F i e l dO f f i c e : S w i t z e r l a n dO s b o r n e , P i e r r e F i n a n c e Ma r k e t i n g P a c i f i c R i mH e a d q u a r t e r sB a l d w i n , J a n e t Q u a l i t y A s s u r a n c e F o r e s t , P h i l S t e a d ma n , Wa l t e r
R e s e a r c h a n dD e v e l o p me n t P a p a d o p o u l o s , C h r i s S a l e s a n dMa r k e t i n g S o f t w a r eD e v e l o p me n t S o f t w a r eP r o d u c t s D i v . Ma c D o n a l d , Ma r y S .
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Md e p a r t me n t w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
4 7 / 1 4 7
2 1 / 0 4 / 1 3
F R O Md e p a r t me n t
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L E F TJ O I Ne mp l o y e eO Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
N o t e mo s q u ee l r e s u l t a d oe s e l mi s mo , s o l a me n t eh e mo s c a mb i a d oe l o r d e n d el a s t a b l a s e n l ac l u s u l aF R O M. P o r l t i mo , p o d e mo s p r e s e r v a r l a s d o s t a b l a s a l mi s mot i e mp o : s emo s t r a r n t o d o s l o s r e g i s t r o s d ea mb a s t a b l a s , c o mp l e t a n d oc o n n u l o s l o s l u g a r e s d o n d e f a l t e n d a t o s r e l a c i o n a d o s :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Md e p a r t me n t F U L LJ O I Ne mp l o y e eO Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E u r o p e a n H e a d q u a r t e r s R e e v e s , R o g e r F i e l dO f f i c e : C a n a d a S u t h e r l a n d , C l a u d i a
F i e l dO f f i c e : E a s t C o a s t We s t o n , K . J . F i e l dO f f i c e : F r a n c e F i e l dO f f i c e : I t a l y F i e l dO f f i c e : J a p a n G l o n , J a c q u e s
F e r r a r i , R o b e r t o Y a ma mo t o , T a k a s h i
F i e l dO f f i c e : S i n g a p o r e F i e l dO f f i c e : S w i t z e r l a n dO s b o r n e , P i e r r e F i n a n c e Ma r k e t i n g P a c i f i c R i mH e a d q u a r t e r sB a l d w i n , J a n e t Q u a l i t y A s s u r a n c e F o r e s t , P h i l S t e a d ma n , Wa l t e r
R e s e a r c h a n dD e v e l o p me n t P a p a d o p o u l o s , C h r i s S a l e s a n dMa r k e t i n g S o f t w a r eD e v e l o p me n t S o f t w a r eP r o d u c t s D i v . G r e e n , T . J . N o r d s t r o m, C a r o l B i s h o p , D a n a G u c k e n h e i me r , Ma r k P a g e , Ma r y J o h n s o n , S c o t t B u r b a n k , J e n n i f e r M. B r o w n , K e l l y J o h n s o n , L e s l i e P h o n g , L e s l i e F i s h e r , P e t e L e e , T e r r i w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
4 8 / 1 4 7
Ma c D o n a l d , Ma r y S .
2 1 / 0 4 / 1 3
L e e , T e r r i P a r k e r , B i l l L a mb e r t , K i m Y a n o w s k i , Mi c h a e l S t a n s b u r y , Wi l l i e B e n n e t , A n n Mo n t g o me r y , J o h n D eS o u z a , R o g e r Y o u n g , B r u c e R a ma n a t h a n , A s h o k H a l l , S t e w a r t L e u n g , L u k e O ' B r i e n , S u eA n n e I c h i d a , Y u k i
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L e n g u a j ed eD e f i n i c i n d eD a t o s ( D D L )
E l L e n g u a j ed eD e f i n i c i n d eD a t o s e s u n s u b c o n j u n t od eS Q Lc o n i n s t r u c c i o n e s p a r ac r e a r , mo d i f i c a r y b o r r a r l o s d i s t i n t o s o b j e t o s q u ec o mp o n e n l aB a s ed eD a t o s c o mos e r t a b l a s , n d i c e s , d o mi n i o s , e t c . I n c l u s op e r mi t e n l a d e f i n i c i n d eB a s e s d eD a t o s c o mp l e t a s .
B a s e s d eD a t o s
C r e a c i n d eu n ab a s ed ed a t o s P a r ac r e a r u n ab a s ed ed a t o s s eu t i l i z al as e n t e n c i aC R E A T ED A T A B A S E . L a s i n t a x i s e s l as i g u i e n t e :
S C H E MA=e q u i v a l e n t eaD A T A B A S E < s e c o n d a r y _ f i l e >=F I L E' f i l e s p e c ' [ < f i l e i n f o > ] [ < s e c o n d a r y _ f i l e > ] < f i l e i n f o >=[ L E N G T H[ = ] i n t [ P A G E [ S ] ] | S T A R T I N G[ A T[ P A G E ] ] i n t } [ < f i l e i n f o > ]
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 4 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
V e r e mo s l a s d i s t i n t a s o p c i o n e s d el as e n t e n c i aa n t e r i o r at r a v s d ee j e mp l o s .
1 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y ;
E s t ae s l ai n s t r u c c i n m s c o m n : c r e au n a r c h i v oc o n e l n o mb r ed a d oc o mo p r i me r p a r me t r o , c o n e c t a n d oa l s e r v i d o r c o n e l n o mb r ed eu s u a r i oy c l a v e d a d o s ( e l u s u a r i ou s a d od e b et e n e r p e r mi s o s p a r ac r e a c i n d eb a s e s d e d a t o s u t i l i z a r e mo s c a s i s i e mp r ee l n o mb r ed e l a d mi n i s t r a d o r d e l s e r v i d o r , q u ep o r d e f e c t oe s S Y S D B A c o n c l a v e ma s t e r k e y ) . S i y ae x i s t eu n a r c h i v oc o n e l n o mb r ep e d i d os ec a n c e l al ao p e r a c i n . N oe s o b l i g a t o r i al ae x t e n s i n . G D B [ 8 ] e n e l a r c h i v o ; e l mo t o r d ed a t o s n o c o n s i d e r al ae x t e n s i n s i n oe l c o n t e n i d o .
2 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y P A G E _ S I Z E4 0 9 6 ;
C r e al ami s mab a s ed ed a t o s q u ee l e j e mp l oa n t e r i o r , p e r oi n s t r u y ea l s e r v i d o r p a r aq u eu t i l i c ep g i n a s d e4 0 9 6b y t e s e n l u g a r d e1 0 2 4 , q u ee s e l v a l o r p o r d e f e c t o . C o n e s t ac o n f i g u r a c i n s ea l c a n z au n me j o r r e n d i mi e n t o , c o mos e e x p l i c aac o n t i n u a c i n . P g i n a s L o s r e g i s t r o s d e n t r od el a s t a b l a s s eo r g a n i z a n e n c o n j u n t o s l l a ma d o s p g i n a s . L a s p g i n a s s o n l au n i d a dd ei n t e r c a mb i od ed a t o s e n t r ee l a r c h i v oe n d i s c oy l ame mo r i a ; c u a n d oe l s e r v i d o r n e c e s i t ad a t o s t i e n eq u ec a r g a r u n ap g i n a e n t e r aal ame mo r i a . E s t a s p g i n a s s ema n t i e n e n e n l ame mo r i ap o r u n t i e mp o , d ema n e r aq u ee s t n r p i d a me n t ed i s p o n i b l e s s i s es o l i c i t a n n u e v a me n t e . L ad i v i s i n e n p g i n a s e s v l i d at a n t op a r ad a t o s c o mop a r al o s n d i c e s . E l t a ma op o r d e f e c t od e1 0 2 4b y t e s e s mu y c o n s e r v a d o r d eme mo r i a ; e n l o s s i s t e ma s a c t u a l e s , s ea l c a n z au n r e n d i mi e n t omu c h oma y o r u s a n d op g i n a s d e 4 0 9 6b y t e s om s ( I n t e r b a s es o p o r t ah a s t ap g i n a s d e8 1 9 2b y t e s ; F i r e b i r d , 1 6 3 8 4b y t e s ) . Mi e n t r a s m s g r a n d e s l a s p g i n a s , m s me mo r i as eu s a r e n e l s e r v i d o r p e r os e r n n e c e s a r i a s me n o s l e c t u r a s d ed i s c o . E l p u n t o p t i moe s u n c o mp r o mi s oe n t r el o s r e c u r s o s u s a d o s y e l r e n d i mi e n t on e c e s a r i op a r al a a p l i c a c i n e n c o n s i d e r a c i n . w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
a p l i c a c i n e n c o n s i d e r a c i n .
3 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y P A G E _ S I Z E4 0 9 6F I L E c : \ E MP L E A D O S 2 . G D B S T A R T I N GA TP A G E1 0 0 0 1 ;
4 . C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y D E F A U L TC H A R A C T E RS E T' I S O 8 8 5 9 _ 1 ' ;
E s t a l t i mas e n t e n c i ae s p e c i f i c au n j u e g od ec a r a c t e r e s p o r d e f e c t op a r al a B a s ed eD a t o s .
E l j u e g od ec a r a c t e r e s E l j u e g od ec a r a c t e r e s d eu n ab a s ed ed a t o s d e t e r mi n al o s c a r a c t e r e s au s a r e n l a s c o l u mn a s d et i p oC H A R , V A R C H A RoB L O Bs u b t i p o1 . L i g a d oa l j u e g o d ec a r a c t e r e s e s t a r t a mb i n e l t a ma od ea l ma c e n a mi e n t o , y aq u ep o r e j e mp l oe l j u e g oU N I C O D E _ F S St i e n ec a r a c t e r e s q u eo c u p a n 1b y t ey o t r o s q u eo c u p a n h a s t a3b y t e s . T a mb i n a c t ae n e l o r d e n a mi e n t o( c o l l a t i o n o r d e r ) y d e t e r mi n al a s t r a n s f o r ma c i o n e s q u es ep u e d e n h a c e r e n t r ed i s t i n t o s j u e g o s d ec a r a c t e r e s ( t r a n s l i t e r a t i o n ) . P a r av e r l o s d i s t i n t o s j u e g o s d ec a r a c t e r e s y l a s e s p e c i f i c a c i o n e s d eo r d e n a mi e n t o( c o l l a t i o n o r d e r s ) d i s p o n i b l e s , p o d e mo s i n t e r r o g a r al a s t a b l a s d es i s t e ma :
S E L E C TR D B $ C H A R A C T E R _ S E T _ N A ME , R D B $ C H A R A C T E R _ S E T _ I D F R O MR D B $ C H A R A C T E R _ S E T S O R D E RB YR D B $ C H A R A C T E R _ S E T _ N A ME ;
S E L E C TR D B $ C O L L A T I O N _ N A ME , R D B $ C H A R A C T E R _ S E T _ I D F R O MR D B $ C O L L A T I O N S O R D E RB YR D B $ C O L L A T I O N _ N A ME ;
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 5 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S E L E C Tc s . R D B $ C H A R A C T E R _ S E T _ N A ME , c o . R D B $ C O L L A T I O N _ N A ME F R O MR D B $ C H A R A C T E R _ S E T Sc s l e f t j o i n R D B $ C O L L A T I O N S c oo n c s . R D B $ C H A R A C T E R _ S E T _ I D = c o . R D B $ C H A R A C T E R _ S E T _ I D O R D E RB Yc s . R D B $ C H A R A C T E R _ S E T _ N A ME ;
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
R D B $ C H A R A C T E R _ S E T _ N A ME| R D B $ C O L L A T I O N _ N A ME A S C I I | A S C I I B I G _ 5| B I G _ 5 C Y R L| D B _ R U S | P D O X _ C Y R L | C Y R L D O S 4 3 7| D B _ U K 4 3 7 | D B _ U S 4 3 7 | D B _ F R A 4 3 7 | D B _ I T A 4 3 7 | D B _ N L D 4 3 7 | D B _ S V E 4 3 7 | D B _ F I N 4 3 7 | D B _ E S P 4 3 7 | D B _ D E U 4 3 7 | P D O X _ A S C I I | P D O X _ I N T L | P D O X _ S WE D F I N | D O S 4 3 7 D O S 8 5 0| D B _ U K 8 5 0 | D B _ U S 8 5 0 | D B _ F R A 8 5 0 | D B _ I T A 8 5 0 | D B _ P T B 8 5 0 | D B _ F R C 8 5 0 | D B _ N L D 8 5 0 | D B _ S V E 8 5 0 | D B _ E S P 8 5 0 | D B _ D E U 8 5 0 | D O S 8 5 0 D O S 8 5 2| D B _ P L K | D B _ S L O | D B _ C S Y | P D O X _ C S Y | P D O X _ H U N | P D O X _ P L K | P D O X _ S L O | D O S 8 5 2 D O S 8 5 7| D B _ T R K | D O S 8 5 7 D O S 8 6 0| D B _ P T G 8 6 0 | D O S 8 6 0 D O S 8 6 1| P D O X _ I S L | D O S 8 6 1 D O S 8 6 3| D B _ F R C 8 6 3 | D O S 8 6 3 D O S 8 6 5| D B _ D A N 8 6 5 | D B _ N O R 8 6 5 | P D O X _ N O R D A N 4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
| D O S 8 6 5 E U C J _ 0 2 0 8| E U C J _ 0 2 0 8 G B _ 2 3 1 2| G B _ 2 3 1 2 I S O 8 8 5 9 _ 1| D A _ D A | D E _ D E | F I _ F I | E N _ U K | E N _ U S | N O _ N O | F R _ C A | F R _ F R | E S _ E S | I S _ I S | I S O 8 8 5 9 _ 1 | I T _ I T | P T _ P T | D U _ N L | S V _ S V I S O 8 8 5 9 _ 2| C S _ C Z | I S O 8 8 5 9 _ 2 K S C _ 5 6 0 1| K S C _ 5 6 0 1 | K S C _ D I C T I O N A R Y N E X T| N E X T | N X T _ D E U | N X T _ F R A | N X T _ E S P | N X T _ U S | N X T _ I T A N O N E| N O N E O C T E T S| O C T E T S S J I S _ 0 2 0 8| S J I S _ 0 2 0 8 | | |
| | | | |
| | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
5 4 / 1 4 7
U N I C O D E _ F S S| U N I C O D E _ F S S WI N 1 2 5 0| WI N 1 2 5 0 | P X W_ P L K | P X W_ S L O V | P X W_ C S Y | P X W_ H U N | P X W_ H U N D C WI N 1 2 5 1| WI N 1 2 5 1 | P X W_ C Y R L WI N 1 2 5 2| WI N 1 2 5 2 | P X W_ I N T L | P X W_ I N T L 8 5 0 | P X W_ N O R D A N 4 | P X W_ S P A N | P X W_ S WE D F I N WI N 1 2 5 3| WI N 1 2 5 3 | P X W_ G R E E K WI N 1 2 5 4| WI N 1 2 5 4
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
| P X W_ T U R K
S ep u e d e n a g r e g a r e s p e c i f i c a c i o n e s d eo r d e n a mi e n t o , l oq u es e d e n o mi n as e c u e n c i a s d eo r d e n a mi e n t ooc o l l a t i o n s . L a s s e c u e n c i a s d e o r d e n a mi e n t os ei mp l e me n t a n e n F i r e b i r dc o mof u n c i o n e s e n l i b r e r a s e x t e r n a s ( . d l l e n Wi n d o w s , . s oe n L i n u x ) . E n e l s i t i ow e bw w w . i b c o l l a t i o n s . c o ms ep u e d e e n c o n t r a r u n ar e f e r e n c i ay u n al i b r e r ad ee j e mp l oq u ei mp l e me n t av a r i a s s e c u e n c i a s .
Mo d i f i c a c i n d eu n ab a s ed ed a t o s P a r amo d i f i c a r u n ab a s ed ed a t o s e x i s t e n t es eu t i l i z al as e n t e n c i aA L T E R D A T A B A S E :
A L T E R{ D A T A B A S E| S C H E MA } A D D< a d d _ c l a u s e > ;
L as e n t e n c i ad e l e j e mp l oa g r e g a r u n a r c h i v ol l a ma d o e mp l e a d o s 2 . g d b , q u e c o me n z a r ap a r t i r d el ap g i n a1 0 0 0 1( s i y ah a b am s p g i n a s q u ee s a s , c o me n z a r ac o n t i n u a c i n d el a l t i mae x i s t e n t e ) y d e s p u s d e1 0 0 0 0p g i n a s s e g u i r c o l o c a n d od a t o s e n u n t e r c e r a r c h i v ol l a ma d o e mp l e a d o s 3 . g d b .
B o r r a d od eu n ab a s ed ed a t o s P a r ab o r r a ru n ab a s ed ed a t o s ( e l i mi n a n d oe l a r c h i v of s i c o ) s eu t i l i z aD R O P D A T A B A S Es i n p a r me t r o s :
D R O PD A T A B A S E ;
H a y q u ee s t a r c o n e c t a d oal ab a s ed ed a t o s a n t e s d eb o r r a r l a .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
T a b l a s
L a s t a b l a s s o n l a s e s t r u c t u r a s b s i c a s q u et i e n e n q u ee s t a r p r e s e n t e s e n n u e s t r ab a s ed ed a t o s . Q u e s u n ab a s ed ed a t o s s i n d a t o s ?E n t o n c e s , v e a mo s l a s p o s i b i l i d a d e s q u en o s b r i n d aI n t e r b a s ep a r al ad e f i n i c i n d et a b l a s , y c mop l a s ma r l a s e n S Q L .
C r e a c i n d eu n at a b l a L as e n t e n c i aC R E A T ET A B L Es eu t i l i z ap a r ad e f i n i r l ae s t r u c t u r ad eu n at a b l a . L as i n t a x i s g e n e r a l e s l as i g u i e n t e :
E n e s e n c i a , l oq u ee s p e r ae s t as e n t e n c i ae s e l n o mb r ed el at a b l a q u ed e b e s e r n i c oe n t r el a s t a b l a s y p r o c e d i mi e n t o s d el ab a s ed ed a t o s y u n al i s t a d ec o l u mn a s or e s t r i c c i o n e s an i v e l d et a b l a , e n t r ep a r n t e s i s y s e p a r a d a s p o r c o ma s . O p c i o n a l me n t es ep u e d ee s p e c i f i c a r q u el o s d a t o s d el at a b l as e g u a r d e n e n u n a r c h i v oe x t e r n o . V e a mo s , c o moa n t e s , l o s d i s t i n t o s e l e me n t o s d el as i n t a x i s c o n e j e mp l o s p r o g r e s i v o s :
1 .C R E A T ET A B L EE J E MP L O 1( C A MP O 1i n t e g e r ) ;
E s t as e n t e n c i ac r e au n at a b l al l a ma d aE J E MP L O 1c o n u n s o l oc a mp od et i p o e n t e r ol l a ma d oC A MP O 1 . H a y a l g u n a s c o s a s p a r an o t a r a q u :
T i p o s d ed a t o s s o p o r t a d o s p o r F i r e b i r d L a s c o l u mn a s d eu n at a b l aa l ma c e n a n d a t o s d eu n s o l ot i p o , q u ed e b es e r e s p e c i f i c a d oe n l ad e c l a r a c i n d el at a b l a . L o s t i p o s d ed a t o s s o p o r t a d o s p o r e l s e r v i d o r F i r e b i r d1 . 0s o n l o s s i g u i e n t e s :
< d a t a t y p e >=
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 5 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
{ S MA L L I N T| I N T E G E R| F L O A T| D O U B L EP R E C I S I O N } [ < a r r a y _ d i m> ] | ( D A T E| T I ME| T I ME S T A MP } [ < a r r a y _ d i m> ] | { D E C I MA L| N U ME R I C } [ ( p r e c i s i o n [ , s c a l e ] ) ] [ < a r r a y _ d i m> ] | { C H A R| C H A R A C T E R| C H A R A C T E RV A R Y I N G| V A R C H A R } [ ( i n t ) ] [ < a r r a y _ d i m> ] [ C H A R A C T E RS E Tc h a r n a me ] | { N C H A R| N A T I O N A LC H A R A C T E R| N A T I O N A LC H A R } [ V A R Y I N G ] [ ( i n t ) ] [ < a r r a y _ d i m> ] | B L O B[ S U B _ T Y P E{ i n t | s u b t y p e _ n a me } ] [ S E G ME N TS I Z Ei n t ] [ C H A R A C T E RS E Tc h a r n a me ] | B L O B[ ( s e g l e n [ , s u b t y p e ] ) ]
< a r r a y _ d i m>=[ [ x : ] y [ , [ x : ] y ] ]
N o mb r e| T i p o| T a ma or e a l | R a n g o| | S MA L L I N T| N me r oe n t e r o| 2b y t e s | 3 2 7 6 8 . . 3 2 7 6 7| I N T E G E R| N me r oe n t e r o| 4b y t e s | 2 1 6 . . 2 1 6 1| I N T 6 4oB I G I N T| N me r oe n t e r o| 8b y t e s | 2 3 2 . . 2 3 2 1| | F L O A T| N me r or e a l ||| D O U B L EP R E C I S I O N| N me r or e a l ||| D E C I MA L ( n , p ) [ E C 1 0 ] | N me r or e a l : n d g i t o s , pd e c i ma l e s ||| N U ME R I C ( n , p ) | N me r or e a l : n d g i t o s , pd e c i ma l e s | E n d i a l e c t o3 , n < =1 8 . S i n > 1 5 , s ea l ma c e n ac o mou n I N T 6 4q u es ee s c a l amu l t i p l i c a n d oy d i v i d i e n d o p o r 1 0 ^ p|| | D A T E| F e c h a| 4b y t e s ( d o u b l ew o r d ) || T I ME| H o r a| 4b y t e s ( d o u b l ew o r d ) || T I ME S T A MP| F e c h ay h o r a| 8b y t e s || | C H A R ( n ) | C a r a c t e r e s , t a ma of i j o . M x i mon c a r a c t e r e s | Nb y t e s || V A R C H A R ( n ) | C a r a c t e r e s , t a ma ov a r i a b l e . M x i mon c a r a c t e r e s | N + 2b y t e s . L o s d o s p r i me r o s b y t e s a l ma c e n a n e l t a ma o|| | B L O Bs u b _ t y p e0| D a t o s b i n a r i o s a r b i t r a r i o s ||| B L O Bs u b _ t y p e1| C a r a c t e r e s , s i n l mi t ed et a ma o( Me mo ) |||
C o n d i c i o n e s p a r al o s c a mp o s V e a mo s u n e j e mp l or e a l , o b t e n i d od el ab a s ed ed a t o s d e e j e mp l oe mp l o y e e . g d bq u es ei n s t a l ac o n F i r e b i r d [ 9 ] : C R E A T ET A B L EC U S T O ME R( C U S T _ N OI N T E G E RN O TN U L L , C U S T O ME RV A R C H A R ( 2 5 ) N O TN U L L , C O N T A C T _ F I R S TV A R C H A R ( 1 5 ) , C O N T A C T _ L A S TV A R C H A R ( 2 0 ) , P H O N E _ N OV A R C H A R ( 2 0 ) , A D D R E S S _ L I N E 1V A R C H A R ( 3 0 ) , w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z A D D R E S S _ L I N E 1V A R C H A R ( 3 0 ) ,
A D D R E S S _ L I N E 2V A R C H A R ( 3 0 ) , C I T YV A R C H A R ( 2 5 ) , S T A T E _ P R O V I N C EV A R C H A R ( 1 5 ) , C O U N T R YV A R C H A R ( 1 5 ) , P O S T A L _ C O D EV A R C H A R ( 1 2 ) , O N _ H O L DC H A R ( 1 ) D E F A U L TN U L L , P R I MA R YK E Y( C U S T _ N O ) ) ;
C a mp o s c a l c u l a d o s S ep u e d e n d e c l a r a r c a mp o s c a l c u l a d o s e n e l s e r v i d o r , i n d i c a n d ol af r mu l ad e c l c u l oe n f u n c i n d eo t r o s c a mp o s d el at a b l a . P o r e j e mp l o , l as i g u i e n t e d e f i n i c i n e s v l i d a :
C R E A T ET A B L EC L I E N T E S( I D _ C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 3 0 ) N O TN U L L , A P E L L I D OV A R C H A R ( 3 0 ) N O TN U L L , N O MB R E C O MP L E T OC O MP U T E DB Y( A P E L L I D O| | ' , ' | | N O MB R E ) ) ;
S ep u e d e n u s a r f u n c i o n e s e s t n d a r d eS Q Ly / of u n c i o n e s e x t e r n a s ( U D F ) , e n c e r r a n d ol ae x p r e s i n c o mp l e t ae n t r ep a r n t e s i s . E l t i p od ed a t o s d el a c o l u mn ac a l c u l a d as ea s i g n aa u t o m t i c a me n t e , e n b a s eal ae x p r e s i n d e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
5 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z c o l u mn ac a l c u l a d as ea s i g n aa u t o m t i c a me n t e , e n b a s eal ae x p r e s i n d e
c l c u l o . V e a mo s o t r o s e j e mp l o s :
C o l u mn aq u ec a l c u l al af e c h ad ec u mp l e a o s d e l a oa c t u a l e n b a s eal af e c h a d en a c i mi e n t o C R E A T ET A B L EF E C H A S ( I DI N T E G E R , F E C H A N A CD A T E , F E C H A C U MP L EC O MP U T E DB Y( e x t r a c t ( y e a r f r o mc u r r e n t _ d a t e ) | | ' ' | | e x t r a c t ( mo n t h f r o mF e c h a N a c ) | | ' ' | | e x t r a c t ( d a y f r o mF e c h a N a c ) ) ) ; E n e s t e l t i moe j e mp l oh a b r aq u et e n e r c u i d a d oc o n l o s a o s b i s i e s t o s : s i l a f e c h ad en a c i mi e n t oc a eu n 2 9d ef e b r e r o , e n t o d o s l o s a o s q u en of u e r a n b i s i e s t o s s eg e n e r a r au n e r r o r . E s t oe s a s p o r q u el ac o l u mn a F E C H A C U MP L Es ec o n s i d e r ac o mod et i p oD A T E , p o r e l f o r ma t oe s p e c i a l q u el ed i mo s . P o d e mo s e v i t a r e l p r o b l e mau s a n d oc a s t : C R E A T ET A B L EF E C H A S 2 ( I DI N T E G E R , F E C H A N A CD A T E , F E C H A C U MP L EC O MP U T E DB Y( c a s t ( e x t r a c t ( y e a r f r o mc u r r e n t _ d a t e ) | | ' ' | | e x t r a c t ( mo n t h f r o mF e c h a N a c ) | | ' ' | | e x t r a c t ( d a y f r o mF e c h a N a c ) a s c h a r ( 1 0 ) ) ) ) ;
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z [ O NU P D A T E{ N OA C T I O N | C A S C A D E | S E TD E F A U L T | S E TN U L L } ]
| C H E C K( < c o n d i c i o n > ) }
C o mov e mo s , s o n c a s i i g u a l e s ; d eh e c h o , l o n i c oq u ev a r ae s l as i n t a x i s , l a s r e s t r i c c i o n e s s o n l a s mi s ma s . A c t u a l me n t es es o p o r t a n l o s s i g u i e n t e s c u a t r o t i p o s :
C H E C K( c o n d i c i n ) : v a l i d a c i n . n i c a me n t es ep e r mi t i r e l i n g r e s od e l r e g i s t r oe n l ab a s ed ed a t o s s i l ac o n d i c i n s ec u mp l e .
U n e j e mp l od er e s t r i c c i o n e s d ec o l u mn a : C R E A T ET A B L EC L I E N T E S( N R O C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 5 0 ) N O TN U L L , I D P O B L A C I O NI N T E G E R w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
6 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
I D P O B L A C I O NI N T E G E R R E F E R E N C E SP O B L A C I O N E S ( I D P O B L A C I O N ) ) ; N o t e mo s q u ee n e l c a mp oI D P O B L A C I O Nn of u en e c e s a r i os i q u i e r a e s p e c i f i c a r q u es et r a t a b ad eu n ac l a v ee x t e r n a( f o r e i g n k e y ) .
C a mp o 1I N T E G E R [ 4 , 3 ]
e s t a mo s d e c l a r a n d ou n ama t r i z d e4x 3e n t e r o s , q u es ea c c e d e r n c o n e l n o mb r ed e l c a mp os e g u i d od el o s c o r r e s p o n d i e n t e s n d i c e s e n t r ec o r c h e t e s . L a s ma t r i c e s p u e d e n s e r mu l t i d i me n s i o n a l e s : s i mp l e me n t ee s c r i b at o d a s l a s d i me n s i o n e s s e p a r a d a s c o n c o ma s , e n t r el o s c o r c h e t e s .
Mo d i f i c a c i n d el ae s t r u c t u r ad eu n at a b l a S ep u e d emo d i f i c a r l ae s t r u c t u r ad eu n at a b l ay ac r e a d ad e n t r od ec i e r t o s l mi t e s u s a n d ol ai n s t r u c c i n A l t e r t a b l e . L as i n t a x i s c o mp l e t ae s l as i g u i e n t e :
d o n d e< o p e r a c i n >e s u n ac o n s t r u c c i n d el as i g u i e n t ef o r ma : < o p e r a c i n >={ A D D< d e f i n i c i n _ d e _ c o l u mn a > | A D D< r e s t r i c c i n _ d e _ t a b l a > | A L T E R[ C O L U MN ] n o mb r e _ c o l u mn a< c l u s u l a _ d e _ c o l u mn a _ a l t e r n a t i v a > | D R O Pc o l u mn a | D R O PC O N S T R A I N Tr e s t r i c c i n }
< c l u s u l a _ d e _ c o l u mn a _ a l t e r n a t i v a>={ T On u e v o _ n o mb r e _ c o l u mn a | T Y P En u e v o _ t i p o _ d e _ d a t o s | P O S I T I O Nn u e v a _ p o s i c i n }
v e r e mo s l a s d i s t i n t a s o p c i o n e s p o r s e p a r a d op a r an oc o n f u n d i r n o s . P o r e j e mp l o , s i t e n e mo s l at a b l ad ec l i e n t e s q u ev i mo s a n t e s C R E A T ET A B L EC L I E N T E S( N R O C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 5 0 ) N O TN U L L ) ;
A L T E RT A B L EC L I E N T E S A D DD I R E C C I O NV A R C H A R ( 1 0 0 ) , A D DT E L E F O N OV A R C H A R ( 5 0 ) ;
A h o r a , n o t a mo s q u el ac o l u mn aN O MB R Ee s mu y c o r t ap a r al o s d a t o s q u e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
6 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
A h o r a , n o t a mo s q u el ac o l u mn aN O MB R Ee s mu y c o r t ap a r al o s d a t o s q u e d e b e mo s i n t r o d u c i r ; p o d e mo s c a mb i a r l ah a c i e n d o
A L T E RT A B L EC L I E N T E S A L T E RC O L U MNN O MB R ET Y P Ev a r c h a r ( 1 0 0 ) ;
I g u a l me n t e , s i q u e r e mo s c a mb i a r l ee l n o mb r eau n ac o l u mn a
A L T E RT A B L EC L I E N T E S A L T E RC O L U MNN R O C L I E N T ET ON R O _ C L I E N T E ;
L omi s moc o n l ap o s i c i n d el a s c o l u mn a s . E n r e a l i d a da l s e r v i d o r l ei mp o r t a mu y p o c ol ap o s i c i n q u et e n g au n ac o l u mn ad e n t r od eu n at a b l a , p o r l oq u ee s m s b i e n u n ac u e s t i n e s t t i c a .
A L T E RT A B L EC L I E N T E S D R O PN O MB R E , A D DN O MB R EV A R C H A R ( 1 0 0 ) N O TN U L L ;
P a r ac a mb i a r l o s a t r i b u t o s d eu n ac o l u mn amu c h a s v e c e s e s n e c e s a r i ob o r r a r d i c h ac o l u mn ay c r e a r l ad en u e v oc o n l o s a t r i b u t o s d e s e a d o s . E s t aa c c i n p o r s u p u e s t oq u ec o n l l e v a l ae l i mi n a c i n d el o s d a t o s d el a c o l u mn ao r i g i n a l ! L ap r c t i c ac o m n e n e s t o s c a s o s e s l as i g u i e n t e :
* c r e a r u n ac o l u mn at e mp o r a l c o n l o s n u e v o s a t r i b u t o s * c o p i a r l o s d a t o s d el ac o l u mn aa n t e r i o r al at e mp o r a l * b o r r a r l ac o l u mn aa n t e r i o r * c r e a r l ac o l u mn an u e v ac o n l o s a t r i b u t o s n u e v o s * c o p i a r l o s d a t o s d el ac o l u mn at e mp o r a l al an u e v a * b o r r a r l ac o l u mn at e mp o r a l
B o r r a d od eu n at a b l ac o mp l e t a
S ep u e d ee l i mi n a r u n at a b l ac o mp l e t au s a n d ol as e n t e n c i aD r o pT a b l e . L a
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
s i n t a x i s e s mu y s i mp l e :
D R O PT A B L EN o mb r e _ T a b l a
E s t ao p e r a c i n b o r r a r t o d o s l o s d a t o s d el at a b l a ; s e l oc o n mu c h oc u i d a d o !
D o mi n i o s
C R E A T ED O MA I NN O MB R E S D E P E R S O N A SA SV A R C H A R ( 4 0 ) ;
T a mb i n s ep u e d e n i n c l u i r r e s t r i c c i o n e s e n l o s d o mi n i o s :
E s t a s r e s t r i c c i o n e s s ea p l i c a r n e n t o d a s l a s c o l u mn a s d e f i n i d a s c o n e s t e d o mi n i o .
Mo d i f i c a c i n d ed o mi n i o s ? ? ?h a y a l g u n ai n s t r u c c i o n p a r ae s t o ?
B o r r a d od ed o mi n i o s P a r ae l i mi n a r d i r e c t a me n t eu n d o mi n i o , F i r e b i r di mp l e me n t al as e n t e n c i aD r o p D o ma i n
D R O PD O MA I NN o mb r e _ D o mi n i o
I n d i c e s L o s n d i c e s s o n e s t r u c t u r a s a u x i l i a r e s q u eu t i l i z ae l s e r v i d o r p a r ao p t i mi z a r l a s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C r e a r u n n d i c e
C R E A T EI N D E X
Mo d i f i c a r u n n d i c e
A L T E RI N D E X
B o r r a r u n n d i c e
D R O PI N D E X
R e s t r i c c i o n e s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
6 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P K
U Q
F K
C h e c k
N o t N u l l
G e n e r a d o r e s
G e n _ i d ( n o mb r e _ g e n e r a d o r , i n c r e me n t o ) : b i g i n t
N o mb r e _ g e n e r a d o r e s e l n o mb r ed e l g e n e r a d o r I n c r e me n t oe s u n n me r oe n t e r oq u es es u ma r a l v a l o r a c t u a l a n t e s d e d e v o l v e r e l r e s u l t a d o .
E s t af u n c i n s eu t i l i z amu c h oe n t r i g g e r s p a r ag e n e r a r a u t o m t i c a me n t ee l v a l o r d eu n ac o l u mn ad ec l a v ep r i ma r i a , p o r e j e mp l o :
C r e a r u n g e n e r a d o r
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L as e n t e n c i ap a r ac r e a r u n g e n e r a d o r e s mu y s i mp l e :
C R E A T EG E N E R A T O Rn o mb r e _ g e n e r a d o r ;
E l g e n e r a d o r s ec r e ac o n v a l o r 0( c e r o ) .
Mo d i f i c a r u n g e n e r a d o r S ep u e d emo d i f i c a r e l v a l o r d eu n g e n e r a d o r , p a r aq u ec o mi e n c eag e n e r a r n me r o s ap a r t i r d ea h :
B o r r a r u n g e n e r a d o r D r o pg e n e r a t o r ( F B )
E x c e p c i o n e s
D e f i n i r e x c e p c i o n e s C r e a t ee x c e p t i o n
Mo d i f i c a r e x c e p c i o n e s ? ? ?
B o r r a r e x c e p c i o n e s D r o pe x c e p t i o n
( 1 . 5 ) E n l av e r s i n 1 . 5d eF i r e b i r ds ea g r e g al ap o s i b i l i d a dd ec a mb i a r e l me n s a j ed el ae x c e p c i n a l mo me n t od el a n z a r l a . V e r e mo s e s t ac a r a c t e r s t i c a c u a n d oh a b l e mo s l u e g os o b r eP r o c e d i mi e n t o s A l ma c e n a d o s y T r i g g e r s .
P r o g r a ma c i n d e l s e r v i d o r
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
( i n s e r t , u p d a t e , d e l e t e ) .
S c r i p t s
E l s e r v i d o r F i r e b i r dp e r mi t ee j e c u t a r u n as e r i ed ei n s t r u c c i o n e s s e g u i d a s , o b t e n i d a s d eu n a r c h i v od et e x t os i mp l e . E s t as e c u e n c i ad ei n s t r u c c i o n e s s e d e n o mi n as c r i p t . C a d ai n s t r u c c i n d e l s c r i p t d e b et e r mi n a r e n u n s mb o l oe s p e c i a l l l a ma d ot e r mi n a d o r . P o r d e f e c t oe s t es mb o l oe s e l p u n t oy c o ma( ; ) p e r o p u e d ec a mb i a r s ec o n l ai n s t r u c c i n S E TT E R M. P o r e j e mp l o , s i u n s c r i p t c o n t i e n el al n e a
S E TT E R M! ;
S E TT E R M; !
P a r ae j e c u t a r u n s c r i p t e n i s q l h a c e mo s I N P U T< n o mb r e _ d e l _ a r c h i v o > ;
V e r e mo s a l g u n o s e j e mp l o s ac o n t i n u a c i n , c u a n d oe s c r i b a mo s T r i g g e r s y P r o c e d i mi e n t o s A l ma c e n a d o s . P e r oa n t e s , r e p a s e mo s a l g u n a s o t r a s i n s t r u c c i o n e s d emu c h ou s oe n s c r i p t s :
S E TN A ME S< j u e g o _ d e _ c a r a c t e r e s > ; I n d i c aa l c o mp i l a d o r q u el ac o n e x i n s eh a r u t i l i z a n d op o r d e f e c t oe l j u e g od e c a r a c t e r e s d a d o . D e b ee mi t i r s ea n t e s d ea b r i r l ac o n e x i n .
C O N N E C T' < c a d e n a _ d e _ c o n e x i n > ' U S E R' < n o mb r e _ u s u a r i o > ' P A S S WO R D ' < c l a v e _ d e _ c o n e x i n > ' ; A b r el ac o n e x i n al ab a s ed ed a t o s d a d ap o r l ac a d e n ad ec o n e x i n , c o n e l u s u a r i oy l ac l a v ei n d i c a d a s .
C O MMI TWO R K ; A c e p t al o s c a mb i o s r e a l i z a d o s e n l ab a s ed ed a t o s h a s t ae s al n e a .
P r o c e d i mi e n t o s a l ma c e n a d o s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P a r ac r e a r u n p r o c e d i mi e n t oa l ma c e n a d os eu s al as e n t e n c i aC R E A T E P R O C E D U R E :
C R E A T EP R O C E D U R En o mb r e [ ( p a r a me t r o< t i p o _ d e _ d a t o s >[ , p a r a me t r o< t i p o _ d e _ d a t o s >] ) ] [ R E T U R N S< t i p o _ d e _ d a t o s >[ , p a r a me t r o< t i p o _ d e _ d a t o s >] ) ] A S< c u e r p o _ d e l _ p r o c e d i mi e n t o >[ t e r mi n a d o r ]
B i e n , v e a mo s a l g u n o s e j e mp l o s p a r ae n t e n d e r e s t as i n t a x i s . D i v i d i r al o s p r o c e d i mi e n t o s e n d o s t i p o s g e n e r a l e s : p r o c e d i mi e n t o s d ea c c i n y p r o c e d i mi e n t o s d es e l e c c i n . N os s i e s t ae s l ad e n o mi n a c i n ' o f i c i a l ' , p e r o n o s s e r v i r p a r ae s t u d i a r l o s .
P r o c e d i mi e n t o s d ea c c i n L o s p r o c e d i mi e n t o s d ea c c i n s o n a q u e l l o s q u en od e v u e l v e n u n c u r s o r , s o l a me n t ee j e c u t a n a l g u n a s a c c i o n e s s o b r el o s d a t o s . P o r e j e mp l o , p o d e mo s h a c e r u n p r o c e d i mi e n t oq u ea c t u a l i c eu n at a b l ad ea u d i t o r a :
S E TS Q LD I A L E C T3 ;
S E TT E R M! ;
C R E A T EP R O C E D U R ES P _ A U D I T O R I A A S B E G I N I N S E R TI N T OA U D I T O R I A( I D , F E C H A , U S U A R I O ) V A L U E S ( G E N _ I D ( G E N A U D I T O R I A , 1 ) , C U R R E N T _ D A T E , C U R R E N T _ U S E R ) ; w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
6 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z ( G E N _ I D ( G E N A U D I T O R I A , 1 ) , C U R R E N T _ D A T E , C U R R E N T _ U S E R ) ;
E N D !
C O MMI TWO R K !
S E TT E R M; !
E s d e c i r , t e n e mo s e l c o mi e n z od eu n p r o c e d i mi e n t oa l ma c e n a d op e r on os u f i n a l ( l ap a l a b r aE N D ) . E s t op r o v o c au n e r r o r d ec o mp i l a c i n . P o r l ot a n t o , e s i mp r e s c i n d i b l ec a mb i a r d es mb o l ot e r mi n a d o r a n t e s d el ad e f i n i c i n d e l p r o c e d i mi e n t o . * O t r od e t a l l eac o n s i d e r a r e s l au t i l i z a c i n d el af u n c i n g e n _ i dp a r ao b t e n e r e l s i g u i e n t ev a l o r d e l g e n e r a d o r G e n A u d i t o r i a . E s t oe s mu y c o m n e n l a p r o g r a ma c i n d ep r o c e d i mi e n t o s a l ma c e n a d o s . * L av a r i a b l eC u r r e n t _ D a t ec o n t i e n el af e c h aa c t u a l ( d et i p oD A T E ) , d i s p o n i b l e n i c a me n t ee n d i a l e c t o3 . * L av a r i a b l eC u r r e n t _ U s e r c o n t i e n ee l u s u a r i oa u t e n t i c a d oe n e l s e r v i d o r ( d i a l e c t o3 ) .
E n l o s p r o c e d i mi e n t o s s ep u e d e n u s a r l a s s e n t e n c i a s S Q Lc o mu n e s , a d e m s d ea l g u n a s e x t e n s i o n e s e s p e c i a l e s .
T r i g g e r s
L o s t r i g g e r s od i s p a r a d o r e s s o n p r o c e d i mi e n t o s q u es ep r o g r a ma n e n e l s e r v i d o r , e n e l l e n g u a j ee s p e c i a l d e l s e r v i d o r . E s t o s p r o c e d i mi e n t o s s e e j e c u t a n a u t o m t i c a me n t ec u a n d os ec u mp l eu n aa c c i n d e t e r mi n a d a . H a y s e i s p o s i b i l i d a d e s : B e f o r eI n s e r t : d ep r o d u c ea n t e s d ei n s e r t a r u n r e g i s t r o A f t e r I n s e r t : d e s p u s d ei n s e r t a r u n r e g i s t r o B e f o r e/ A f t e r U p d a t e : a n t e s / d e s p u s d ea c t u a l i z a r u n r e g i s t r o B e f o r e/ A f t e r D e l e t e : a n t e s / d e s p u s d eb o r r a r u n r e g i s t r o
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 6 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F i r e b i r da c e p t am s d eu n t r i g g e r p a r ac a d ae v e n t o ; a l c r e a r l o s s el e s a s i g n a u n n me r od eo r d e n q u es es e g u i r a l mo me n t od ee j e c u t a r l o s . A d e m s , e n F i r e b i r d1 . 5s ea g r e g al ap o s i b i l i d a dd ed e f i n i r t r i g g e r s p o l i v a l e n t e s , p a r am s d eu n e v e n t o . H a b l a r e mo s d ee l l o s m s a d e l a n t e .
F u n c i o n e s d e l u s u a r i o( U D F )
L i b r e r a s e s t n d a r d ef u n c i o n e s e x t e r n a s
C r e a r f u n c i o n e s e x t e r n a s e n D e l p h i
A c c e s od e s d eD e l p h i
B D E I B X D B X A D O I B O U I B
O p t i mi z a c i n
P l a n d ee j e c u c i n
C r e a c i n d e n d i c e s
S e l e c t i v i d a d
R e s t r i c c i o n e s d e c l a r a t i v a s v s . a c t i v a s
R e s t r i c c i n d el ac a n t i d a dd er e g i s t r o s at r a e r a l c l i e n t e
F u t u r o
[ 1 ] A c t u a l me n t es ee s t n h a c i e n d op r u e b a s c o n n u e v o s mo d e l o s o p t i mi z a d o s p a r ao t r a s t a r e a s c o moe s e l c a s od el a s B Dd i s t r i b u i d a s d eI n t e r n e t ol a s e s p e c f i c a me n t ed i s e a d a s p a r at r a b a j a r c o n a u d i oy v i d e o op a r ao t r a s e s t r u c t u r a s d ed a t o s , c o mos e r l o s o b j e t o s . [ 2 ] Ap a r t i r d el av e r s i n 1 . 5s eh ar e d u c i d oe l e s p e c t r od es i s t e ma s o p e r a t i v o s e n l o s q u ec o r r eF i r e b i r d ; s es i g u ea c t i v a me n t ee l d e s a r r o l l oe n l a s p l a t a f o r ma s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z e n l o s q u ec o r r eF i r e b i r d ; s es i g u ea c t i v a me n t ee l d e s a r r o l l oe n l a s p l a t a f o r ma s
C o n t e n i d o
F i r e b i r d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 I n t r o d u c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 D e s c r i p c i n y c a r a c t e r s t i c a s g e n e r a l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 A r q u i t e c t u r a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 S e r v i d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 C l i e n t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 B l o q u e o s , v e r s i o n e s y g e n e r a c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 O p e r a c i o n e s c o n m l t i p l e s t a b l a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 T r a n s a c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 C o n c u r r e n c i a1 : n i v e l e s d ea i s l a mi e n t od e t r a n s a c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 C o n c u r r e n c i a2 : mo d od eb l o q u e od eu n a t r a n s a c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 B l o q u e o s p e s i mi s t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 Ma n t e n e r e l c o n t e x t o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 I n t e g r i d a d r e f e r e n c i a l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 I n s t a l a c i n y p u e s t ae n w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
I n s t a l a c i n y p u e s t ae n ma r c h a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 D e s c a r g ad e s d e I n t e r n e t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 P r o b a r l a i n s t a l a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 I S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 H e r r a mi e n t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B S e r v e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B G u a r d i a n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 G b a k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 I B C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 E j e c u t a r s e n t e n c i a s S Q Le n I B C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 I B O C o n s o l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 I B _ S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 E l l e n g u a j ed e c o n s u l t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 S Q L S Q Ls o n l a s i n i c i a l e s d e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 C u r s o r e s v s c o n j u n t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 S e l e c c i n d er e g i s t r o s : S E L E C T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5 O r d e n e n l a s a l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 F i l t r a d o s y b s q u e d a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0 F e c h a s / H o r a s e n S Q L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 C r i t e r i o s d e s e l e c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 F u n c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 F u n c i o n e s d e a g r e g a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 S u b c o n s u l t a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 C o mp a r a c i n c o n e l r e s u l t a d od eu n a s u b c o n s u l t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 U n i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 C o n s u l t ad ev a r i a s t a b l a s r e l a c i o n a d a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 C r e a c i n , mo d i f i c a c i n y b o r r a d od e o b j e t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 L e n g u a j ed eD e f i n i c i n d eD a t o s ( D D L ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 B a s e s d e D a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 7 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C r e a c i n d eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 E l t a ma on oi mp o r t a( p e r d n , G o d z i l l a ! ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 P g i n a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 E l j u e g od e c a r a c t e r e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 Mo d i f i c a c i n d eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7 B o r r a d od eu n ab a s ed e d a t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 T a b l a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 C r e a c i n d eu n a t a b l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 N o mb r e s d e o b j e t o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9 T i p o s d ed a t o s s o p o r t a d o s p o r F i r e b i r d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9 C o n d i c i o n e s p a r al o s c a mp o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 0 C a mp o s c a l c u l a d o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1 R e s t r i c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Mo d i f i c a c i n d el ae s t r u c t u r ad eu n a t a b l a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 B o r r a d od eu n at a b l a c o mp l e t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 D o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 C r e a c i n d e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 Mo d i f i c a c i n d e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 B o r r a d od e d o mi n i o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 I n d i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 C r e a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 Mo d i f i c a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 B o r r a r u n n d i c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 R e s t r i c c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 P K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 U Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 F K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 C h e c k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 N o t N u l l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 G e n e r a d o r e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 7 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C r e a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 Mo d i f i c a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 B o r r a r u n g e n e r a d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 E x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 D e f i n i r e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 Mo d i f i c a r e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 B o r r a r e x c e p c i o n e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 P r o g r a ma c i n d e l s e r v i d o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 0 S c r i p t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 0 P r o c e d i mi e n t o s a l ma c e n a d o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 P r o c e d i mi e n t o s d e a c c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 T r i g g e r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 F u n c i o n e s d e l u s u a r i o ( U D F ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 L i b r e r a s e s t n d a r d ef u n c i o n e s e x t e r n a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 C r e a r f u n c i o n e s e x t e r n a s e n D e l p h i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 A c c e s od e s d e D e l p h i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 B D E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 I B X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 D B X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 A D O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 I B O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 U I B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 O p t i mi z a c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 P l a n d e e j e c u c i n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 C r e a c i n d e n d i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 S e l e c t i v i d a d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 R e s t r i c c i o n e s d e c l a r a t i v a s v s . a c t i v a s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 R e s t r i c c i n d el ac a n t i d a dd er e g i s t r o s at r a e r a l c l i e n t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 F u t u r o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5
I n t r o d u c c i n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
E l mu n d od el a s B a s e s d eD a t o s e s a n c h oy a j e n o , p a r a f r a s e a n d oau n e s c r i t o r mu y c o n o c i d o . E x i s t e n mu c h o s s i s t e ma s d e s t o s , c o n c a r a c t e r s t i c a s q u el o s d i s t i n g u e n u n o s d eo t r o s . N oo b s t a n t e , t o d o s c o mp a r t e n e l mi s mon c l e od e f u n c i o n a l i d a d , s u o b j e t i v ob s i c o : s i r v e n p a r aa l ma c e n a r y p r o c e s a r d a t o s , a v e c e s c a n t i d a d e s r e a l me n t eg r a n d e s . L a s d i f e r e n c i a s v i e n e n d e s p u s . C mos ea l ma c e n a n l o s d a t o s , q u t i p o s d e d a t o s p u e d e n c o n t e n e r , q u t a n a v a n z a d oe s e l l e n g u a j eq u ep e r mi t ec o n s u l t a r e s o s d a t o s , c a r a c t e r s t i c a s a v a n z a d a s p a r ao p t i mi z a r e l p r o c e s od eg r a n d e s c a n t i d a d e s d ed a t o s , p o r n o mb r a r u n a s p o c a s . A q u v e r e mo s s o l a me n t eu n o d ee s t o s s i s t e ma s e n r e a l i d a dd o s , y aq u es o n p r c t i c a me n t ei g u a l e s a u n q u e mer e f e r i r e v e n t u a l me n t eao t r o s s i s t e ma s p a r ah a c e r a l g u n a s c o mp a r a c i o n e s q u en o s p e r mi t a n s i t u a r n o s me j o r e n e l t e ma . E l s i s t e map r i n c i p a l q u ee s o b j e t i v od e l p r e s e n t es ed e n o mi n aF i r e b i r d , l i t e r a l me n t eP j a r od ef u e g o , e l F n i x q u er e n a c ed es u s c e n i z a s . N ot e n g o c o n f i r ma c i n o f i c i a l , p e r oc r e oq u ee l n o mb r es ee l i g i p o r l a s m l t i p l e s v i d a s q u eh at e n i d oe l p r o y e c t oI n t e r b a s e , q u ec u l mi n a r o n e n F i r e b i r d . L a s c a r a c t e r s t i c a s d ee s t eg e s t o r d ed a t o s s o n p r c t i c a me n t ei g u a l e s h a s t al a v e r s i n 1 . 0 al a s d eI n t e r b a s ed eB o r l a n de n s u v e r s i n 6 . 0 . Ye s q u eF i r e b i r d f u ec r e a d oap a r t i r d el o s f u e n t e s d eI n t e r b a s e6 . 0 , l i b e r a d o s p o r B o r l a n db a j o l i c e n c i aI P L . U n c o n j u n t od ee x c e l e n t e s y v o l u n t a r i o s o s p r o g r a ma d o r e s s e i mp u s ol at a r e ad el l e v a r a d e l a n t ee l g e s t o r d ed a t o s s i n c o s t o , a g r e g a n d oy me j o r a n d oc a r a c t e r s t i c a s . E n e s t o s mo me n t o s ( F e b r e r o2 0 0 3 ) y ae s t d i s p o n i b l el ab e t a2d el av e r s i n 1 . 5d eF i r e b i r d , q u ey as ea p a r t au n p o c od e I n t e r b a s ep r o v e y e n d oc a r a c t e r s t i c a s d i f e r e n c i a l e s t a n t oe n e l l e n g u a j ed e c o n s u l t ac o moe n l o s p r o c e s o s i n t e r n o s . P o r s u l a d o , B o r l a n ds i g u ea v a n z a n d ot a mb i n c o n I n t e r b a s e p e r oy an oe n f o r mag r a t u i t a . S eh a n l i b e r a d oy ad o s v e r s i o n e s m s d eI n t e r b a s e , 6 . 5y 7 . L a s me j o r a s y n u e v a s c a r a c t e r s t i c a s d ee s t a s v e r s i o n e s n oe s t n d i s p o n i b l e s e n F i r e b i r d , ot i e n e n o t r o s n o mb r e s y s i n t a x i s . B o r l a n dy at o mp a r t i d oe n c u a n t oa F i r e b i r d : n os ev aah a c e r n i n g n e s f u e r z op o r ma n t e n e r l ac o mp a t i b i l i d a d , n o s l od eI n t e r b a s es i n ot a mp o c oe n l o s c o mp o n e n t e s d ea c c e s od es u s h e r r a mi e n t a s d ed e s a r r o l l o . A s , p o r e j e mp l o , e l c o n t r o l a d o r D B E x p r e s s d e I n t e r b a s es o p o r t al a s c a r a c t e r s t i c a s n u e v a s d eI n t e r b a s e7p e r on ol a s d e F i r e b i r d1 . 5 . C u a n d oh a b l e mo s d el a s f o r ma s d ea c c e d e r p o r p r o g r a maa l s e r v i d o r n o s o c u p a r e mo s d ee s t o s p r o b l e ma s y l a s s o l u c i o n e s q u ee s t n a p a r e c i e n d o .
D e s c r i p c i n y c a r a c t e r s t i c a s g e n e r a l e s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
A r q u i t e c t u r a
F i r e b i r ds ec o mp o n ed ed o s p a r t e s : e l s e r v i d o r p r o p i a me n t ed i c h o , y e l c l i e n t e q u es ec o mu n i c ac o n l . S e r v i d o r E l s e r v i d o r e s l ap a r t eq u eh a c ee l t r a b a j o : a l ma c e n al o s d a t o s , l o s p r o c e s a , e j e c u t al o s p r o c e d i mi e n t o s a l ma c e n a d o s y a p l i c al a s v a l i d a c i o n e s . D e b ee x i s t i r u n op o r l ome n o s e n l ar e d . C l i e n t e E l c l i e n t ee s l ap a r t eq u es ee n c a r g ad el ac o mu n i c a c i n e n t r el a s a p l i c a c i o n e s y e l s e r v i d o r . Ma n e j al o s p r o t o c o l o s , e n v ay r e c i b ed a t o s , e n v ac o ma n d o s , e t c . E s u n ac a p am n i ma u n al i b r e r ad ee n l a c ed i n mi c o , a l g u n o s a r c h i v o s a u x i l i a r e s y e n t r a d a s e n e l r e g i s t r od es e r v i c i o s d e l s i s t e ma p e r on e c e s a r i a p a r al ac o mu n i c a c i n c o n e l s e r v i d o r . D e b ei n s t a l a r s ee n t o d o s l o s e q u i p o s q u ev a y a n aa c c e d e r a l s e r v i d o r , i n c l u i d oe l e q u i p oa d o n d er e s i d af s i c a me n t e e l mi s mos e r v i d o r s i s ev aau s a r c o mot e r mi n a l . B l o q u e o s , v e r s i o n e s y g e n e r a c i o n e s L ap r i n c i p a l c a r a c t e r s t i c aq u ed i s t i n g u eaF i r e b i r d / I n t e r b a s ed e l r e s t od el o s g e s t o r e s c o me r c i a l e s c o n o c i d o s c o moO r a c l e , S Q L S e r v e r oMy S Q Le s s u a r q u i t e c t u r ag e n e r a c i o n a l . L ama y o r ad el o s g e s t o r e s d ed a t o s r e l a c i o n a l e s i mp l e me n t a n u n me c a n i s mo d et r a n s a c c i o n e s , y F i r e b i r dn oe s l ae x c e p c i n ; l ad i f e r e n c i ae s t e n c mos e i mp l e me n t ae l me c a n i s mo . G e n e r a l me n t es eu t i l i z a n b l o q u e o s d ed i f e r e n t e s n i v e l e s r e g i s t r o , p g i n a , t a b l a p a r ai mp e d i r q u eo t r a s t r a n s a c c i o n e s mo d i f i q u e n d a t o s q u es ee s t n p r o c e s a n d o . E s t ot i e n el ad e s v e n t a j ad eq u e e s a s t r a n s a c c i o n e s q u e d a r n i mp o s i b i l i t a d a s d et r a b a j a r c o n l o s d a t o s b l o q u e a d o s h a s t aq u el at r a n s a c c i n q u ei mp u s oe l b l o q u e ot e r mi n e . P e n s e mo s e n e l s i g u i e n t ee j e mp l o : u n ae mp r e s at i e n eq u ec o n s o l i d a r l o s d a t o s d el o s i n v e n t a r i o s d es u s s u c u r s a l e s , p a r al oc u a l t i e n eq u el e e r l o s v a l o r e s d e c a d as u c u r s a l y a c u mu l a r l o s . L aa p l i c a c i n q u eh a r l ac o n s o l i d a c i n c o mi e n z a u n at r a n s a c c i n y v al e y e n d oy s u ma n d ol o s d a t o s d ec a d as u c u r s a l ; n o mo d i f i c an a d a , p o r l oq u en os e r a n n e c e s a r i o s l o s b l o q u e o s t e r mi n ad e s u ma r t o d o , a l ma c e n aomu e s t r ae l r e s u l t a d oy t e r mi n al at r a n s a c c i n . T o d o s c o n t e n t o s . A h o r ap e n s e mo s q u p a s a r as i e n e l me d i od e l c l c u l ou n as u c u r s a l t r a n s f i e r e p r o d u c t o s ao t r a , os i mp l e me n t el o s v e n d e . C l a r oq u el ao p e r a c i n d e b eq u e d a r r e g i s t r a d ae n l ab a s ed ed a t o s , p o r l oq u e c a mb i a n l o s d a t o s q u es ee s t n s u ma n d o s i n ot o ma mo s me d i d a s , p o d e mo s l l e g a r as u ma r v a r i a s v e c e s l o s mi s mo s p r o d u c t o s , oad e j a r a l g u n o a f u e r a . E s t a s s i t u a c i o n e s s ec o n t r o l a n me d i a n t el o s d i s t i n t o s n i v e l e s d ea i s l a mi e n t od e l a s t r a n s a c c i o n e s , q u ei n d i c a n l oq u eu n at r a n s a c c i n v e r d el o s c a mb i o s q u e p r o d u c eo t r at r a n s a c c i n q u es ea c t i v aa l mi s mot i e mp o . P a r aq u el o s d a t o s d e l at r a n s a c c i n q u ea c u mu l as e a n f i d e d i g n o s , s ed e b eu s a r e l n i v e l d e a i s l a mi e n t om s a l t op o s i b l e : e s t at r a n s a c c i n n od e b e r av e r l o s c a mb i o s h e c h o s p o r l a s d e m s e n t o d oe l t i e mp oq u ed u r e . E s t en i v e l s ed e n o mi n a g e n e r a l me n t ed el e c t u r a s r e p e t i b l e s . P a r al o g r a r e s t en i v e l d ea i s l a mi e n t os e r an e c e s a r i ob l o q u e a r l o s c a mb i o s a t o d o s l o s r e g i s t r o s ac o n s i d e r a r , oh a c e r u n ac o p i a( u n an u e v ag e n e r a c i n d e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
7 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z t o d o s l o s r e g i s t r o s ac o n s i d e r a r , oh a c e r u n ac o p i a( u n an u e v ag e n e r a c i n d e
d a t o s ) d el o s r e g i s t r o s u s a d o s p a r al aa c u mu l a c i n , q u ee n t o n c e s p o d r a n s e r l e d o s c u a n t a s v e c e s f u e r an e c e s a r i o . L ama y o r ad el o s g e s t o r e s d eb a s e s d e d a t o s u t i l i z a n e l p r i me r me c a n i s mo ; F i r e b i r du s ae l s e g u n d o .
E j e mp l o . S u p o n g a mo s q u et e n e mo s l as i g u i e n t es e c u e n c i at e mp o r a l :
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z 4 . S ec a n c e l al at r a n s a c c i n 1 0 3( e s t a d o : r o l l e db a c k )
[ E R C 1 ] [ E R C 2 ]
O p e r a c i o n e s c o n m l t i p l e s t a b l a s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z c u a l q u i e r c a u s a c o mou n c o r t ed ec o n e x i n s ei n t e r r u mp ee l p r o c e s od e
a c t u a l i z a c i n d ea l g u n a s t a b l a s d e s p u s d et e r mi n a r c o n o t r a s : p u e d e n q u e d a r r e g i s t r o s h u r f a n o s , p o r e j e mp l oi t e ms q u en ot i e n e n f a c t u r a , od a t o s d e s a c t u a l i z a d o s c o moe l t o t a l d el ac u e n t ac o r r i e n t ed e l c l i e n t e . H a y v a r i a s t c n i c a s p a r ac o mb a t i r e s t o s p r o b l e ma s , u n p a r d el a s c u a l e s v e r e mo s a h o r a : t r a n s a c c i o n e s y r e s t r i c c i o n e s d ei n t e g r i d a dr e f e r e n c i a l .
T r a n s a c c i o n e s
U n at r a n s a c c i n e s u n c o n j u n t od eo p e r a c i o n e s q u es ea c e p t a n ( C o mmi t ) o r e c h a z a n ( R o l l b a c k ) c o mou n as o l a . S o n c o mop a r n t e s i s q u ee n c i e r r a n l a s o p e r a c i o n e s q u es ed e b e n r e a l i z a r oc a n c e l a r j u n t a s : t o d a s l a s o p e r a c i o n e s q u e d a n e n s u s p e n s o h a s t aq u es et e r mi n al at r a n s a c c i n . N os ep o d r n v e r d e s d en i n g u n ao t r at r a n s a c c i n , l oc u a l e s u n ad el a s ma y o r e s s o r p r e s a s c u a n d ou n oe mp i e z aat r a b a j a r d ee s t ama n e r a( s i n ot e n e mo s e s t oe n c u e n t a , l o s c a mb i o s r e a l i z a d o s e n u n ae s t a c i n n os ev e r n d e s d eo t r ah a s t aq u es e c i e r r ey s ev u e l v aaa b r i r l aa p l i c a c i n ) . L a s t r a n s a c c i o n e s d e b e n t e n e r l o s s i g u i e n t e s a t r i b u t o s , r e c o n o c i d o s g e n e r a l me n t ee l a c r n i moA C I D , p o r s u s i n i c i a l e s e n i n g l s : Ap o r A t o mi c i t y ( A t o mi c i d a d ) . L a s o p e r a c i o n e s i n c l u i d a s e n u n a t r a n s a c c i n s ema n e j a n c o mou n t o d oi n d i v i s i b l e . T o d a s l a s o p e r a c i o n e s s e a c e p t a n j u n t a s , on i n g u n a . Cp o r C o n s i s t e n c y ( C o n s i s t e n c i a ) . L a s t r a n s a c c i o n e s s i e mp r e l l e v a n l ab a s ed ed a t o s d e s d eu n e s t a d oc o n s i s t e n t eao t r o ; n op u e d e n q u e d a r d a t o s i n c o n s i s t e n t e s , p o r e j e mp l od o s r e g i s t r o s e n l ami s mat a b l ac o n e l mi s mov a l o r e n l ac l a v ep r i ma r i a . S i p u e d e n d a r s ei n c o n s i s t e n c i a s d u r a n t ee l d e s a r r o l l od eu n at r a n s a c c i n ; p e r ol a s d e m s t r a n s a c c i o n e s s i mu l t n e a s q u e e x i s t a n n ov e r n e s t ee s t a d o , y t o d a s l a s i n c o n s i s t e n c i a s d e b e r n r e s o l v e r s ea l mo me n t od et e r mi n a r l at r a n s a c c i n . I p o r I s o l a t i o n ( a I s l a mi e n t o ) . C a d at r a n s a c c i n s ee j e c u t ac o mos i e s t u v i e r as o l ae n l ab a s ed ed a t o s ; l o s c a mb i o s p r o d u c i d o s p o r o t r a s t r a n s a c c i o n e s c o n c u r r e n t e s n od e b e n v e r s ed e s d el a s d e m s . Dp o r D u r a b i l i t y ( D u r a b i l i d a dop e r s i s t e n c i a ) . U n av e z q u eu n a t r a n s a c c i n s ea c e p t a , s u s c a mb i o s q u e d a n f i j o s e n l ab a s ed ed a t o s a n e n c a s od eu n af a l l ad e l s i s t e maoc a d ad el ac o n e x i n . C o mou n c o r o l a r i o , t a mb i n s ea s e g u r aq u el o s c a mb i o s n os ema n t e n d r n e n c a s od eu n ac a d a p r e ma t u r ad e l s i s t e ma , a n t e s q u el at r a n s a c c i n s e aa c e p t a d ac o n C o mmi t .
L ai mp l e me n t a c i n d et r a n s a c c i o n e s d eF i r e b i r dc u mp l ec o n t o d a s e s t a s p r o p i e d a d e s .
D e b i d oa l d i s e od eF i r e b i r d , t o d o s l o s c o ma n d o s d e b e n e j e c u t a r s ee n e l c o n t e x t od eu n at r a n s a c c i n ; s i n ol ac o n t r o l a mo s n o s o t r o s , s ee mp i e z au n a a u t o m t i c a me n t ea n t e s d ee j e c u t a r c a d ac o ma n d oy s et e r mi n at a mb i n a u t o m t i c a me n t ea l f i n a l i z a r e l c o ma n d o . C u a n d oq u e r e mo s a g r u p a r v a r i a s a c c i o n e s e n u n as o l at r a n s a c c i n , d e b e mo s c o me n z a r l ay t e r mi n a r l a e x p l c i t a me n t e . L aa c c i n d ea c e p t a r t o d o s l o s c a mb i o s d el at r a n s a c c i n s e d e n o mi n ae n i n g l s C o mmi t , mi e n t r a s q u ee l p r o c e s od er e c h a z a r l o s c a mb i o s , v o l v i e n d oa t r s t o d a s l a s a c c i o n e s r e a l i z a d a s , s ed e n o mi n aR o l l b a c k . w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
8 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z v o l v i e n d oa t r s t o d a s l a s a c c i o n e s r e a l i z a d a s , s ed e n o mi n aR o l l b a c k .
E l l e n g u a j ed ep r o g r a ma c i n d eF i r e b i r dn ot i e n es e n t e n c i a s d ema n e j od e t r a n s a c c i o n e s ; e s t oe s a s p o r q u et o d o s l o s a c c e s o s aI n t e r b a s ed e b e n h a c e r s ed e n t r od e l c o n t e x t od eu n at r a n s a c c i n , y n os ea c e p t a n t r a n s a c c i o n e s a n i d a d a s . E s d e c i r q u et o d o s l o s p r o c e d i mi e n t o s a l ma c e n a d o s ot r i g g e r s q u e p u e d a n l l e g a r ae j e c u t a r s el oh a r n s i e mp r ed e n t r od el at r a n s a c c i n d e l c l i e n t e q u el o s e j e c u t a ; e n o t r a s p a l a b r a s , l ar e s p o n s a b i l i d a de s t o d an u e s t r a ! E n b a s eal od i s c u t i d o , p o d e mo s y ae n t r e v e r a l g u n o s p r o b l e ma s c o mu n e s e n l a s a p l i c a c i o n e s y s u s c a u s a s :
L o s d a t o s s ep i e r d e n a l c e r r a r l aa p l i c a c i n S ea c e p t a r o n l o s c a mb i o s e n l aa p l i c a c i n , p e r on os eh aa c e p t a d ol a t r a n s a c c i n . L o s d a t o s e s t n e n s u s p e n s o e n l aB a s ed eD a t o s h a s t aq u es e e j e c u t eC o mmi t , d et a l ma n e r aq u es i n u e s t r aa p l i c a c i n n ol oh a c ey c i e r r al a c o n e x i n , e l s e r v i d o r a s u mi r q u es ep r o d u j oa l g n p r o b l e may h a r u n R o l l b a c k a u t o m t i c o ; t o d a s l a s mo d i f i c a c i o n e s r e a l i z a d a s e n e s a t r a n s a c c i n s ep e r d e r n . .
P r o b l e ma s d eb l o q u e o s e n r e g i s t r o s q u ey as emo d i f i c a r o n C u a n d os et r a b a j ac o n m l t i p l e s u s u a r i o s al av e z e s i mp o r t a n t ema n t e n e r l a s t r a n s a c c i o n e s d ec o r t ad u r a c i n . P o r q u ?P o r q u ec o moh e mo s v i s t o , l o s o t r o s u s u a r i o s n ov e r n n u e s t r o s c a mb i o s h a s t aq u ec e r r e mo s n u e s t r a t r a n s a c c i n ; p e r oa d e m s , l o s r e g i s t r o s mo d i f i c a d o s s o n b l o q u e a d o s p a r al a e d i c i n d e s d eo t r a s t e r mi n a l e s b l o q u e oq u es ema n t i e n emi e n t r a s d u r al a t r a n s a c c i n . I ma g i n e mo s q u ed e s d eu n p u e s t od ev e n t as ec o mi e n z au n a f a c t u r a , s ea c t u a l i z ae l s t o c k , y a n t e s d et e r mi n a r l at r a n s a c c i n e l e mp l e a d os e d e t i e n eat o ma r u n c a f n os ep o d r n v e n d e r l o s mi s mo s p r o d u c t o s d e s d e o t r a s t e r mi n a l e s h a s t aq u ev u e l v ay t e r mi n ec o n s u t r a n s a c c i n ! T a mb i n h a y u n p r o b l e mac o n e l r e c o l e c t o r d eb a s u r a d eF i r e b i r d , p e r oe s e p r o b l e mae s me n o s u r g e n t eq u el o s a n t e r i o r e s ( s en o t ad e s p u s d eu n t i e mp o ) . E n b r e v e , e l s i s t e mar e c o l e c t o r d eb a s u r ad eF i r e b i r ds ea c t i v a d e s p u s d eNt r a n s a c c i o n e s ( u n p a r me t r od ec o n f i g u r a c i n d e l s e r v i d o r ) y s e e n c a r g ad ee l i mi n a r l o s o b j e t o s a u x i l i a r e s q u ec r e ae l s e r v i d o r mi e n t r a s p r o c e s al o s d a t o s . S i d e j a mo s p a s a r mu c h ot i e mp os i n q u es ea c t i v ee s t e s i s t e ma , s ep u e d er a l e n t i z a r mu c h ol ao p e r a c i n d e l s e r v i d o r .
C o n c u r r e n c i a1 : n i v e l e s d ea i s l a mi e n t od et r a n s a c c i o n e s
C u a n d os et r a b a j ae n mo d omu l t i u s u a r i o [ 4 ] , a c c e d i e n d od e s d ev a r i a s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
8 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
H a y u n n i v e l m s d ea i s l a mi e n t oq u ee s c o m n e n l o s s i s t e ma s d eb a s e s d e d a t o s l o c a l e s : e l l l a ma d od i r t y r e a dod e l e c t u r as u c i a . E n e s t en i v e l s ep u e d e n v e r l o s c a mb i o s d el a s d e m s t r a n s a c c i o n e s , i n me d i a t a me n t e . S ep u e d e n p r o d u c i r p r o b l e ma s p o r l e e r d a t o s q u en oh a n s i d ot o d a v aa c e p t a d o s ; s i e l u s u a r i oq u eh i z ol amo d i f i c a c i n f i n a l me n t er e c h a z al o s c a mb i o s , h e mo s l e d o d a t o s i n e x i s t e n t e s s ed e n o mi n a n c o m n me n t ef i l a s f a n t a s ma , p h a n t o mr o w s . E s t en i v e l n oc u mp l ec o n l a s p r o p i e d a d e s d ea i s l a mi e n t oy c o n s i s t e n c i a , p o r l o q u en os ep e r mi t ee n F i r e b i r d .
C o n c u r r e n c i a2 : mo d od eb l o q u e od eu n at r a n s a c c i n
C u a n d os emo d i f i c au n r e g i s t r od e s d eu n at r a n s a c c i n , s t es eb l o q u e ap a r a mo d i f i c a c i o n e s d e s d eo t r at r a n s a c c i n ; e l b l o q u e oi mp i d eq u es eh a g au n a s e g u n d amo d i f i c a c i n s o b r el o s mi s mo s d a t o s mi e n t r a s t o d a v an os eh a n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 8 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
a c e p t a d oor e c h a z a d ol o s p r i me r o s . H a y d o s me t o d o l o g a s d eb l o q u e o : o p t i mi s t ay p e s i mi s t a . L o s s e r v i d o r e s q u ei mp l e me n t a n b l o q u e o s p e s i mi s t a s a s u me n q u ee s mu y p r o b a b l eq u ed o s u s u a r i o s a c c e d a n s i mu l t n e a me n t eal o s d a t o s p a r amo d i f i c a r l o s ; e n t o n c e s t o ma n u n ap o s t u r ap r e v e n t i v ay c u a n d ou n u s u a r i o e mp i e z aae d i t a r u n r e g i s t r o s t eq u e d ai n me d i a t a me n t eb l o q u e a d op a r al a e d i c i n d e s d ec u a l q u i e r o t r at e r mi n a l . E s t emo d od et r a b a j oe s mu y c o m n e n l o s s i s t e ma s d eb a s e s d ed a t o s d ee s c r i t o r i o . L o s s e r v i d o r e s S Q La s u me n e n c a mb i oq u en oe s t a n p r o b a b l e q u es ep r o d u z c a n e d i c i o n e s s i mu l t n e a s al o s mi s mo s r e g i s t r o s ; b a s n d o s e e n e s t es u p u e s t o , s o l a me n t eb l o q u e au n r e g i s t r oc u a n d os eh ar e a l i z a d o r e a l me n t eu n amo d i f i c a c i n e n e l mi s mo n o t i f i c a n d oal ab a s ed ed a t o s me d i a n t eP o s t , p o r e j e mp l o . N o t eq u en oh e mo s t e r mi n a d ot o d a v al a t r a n s a c c i n . Mi e n t r a s t a n t o , e l mi s mor e g i s t r op u e d ee s t a r s i e n d omo d i f i c a d o e n l ame mo r i ai n t e r n ad ev a r i a s t e r mi n a l e s al av e z . L ap r i me r at e r mi n a l q u e g u a r d ee l r e g i s t r o( p o s t ) b l o q u e al o s c a mb i o s d el a s d e m s . C mo r e a c c i o n a r n l a s a p l i c a c i o n e s q u es ee n c u e n t r a n c o n e l b l o q u e o , d e p e n d ed e l ac o n f i g u r a c i n d el a s c o r r e s p o n d i e n t e s t r a n s a c c i o n e s c o mov e r e mo s a c o n t i n u a c i n .
E l p a r me t r oq u es ei n d i c ac mor e a c c i o n a r u n at r a n s a c c i n a l e n c o n t r a r s e u n r e g i s t r ob l o q u e a d os ed e n o mi n an i v e l d eb l o q u e o , y s ec o n f i g u r aa l mo me n t od ec o me n z a r l at r a n s a c c i n . F i r e b i r dt i e n el a s s i g u i e n t e s o p c i o n e s :
Mo d os i n e s p e r a( N OWA I T ) : s i h a y u n c o n f l i c t oc o n o t r a t r a n s a c c i n , e l p r o c e s or e c i b eu n me n s a j ed ee r r o r i n me d i a t a me n t e .
L o s d i s t i n t o s mo d o s d ea i s l a mi e n t oj u n t oc o n l o s n i v e l e s d eb l o q u e os e c o n f i g u r a n me d i a n t ep a r me t r o s e n l al l a ma d aal aA P I i n t e r n ad e l s e r v i d o r q u e c o mi e n z al at r a n s a c c i n . P o d e mo s v e r a l g u n o s e j e mp l o s e n l ac o n f i g u r a c i n d el o s n i v e l e s d ea i s l a mi e n t op r e c o n f i g u r a d o s e n l o s c o mp o n e n t e s I n t e r b a s e E x p r e s s ( I B X ) :
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 8 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S n a p s h o t : n os ev e n l o s c a mb i o s r e a l i z a d o s p o r l a s o t r a s t r a n s a c c i o n e s , p e r o s ep e r mi t ee l a c c e s od el a s mi s ma s al o s d a t o s q u ee s t a mo s mi r a n d oo mo d i f i c a n d o ; i g u a l me n t e , p o d e mo s v e r l o s d a t o s q u eo t r at r a n s a c c i n e s t t r a b a j a n d oa l mi s mot i e mp o , a u n q u ev e mo s l av e r s i n q u ee x i s t aa l mo me n t o d ei n i c i a r n u e s t r at r a n s a c c i n . P a r me t r o s p o r d e f e c t o : c o n c u r r e n c y , n o w a i t . I d e a l p a r ar e p o r t e s .
R e a d O n l y T a b l eS t a b i l i t y : e s t at r a n s a c c i n n op u e d ea c c e d e r ad a t o s q u e h a y a n s i d oc a mb i a d o s d e s d eq u ee mp e z , n i p e r mi t eao t r a s t r a n s a c c i o n e s q u ea c c e d a n al o s d a t o s q u e s t ah a y al e d o . P a r me t r o s p o r d e f e c t o : r e a d ( s l ol e c t u r a , e n e s t emo d on os ep u e d e n mo d i f i c a r l o s d a t o s ) , c o n s i s t e n c y ( g a r a n t i z aq u el o s d a t o s v i s t o s p o r e s t at r a n s a c c i n n o c a mb i e n , b l o q u e a n d ol o s r e g i s t r o s p a r ae s c r i t u r a ) .
R e a d Wr i t eT a b l eS t a b i l i t y : i g u a l q u el aa n t e r i o r , p e r oa h o r al at r a n s a c c i n b l o q u e al o s r e g i s t r o s t a n t op a r al e c t u r ac o mop a r ae s c r i t u r a . P a r me t r o s p o r d e f e c t o : w r i t e , c o n s i s t e n c y .
L o s mo d o s m s u s a d o s s o n e l S n a p s h o t y e l R e a d C o mmi t t e d , y aq u ep e r mi t e n e l a c c e s oc o n c u r r e n t eal o s mi s mo s d a t o s ( s i n b l o q u e o s i n n e c e s a r i o s ) .
P o r e j e mp l os u p o n g a mo s u n at a b l aMa s c o t a s c o n l o s s i g u i e n t e s d a t o s :
Ma s c o t a s | N o mb r e| C a t e g o r i a| R a z a| E d a d| I d| L u l | P e r r o| C a n i c h e| 5| 8 9| T o m| G a t o| A n g o r a| 3| 9 0 8| P i n k y | R a t n | E s t u p i d i s mo u s i i s | 6| 3 4 6|
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
Aa c t u a l i z al av i s t ad el o s d a t o s c e r r a n d oy a b r i e n d ol at a b l a p e r t i n e n t e , p e r os i n s a l i r d es u t r a n s a c c i n . A : l omi s mo( n ov el o s c a mb i o s )
Av ea h o r ae l c a mb i oa n t e r i o r d eB . Bt o d a v an ov ee l c a mb i od eA .
Bc i e r r ay a b r el at a b l a . A h o r aBp u e d ev e r l o s c a mb i o s d eA
Be mi t el ai n s t r u c c i n S e l e c t * f r o m Ma s c o t a s w h e r eE d a d = 4 Bo b t i e n el o s d a t o s d eL u l y T o m.
Ma n t e n e r e l c o n t e x t o U n ac a r a c t e r s t i c aq u eav e c e s e s mo l e s t a : c u a n d oc e r r a mo s u n at r a n s a c c i n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 8 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
y as e ac o n C o mmi t oc o n R o l l b a c k , s ec i e r r a n t o d o s l o s c o n t r o l e s d ed a t o s a s o c i a d o s al ami s ma . F i r e b i r dl i b e r al o s r e c u r s o s d el at r a n s a c c i n , p o r l oq u e l o s c o mp o n e n t e s d ed a t o s s ed e s c o n e c t a n . H a y q u ev o l v e r aa b r i r u n op o r u n o t o d o s l o s c o mp o n e n t e s d ea c c e s oad a t o s q u et r a b a j e n c o n e s at r a n s a c c i n . P a r ae v i t a r e l t e n e r q u ea b r i r n u e v a me n t et o d o , p o d e mo s i n d i c a r aI n t e r b a s e q u et e r mi n el at r a n s a c c i n p e r oq u ema n t e n g al o s r e c u r s o s i n t e r n o s e l c o n t e x t od el at r a n s a c c i n . D ee s t ama n e r ama n t e n e mo s l o s c o mp o n e n t e s c o n e c t a d o s a u n q u ea c e p t a mo s oc a n c e l a mo s l at r a n s a c c i n . L a s o p e r a c i o n e s s ed e n o mi n a nC o mmi t R e t a i n i n gy R o l l b a c k R e t a i n i n g . H a y u n p r o b l e mac o n e s t ama n e r ad ep r o c e d e r : mi e n t r a s n oc e r r e mo s t o t a l me n t el at r a n s a c c i n , s ee v i t aq u ee l R e c o l e c t o r d eB a s u r ad eI n t e r b a s e t r a b a j e . E l a c c i o n a r d e l s e r v i d o r s ev u e l v em s l e n t op o r l ap r o l i f e r a c i n d e v e r s i o n e s l ama y o r ay ao b s o l e t a s d er e g i s t r o s . E s t on od e b e r as e r u n p r o b l e maame n o s q u el aa p l i c a c i n s ema n t e n g af u n c i o n a n d od ee s ama n e r a d u r a n t eh o r a s , d a s , t a l v e z s e ma n a s . . . e n c u y oc a s op o d e mo s a c o mo d a r l a s c o s a s h a c i e n d ou n ac o p i ad es e g u r i d a d( b a c k u p ) s e g u i d ad eu n ar e s t a u r a c i n s o b r el ami s mab a s e( r e s t o r e ) . C u a n d os eh a c eu n B a c k u ps ee l i mi n a n l o s d a t o s t e mp o r a l e s ( l a b a s u r a ) y a l r e c u p e r a r l aB a s ed eD a t o s s t aq u e d a l i mp i ad ep o l v oy p a j a .
I n t e g r i d a dr e f e r e n c i a l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
p o d e mo s h a c e r u n c o n t r o l a c t i v oe s c r i b i e n d ot r i g g e r s q u ec o n t r o l e n e x p l c i t a me n t el a s r e f e r e n c i a s . L a s r e s t r i c c i o n e s d ec l a v ee x t e r n a( f o r e i g n k e y ) s ed e c l a r a n e n l a t a b l ad e t a l l ed el ar e l a c i n , e n l at a b l aq u er e f e r e n c i aal ama e s t r a . E n n u e s t r o e j e mp l o , l at a b l ad ef a c t u r a s s e r al ama e s t r a , y l ad ed e t a l l e s P a r ad e c l a r a r u n ar e s t r i c c i n d ec l a v ee x t e r n an e c e s i t a mo s l os i g u i e n t e : U n c a mp ooc o n j u n t od ec a mp o s d e l mi s mot i p oe n l a s d o s t a b l a s . L o s v a l o r e s d ee s t o s c a mp o s e n l at a b l ad e t a l l er e f e r e n c i a r n l o s v a l o r e s d el o s c a mp o s c o r r e s p o n d i e n t e s e n l at a b l ama e s t r a( e l n r o . d ef a c t u r ad e l d e t a l l e , e n n u e s t r oe j e mp l o ) U n ar e s t r i c c i n d eu n i c i d a ds o b r el o s c a mp o s d el ar e l a c i n e n l a t a b l ama e s t r a . P u e d es e r u n ac l a v ep r i ma r i aou n ar e s t r i c c i n U N I Q U E ; c u a l q u i e r ad el a s d o s p o s i b i l i d a d e s i mp l i c aq u el o s c a mp o s d el ar e l a c i n d e b e n s e r d e c l a r a d o s c o mon on u l l ( n on u l a b l e s ) . N Oe s n e c e s a r i ou n n d i c es o b r el o s c a mp o s d el at a b l ad e t a l l e ; s e s c o n v e n i e n t ep a r aa c e l e r a r l a s o p e r a c i o n e s d es e l e c c i n d ed a t o s s o b r el a s d o s t a b l a s , p o r l oq u eF i r e b i r dc r e au n n d i c ea u t o m t i c a me n t es o b r ee s t o s c a mp o s . F i r e b i r dp e r mi t ee s p e c i f i c a r l aa c c i n at o ma r c u a n d os ei n t e n t av i o l a r l a i n t e g r i d a dr e f e r e n c i a l ( p o r e j e mp l oc u a n d ob o r r a mo s u n c l i e n t eq u ee s t r e f e r e n c i a d oe n u n af a c t u r a ) , t a n t op a r al a s o p e r a c i o n e s d eb o r r a d oc o mod e a c t u a l i z a c i n . L a s o p c i o n e s s o n ( l o s n o mb r e s s o n p a r t ed el as i n t a x i s d el a i n s t r u c c i n S Q Ld ed e c l a r a c i n ) : N oa c t i o n : l ao p e r a c i n s er e c h a z ad ep l a n o . C a s c a d e : l aa c c i n s er e a l i z at a mb i n e n l o s r e g i s t r o s r e f e r e n c i a d o s , a u t o m t i c a me n t e . P o r e j e mp l os i c a mb i a mo s e l n r o . d eu n c l i e n t ey s t et i e n e h e c h a s d o s f a c t u r a s , e n l a s d o s f a c t u r a s s ea c t u a l i z a r e l n r o . d ec l i e n t ep a r a q u el ar e f e r e n c i as i g as i e n d ov l i d a . S i b o r r a mo s e l c l i e n t e , s eb o r r a r n l a s f a c t u r a s q u el or e f e r e n c i a n s i n n i n g n a v i s op o r p a r t ed e l s e r v i d o r , a s q u e c u i d a d o ! N u l l : e l c a mp od el at a b l ama e s t r ae n e l q u es er e f e r e n c i aa l d a t o mo d i f i c a d oob o r r a d ot o mae l v a l o r N U L L , e s d e c i r , p i e r d el ar e f e r e n c i a . D e f a u l t : e l c a mp od el at a b l ama e s t r ae n e l q u es er e f e r e n c i aa l d a t o mo d i f i c a d oob o r r a d ot o mae l v a l o r p o r d e f e c t od e c l a r a d op a r ae s ec a mp o .
L a s m s u s a d a s s o n l a s d o s p r i me r a s . F i r e b i r di n c l u s on o s p e r mi t ei n d i c a r u n a a c c i n p a r au n c a s oy o t r ap a r ae l r e s t a n t e , p o r e j e mp l ou n ac o mb i n a c i n mu y u s a d ae s N o A c t i o n e n b o r r a d o s , C a s c a d ee n mo d i f i c a c i o n e s . E l s e r v i d o r e n t o n c e s ma n t e n d r l a s r e f e r e n c i a s a u n q u ec a mb i e mo s e l c a mp oe n l at a b l a d ed e t a l l e , mi e n t r a s q u ei mp e d i r q u ee l i mi n e mo s r e g i s t r o s d ed e t a l l eq u e e s t n s i e n d or e f e r e n c i a d o s .
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
E n l ap r c t i c a , l a s r e s t r i c c i o n e s d ei n t e g r i d a dr e f e r e n c i a l s ea p l i c a n g e n e r a l me n t ec u a n d os ev aap o n e r e n p r o d u c c i n e l s i s t e ma , n oa n t e s . P o r q u ?P u e s p o r q u ee l s e r v i d o r n on o s d e j a r mo d i f i c a r l ae s t r u c t u r ad eu n at a b l a q u ef o r mep a r t ed eu n ar e s t r i c c i n d ei n t e g r i d a dr e f e r e n c i a l , y e s mu y c o m n q u el ae s t r u c t u r av a r ee n e l p e r o d od ed i s e oy p r o g r a ma c i n d e l s i s t e ma . A s , s ec r e a n t o d a s l a s t a b l a s y d e m s o b j e t o s , s et r a b a j ac o n e s t ab a s ed ed a t o s , y f i n a l me n t es ea g r e g a n l a s r e s t r i c c i o n e s p a r aq u en oh a y as o r p r e s a s . E s mu y f c i l g e n e r a r u n a r c h i v os c r i p t c o n l a s i n s t r u c c i o n e s S Q Ln e c e s a r i a s p a r a d e c l a r a r l a s r e s t r i c c i o n e s ap o s t e r i o r i d el ac r e a c i n d el a s t a b l a s . N oo b s t a n t e , h a y q u et e n e r e n c u e n t aq u el a s r e s t r i c c i o n e s s ec o mp r u e b a n e n e l mo me n t o d es u d e c l a r a c i n e s t oe s , s i t e n e mo s d a t o s q u en oc u mp l a n c o n l a s r e s t r i c c i o n e s n os ep o d r n c r e a r e s t a s l t i ma s .
I n s t a l a c i n y p u e s t ae n ma r c h a
L ai n s t a l a c i n y p u e s t ae n ma r c h ad eF i r e b i r de s mu y s i mp l e . S ei n c l u y eu n p r o g r a mai n s t a l a d o r a l e s t i l oe x p e r t oq u en o s g u i a r p a s oap a s oe n l a i n s t a l a c i n ; s l ot e n d r e mo s q u es e l e c c i o n a r q u p a r t e s i n s t a l a r y a d n d e . Ac o n t i n u a c i n v e r e mo s e l p r o c e s oc o mp l e t od e s d el ad e s c a r g ad el o s a r c h i v o s d eI n t e r n e t , l ai n s t a l a c i n p a s op o r p a s oy d a r e mo s u n p r i me r s a l u d oa l a s h e r r a mi e n t a s q u es ei n c l u y e n c o n e l p a q u e t e .
D e s c a r g ad e s d eI n t e r n e t
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z l i b e r a c i n d eI n t e r b a s e , e n S o u r c e F o r g e
( h t t p : / / s o u r c e f o r g e . n e t / p r o j e c t s / f i r e b i r d ) [ E R C 5 ] d o n d et o d a v as el op u e d e e n c o n t r a r . E l s i t i oo f i c i a l e s a h o r a h t t p : / / w w w . f i r e b i r d s q l . o r g [ E R C 6 ] , u n s i t i o d e r i v a d od eI B P h o e n i x ( h t t p : / / w w w . i b p h o e n i x . c o m[ E R C 7 ] ) , d ed o n d es e p u e d e n o b t e n e r l a s d i s t i n t a s v e r s i o n e s d eF i r e b i r da s c o moh e r r a mi e n t a s , a r t c u l o s , e t c . L av e r s i n a c t u a l ( e s t a b l e ) e s l a1 . 0 . 2 . 9 0 8 [ E R C 8 ] , y s ep u e d e d e s c a r g a r t a mb i n u n av e r s i n 1 . 5A l p h a( n op a r ap r o d u c c i n , i n e s t a b l ey s i n g a r a n t a s ) . S ee s p e r aq u ep r o n t os ep o n g ae n ma r c h al av e r s i n b e t ad e F i r e b i r d1 . 5 . E n t o n c e s , h a g a mo s u n r e s u me n :
V e r s i n | U R Lp a r ad e s c a r g a| I n t e r b a s e6 . 0 . 2| h t t p : / / me r s . c o m| F i r e b i r d1 . 0 . 3| h t t p : / / w w w . f i r e b i r d s q l . o r g| F i r e b i r d1 . 5 . 1| h t t p : / / w w w . f i r e b i r d s q l . o r g|
L ai n s t a l a c i n e s mu y s e n c i l l a c u a n d ot o d of u n c i o n a: P . e n Wi n d o w s , c o r r e mo s e l a r c h i v oe j e c u t a b l e ; e n L i n u x , i n s t a l a mo s e l p a q u e t er p m ob i e n e j e c u t a mo s e l s c r i p t s i d e s c a r g a mo s l av e r s i o n n oc o mp i l a d a . L a s o p c i o n e s s o n m n i ma s y s er e d u c e n as e l e c c i o n a r l o s c o mp o n e n t e s ai n s t a l a r . C u a n d o h a y a l g u n p r o b l e ma , b u e n o h a b r q u ee mp e z a r ap r e g u n t a r . E l me j o r l u g a r p a r ae n c o n t r a r r e s p u e s t a s e s e l f o r od es o p o r t ef i r e b i r d s u p p o r t e n y a h o o g r o u p s . c o m.
P r o b a r l ai n s t a l a c i n
I S Q L
* E s c r i b a C o n n e c t " l o c a l h o s t : c : \ a r c h i v o s d ep r o g r a ma \ f i r e b i r d \ e x a mp l e s \ e mp l o y e e . g d b " u s e r " s y s d b a " p a s s w o r d" ma s t e r k e y " ; p a r ac o n e c t a r c o n l ab a s ed ed a t o s d ee j e mp l o . N o t eq u ep u e d ec o r t a r l a s e n t e n c i ae n d o s om s l n e a s s i mp l e me n t ep r e s i o n a n d o< E n t e r > ; i s q l i n d i c a r q u eu n al n e ac o n t i n au n as e n t e n c i aa n t e r i o r c a mb i a n d oe l i n d i c a d o r ( p r o mp t ) p o r ' C O N > ' . L a s s e n t e n c i a s s et e r mi n a n c o n p u n t oy c o ma( ; ) .
* S i l ac o n e x i n s ep u e d ee s t a b l e c e r , i s q l r e s p o n d e r c o n u n me n s a j e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
8 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z * S i l ac o n e x i n s ep u e d ee s t a b l e c e r , i s q l r e s p o n d e r c o n u n me n s a j e
i n d i c a n d oq u ee s t a h o r ac o n e c t a d oal ab a s ed ed a t o s . Ap a r t i r d ee s e mo me n t os ep u e d e n e j e c u t a r s e n t e n c i a s S Q Ls o b r ee s ab a s ed ed a t o s , ou s a r a l g u n o s c o ma n d o s e s p e c f i c o s d ei s q l c o moS h o wT a b l e s . E n l ap a r t e d eh e r r a mi e n t a s h a b l a r e mo s m s e n p r o f u n d i d a ds o b r el au t i l i d a di s q l .
H e r r a mi e n t a s
I B S e r v e r
I B G u a r d i a n
I S Q L
G b a k
I B C o n s o l e
A c c e d e r e mo s au n aB a s ed eD a t o s d ee j e mp l oq u es ei n c l u y ee n e l p a q u e t e ( s i n oi n s t a l l o s e j e mp l o s , h g a l oa h o r a ; l ab a s ed ed a t o s d ee mp l e a d o s u t i l i z a t c n i c a s q u ev a l el ap e n ae s t u d i a r ) . U s a r e mo s l ab a s ed ed a t o s l l a ma d a E mp l o y e e . g d bos u v e r s i n i n t e r n a c i o n a l ( q u ec o n t i e n ec a r a c t e r e s n o i n g l e s e s ) l l a ma d aI n t l e mp . g d b . C u a l q u i e r ad el a s d o s s i r v ep a r an u e s t r o s e j e mp l o s p o r q u el o n i c oq u ec a mb i ae s e l c o n t e n i d od el a s t a b l a s , n os u d e f i n i c i n .
P a r au s a r l ab a s ed ed a t o s , d e b e mo s r e g i s t r a r l ae n I B C o n s o l e . L o s p a s o s n e c e s a r i o s s o n l o s s i g u i e n t e s : r e g i s t r a r e l s e r v i d o r l o c a l c o n l ao p c i n c o r r e s p o n d i e n t ed e l me n S e r v e r w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
9 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z r e g i s t r a r e l s e r v i d o r l o c a l c o n l ao p c i n c o r r e s p o n d i e n t ed e l me n S e r v e r
| | |
e n e l me n c o n t e x t u a l d e l r b o l d eo b j e t o s d el ai z q u i e r d as e l e c c i o n a mo s R e g i s t e r
e n e l c u a d r od ed i l o g oq u ea p a r e c eac o n t i n u a c i n , c o mp l e t a mo s l a i n f o r ma c i n d er e g i s t r od el ab a s ed ed a t o s y a c e p t a mo s . L an u e v aB a s ed e D a t o s d e b e r aa p a r e c e r e n e l r b o l d eo b j e t o s .
E l s o l oh e c h od el o g r a r l ac o n e x i n y ai n d i c aq u ee l s e r v i d o r e s t f u n c i o n a n d o c o r r e c t a me n t e . T o d a v as ep u e d e n p r e s e n t a r p r o b l e ma s e n e l a c c e s oat r a v s d el ar e d , p e r on o s o c u p a r e mo s d ee s oas u d e b i d ot i e mp o .
E j e c u t a r s e n t e n c i a s S Q Le n I B C o n s o l e
P a r ae j e c u t a r c u a l q u i e r s e n t e n c i aS Q Lu t i l i z a mo s l ah e r r a mi e n t ac o n o c i d a c o moI n t e r a c t i v eS Q L . E n I B C o n s o l ee s t i n t e g r a d aa l p r o d u c t o , y s ea c c e d e d e s d ee l me n T o o l s oe l b o t n . L av e n t a n at i e n ee l s i g u i e n t ea s p e c t o :
L a s s e n t e n c i a s S Q Ls ee s c r i b e n e n e l e d i t o r s u p e r i o r , s ee j e c u t a n c o n C T R L + Eoe l b o t n , y e l r e s u l t a d os eo b t i e n ei n me d i a t a me n t ee n l ap a r t e i n f e r i o r ( d a t o s , p l a n d ee j e c u c i n y e s t a d s t i c a s d ee j e c u c i n ) . P o r e j e mp l o , l as i g u i e n t ei ma g e n mu e s t r ae l r e s u l t a d od ep e d i r e l c o n t e n i d od e l at a b l ae mp l o y e e : | | |
I B O C o n s o l e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
9 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
I B O C o n s o l e
E s t ah e r r a mi e n t ae s c o mou n c l o n d eI B C o n s o l e , p e r oc o n s t r u i d ac o n l o s c o mp o n e n t e s I BO b j e c t s . E s g r a t u i t ay s ep u e d ed e s c a r g a r d e< < < V e r e l e n l a c er e a l e n I B P h o e n i x > > > , y e n g e n e r a l e s m s e s t a b l eq u el a s v e r s i o n e s d e I B C o n s o l eq u eh ep r o b a d o . S ema n e j ad el ami s mama n e r a , l ai n t e r f a z e s p r c t i c a me n t ei g u a l , y p o d e mo s e s p e r a r q u es e a t i l c o n l a s n u e v a s v e r s i o n e s d eF i r e b i r d , y aq u el o s c o mp o n e n t e s I B Os o p o r t a n t o d a s l a s c a r a c t e r s t i c a s d e e s t o s s e r v i d o r e s .
I B _ S Q L
S Q L
E l l e n g u a j ed ec o n s u l t a
T a l v e z e l p r o b l e mama y o r q u es ep r e s e n t aal o s p r o g r a ma d o r e s v i e j o s , l o s q u eu s a b a n s i s t e ma s d ed a t o s o r i e n t a d o s aa r c h i v o s c o moC l i p p e r , D b a s eo C o b o l , s e ae l d ec a mb i a r l af o r mad ea c c e d e r al o s d a t o s . L oq u ea n t e s r e q u e r ar e c o r r e r t o d au n at a b l ab u s c a n d oc o i n c i d e n c i a s oa r ma r t a b l a s t e mp o r a l e s c o n d a t o s d ed i s t i n t a s t a b l a s r e l a c i o n a d a s , a h o r as eh a c ec o n u n a s o l as e n t e n c i ad eu n l e n g u a j ee s p e c i a l d i s e a d op a r ae s o : e l L e n g u a j e E s t r u c t u r a d od eC o n s u l t aoS Q L . U n ad el a s c a r a c t e r s t i c a s q u ed i s t i n g u e n ae s t el e n g u a j ee s s u o r i e n t a c i n ac o n j u n t o s d ed a t o s . A s p o r e j e mp l o , e n S Q Ln op e d i mo s r e c o r r et o d o s l o s r e g i s t r o s y c u a n d oe n c u e n t r e s u n oc u y oc a mp oN o mb r ec o mi e n c ec o n A , mel o mu e s t r a s ; e n s u l u g a r , p e d i mo s u n at a b l at e mp o r a l f o r ma d ap o r t o d o s l o s r e g i s t r o s q u ec u mp l a n l ac o n d i c i o n : e l c a mp oN o mb r ee mp i e z ac o n A . L l e v a u n t i e mp oa c o s t u mb r a r s eap e n s a r e n c o n j u n t o s d ed a t o s , p e r os el o g r a . T r a t a r e mo s a q u d ed a r l ama y o r c a n t i d a dp o s i b l ed ee j e mp l o s y e j e r c i c i o s p a r aq u ee s t af o r mad ep e n s a r s eh a g ac a s i n a t u r a l . S Q Ls o n l a s i n i c i a l e s d e S t r u c t u r e dQ u e r y L a n g u a g e oL e n g u a j eE s t r u c t u r a d o d eC o n s u l t a . E s u n l e n g u a j en op r o c e d u r a l i n v e n t a d oe n I B M ap r i n c i p i o s d el o s a o s 7 0 , p a r ai mp l e me n t a r e l mo d e l or e l a c i o n a l d eC o d d . I n i c i a l me n t es el e l l a mS E Q U E L( S t r u c t u r e dE n g l i s h Q u e r y L a n g u a g e ) , l u e g op a s as e r S E Q U E L / 2y f i n a l me n t eS Q L( e s p e r e mo s q u en os i g al at e n d e n c i ay e n u n o s a o s s et e r mi n el l a ma n d oS ) . H o y e n d ae s e l l e n g u a j ed ec o n s u l t am s u t i l i z a d op o r l o s g e s t o r e s d eB a s e s d eD a t o s d et o d o s l o s t a ma o s , d e s d e D b a s eoP a r a d o x p a s a n d op o r O r a c l e , I n f o r mi x oS Q LS e r v e r , h a s t al o s g e s t o r e s d ed a t o s u t i l i z a d o s e n s u p e r c o mp u t a d o r a s . H a y d e f i n i d o s t r e s e s t n d a r e s o f i c i a l e s p o r e l I n s t i t u t oN a c i o n a l d eE s t n d a r e s A me r i c a n o( A me r i c a n N a t i o n a l S t a n d a r d s I n s t i t u t e , A N S I ) : S Q L 8 6 , S Q L 8 9y S Q L 9 2 .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 9 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L ama y o r ad el o s g e s t o r e s d ec o n s u l t a s i mp l e me n t a n as u ma n e r a l a s r e c o me n d a c i o n e s d e l e s t n d a r . E s t u d i a r e mo s l o s c o ma n d o s m s c o mu n e s , q u es ea p l i c a n al o s mo t o r e s d ec o n s u l t am s u t i l i z a d o s , y c u a n d os e a p e r t i n e n t ec o me n t a r e mo s d i f e r e n c i a s e n d i s t i n t o s s e r v i d o r e s . Ac o n t i n u a c i n v e r e mo s e n d e t a l l ee l l e n g u a j eS Q Lq u ei mp l e me n t aF i r e b i r d . L o s e j e mp l o s u t i l i z a n l ab a s ed ed a t o s d ee j e mp l oq u ev i e n ec o n e l s e r v i d o r , l l a ma d aE MP L O Y E E . G D B , y s ee j e c u t a n e n I B C o n s o l eoI B O C o n s o l e .
C u r s o r e s v s c o n j u n t o s
Mo d i f i c a c i n d eu n s u b c o n j u n t od er e g i s t r o s q u ec u mp l e n u n c r i t e r i o S ee mi t eu n as e n t e n c i aU P D A T Eq u ei n c l u y el ao p e r a c i n ar e a l i z a r y e l c r i t e r i od es e l e c c i n , y e l s e r v i d o r mo d i f i c a r e l s u b c o n j u n t oq u ec u mp l ae l
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 9 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
c r i t e r i os i n m s i n t e r v e n c i n n u e s t r a .
S e l e c c i n d er e g i s t r o s : S E L E C T
L as e n t e n c i ae s t r e l l ad eS Q Le s , s i n n i n g u n ad u d a , S E L E C T . E s t ai n s t r u c c i n p e r mi t eo b t e n e r d a t o s d eu n aov a r i a s t a b l a s , c o n u n p o d e r y f l e x i b i l i d a d i n c r e b l e s . S i S Q Ln ot u v i e r am s q u ee s t ai n s t r u c c i n , i g u a l me n t ev a l d r al a p e n aa p r e n d e r l o . L as i n t a x i s b s i c ad eS E L E C Te s c o mos i g u e [ 6 ] :
S E L E C Tc o l u mn a s | * F R O Mt a b l a s [ WH E R Ec o n d i c i n ] [ O R D E RB Yc o l u mn a s ]
H a y mu c h a s v a r i a c i o n e s y a g r e g a d o s s o b r ee s t ee s q u e l e t ob s i c o , p e r ot o d o as u t i e mp o . E n p a l a b r a s , e s t ai n s t r u c c i n d e v o l v e r u n at a b l av i r t u a l c o mp u e s t ap o r l a s c o l u mn a s e s p e c i f i c a d a s ( e l a s t e r i s c o* s er e e mp l a z ap o r t o d a s l a s c o l u mn a s d et o d a s l a s t a b l a s ) , c o n l a s f i l a s d el a s t a b l a s d a d a s q u ec u mp l a n l ac o n d i c i n ( o p c i o n a l ) , y t o d oo r d e n a d op o r l a s c o l u mn a s i n d i c a d a s ( o p c i o n a l ) . P o r e j e mp l o , p a r ao b t e n e r l o s n o mb r e s d el o s e mp l e a d o s p o d e mo s e s c r i b i r :
S E L E C TF I R S T _ N A ME F R O ME MP L O Y E E
Yv e r e mo s e n l av e n t a n ad eI S Q L : | | |
L as e n t e n c i aS Q Ld e s a p a r e c ed e l e d i t o r , q u eq u e d al i s t op a r ae s c r i b i r o t r a ; p e r op u e d er e c u p e r a r s ec o n e l b o t nol ao p c i n d eme n Q u e r y | P r e v i o u s .
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
V a mo s ae x t e n d e r l at a b l ad er e s u l t a d o s p a r aq u emu e s t r eo t r a s c o l u mn a s : e l a p e l l i d o( l a s t _ n a me ) y e l p a s d et r a b a j o( j o b _ c o u n t r y ) . L as e n t e n c i aq u e d a c o mos i g u e
S E L E C TF I R S T _ N A ME , L A S T _ N A ME , J O B _ C O U N T R Y F R O ME MP L O Y E E
C moh a r ap a r aq u ea p a r e z c ap r i me r oe l a p e l l i d oy d e s p u s e l n o mb r e ? C u a n d oq u e r e mo s t o d a s l a s c o l u mn a s d el at a b l ae n e l r e s u l t a d o , e n e l mi s mo o r d e n q u ee s t n d e f i n i d a s , p o d e mo s u s a r e l c o mo d n * ( a s t e r i s c o ) :
S E L E C T* F R O ME MP L O Y E E
| | |
H e mo s u t i l i z a d oa q u e l o p e r a d o r d ec o n c a t e n a c i n | | ( d o s b a r r a s v e r t i c a l e s ) , q u ep e r mi t ej u n t a r c a d e n a s d ec a r a c t e r e s . E l r e s u l t a d oe s o t r ac a d e n a . N o t e mo s q u ep o d e mo s u s a r t a n t on o mb r e s d ec a mp o s c o moc a d e n a s c o n s t a n t e s , c o n c o mi l l a s s i mp l e s .
U n p r o b l e mac o m n c u a n d os eu t i l i z a n c o l u mn a s f o r ma d a s p o r e x p r e s i o n e s e s e l n o mb r ed ee s t a s c o l u mn a s . P o r e j e mp l o , l ac o l u mn ag e n e r a d ae n e l e j e mp l o a n t e r i o r s el l a ma F _ 1 . Q u i n p u s oe s t en o mb r e ?E l s e r v i d o r . E s p o s i b l e
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 9 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
c a mb i a r l o ?S i , a s i g n a n d ou n a l i a s a l c a mp op o r me d i od el ap a r t c u l a a s :
S i e j e c u t a n e s t as e n t e n c i a , v e r n e l mi s mor e s u l t a d oq u ea n t e s p e r oa h o r al a c o l u mn as el l a ma E mp l e a d o , l oc u a l e s mu c h om s f c i l d er e c o r d a r .
A n t e s d ec o n t i n u a r s u me r g i n d o n o s e n l a s c o mp l e j i d a d e s d eS E L E C T , r e a l i c e l o s s i g u i e n t e s e j e r c i c i o s p a r aa f i r ma r l oa n t e r i o r .
E j e r c i c i o s 1 ) O b t e n g al o s s i g u i e n t e s d a t o s ( y e n e s t eo r d e n ) d el o s e mp l e a d o s : N o mb r e , A p e l l i d o , N r o . d ee mp l e a d o , s a l a r i oy p a s d et r a b a j o . 2 ) A h o r amu e s t r et r e s c o l u mn a s l l a ma d a s A p e l l i d o , N o mb r e , S a l a r i o . E n l ap r i me r amu e s t r ee l a p e l l i d o , e n l as e g u n d ae l n o mb r e , y e n l at e r c e r al a i n f o r ma c i n s i g u i e n t e( l o s n g u l o s i n d i c a n q u ee s e l n o mb r ed eu n c a mp o ) : < J o b _ c o d e > , n i v e l < j o b _ g r a d e >( U $ S< s a l a r y > ) 3 ) D el at a b l ad ep r o y e c t o s : u n ac o l u mn al l a ma d a P r o y e c t o c o n e l s i g u i e n t e f o r ma t o ( < p r o j _ i d > ) < p r o j _ n a me > o t r ac o l u mn ac o n e l t i p od ep r o d u c t o( p r o d u c t ) , y u n at e r c e r ac o n e l N r o . d ee mp l e a d od e l l d e r d e l p r o y e c t o( t e a m_ l e a d e r )
O r d e n e n l as a l a E l o r d e n e n q u ee l s e r v i d o r d e v u e l v el o s d a t o s d e p e n d ed ev a r i o s f a c t o r e s ; e n g e n e r a l , n os ep u e d ea s u mi r u n o r d e n d e t e r mi n a d op o r l oq u eh a y q u ei n d i c a r l o e x p l c i t a me n t eu s a n d ol ac l u s u l aO R D E RB Y . L ac l u s u l aO R D E RB Ye s mu y s i mp l ed eu s a r : e s s e g u i d ap o r u n al i s t ad e c a mp o s ( q u ed e b e n f i g u r a r e n l al i s t ad ec o l u mn a s amo s t r a r ) p o r l o s q u es e o r d e n a r . P o r e j e mp l o , p a r ao b t e n e r d a t o s d el o s e mp l e a d o s o r d e n a d o s p o r p a s d e t r a b a j o , p o d e mo s h a c e r
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y
C o mop o d r n v e r , h a y mu c h o s e mp l e a d o s q u et r a b a j a n e n c a d ap a s , q u en o g u a r d a n e n t r es u n o r d e n p r e d e c i b l e . A s , s i t e n e mo s q u eb u s c a r u n e mp l e a d o p o r n o mb r ee n e l l i s t a d oa n t e r i o r s u p o n i e n d oq u es a b e mo s e n q u p a s t r a b a j a , t e n d r a mo s q u er e c o r r e r t o d o s l o s e mp l e a d o s d ee s ep a s h a s t a e n c o n t r a r e l q u eb u s c a mo s . P a r as i mp l i f i c a r l ab s q u e d a , p o d e mo s i n d i c a r a l s e r v i d o r q u eq u e r e mo s l o s r e s u l t a d o s o r d e n a d o s , s i , p o r p a s ; p e r om s t o d a v a , e l c o n j u n t od ee mp l e a d o s d ec a d ap a s l oq u e r e mo s o r d e n a d op o r a p e l l i d oy n o mb r e . P r u e b el as i g u i e n t e s e n t e n c i a :
S E L E C T*
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 9 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y , l a s t _ n a me , f i r s t _ n a me
Y as ec o mi e n z aan o t a r l ap o t e n c i ad e l l e n g u a j e . E s t ai n s t r u c c i n n o s d e v u e l v e u n at a b l ac o n t o d o s l o s e mp l e a d o s o r g a n i z a d o s p o r p a s , d e n t r od ec a d ap a s p o r a p e l l i d o , y s i h a y a p e l l i d o s r e p e t i d o s , s eo r d e n a n p o r n o mb r e . U n av a r i a c i n p o s i b l ee s e l s e n t i d od el ao r d e n a c i n : s i e s a s c e n d e n t eo d e s c e n d e n t e . P o r d e f e c t oF i r e b i r dd e v u e l v el o s d a t o s o r d e n a d o s e n f o r ma a s c e n d e n t e ; p a r ai n d i c a r l oc o n t r a r i oa g r e g a mo s l ap a r t c u l a d e s c d e s p u s d e l n o mb r ed e l c a mp od eo r d e n a c i n . P o r e j e mp l o ,
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y d e s c
S E L E C T* F R O Me mp l o y e e O R D E RB Yj o b _ c o u n t r y d e s c , l a s t _ n a mea s c , f i r s t _ n a med e s c
S E L E C T* F R O Me mp l o y e e WH E R Ej o b _ c o u n t r y =' C a n a d a ' w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
9 7 / 1 4 7
2 1 / 0 4 / 1 3
WH E R Ej o b _ c o u n t r y =' C a n a d a '
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P o d e mo s o r d e n a r e l r e s u l t a d oa g r e g a n d oa l f i n a l l ac l u s u l ao r d e r b y :
S E L E C T* F R O Me mp l o y e e WH E R Ej o b _ c o u n t r y =' C a n a d a ' O R D E RB Yl a s t _ n a me , f i r s t _ n a me
E s t ai n s t r u c c i n n o s p e r mi t i r e n c o n t r a r r p i d a me n t eu n e mp l e a d od eC a n a d . P e r op o d e mo s t a mb i n u s a r l o s o p e r a d o r e s l g i c o s p a r aa f i n a r l ab s q u e d a ; p o r e j e mp l o , s i q u e r e mo s v e r l o s e mp l e a d o s d eC a n a d ad ec a t e g o r a4 , h a r a mo s
N o t e mo s q u ee l 4 n oe s t r o d e a d od ec o mi l l a s ; e s u n n me r o , n ou n ac a d e n a . L o s p a r n t e s i s n os o n n e c e s a r i o s e n e s t ee j e mp l o , p e r op u e d e n s e r v i r p a r a a c l a r a r e l o r d e n d ee v a l u a c i n . E l o r d e n d ee v a l u a c i n p u e d ed e t e r mi n a r e l r e s u l t a d od eu n ae x p r e s i n : p o r e j e mp l o , n oe s l omi s moe v a l u a r 1 + 2 * 3d ei z q u i e r d aad e r e c h a( 1 + 2 = 3 , 3 * 3 = 9 ) q u ea s o c i a n d op o r p r e c e d e n c i ac o moh a c e mo s e n ma t e ma t i c a s : 1 + ( 2 * 3 ) =7 . L as i g u i e n t et a b l ai n d i c ae l o r d e n d ep r e c e d e n c i ad el o s o p e r a d o r e s e n F i r e b i r d . A l g n s e r v i d o r p u e d ed i f e r i r c o n e s t eo r d e n , p e r oe n g e n e r a l t o d o s l o c o n s i d e r a n d el ami s mama n e r a . L ap r e c e d e n c i av ad ema y o r ame n o r , l e d o s d ea r r i b ah a c i aa b a j o( p o r e j e mp l o , s ee v a l ap r i me r ou n ac o n c a t e n a c i n q u e u n amu l t i p l i c a c i n ; p e r oe s t a l t i mas ee v a l aa n t e s q u eu n as u ma ) .
T i p o| O p e r a d o r | C o me n t a r i o| C a d e n a s | | | | C o n c a t e n a c i n | Ma t e m t i c o s | * / + | Mu l t i p l i c a c i n D i v i s i n S u ma R e s t a| C o mp a r a c i n | = , = = < > , [ E R C 9 ] ! = , ~ = , ^ = > < > = < = ! > , ~ > , ^ > ! < , ~ < , ^ <| I g u a l d a d D e s i g u a l d a d Ma y o r Me n o r Ma y o r oi g u a l Me n o r oi g u a l N oma y o r N o me n o r | L g i c o s | N O T A N D O R| N e g a c i n C o n j u n c i n ( Y ) D i s j u n c i n ( O ) |
E s mu y i mp o r t a n t ec o n o c e r e l o r d e n d ep r e c e d e n c i ad el o s o p e r a d o r e s , p a r a n oc o me t e r e r r o r e s q u ep u e d e n s e r mu y d i f c i l e s d ed e t e c t a r . P o r e j e mp l o , s i e l r e s u l t a d od eu n ac o n s u l t at i e n e1 0 0 0r e g i s t r o s u s a n d oe l c r i t e r i o WH E R En > 1 + 2 * 3 y 1 0 1 0r e g i s t r o s u s a n d oe l c r i t e r i o WH E R En >( 1 + 2 ) * 3 , c u l e s e l c o r r e c t o ?N os e r af c i l d e c i d i r l o . Ys i d e c i d e n ma l , y l ee n t r e g a n a l j e f el al i s t a d el o s e mp l e a d o s q u ec u mp l e n l ac o n d i c i n e r r n e a , y s t o s s o n d e s p e d i d o s b u e n o , n od i g a n q u en ol e s a v i s .
E j e r c i c i o s 1 ) R e a l i z a r u n ac o n s u l t aq u ed e v u e l v al o s n o mb r e s y a p e l l i d o s d el o s e mp l e a d o s q u ec o b r a n m s d eU $ S1 0 0 . 0 0 0( a f o r t u n a d o s e l l o s ) . 2 ) R e a l i z a r u n ac o n s u l t aq u ed e v u e l v au n at a b l ac o mol as i g u i e n t e , c o n l o s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
9 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z 2 ) R e a l i z a r u n ac o n s u l t aq u ed e v u e l v au n at a b l ac o mol as i g u i e n t e , c o n l o s
d a t o s o r d e n a d o s p o r P a s , c a t e g o r a , a p e l l i d oy n o mb r e : E mp l e a d o| P a s | C a t e g o r a| S a l a r i o| < f i r s t _ n a me > < e s p a c i o > < l a s t _ n a me >| < j o b _ c o u n t r y >| < j o b _ g r a d e >| < s a l a r y >|
3 ) A g r e g a r al at a b l aa n t e r i o r u n ac o l u mn ac o n e l c d i g od et r a b a j o ( j o b _ c o d e ) e n t r el a s d eC a t e g o r ay S a l a r i o . L l a ma r al ac o l u mn a C o d i g o _ t r a b a j o . 4 ) L i s t a r a q u e l l o s e mp l e a d o s q u eh a y a n s i d oc o n t r a t a d o s e n 1 9 9 0 ( h i r e _ d a t e )
E l l t i moe j e r c i c i op o n ee l d e d oe n u n al l a g a : e l ma n e j od ef e c h a s .
F e c h a s / H o r a s e n S Q L N u e v a me n t e , c a d as e r v i d o r t i e n es u s c o n v e n c i o n e s c o n r e s p e c t oa l f o r ma t od e l a s f e c h a s . E n F i r e b i r dt e n e mo s v a r i o s t i p o s d ec a mp o s p a r aa l ma c e n a r f e c h a s y h o r a s :
D i a l e c t o1 D A T E : a l ma c e n af e c h ay h o r a , c o mod o s n me r o s e n t e r o s d e3 2b i t s . E q u i v a l e n t ea l t i p ot i me s t a mpd e l d i a l e c t o3
E n t o n c e s , c mop o d e mo s u s a r f e c h a s e n c r i t e r i o s d es e l e c c i n ? C i e r t a me n t e , n oc a l c u l a n d ol ac a n t i d a dd ed a s p a s a d o s d e s d ee l d ac e r o , 1 7 d eN o v i e mb r ed e1 8 5 8 . F i r e b i r dp u e d ec o n v e r t i r u n t i p od ed a t oe n o t r o , y p a r t i c u l a r me n t ec o n l a s f e c h a s h a c el ac o n v e r s i n a u t o m t i c a me n t es i e l f o r ma t od e l t e x t oc o n l af e c h ac o i n c i d ec o n a l g u n od el o s r e c o n o c i d o s : C C Y Y MMD D MMD D C C Y YMMD D Y Y MMMD D C C Y YMMMD D Y Y D D MMMC C Y YD D MMMY Y C C Y Y MMD DH H : Mi n : S S : n n n n MMD D C C Y YH H : Mi n : S S : n n n n MMD D Y YH H : Mi n : S S : n n n n MMMD D C C Y YH H : Mi n : S S : n n n n MMMD D Y YH H : Mi n : S S : n n n n D D MMMC C Y YH H : Mi n : S S : n n n n D D MMMY YH H : Mi n : S S : n n n n
d o n d e
C C=s i g l o w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
9 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C C=s i g l o Y Y=a o MM =me s D D=d a H H=h o r a Mi n =mi n u t o s S S=s e g u n d o s n n n n =mi l i s e g u n d o s E l s e p a r a d o r d el a s f e c h a s p u e d es e r ' ' , ' / ' o' . ' . P a r al a s f e c h a s s ep u e d eu s a r e l f o r ma t oa me r i c a n o( MM/ D D ) oe l e u r o p e o( D D . MM) , r e c o n o c i n d o s ep o r e l s e p a r a d o r : e l p u n t op a r ae l f o r ma t oe u r o p e o , c u a l q u i e r o t r op a r ae l a me r i c a n o . P o r e j e mp l o , p a r av e r t o d o s l o s e mp l e a d o s c o n t r a t a d o s e n 1 9 9 0p o d e mo s e s c r i b i r :
S ed e f i n e n e n F i r e b i r da l g u n a s l i t e r a l e s q u es o n r e e mp l a z a d a s p o r l o s v a l o r e s q u er e p r e s e n t a n e n e l mo me n t od el ae v a l u a c i n : N O W: f e c h ay h o r aa c t u a l e s T O D A Y : f e c h aa c t u a l Y E S T E R D A Y : f e c h ad ea y e r T O MO R R O W: f e c h ad ema a n a E s t a s l i t e r a l e s s eu t i l i z a n e n c e r r a d a s e n t r ec o mi l l a s s i mp l e s , c o moe n e l s i g u i e n t ee j e mp l o :
S E L E C T* F R O Me mp l o y e e WH E R Eh i r e _ d a t e<' T O D A Y '
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
T o d o| T i me s t a mp|
L as e n t e n c i aS Q Ln e c e s a r i aa p a r e c ee n e l c u a d r od el ad e r e c h a . N on o s p r e o c u p e mo s p o r a h o r ad ee s t as e n t e n c i a ; l o n i c oq u et e n e mo s q u es a b e r e s q u ec r e a r l at a b l ad e s e a d a . A h o r ae mi t i mo s l o s s i g u i e n t e s c o ma n d o s , u n o p o r v e z , p a r al l e n a r l at a b l ac o n d a t o s :
I N S E R TI N T Op r u e b aV A L U E S( 1 , ' 0 9 : 0 0 ' , ' T O D A Y ' , ' N O W' ) I N S E R TI N T Op r u e b aV A L U E S( 2 , ' 1 0 : 0 0 ' , ' Y E S T E R D A Y ' , ' y e s t e r d a y ' ) I N S E R TI N T Op r u e b aV A L U E S( 3 , ' 1 1 : 0 0 ' , ' t o mo r r o w ' , ' t i me ' ) I N S E R TI N T Op r u e b aV A L U E S( 4 , ' 1 2 : 0 0 ' , c u r r e n t _ d a t e , ' n o w ' ) I N S E R TI N T Op r u e b aV A L U E S( 5 , ' 1 3 : 0 0 ' , ' 2 0 0 2 0 5 2 4 ' , ' n o w ' ) I N S E R TI N T Op r u e b aV A L U E S( 5 , ' 1 3 : 0 0 ' , ' 2 0 0 2 0 5 2 4 ' , ' 2 0 0 2 0 5 2 41 2 : 3 5 ' )
S i a h o r ap e d i mo s l o s d a t o s i n t r o d u c i d o s , c o n u n S E L E C Tc o m n
S E L E C T* F R O Mp r u e b a
v e r e mo s c moi n t e r p r e t F i r e b i r dc a d au n od el o s l i t e r a l e s y f u n c i o n e s u s a d o s , e n c a d at i p od ec a mp o . T a mb i n p o d e mo s p r o b a r o t r a s c o mb i n a c i o n e s p a r a g a n a r u n e n t e n d i mi e n t oma y o r d el a s e x p r e s i o n e s q u es o n v l i d a s y l a s q u en o .
Mi e n t r a s q u el as i g u i e n t es e n t e n c i ad e v o l v e r t o d o s l o s e mp l e a d o s q u e c o n t e n g a n u n a a mi n s c u l ae n c u a l q u i e r p o s i c i n d es u a p e l l i d o : w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 0 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
c o n t e n g a n u n a a mi n s c u l ae n c u a l q u i e r p o s i c i n d es u a p e l l i d o :
P r u e b eac a mb i a r l a a d el ac o n d i c i n p o r u n a A .
C o moe j e mp l o , v e a mo s e l mi s moe j e mp l oq u ea n t e s : l o s e mp l e a d o s c u y o n o mb r ec o mi e n z ac o n A :
T a mb i n e x i s t el av e r s i n n e g a d a , e s d e c i r q u ed e v u e l v eT R U Ec u a n d oe l v a l o r N Oc o n t i e n el ac a d e n a :
< c a mp o >B E T WE E N< v a l o r i n f e r i o r >A N D< v a l o r s u p e r i o r > : d e v u e l v e T R U Ec u a n d oe l v a l o r c o mp a r a d o( q u ep u e d es e r d ec u a l q u i e r t i p os a l v o B L O B ) s ee n c u e n t r ae n t r e< v a l o r i n f e r i o r >y < v a l o r s u p e r i o r > , a mb o s i n c l u s i v e . E s t o s l mi t e s d e b e n s e r d e l mi s mot i p oq u ee l v a l o r ac o mp a r a r . P o r e j e mp l o , l as i g u i e n t es e n t e n c i ad e v o l v e r l o s d a t o s d el o s e mp l e a d o s q u e c o b r a n e n t r eU $ S5 0 . 0 0 0y U $ S7 2 . 0 0 0 :
S E L E C T* F R O Me mp l o y e e WH E R Es a l a r y B E T WE E N5 0 0 0 0A N D7 2 0 0 0
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 0 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L as i g u i e n t ei n s t r u c c i n t r a e r l o s e mp l e a d o s c o n t r a t a d o s e n 1 9 9 0 ( e q u i v a l e n t eal aq u ev i mo s e n u n e j e mp l oa n t e r i o r ) :
Yl as i g u i e n t er e c u p e r a r t o d o s l o s e mp l e a d o s c u y on o mb r ee mp i e c ec o n A , B o C :
N o t e mo s e l u s od e C z p a r ae l l mi t es u p e r i o r ; c u a l q u i e r c a d e n aq u ee mp i e c e c o n C y s i g ac o n u n c a r c t e r c o m n s e r me n o r oi g u a l q u ee s t ac a d e n a , p o r l oq u ee n t r a n e n l as e l e c c i n t o d o s l o s a p e l l i d o s c o me n z a d o s e n C . L av e r s i n n e g a d ad e v u e l v eT R U Ec u a n d oe l v a l o r n oe s t e n e l r a n g od a d o :
D e v o l v e r l o s e mp l e a d o s q u en of u e r o n c o n t r a t a d o s e n 1 9 9 0 .
P o r e j e mp l o , p a r av e r a q u e l l o s e mp l e a d o s d eU S A , C a n a d ay A l e ma n i a ( G e r ma n y ) p o d e mo s h a c e r :
Mi e n t r a s q u ep a r av e r l o s e mp l e a d o s q u es o n l d e r e s d ea l g n p r o y e c t o p o d r a mo s h a c e r :
S E L E C T* F R O Me mp l o y e e WH E R Ee mp _ n oI N( S E L E C Tt e a m_ l e a d e r F R O Mp r o j e c t )
L ac o n s u l t ai n t e r i o r , e n c e r r a d ae n t r ep a r n t e s i s , s ed e n o mi n as u b c o n s u l t ay e s u n ap o d e r o s ap o s i b i l i d a dd eS Q Le n l aq u ea h o n d a r e mo s e n b r e v e .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 0 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
T a mb i n e x i s t el av e r s i n n e g a d a , c o mos eh a b r n i ma g i n a d o :
S E L E C T* F R O Me mp l o y e e WH E R Ee mp _ n oN O TI N( S E L E C Tt e a m_ l e a d e r F R O Mp r o j e c t )
D e v u e l v el o s e mp l e a d o s q u en os o n l d e r e s d ep r o y e c t o s .
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t I SN U L L
D e v u e l v el o s e mp l e a d o s c u y ae x t e n s i n d et e l f o n oe s d e s c o n o c i d a . P r u e b ea e j e c u t a r l as i g u i e n t es e n t e n c i a , q u ep a r e c es e r e q u i v a l e n t e :
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t =N U L L
E s t ec o mp o r t a mi e n t oe s p a r t ed el a s e x t r a v a g a n c i a s d el o s n u l o s , d el a s q u e h a b l a r e mo s mu c h a s v e c e s . S i q u e r e mo s v e r l o s q u es t i e n e n a l ma c e n a d au n ae x t e n s i n , h a r e mo s
S E L E C T* F R O Me mp l o y e e WH E R Ep h o n e _ e x t I SN O TN U L L
( 1 . 5 ) C A S E Ap a r t i r d el av e r s i n 1 . 5d eF i r e b i r d , s ep u e d eg e n e r a r u n a c o n s u l t ac o n d i c i o n a l c u y a s c o l u mn a s t o ma r n v a l o r e n b a s ea l r e s u l t a d od el a e v a l u a c i n d eu n ae x p r e s i n . L as i n t a x i s e s l as i g u i e n t e : S ep u e d e n c l a s i f i c a r l a s s e n t e n c i a s C A S Ee n d o s f o r ma s : 1 ) s i mp l e : s ed e f i n el ae x p r e s i n d e s p u s d el ap a l a b r aC A S Ey l o s d i s t i n t o s v a l o r e s s ea s i g n a n e n b a s eal o s d i s t i n t o s r e s u l t a d o s d el ae v a l u a c i n d ee s t ae x p r e s i n
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
E N D
2 ) c o n b s q u e d a : p a r ac a d av a l o r s ee s p e c i f i c au n ae x p r e s i n
F u n c i o n e s E x i s t e n e n t o d o s l o s s e r v i d o r e s a l g u n a s f u n c i o n e s q u et o ma n u n p a r me t r o e n t r ep a r n t e s i s u s u a l me n t ee l c o n t e n i d od eu n c a mp o y d e v u e l v e n e l v a l o r mo d i f i c a d o . S ep u e d e n u s a r t a n t oe n l ae s p e c i f i c a c i n d el a s c o l u mn a s a d e v o l v e r c o moe n l o s c r i t e r i o s . F i r e b i r de s b a s t a n t ep a r c oe n c u a n t oal a s f u n c i o n e s p r e d e f i n i d a s ; t e n e mo s s o l a me n t eu n p u a d o :
U P P E R ( < c a d e n a > ) : d e v u e l v el ami s mac a d e n ac o n t o d o s l o s c a r a c t e r e s e n ma y s c u l a s . C A S T ( < v a l o r >a s < t i p o > ) : c o n v i e r t ee l v a l o r a l t i p od a d o s i p u e d e . G E N _ I D ( < n o mb r eg e n e r a d o r > , < i n c r e me n t o > ) : i n c r e me n t ae l v a l o r d e l g e n e r a d o r e n l ac a n t i d a dp e d i d ay d e v u e l v ee l r e s u l t a d o . E l g e n e r a d o r q u e d ai n c r e me n t a d o . S U B S T R I N G ( c a d e n aF R O Mi n i c i o[ F O Rn ] ) : d e v u e l v en c a r a c t e r e s d ec a d e n aap a r t i r d e l c a r a c t e r n r o . i n i c i o . S i n os ee s p e c i f i c al ac l u s u l aF O R , s ed e v u e l v e n t o d o s l o s c a r a c t e r e s d e s d ei n i c i oh a s t ae l f i n a l . < < < O J O : c r e oq u eh a y u n p r o b l e mac u a n d os eu s a n j u e g o s d ec a r a c t e r e s d e m s d eu n b y t e v e r l o s me n s a j e s d el o s f o r o s d eF i r e b i r dy p r o b a r c o n f s s _ u n i c o d ey i s o 8 8 5 9 _ 1 > > >
S E L E C T* F R O Me mp l o y e e WH E R Ee x t r a c t ( mo n t h f r o mh i r e _ d a t e ) =1
E MP _ N O
F I R S T _ N A ME
L A S T _ N A ME
P H O N E _ E X T
1 0 5 / 1 4 7
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
H I R E _ D A T E 1 1 2 0 1 4 1 K . J . C h r i s P i e r r e We s t o n 3 4 1 7 / 0 1 / 1 9 9 0 8 8 7 0 1 / 0 1 / 1 9 9 0
P a p a d o p o u l o s O s b o r n e
0 3 / 0 1 / 1 9 9 4
F u n c i o n e s d ea g r e g a c i n L a s s i g u i e n t e s f u n c i o n e s o p e r a n s o b r eu n c o n j u n t od er e g i s t r o s ( q u ep u e d es e r l at a b l ae n t e r a ) , d e v o l v i e n d ou n s o l ov a l o r p o r c a d ag r u p o : A V G ( < c a mp o > ) : d e v u e l v ee l v a l o r me d i od e l c a mp oe n e l g r u p od er e g i s t r o s c o n s i d e r a d o . C O U N T ( < c a mp o >| * ) : d e v u e l v el ac a n t i d a dd er e g i s t r o s d e l g r u p o . S i u s a mo s l ap r i me r av e r s i n , c o n e l n o mb r ed eu n c a mp oe n t r el o s p a r n t e s i s , d e v o l v e r l ac a n t i d a dd ef i l a s e n q u ee s t ec a mp os e an on u l o ; l as e g u n d av e r s i n , c o n u n a s t e r i s c o , d e v u e l v el ac a n t i d a dt o t a l d er e g i s t r o s d e l g r u p o . S i n os ee n c u e n t r a n i n g u n af i l aq u ec u mp l ac o n l a s c o n d i c i o n e s , d e v u e l v e0 . C O U N T ( d i s t i n c t < c a mp o > ) : i g u a l q u ee l a n t e r i o r , p e r oc u e n t as l ol o s r e g i s t r o s c o n v a l o r e s d i f e r e n t e s e n e l c a mp op e d i d o . MA X ( < c a mp o > ) : d e v u e l v ee l v a l o r m x i mod e l c a mp oe n e l g r u p o . MI N ( < c a mp o > ) : d e v u e l v ee l v a l o r m n i mod e l c a mp oe n e l g r u p o . S U M( < c a mp o > ) : d e v u e l v el as u mad el o s v a l o r e s d e l c a mp oe n e l g r u p o . N o c o n s i d e r al o s v a l o r e s n u l o s . S i n oe n c u e n t r an a d ap a r as u ma r ( n oh a y r e g i s t r o s ot o d o s s o n n u l o s ) n od e v u e l v e0 , c o mou n oe s p e r a r a : s i mp l e me n t ed e v u e l v e u n n u l o . P o r e j e mp l o , l ac o n s u l t as i g u i e n t ed e v o l v e r e l mo n t ot o t a l d er e mu n e r a c i o n e s a n u a l e s , s u ma n d oe l c a mp oS A L A R Yd et o d o s l o s r e g i s t r o s d el a t a b l aE MP L O Y E E : s e l e c t s u m( s a l a r y ) f r o me mp l o y e e
S U M 1 1 5 5 2 2 4 6 8
P e r oS Q Lp u e d ed a r mu c h am s i n f o r ma c i n q u ee s a ; p o r e j e mp l o , s e r a b u e n oc o n o c e r e l t o t a l p a g a d oe n s u e l d o s p o r d e p a r t a me n t o , e s d e c i r q u el a s u maa c t u a r as o b r es u b c o n j u n t o s d er e g i s t r o s . P a r ae s p e c i f i c a r l o s l mi t e s d ec a d as u b c o n j u n t od er e g i s t r o s u s a mo s l a c l u s u l aG R O U PB Ys e g u i d ad eu n ae x p r e s i n s o b r ec a mp o s d el at a b l a . L o s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 0 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
T O T A L P O R D E P T O 2 6 6 6 4 3 1 5 5 2 6 2 . 5 1 3 0 4 4 2 . 8 1 1 3 4 8 0 0 0 0 9 5 7 7 9 . 6 9 1 1 0 0 0 0
A n me j o r , p o d e mo s mo s t r a r e l n r o . d ed e p a r t a me n t oj u n t oac a d at o t a l : s e l e c t d e p t _ n oa s D e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e g r o u pb y d e p t _ n o
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 0 01 5 5 2 6 2 . 5 1 1 01 3 0 4 4 2 . 8 1 1 1 51 3 4 8 0 0 0 0 1 2 09 5 7 7 9 . 6 9 1 2 11 1 0 0 0 0
T r a t ed ev i s u a l i z a r me n t a l me n t ee l r e s u l t a d od el as e n t e n c i aa n t e r i o r s i n l a c l u s u l aO R D E RB Y . S i U d . p u e d e , l of e l i c i t o ; y on os a b r ac moa r ma r l a s f i l a s , me z c l a n d on r o s . d ed e p a r t a me n t o( q u es er e p i t e n ) y t o t a l e s p o r c a d a d e p a r t a me n t od i f e r e n t e . E l i n t r p r e t eS Q Lt a mp o c ol os a b e , y s eq u e j a a ma r g a me n t e : s e l e c t d e p t _ n oa s D e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e
D y n a mi c S Q LE r r o r S Q Le r r o r c o d e=1 0 4 i n v a l i dc o l u mn r e f e r e n c e
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z g r u p oy t o d o s l o s r e g i s t r o s d e l g r u p ot i e n e n e l mi s mov a l o r e n d e p t _ n o , p o r l o
q u en oh a y a mb i g e d a d e s . L ar e g l as i n t c t i c ae s , e n t o n c e s : ? ? ? ? ? ?
S u p o n g aa h o r aq u eq u e r e mo s v e r s o l a me n t ea q u e l l o s d e p a r t a me n t o s e n l o s c u a l e s s ep a g a n m s d e2 5 0 . 0 0 0d o l a r e s a l a oe n s u e l d o s . E n e s t ec a s ol a r e s t r i c c i n n os ep u e d ea p l i c a r c o n u n ac l u s u l aWH E R E , y aq u el ac o n d i c i n a c u mp l i r u t i l i z ae l t o t a l p o r d e p a r t a me n t oc a l c u l a d os o b r el o s s u b c o n j u n t o s . P a r a a p l i c a r u n ac o n d i c i n d ef i l t r a d od e s p u s d e l a g r u p a mi e n t od el o s r e g i s t r o s , e x i s t el ap a r t c u l aH A V I N G :
s e l e c t d e p t _ n oa s d e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e g r o u pb y d e p t _ n o h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 1 51 3 4 8 0 0 0 0 1 2 33 9 0 5 0 0 1 2 59 9 0 0 0 0 0 0 6 2 12 7 6 7 3 9 . 5 6 2 32 8 7 7 5 8 . 2 5 6 7 12 1 9 4 6 5 . 1 9
E s o s s o n t o d o s l o s d e p a r t a me n t o s q u ec u mp l e n c o n n u e s t r ac o n d i c i n . A h o r ac a mb i a mo s l ap r e g u n t a : q u e r e mo s s a b e r c u l e s s o n l o s s u e l d o s q u es e p a g a n p o r d e p a r t a me n t o , p e r os o l a me n t ee n U S A . E s t ac o n d i c i n s s ed e b e a p l i c a r r e g i s t r op o r r e g i s t r o , y aq u ep u e d eh a b e r u n d e p a r t a me n t oc o n e mp l e a d o s e n d i s t i n t o s p a s e s . L as e n t e n c i ar e s u l t a n t ee s : s e l e c t d e p t _ n oa s d e p t o , s u m( s a l a r y ) a s T o t a l P o r D e p t o f r o me mp l o y e e w h e r ej o b _ c o u n t r y = ' U S A ' g r o u pb y d e p t _ n o
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 1 0 01 5 5 2 6 2 . 5 1 1 01 3 0 4 4 2 . 8 1 1 3 01 8 9 0 4 2 . 9 4 1 8 01 0 7 3 7 7 . 5 6 0 01 3 2 9 0 0
Yf i n a l me n t e , j u n t a mo s l a s d o s c o n d i c i o n e s : q u e r e mo s v e r l o s d e p a r t a me n t o s e n l o s q u es ep a g a n m s d eU $ S2 0 0 0 0 0e n t o t a l , c o n t a n d os o l a me n t el o s e mp l e a d o s q u et r a b a j a n e n U S A : w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 0 8 / 1 4 7
2 1 / 0 4 / 1 3
e mp l e a d o s q u et r a b a j a n e n U S A :
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
D E P T OT O T A L P O R D E P T O 0 0 02 6 6 6 4 3 6 2 12 7 6 7 3 9 . 5 6 2 32 8 7 7 5 8 . 2 5 6 7 12 1 9 4 6 5 . 1 9
N o t e mo s l ap o t e n c i ad e l l e n g u a j e ; i ma g n e s el oq u et e n d r aq u eh a c e r p a r a o b t e n e r e s t er e s u l t a d ou s a n d ou n c u r s o r , r e c o r r i e n d ol o s r e g i s t r o s u n op o r u n o
S u b c o n s u l t a s
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C R E A T ET A B L EE MP L O Y E E _ P R O J E C T( E MP _ N OE MP N ON O TN U L L , P R O J _ I DP R O J N ON O TN U L L , P R I MA R YK E Y( E MP _ N O , P R O J _ I D ) ) ;
C o mov e mo s , s o l a me n t et i e n ed o s c a mp o s : u n or e f e r e n c i aau n e mp l e a d o , e l o t r oau n p r o y e c t o . C a d ar e g i s t r od ee s t at a b l ar e l a c i o n aau n e mp l e a d oc o n u n p r o y e c t o , y l ac l a v ep r i ma r i ae s l ac o n j u n c i n d el o s d o s c a mp o s p a r ap e r mi t i r r e p e t i c i o n e s e n c u a l q u i e r ad ee l l o s p o r s e p a r a d op e r on oe n l o s d o s j u n t o s ( u n mi s moe mp l e a d on os ep u e d ep o n e r e n u n mi s mop r o y e c t od o s v e c e s ) . A h o r ap e n s e mo s e n l as i g u i e n t ep r e g u n t a : c u l e s s o n l o s n o mb r e s d el o s p r o y e c t o s e n l o s c u a l e s p a r t i c i p aB r u c eY o u n g ?I n t e n t eo b t e n e r u n ar e s p u e s t a c o n S Q La n t e s d es e g u i r l e y e n d o . P o d e mo s e j e c u t a r l as i g u i e n t es e c u e n c i ad ea c c i o n e s : 1 ) b u s c a r e l n r o . d ee mp l e a d od eB r u c eY o u n g , y aq u e s t ee s e l c a mp oq u e e x i s t ee n l at a b l ai n t e r me d i aE mp l o y e e _ P r o j e c t . E s mu y s i mp l e : s e l e c t e mp _ n o f r o me mp l o y e e w h e r ef i r s t _ n a me = ' B r u c e ' a n dl a s t _ n a me = ' Y o u n g '
E MP _ N O 4
2 ) b u s c a r l o s p r o y e c t o s e n q u ep a r t i c i p ae s t ee mp l e a d o : s e l e c t * f r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 4
E MP _ N O
P R O J _ I D
4 4 V B A S E MA P D B
1 1 0 / 1 4 7
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P R O J _ I DP R O J _ N A ME V B A S E V i d e oD a t a b a s e MA P D B Ma p B r o w s e r p o r t
s e l e c t P r o j _ i d , P r o j _ N a me f r o mp r o j e c t w h e r ep r o j _ i di n ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 4 )
P R O J _ I DP R O J _ N A ME V B A S E V i d e oD a t a b a s e MA P D B Ma p B r o w s e r p o r t
O b s e r v ee s p e c i a l me n t eq u ec a d as u b c o n s u l t av ae n c e r r a d ae n t r ep a r n t e s i s .
E s t en oe s , c l a r o , e l n i c oc a s oe n q u es eu t i l i z a n l a s s u b c o n s u l t a s . P r c t i c a me n t ec u a l q u i e r p r o b l e maq u er e q u i e r al ae j e c u c i n d es e n t e n c i a s d e s e l e c c i n i n t e r me d i a s , c u y o s r e s u l t a d o s l u e g os eu s a r n p a r ao b t e n e r l a r e s p u e s t a , s ep u e d ee s c r i b i r u s a n d os u b c o n s u l t a s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 1 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C o mp a r a c i n c o n e l r e s u l t a d od eu n as u b c o n s u l t a L o s s i g u i e n t e s o p e r a d o r e s s ep u e d e n u s a r c o n s u b c o n s u l t a s : < v a l o r >A L L< s u b c o n s u l t a > : d e v u e l v eT R U Es i e l v a l o r e s i g u a l at o d o s l o s d e v u e l t o s p o r l as u b c o n s u l t a < v a l u e >A N Y| S O ME< s u b c o n s u l t a > : d e v u e l v eT R U Es i e l v a l o r c o mp a r a d oe s i g u a l aa l g u n od el o s d e v u e l t o s p o r l as u b c o n s u l t a . E X I S T S< s u b c o n s u l t a > : d e v u e l v eT R U Es i l as u b c o n s u l t ad e v u e l v ea l me n o s u n af i l a . E j e mp l o : d e t e r mi n a r s i h a y a l me n o s u n p r o y e c t oe n e l q u et r a b a j eL e s l i e J o h n s o n s e l e c t ' S i ' a s H a y _ u n _ p r o y e c t o f r o mp r o j e c t w h e r ee x i s t s ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 8 )
H A Y _ U N _ P R O Y E C T O S i S i S i S i S i S i
P r u e b ec o n u n n r od ee mp l e a d od i s t i n t o , p o r e j e mp l o1( n oe x i s t e ) o2( n oe s t a s i g n a d oan i n g n p r o y e c t o ) . L ar e s p u e s t ae s u n t a n t or e p e t i t i v a e l h e c h oe s q u es emo s t r a r u n ' S i ' p o r c a d ap r o y e c t oe x i s t e n t ee n l at a b l a' P r o j e c t ' , d a d oq u el as u b c o n s u l t an oe s t r e l a c i o n a d ac o n l ac o n s u l t ae x t e r i o r . E n t o n c e s , p o r c a d ar e g i s t r od el at a b l a P r o j e c t s ee v a l al as u b c o n s u l t ay s t as i e mp r ee s l ami s ma , s i e mp r ed ae l mi s mor e s u l t a d o . V e r e mo s d o s ma n e r a s d ee v i t a r l a s r e p e t i c i o n e s : 1 ) U s a n d ou n at a b l ac o n u n s o l or e g i s t r oe n l ac o n s u l t ae x t e r n a . E n F i r e b i r d/ I n t e r b a s ee x i s t eu n at a b l aa s e n t o d a s l a s b a s e s d ed a t o s : e s l aq u ea l ma c e n a c a r a c t e r s t i c a s d el ab a s ed ed a t o s e n s , y p o r c o n s i g u i e n t es l ot i e n eu n r e g i s t r o . S el l a mar d b $ d a t a b a s e . L ac o n s u l t aa n t e r i o r q u e d a r i ad el as i g u i e n t e ma n e r a s e l e c t ' S i ' a s H a y _ u n _ p r o y e c t o f r o mr d b $ d a t a b a s e w h e r ee x i s t s ( s e l e c t P r o j _ I df r o me mp l o y e e _ p r o j e c t w h e r ee mp _ n o = 8 )
E s t ac o n s u l t ad e v u e l v eu n s o l o' S i ' s i h a y a l me n o s u n p r o y e c t oq u ec o n t e n g aa l e mp l e a d o , y N U L Le n c a s oq u en oh a y an i n g u n o . E s b a s t a n t ee f i c i e n t ey aq u e l as u b c o n s u l t as ee j e c u t au n as o l av e z .
2 ) U s a n d ou n as u b c o n s u l t ac o r r e l a c i o n a d a . E n e s t ec a s ol as u b c o n s u l t as e r e l a c i o n ac o n l ac o n s u l t ae x t e r i o r at r a v s d ea l g n c a mp o , c o n l oq u el a e v a l u a c i n d el as u b c o n s u l t ae n c a d ar e g i s t r od el ae x t e r i o r p u e d ea r r o j a r u n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
H A Y _ U N _ P R O Y E C T O S i S i S i
E l r e s u l t a d op u e d et e n e r v a r i a s l n e a s , u n ap o r c a d ap r o y e c t oa l q u ee s t a s i g n a d oe l e mp l e a d o . E s t ac o n s u l t ae s m s l e n t aq u el aa n t e r i o r p e r od au n a i n f o r ma c i n e x t r a : l ac a n t i d a dd ep r o y e c t o s al o s q u ee s t a s i g n a d oe l e mp l e a d o .
S I N G U L A R< s u b c o n s u l t a > : d e v u e l v eT R U Es i l as u b c o n s u l t a d e v u e l v ee x a c t a me n t eu n af i l a .
U n i o n e s
C o n s u l t ad ev a r i a s t a b l a s r e l a c i o n a d a s
H a s t aa h o r ah e mo s t r a b a j a d os i e mp r ec o n u n as o l at a b l a . P e r os i s e g u i mo s l a s r e g l a s d en o r ma l i z a c i n t e n d r e mo s q u ed i v i d i r mu c h a s v e c e s l o s d a t o s e n v a r i a s t a b l a s ; p o r e j e mp l o , e n l at a b l ad ep r o y e c t o s ( p r o j e c t s ) d el ab a s ed e d a t o s q u ee s t a mo s u s a n d oe x i s t eu n c a mp ol l a ma d ot e a m_ l e a d e r , n u m r i c o .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
N u m r i c o ? Q u i e r ed e c i r q u el o s l d e r e s d ep r o y e c t os er e c o n o c e n p o r u n n me r o n i c a me n t e , n op o r e l n o mb r ey a p e l l i d oc o mot o d oe l mu n d o ?B u e n o , j u s t a me n t e : e s en me r oe s e l n me r od ee mp l e a d od eu n r e g i s t r od el a t a b l ae mp l o y e e . D e s p u s d et o d o , h a s t al o s l d e r e s d ep r o y e c t os o n e mp l e a d o s ! < < < g r f i c od el o s d a t o s e n f o r mad ea r b o l , al ad e r e c h a > > > V e a mo s d eo t r ama n e r al an o r ma l i z a c i n d et a b l a s : c o mou n r b o l . E n e s t e r b o l e l t r o n c oe s n u e s t r at a b l a p r i n c i p a l , y c a d an u e v ar a mae s u n r e g i s t r od e o t r at a b l ac o n u n e n l a c eh a c i ae l t r o n c o . E n e l c a s ome n o s b o t n i c od el a s b a s e s d ed a t o s r e l a c i o n a l e s e l e n l a c ev i e n ed a d op o r u n oom s c a mp o s q u e t e n d r n l o s mi s mo s v a l o r e s e n l a s d o s t a b l a s . P a r aa c c e d e r at o d o s l o s d a t o s c o mp l e t o s d eu n r e g i s t r od el at a b l ap r i n c i p a l ( e l t r o n c o ) , d e b e mo s mo s t r a r t a mb i n l o s d a t o s d et o d a s l a s r a ma s q u ec u e l g a n d e l . A l g oa s c o moh a c h a r e l r b o l y p o n e r t o d a s l a s r a ma s u n aa l l a d od el ao t r a . E s t ee s q u e man os e r af u n c i o n a l s i n u n l e n g u a j ed ec o n s u l t aq u ep e r mi t a o b t e n e r d a t o s d et a b l a s r e l a c i o n a d a s al av e z ; e s t oe s l oq u eh a c eS E L E C T c o n l a s r e l a c i o n e s oe n c u e n t r o s ( J o i n s ) . H a y v a r i a s ma n e r a s d er e c u p e r a r i n f o r ma c i n d et a b l a s r e l a c i o n a d a s . P o r e j e mp l o , p o d e mo s p e d i r q u el aB Dn o s d e v u e l v al o s d a t o s d et o d a s l a s c o mp r a s ( t a b l ad ef a c t u r a s ) d en u e s t r o s c l i e n t e s ( c u y o s d a t o s e s t n e n o t r a t a b l a ) ; p e r o q u p a s a r c o n l o s d a t o s d el o s c l i e n t e s q u en oh a n c o mp r a d o n a d at o d a v ay p o r l ot a n t on ot i e n e n f a c t u r a s ?B u e n o , e s t od e p e n d ed e l t i p od e e n c u e n t r oq u eu s e mo s a l c o n s u l t a r c o mov e r e mo s e n s e g u i d a . E n g e n e r a l , l a s r e l a c i o n e s s i e mp r es eh a c e n e n t r ed o s t a b l a s ; a u n q u ep u e d e h a b e r v a r i a s d ee s t a s r e l a c i o n e s d ep a r e j ae n u n as o l ai n s t r u c c i n S E L E C T . V e r e mo s p r i me r ol af o r mam s a n t i g u a [ 7 ] , l i s t a n d ol o s n o mb r e s d et o d a s l a s t a b l a s i n t e r v i n i e n t e s l u e g od eF R O M, s e p a r a d a s p o r c o ma s , y c o n l a s r e l a c i o n e s e n l ac l u s u l aWH E R E :
S E L E C Tc o l u mn a s | * F R O Mt a b l a 1 , t a b l a 2 , t a b l a 3 [ WH E R Ec o n d i c i n ] [ O R D E RB Yc o l u mn a s ]
C o n u n e j e mp l os ev e r m s c l a r o . E n l ab a s ed e d a t o s E mp l o y e e . g d bt e n e mo s v a r i a s t a b l a s r e l a c i o n a d a s , p o r e j e mp l ol a s d e e mp l e a d o s ( d a t o s g e n e r a l e s d el o s e mp l e a d o s ) y l ad ed e p a r t a me n t o s ( d a t o s d ec a d ad e p a r t a me n t od el ae mp r e s a ) . E n l at a b l ad ed e p a r t a me n t o s ( A p a r t me n t ) h a y u n c a mp oq u er e l a c i o n ac o n l at a b l ad ee mp l e a d o s : Mn g r _ N o , on me r od ee mp l e a d od e l e n c a r g a d o( Ma n a g e r ) . E s t en me r os er e l a c i o n a c o n e l c a mp oE mp _ n od el at a b l ad ee mp l e a d o s , d et a l ma n e r aq u ec a d a d e p a r t a me n t oq u et e n g au n e n c a r g a d ot e n d r ae n e l c a mp oMn g r _ n os u n me r o d ee mp l e a d o . S i q u e r e mo s mo s t r a r e l n o mb r ed e l d e p a r t a me n t oy e l n o mb r e d es u e n c a r g a d o , t e n d r e mo s q u eb u s c a r e n l a s d o s t a b l a s . L as i g u i e n t ee s u n a ma n e r ad eh a c e r l oe n S Q L :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e , d e p a r t me n t WH E R Ed e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E s t ai n s t r u c c i n n o s d e v u e l v el al i s t ad et o d o s l o s d e p a r t a me n t o s , y e l n o mb r e d e l e n c a r g a d o , o r d e n a d o s p o r d e p a r t a me n t o .
U n mo me n t o ! P i d a n u n al i s t ad el o s d e p a r t a me n t o s o r d e n a d o s , y c o mp a r e n p o r e j e mp l o , p u e d e n v e r e n e l p r i me r r e s u l t a d oe l d e p a r t a me n t o Ma r k e t i n g ? E s t ee s s l ou n od el o s q u ef a l t a n . L ar a z n : e l c a mp o Mn g r _ N o d ee s o s r e g i s t r o s t i e n eu n v a l o r n u l o , i mp l i c a n d oq u en oh a y u n e n c a r g a d oa s i g n a d oa l d e p a r t a me n t o( oa l g u i e n s eo l v i d d ec a r g a r l oe n l ab a s ed ed a t o s ) . Mo r a l e j a : c u a n d os eu t i l i z ae s t af o r mad er e l a c i n e n t r et a b l a s ( l i s t a d od el a s t a b l a s e n e l F R O M, c o n d i c i o n e s d ee n l a c ee n WH E R E ) n i c a me n t ea p a r e c e n e n e l r e s u l t a d ol o s r e g i s t r o s d el a s d o s t a b l a s e n l a s c u a l e s h a y av a l o r e s d e e n l a c ec o i n c i d e n t e s . E s t et i p od ee n c u e n t r oe n t r et a b l a s s e d e n o mi n aE n c u e n t r oI n t e r n o( I N N E RJ O I N ) .
E j e r c i c i o R e a l i c el ami s mac o n s u l t ad e l e j e mp l oa n t e r i o r , p e r oe s t av e z s i n e l c r i t e r i od e s e l e c c i n ( WH E R E ) . q u o b t i e n e ?
S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c , c o u n t r y p a i s , s a l e s s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
WH E R Ec . c u s t _ n o=s . c u s t _ n o A N Dc . c o u n t r y =p a i s . c o u n t r y O R D E RB Yc . c u s t o me r
H a y v a r i a s c o s a s p a r an o t a r e n l ac o n s u l t aa n t e r i o r . N oa p a r e c e n t o d o s l o s c l i e n t e s . E s t oy ae r ad ee s p e r a r , n o ? C u l e s s o n l o s q u ea p a r e c e n ? L a s r e l a c i o n e s e n t r el a s d i s t i n t a s t a b l a s s eu n e n e n t r es c o n A N D , p a r a i n d i c a r q u es et i e n e n q u ec u mp l i r t o d a s l a s c o n d i c i o n e s p a r aq u ee l r e g i s t r o a p a r e z c ae n e l r e s u l t a d o .
A s s ep u e d e n a g r e g a r m s t a b l a s , s i mp l e me n t el i s t n d o l a s e n e l F R O My a g r e g a n d ou n ac o n d i c i n a l c r i t e r i od es e l e c c i n c o n A N D . Q u p a s a r s i n o s o l v i d a mo s d ea l g n c r i t e r i o ?P u e s q u ee l s e r v i d o r n oe mi t i r n i n g n e r r o r , y g e n e r a r u n au n i n c a r t e s i a n ac o n l at a b l aq u ed e j e mo s s u e l t a
H a y o t r a s f o r ma s d ec o mb i n a c i n d et a b l a s . P o d e mo s p e d i r a l s e r v i d o r q u e n o s mu e s t r et o d o s l o s r e g i s t r o s d eu n ad el a s t a b l a s , y n i c a me n t el o s v a l o r e s d el ao t r at a b l ac u a n d oh a y au n ac o r r e s p o n d e n c i a . S ed i c eq u es e p r e s e r v au n a t a b l a , l aq u es emu e s t r ac o mp l e t a . A l g u n o s s e r v i d o r e s i mp l e me n t a n e s t a s c o mb i n a c i o n e s c o n v a r i a c i o n e s d el a s i n t a x i s a n t e r i o r , a g r e g a n d on u e v o s o p e r a d o r e s al as e n t e n c i aw h e r e . F i r e b i r d e n c a mb i os i g u ee l e s t n d a r A N S I 9 2e n e l q u es ep r o p o n eu n an u e v af o r ma d ee s p e c i f i c a r l a s c o mb i n a c i o n e s e n t r et a b l a s , i n d i c n d o l a s e n e l F R O M. L a s i n t a x i s c o mp l e t as e r a
E s c r i b a mo s a l g u n o s d el o s e j e mp l o s a n t e r i o r e s c o n l an u e v as i n t a x i s :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e , d e p a r t me n t WH E R Ed e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
E s t ai n s t r u c c i n n o s d e v u e l v el al i s t ad et o d o s l o s d e p a r t a me n t o s , y e l n o mb r e d e l e n c a r g a d o , o r d e n a d o s p o r d e p a r t a me n t o . C o n l an u e v as i n t a x i s , q u e d a r a :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e eI N N E RJ O I Nd e p a r t me n t O Nd e p a r t me n t . mn g r _ n o= e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
Ov e a mo s l as i g u i e n t e , q u et r a el o s d a t o s d el o s p e d i d o s , c l i e n t e s y p a s e s S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c , c o u n t r y p a i s , s a l e s s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
WH E R Ec . c u s t _ n o=s . c u s t _ n o A N Dc . c o u n t r y =p a i s . c o u n t r y O R D E RB Yc . c u s t o me r
C o n l an u e v as i n t a x i s : S E L E C Tc . c u s t o me r a s C l i e n t e , p a i s . c u r r e n c y a s Mo n e d a , s . o r d e r _ d a t ea s F e c h a P e d i d o , s . o r d e r _ s t a t u s a s E s t a d o , s . p a i da s P a g a d o F R O Mc u s t o me r c I N N E RJ O I Nc o u n t r y p a i s O Nc . c o u n t r y =p a i s . c o u n t r y I N N E RJ O I Ns a l e s s O Nc . c u s t _ n o=s . c u s t _ n o O R D E RB Yc . c u s t o me r
L an u e v as i n t a x i s s e p a r af s i c a me n t el o s c o n c e p t o s l g i c o s d er e l a c i n o e n c u e n t r oy c r i t e r i o s d es e l e c c i n .
V o l v a mo s s o b r ee l p r i me r e j e mp l o , d o n d et r a a mo s c a d ad e p a r t a me n t oc o n e l n o mb r ed es u e n c a r g a d o . N o t a mo s a n t e s q u en os el i s t a n t o d o s l o s d e p a r t a me n t o s c u a n d op e d i mo s u n au n i n i n t e r n a , y aq u eh a y d e p a r t a me n t o s q u en ot i e n e n e n c a r g a d o . U s a n d ol a s e x t e n s i o n e s al as i n t a x i s p o d e mo s p e d i r q u es en o s mu e s t r e n t o d o s l o s d e p a r t a me n t o s , c o mp l e t a n d oe l r e g i s t r oc o n e l n o mb r ed e l e n c a r g a d oc u a n d o s t ee x i s t a :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Me mp l o y e e R I G H TJ O I Nd e p a r t me n t O Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E u r o p e a n H e a d q u a r t e r s R e e v e s , R o g e r F i e l dO f f i c e : C a n a d a S u t h e r l a n d , C l a u d i a
F i e l dO f f i c e : E a s t C o a s t We s t o n , K . J . F i e l dO f f i c e : F r a n c e F i e l dO f f i c e : I t a l y F i e l dO f f i c e : J a p a n G l o n , J a c q u e s
F e r r a r i , R o b e r t o Y a ma mo t o , T a k a s h i
F i e l dO f f i c e : S i n g a p o r e F i e l dO f f i c e : S w i t z e r l a n dO s b o r n e , P i e r r e F i n a n c e Ma r k e t i n g P a c i f i c R i mH e a d q u a r t e r sB a l d w i n , J a n e t Q u a l i t y A s s u r a n c e F o r e s t , P h i l
1 1 7 / 1 4 7
S t e a d ma n , Wa l t e r
R e s e a r c h a n dD e v e l o p me n t P a p a d o p o u l o s , C h r i s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z R e s e a r c h a n dD e v e l o p me n t P a p a d o p o u l o s , C h r i s
S a l e s a n dMa r k e t i n g S o f t w a r eD e v e l o p me n t S o f t w a r eP r o d u c t s D i v .
Ma c D o n a l d , Ma r y S .
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Md e p a r t me n t L E F TJ O I Ne mp l o y e eO Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
N o t e mo s q u ee l r e s u l t a d oe s e l mi s mo , s o l a me n t eh e mo s c a mb i a d oe l o r d e n d el a s t a b l a s e n l ac l u s u l aF R O M. P o r l t i mo , p o d e mo s p r e s e r v a r l a s d o s t a b l a s a l mi s mot i e mp o : s emo s t r a r n t o d o s l o s r e g i s t r o s d ea mb a s t a b l a s , c o mp l e t a n d oc o n n u l o s l o s l u g a r e s d o n d e f a l t e n d a t o s r e l a c i o n a d o s :
S E L E C Td e p a r t me n t . d e p a r t me n t , e mp l o y e e . f u l l _ n a me F R O Md e p a r t me n t F U L LJ O I Ne mp l o y e eO Nd e p a r t me n t . mn g r _ n o=e mp l o y e e . e mp _ n o O R D E RB Yd e p a r t me n t . d e p a r t me n t
D E P A R T ME N T
F U L L _ N A ME
C o n s u me r E l e c t r o n i c s D i v . C o o k , K e v i n C o r p o r a t eH e a d q u a r t e r s B e n d e r , O l i v e r H . C u s t o me r S e r v i c e s C u s t o me r S u p p o r t E n g i n e e r i n g Wi l l i a ms , R a n d y Y o u n g , K a t h e r i n e N e l s o n , R o b e r t
E u r o p e a n H e a d q u a r t e r s R e e v e s , R o g e r F i e l dO f f i c e : C a n a d a S u t h e r l a n d , C l a u d i a
F i e l dO f f i c e : E a s t C o a s t We s t o n , K . J . F i e l dO f f i c e : F r a n c e F i e l dO f f i c e : I t a l y F i e l dO f f i c e : J a p a n G l o n , J a c q u e s
F e r r a r i , R o b e r t o Y a ma mo t o , T a k a s h i
F i e l dO f f i c e : S i n g a p o r e F i e l dO f f i c e : S w i t z e r l a n dO s b o r n e , P i e r r e F i n a n c e Ma r k e t i n g P a c i f i c R i mH e a d q u a r t e r sB a l d w i n , J a n e t Q u a l i t y A s s u r a n c e F o r e s t , P h i l S t e a d ma n , Wa l t e r
R e s e a r c h a n dD e v e l o p me n t P a p a d o p o u l o s , C h r i s S a l e s a n dMa r k e t i n g S o f t w a r eD e v e l o p me n t S o f t w a r eP r o d u c t s D i v . w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 1 8 / 1 4 7
Ma c D o n a l d , Ma r y S .
2 1 / 0 4 / 1 3
S o f t w a r eP r o d u c t s D i v . G r e e n , T . J . N o r d s t r o m, C a r o l B i s h o p , D a n a G u c k e n h e i me r , Ma r k P a g e , Ma r y J o h n s o n , S c o t t B u r b a n k , J e n n i f e r M. B r o w n , K e l l y J o h n s o n , L e s l i e P h o n g , L e s l i e F i s h e r , P e t e L e e , T e r r i P a r k e r , B i l l L a mb e r t , K i m Y a n o w s k i , Mi c h a e l S t a n s b u r y , Wi l l i e B e n n e t , A n n Mo n t g o me r y , J o h n D eS o u z a , R o g e r Y o u n g , B r u c e R a ma n a t h a n , A s h o k H a l l , S t e w a r t L e u n g , L u k e O ' B r i e n , S u eA n n e I c h i d a , Y u k i
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
L e n g u a j ed eD e f i n i c i n d eD a t o s ( D D L )
E l L e n g u a j ed eD e f i n i c i n d eD a t o s e s u n s u b c o n j u n t od eS Q Lc o n i n s t r u c c i o n e s p a r ac r e a r , mo d i f i c a r y b o r r a r l o s d i s t i n t o s o b j e t o s q u ec o mp o n e n l aB a s ed eD a t o s c o mos e r t a b l a s , n d i c e s , d o mi n i o s , e t c . I n c l u s op e r mi t e n l a d e f i n i c i n d eB a s e s d eD a t o s c o mp l e t a s .
B a s e s d eD a t o s
C r e a c i n d eu n ab a s ed ed a t o s P a r ac r e a r u n ab a s ed ed a t o s s eu t i l i z al as e n t e n c i aC R E A T ED A T A B A S E . L a s i n t a x i s e s l as i g u i e n t e :
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 1 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S C H E MA=e q u i v a l e n t eaD A T A B A S E < s e c o n d a r y _ f i l e >=F I L E' f i l e s p e c ' [ < f i l e i n f o > ] [ < s e c o n d a r y _ f i l e > ] < f i l e i n f o >=[ L E N G T H[ = ] i n t [ P A G E [ S ] ] | S T A R T I N G[ A T[ P A G E ] ] i n t } [ < f i l e i n f o > ]
V e r e mo s l a s d i s t i n t a s o p c i o n e s d el as e n t e n c i aa n t e r i o r at r a v s d ee j e mp l o s .
1 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y ;
E s t ae s l ai n s t r u c c i n m s c o m n : c r e au n a r c h i v oc o n e l n o mb r ed a d oc o mo p r i me r p a r me t r o , c o n e c t a n d oa l s e r v i d o r c o n e l n o mb r ed eu s u a r i oy c l a v e d a d o s ( e l u s u a r i ou s a d od e b et e n e r p e r mi s o s p a r ac r e a c i n d eb a s e s d e d a t o s u t i l i z a r e mo s c a s i s i e mp r ee l n o mb r ed e l a d mi n i s t r a d o r d e l s e r v i d o r , q u ep o r d e f e c t oe s S Y S D B A c o n c l a v e ma s t e r k e y ) . S i y ae x i s t eu n a r c h i v oc o n e l n o mb r ep e d i d os ec a n c e l al ao p e r a c i n . N oe s o b l i g a t o r i al ae x t e n s i n . G D B [ 8 ] e n e l a r c h i v o ; e l mo t o r d ed a t o s n o c o n s i d e r al ae x t e n s i n s i n oe l c o n t e n i d o .
2 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y P A G E _ S I Z E4 0 9 6 ;
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z L a s p g i n a s s o n l au n i d a dd ei n t e r c a mb i od ed a t o s e n t r ee l a r c h i v oe n d i s c oy
l ame mo r i a ; c u a n d oe l s e r v i d o r n e c e s i t ad a t o s t i e n eq u ec a r g a r u n ap g i n a e n t e r aal ame mo r i a . E s t a s p g i n a s s ema n t i e n e n e n l ame mo r i ap o r u n t i e mp o , d ema n e r aq u ee s t n r p i d a me n t ed i s p o n i b l e s s i s es o l i c i t a n n u e v a me n t e . L ad i v i s i n e n p g i n a s e s v l i d at a n t op a r ad a t o s c o mop a r al o s n d i c e s . E l t a ma op o r d e f e c t od e1 0 2 4b y t e s e s mu y c o n s e r v a d o r d eme mo r i a ; e n l o s s i s t e ma s a c t u a l e s , s ea l c a n z au n r e n d i mi e n t omu c h oma y o r u s a n d op g i n a s d e 4 0 9 6b y t e s om s ( I n t e r b a s es o p o r t ah a s t ap g i n a s d e8 1 9 2b y t e s ; F i r e b i r d , 1 6 3 8 4b y t e s ) . Mi e n t r a s m s g r a n d e s l a s p g i n a s , m s me mo r i as eu s a r e n e l s e r v i d o r p e r os e r n n e c e s a r i a s me n o s l e c t u r a s d ed i s c o . E l p u n t o p t i moe s u n c o mp r o mi s oe n t r el o s r e c u r s o s u s a d o s y e l r e n d i mi e n t on e c e s a r i op a r al a a p l i c a c i n e n c o n s i d e r a c i n .
3 .C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y P A G E _ S I Z E4 0 9 6F I L E c : \ E MP L E A D O S 2 . G D B S T A R T I N GA TP A G E1 0 0 0 1 ;
4 . C R E A T ED A T A B A S E C : \ E MP L E A D O S . G D B U S E R S Y S D B A P A S S WO R D ma s t e r k e y D E F A U L TC H A R A C T E RS E T' I S O 8 8 5 9 _ 1 ' ;
E s t a l t i mas e n t e n c i ae s p e c i f i c au n j u e g od ec a r a c t e r e s p o r d e f e c t op a r al a B a s ed eD a t o s .
E l j u e g od ec a r a c t e r e s E l j u e g od ec a r a c t e r e s d eu n ab a s ed ed a t o s d e t e r mi n al o s c a r a c t e r e s au s a r e n l a s c o l u mn a s d et i p oC H A R , V A R C H A RoB L O Bs u b t i p o1 . L i g a d oa l j u e g o d ec a r a c t e r e s e s t a r t a mb i n e l t a ma od ea l ma c e n a mi e n t o , y aq u ep o r e j e mp l oe l j u e g oU N I C O D E _ F S St i e n ec a r a c t e r e s q u eo c u p a n 1b y t ey o t r o s q u eo c u p a n h a s t a3b y t e s . T a mb i n a c t ae n e l o r d e n a mi e n t o( c o l l a t i o n o r d e r ) y d e t e r mi n al a s t r a n s f o r ma c i o n e s q u es ep u e d e n h a c e r e n t r ed i s t i n t o s j u e g o s d ec a r a c t e r e s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 2 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
t r a n s f o r ma c i o n e s q u es ep u e d e n h a c e r e n t r ed i s t i n t o s j u e g o s d ec a r a c t e r e s ( t r a n s l i t e r a t i o n ) . P a r av e r l o s d i s t i n t o s j u e g o s d ec a r a c t e r e s y l a s e s p e c i f i c a c i o n e s d eo r d e n a mi e n t o( c o l l a t i o n o r d e r s ) d i s p o n i b l e s , p o d e mo s i n t e r r o g a r al a s t a b l a s d es i s t e ma :
S E L E C TR D B $ C H A R A C T E R _ S E T _ N A ME , R D B $ C H A R A C T E R _ S E T _ I D F R O MR D B $ C H A R A C T E R _ S E T S O R D E RB YR D B $ C H A R A C T E R _ S E T _ N A ME ;
S E L E C TR D B $ C O L L A T I O N _ N A ME , R D B $ C H A R A C T E R _ S E T _ I D F R O MR D B $ C O L L A T I O N S O R D E RB YR D B $ C O L L A T I O N _ N A ME ;
U n j u e g od ec a r a c t e r e s p u e d es o p o r t a r v a r i a s e s p e c i f i c a c i o n e s d e o r d e n a mi e n t o( c o l l a t i o n o r d e r s ) . P o r e j e mp l o , e l j u e g od e c a r a c t e r e s I S O 8 8 5 9 _ 1u s a d op a r al o s c a r a c t e r e s e u r o p e o s p u e d es e r o r d e n a d os e g n e s p e c i f i c a c i o n e s f r a n c e s a s ( C O L L A T EF R _ C A ) oe s p a o l a s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 2 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S E L E C Tc s . R D B $ C H A R A C T E R _ S E T _ N A ME , c o . R D B $ C O L L A T I O N _ N A ME F R O MR D B $ C H A R A C T E R _ S E T Sc s l e f t j o i n R D B $ C O L L A T I O N S c oo n c s . R D B $ C H A R A C T E R _ S E T _ I D = c o . R D B $ C H A R A C T E R _ S E T _ I D O R D E RB Yc s . R D B $ C H A R A C T E R _ S E T _ N A ME ;
R D B $ C H A R A C T E R _ S E T _ N A ME| R D B $ C O L L A T I O N _ N A ME A S C I I | A S C I I B I G _ 5| B I G _ 5 C Y R L| D B _ R U S | P D O X _ C Y R L | C Y R L D O S 4 3 7| D B _ U K 4 3 7 | D B _ U S 4 3 7 | D B _ F R A 4 3 7 | D B _ I T A 4 3 7 | D B _ N L D 4 3 7 | D B _ S V E 4 3 7 | D B _ F I N 4 3 7 | D B _ E S P 4 3 7 | D B _ D E U 4 3 7 | P D O X _ A S C I I | P D O X _ I N T L | P D O X _ S WE D F I N | D O S 4 3 7 D O S 8 5 0| D B _ U K 8 5 0 | D B _ U S 8 5 0 | D B _ F R A 8 5 0 | D B _ I T A 8 5 0 | D B _ P T B 8 5 0 | D B _ F R C 8 5 0 | D B _ N L D 8 5 0 | D B _ S V E 8 5 0 | D B _ E S P 8 5 0 | D B _ D E U 8 5 0 | D O S 8 5 0 D O S 8 5 2| D B _ P L K | D B _ S L O | D B _ C S Y | P D O X _ C S Y | P D O X _ H U N | P D O X _ P L K | P D O X _ S L O | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 2 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
| D O S 8 5 2 D O S 8 5 7| D B _ T R K | D O S 8 5 7 D O S 8 6 0| D B _ P T G 8 6 0 | D O S 8 6 0 D O S 8 6 1| P D O X _ I S L | D O S 8 6 1 D O S 8 6 3| D B _ F R C 8 6 3 | D O S 8 6 3 D O S 8 6 5| D B _ D A N 8 6 5 | D B _ N O R 8 6 5 | P D O X _ N O R D A N 4 | D O S 8 6 5 E U C J _ 0 2 0 8| E U C J _ 0 2 0 8 G B _ 2 3 1 2| G B _ 2 3 1 2 I S O 8 8 5 9 _ 1| D A _ D A | D E _ D E | F I _ F I | E N _ U K | E N _ U S | N O _ N O | F R _ C A | F R _ F R | E S _ E S | I S _ I S | I S O 8 8 5 9 _ 1 | I T _ I T | P T _ P T | D U _ N L | S V _ S V I S O 8 8 5 9 _ 2| C S _ C Z | I S O 8 8 5 9 _ 2 K S C _ 5 6 0 1| K S C _ 5 6 0 1 | K S C _ D I C T I O N A R Y N E X T| N E X T | N X T _ D E U | N X T _ F R A | N X T _ E S P | N X T _ U S | N X T _ I T A N O N E| N O N E O C T E T S| O C T E T S S J I S _ 0 2 0 8| S J I S _ 0 2 0 8 | | |
| | | | | | | | | | | | | | | | |
| | | | | |
| | | | | | | | | | | | | | | | | | | | | |
1 2 4 / 1 4 7
U N I C O D E _ F S S| U N I C O D E _ F S S WI N 1 2 5 0| WI N 1 2 5 0 | P X W_ P L K | P X W_ S L O V | P X W_ C S Y | P X W_ H U N
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
| P X W_ H U N D C WI N 1 2 5 1| WI N 1 2 5 1 | P X W_ C Y R L WI N 1 2 5 2| WI N 1 2 5 2 | P X W_ I N T L | P X W_ I N T L 8 5 0 | P X W_ N O R D A N 4 | P X W_ S P A N | P X W_ S WE D F I N WI N 1 2 5 3| WI N 1 2 5 3 | P X W_ G R E E K WI N 1 2 5 4| WI N 1 2 5 4 | P X W_ T U R K |
| | | |
| | | | | | | |
S ep u e d e n a g r e g a r e s p e c i f i c a c i o n e s d eo r d e n a mi e n t o , l oq u es e d e n o mi n as e c u e n c i a s d eo r d e n a mi e n t ooc o l l a t i o n s . L a s s e c u e n c i a s d e o r d e n a mi e n t os ei mp l e me n t a n e n F i r e b i r dc o mof u n c i o n e s e n l i b r e r a s e x t e r n a s ( . d l l e n Wi n d o w s , . s oe n L i n u x ) . E n e l s i t i ow e bw w w . i b c o l l a t i o n s . c o ms ep u e d e e n c o n t r a r u n ar e f e r e n c i ay u n al i b r e r ad ee j e mp l oq u ei mp l e me n t av a r i a s s e c u e n c i a s .
Mo d i f i c a c i n d eu n ab a s ed ed a t o s P a r amo d i f i c a r u n ab a s ed ed a t o s e x i s t e n t es eu t i l i z al as e n t e n c i aA L T E R D A T A B A S E :
A L T E R{ D A T A B A S E| S C H E MA } A D D< a d d _ c l a u s e > ;
L as e n t e n c i ad e l e j e mp l oa g r e g a r u n a r c h i v ol l a ma d o e mp l e a d o s 2 . g d b , q u e c o me n z a r ap a r t i r d el ap g i n a1 0 0 0 1( s i y ah a b am s p g i n a s q u ee s a s , c o me n z a r ac o n t i n u a c i n d el a l t i mae x i s t e n t e ) y d e s p u s d e1 0 0 0 0p g i n a s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 2 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
s e g u i r c o l o c a n d od a t o s e n u n t e r c e r a r c h i v ol l a ma d o e mp l e a d o s 3 . g d b .
B o r r a d od eu n ab a s ed ed a t o s P a r ab o r r a ru n ab a s ed ed a t o s ( e l i mi n a n d oe l a r c h i v of s i c o ) s eu t i l i z aD R O P D A T A B A S Es i n p a r me t r o s :
D R O PD A T A B A S E ;
H a y q u ee s t a r c o n e c t a d oal ab a s ed ed a t o s a n t e s d eb o r r a r l a .
T a b l a s
L a s t a b l a s s o n l a s e s t r u c t u r a s b s i c a s q u et i e n e n q u ee s t a r p r e s e n t e s e n n u e s t r ab a s ed ed a t o s . Q u e s u n ab a s ed ed a t o s s i n d a t o s ?E n t o n c e s , v e a mo s l a s p o s i b i l i d a d e s q u en o s b r i n d aI n t e r b a s ep a r al ad e f i n i c i n d et a b l a s , y c mop l a s ma r l a s e n S Q L .
C r e a c i n d eu n at a b l a L as e n t e n c i aC R E A T ET A B L Es eu t i l i z ap a r ad e f i n i r l ae s t r u c t u r ad eu n at a b l a . L as i n t a x i s g e n e r a l e s l as i g u i e n t e :
E n e s e n c i a , l oq u ee s p e r ae s t as e n t e n c i ae s e l n o mb r ed el at a b l a q u ed e b e s e r n i c oe n t r el a s t a b l a s y p r o c e d i mi e n t o s d el ab a s ed ed a t o s y u n al i s t a d ec o l u mn a s or e s t r i c c i o n e s an i v e l d et a b l a , e n t r ep a r n t e s i s y s e p a r a d a s p o r c o ma s . O p c i o n a l me n t es ep u e d ee s p e c i f i c a r q u el o s d a t o s d el at a b l as e g u a r d e n e n u n a r c h i v oe x t e r n o . V e a mo s , c o moa n t e s , l o s d i s t i n t o s e l e me n t o s d el as i n t a x i s c o n e j e mp l o s p r o g r e s i v o s :
1 .C R E A T ET A B L EE J E MP L O 1( C A MP O 1i n t e g e r ) ;
E s t as e n t e n c i ac r e au n at a b l al l a ma d aE J E MP L O 1c o n u n s o l oc a mp od et i p o e n t e r ol l a ma d oC A MP O 1 . H a y a l g u n a s c o s a s p a r an o t a r a q u :
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
N os ed i f e r e n c i a n mi n s c u l a s d ema y s c u l a s , s a l v oq u ee s t e mo s e n D i a l e c t o 3y e n c e r r e mo s e l n o mb r ee n t r ec o mi l l a s d o b l e s ( ) . E n o t r oc a s o , l o s n o mb r e s s e r n c o n v e r t i d o s ama y s c u l a s y e n l a s s e n t e n c i a s S Q Ls ep u e d e n e s c r i b i r d e c u a l q u i e r f o r ma .
T i p o s d ed a t o s s o p o r t a d o s p o r F i r e b i r d L a s c o l u mn a s d eu n at a b l aa l ma c e n a n d a t o s d eu n s o l ot i p o , q u ed e b es e r e s p e c i f i c a d oe n l ad e c l a r a c i n d el at a b l a . L o s t i p o s d ed a t o s s o p o r t a d o s p o r e l s e r v i d o r F i r e b i r d1 . 0s o n l o s s i g u i e n t e s :
< d a t a t y p e >= { S MA L L I N T| I N T E G E R| F L O A T| D O U B L EP R E C I S I O N } [ < a r r a y _ d i m> ] | ( D A T E| T I ME| T I ME S T A MP } [ < a r r a y _ d i m> ] | { D E C I MA L| N U ME R I C } [ ( p r e c i s i o n [ , s c a l e ] ) ] [ < a r r a y _ d i m> ] | { C H A R| C H A R A C T E R| C H A R A C T E RV A R Y I N G| V A R C H A R } [ ( i n t ) ] [ < a r r a y _ d i m> ] [ C H A R A C T E RS E Tc h a r n a me ] | { N C H A R| N A T I O N A LC H A R A C T E R| N A T I O N A LC H A R } [ V A R Y I N G ] [ ( i n t ) ] [ < a r r a y _ d i m> ] | B L O B[ S U B _ T Y P E{ i n t | s u b t y p e _ n a me } ] [ S E G ME N TS I Z Ei n t ] [ C H A R A C T E RS E Tc h a r n a me ] | B L O B[ ( s e g l e n [ , s u b t y p e ] ) ]
< a r r a y _ d i m>=[ [ x : ] y [ , [ x : ] y ] ]
N o mb r e| T i p o| T a ma or e a l | R a n g o| | S MA L L I N T| N me r oe n t e r o| 2b y t e s | 3 2 7 6 8 . . 3 2 7 6 7| I N T E G E R| N me r oe n t e r o| 4b y t e s | 2 1 6 . . 2 1 6 1| I N T 6 4oB I G I N T| N me r oe n t e r o| 8b y t e s | 2 3 2 . . 2 3 2 1| | F L O A T| N me r or e a l ||| D O U B L EP R E C I S I O N| N me r or e a l ||| D E C I MA L ( n , p ) [ E C 1 0 ] | N me r or e a l : n d g i t o s , pd e c i ma l e s ||| N U ME R I C ( n , p ) | N me r or e a l : n d g i t o s , pd e c i ma l e s | E n d i a l e c t o3 , n < =1 8 . S i n > 1 5 , s ea l ma c e n ac o mou n I N T 6 4q u es ee s c a l amu l t i p l i c a n d oy d i v i d i e n d o p o r 1 0 ^ p|| | D A T E| F e c h a| 4b y t e s ( d o u b l ew o r d ) || T I ME| H o r a| 4b y t e s ( d o u b l ew o r d ) || T I ME S T A MP| F e c h ay h o r a| 8b y t e s || | C H A R ( n ) | C a r a c t e r e s , t a ma of i j o . M x i mon c a r a c t e r e s | Nb y t e s || V A R C H A R ( n ) | C a r a c t e r e s , t a ma ov a r i a b l e . M x i mon c a r a c t e r e s | N + 2b y t e s . L o s d o s p r i me r o s b y t e s a l ma c e n a n e l t a ma o|| | B L O Bs u b _ t y p e0| D a t o s b i n a r i o s a r b i t r a r i o s ||| B L O Bs u b _ t y p e1| C a r a c t e r e s , s i n l mi t ed et a ma o( Me mo ) ||| w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 2 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z B L O Bs u b _ t y p e1| C a r a c t e r e s , s i n l mi t ed et a ma o( Me mo ) |||
C o n d i c i o n e s p a r al o s c a mp o s V e a mo s u n e j e mp l or e a l , o b t e n i d od el ab a s ed ed a t o s d e e j e mp l oe mp l o y e e . g d bq u es ei n s t a l ac o n F i r e b i r d [ 9 ] : C R E A T ET A B L EC U S T O ME R( C U S T _ N OI N T E G E RN O TN U L L , C U S T O ME RV A R C H A R ( 2 5 ) N O TN U L L , C O N T A C T _ F I R S TV A R C H A R ( 1 5 ) , C O N T A C T _ L A S TV A R C H A R ( 2 0 ) , P H O N E _ N OV A R C H A R ( 2 0 ) , A D D R E S S _ L I N E 1V A R C H A R ( 3 0 ) , A D D R E S S _ L I N E 2V A R C H A R ( 3 0 ) , C I T YV A R C H A R ( 2 5 ) , S T A T E _ P R O V I N C EV A R C H A R ( 1 5 ) , C O U N T R YV A R C H A R ( 1 5 ) , P O S T A L _ C O D EV A R C H A R ( 1 2 ) , O N _ H O L DC H A R ( 1 ) D E F A U L TN U L L , P R I MA R YK E Y( C U S T _ N O ) ) ;
C a mp o s c a l c u l a d o s S ep u e d e n d e c l a r a r c a mp o s c a l c u l a d o s e n e l s e r v i d o r , i n d i c a n d ol af r mu l ad e c l c u l oe n f u n c i n d eo t r o s c a mp o s d el at a b l a . P o r e j e mp l o , l as i g u i e n t e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 2 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z c l c u l oe n f u n c i n d eo t r o s c a mp o s d el at a b l a . P o r e j e mp l o , l as i g u i e n t e
d e f i n i c i n e s v l i d a :
C R E A T ET A B L EC L I E N T E S( I D _ C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 3 0 ) N O TN U L L , A P E L L I D OV A R C H A R ( 3 0 ) N O TN U L L , N O MB R E C O MP L E T OC O MP U T E DB Y( A P E L L I D O| | ' , ' | | N O MB R E ) ) ;
S ep u e d e n u s a r f u n c i o n e s e s t n d a r d eS Q Ly / of u n c i o n e s e x t e r n a s ( U D F ) , e n c e r r a n d ol ae x p r e s i n c o mp l e t ae n t r ep a r n t e s i s . E l t i p od ed a t o s d el a c o l u mn ac a l c u l a d as ea s i g n aa u t o m t i c a me n t e , e n b a s eal ae x p r e s i n d e c l c u l o . V e a mo s o t r o s e j e mp l o s :
C o l u mn aq u ec a l c u l al af e c h ad ec u mp l e a o s d e l a oa c t u a l e n b a s eal af e c h a d en a c i mi e n t o C R E A T ET A B L EF E C H A S ( I DI N T E G E R , F E C H A N A CD A T E , F E C H A C U MP L EC O MP U T E DB Y( e x t r a c t ( y e a r f r o mc u r r e n t _ d a t e ) | | ' ' | | e x t r a c t ( mo n t h f r o mF e c h a N a c ) | | ' ' | | e x t r a c t ( d a y f r o mF e c h a N a c ) ) ) ; E n e s t e l t i moe j e mp l oh a b r aq u et e n e r c u i d a d oc o n l o s a o s b i s i e s t o s : s i l a f e c h ad en a c i mi e n t oc a eu n 2 9d ef e b r e r o , e n t o d o s l o s a o s q u en of u e r a n b i s i e s t o s s eg e n e r a r au n e r r o r . E s t oe s a s p o r q u el ac o l u mn a F E C H A C U MP L Es ec o n s i d e r ac o mod et i p oD A T E , p o r e l f o r ma t oe s p e c i a l q u el ed i mo s . P o d e mo s e v i t a r e l p r o b l e mau s a n d oc a s t : C R E A T ET A B L EF E C H A S 2 ( I DI N T E G E R , F E C H A N A CD A T E , F E C H A C U MP L EC O MP U T E DB Y( c a s t ( e x t r a c t ( y e a r f r o mc u r r e n t _ d a t e ) | | ' ' | | e x t r a c t ( mo n t h f r o mF e c h a N a c ) | | ' ' | | e x t r a c t ( d a y f r o mF e c h a N a c ) a s c h a r ( 1 0 ) ) ) ) ; w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 2 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
) ;
C o mov e mo s , s o n c a s i i g u a l e s ; d eh e c h o , l o n i c oq u ev a r ae s l as i n t a x i s , l a s r e s t r i c c i o n e s s o n l a s mi s ma s . A c t u a l me n t es es o p o r t a n l o s s i g u i e n t e s c u a t r o t i p o s :
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z S E TD E F A U L T : l o s c a mp o s d el at a b l ad ed e t a l l et o ma n l o s v a l o r e s p o r
d e f e c t o( s ep i e r d el ar e f e r e n c i a ) S E TN U L L : l o s c a mp o s d el at a b l ad ed e t a l l et o ma n e l v a l o r N U L L( s e p i e r d el ar e f e r e n c i a )
C H E C K( c o n d i c i n ) : v a l i d a c i n . n i c a me n t es ep e r mi t i r e l i n g r e s od e l r e g i s t r oe n l ab a s ed ed a t o s s i l ac o n d i c i n s ec u mp l e .
U n e j e mp l od er e s t r i c c i o n e s d ec o l u mn a : C R E A T ET A B L EC L I E N T E S( N R O C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 5 0 ) N O TN U L L , I D P O B L A C I O NI N T E G E R R E F E R E N C E SP O B L A C I O N E S ( I D P O B L A C I O N ) ) ; N o t e mo s q u ee n e l c a mp oI D P O B L A C I O Nn of u en e c e s a r i os i q u i e r a e s p e c i f i c a r q u es et r a t a b ad eu n ac l a v ee x t e r n a( f o r e i g n k e y ) .
C a mp o 1I N T E G E R [ 4 , 3 ]
e s t a mo s d e c l a r a n d ou n ama t r i z d e4x 3e n t e r o s , q u es ea c c e d e r n c o n e l n o mb r ed e l c a mp os e g u i d od el o s c o r r e s p o n d i e n t e s n d i c e s e n t r ec o r c h e t e s . L a s ma t r i c e s p u e d e n s e r mu l t i d i me n s i o n a l e s : s i mp l e me n t ee s c r i b at o d a s l a s d i me n s i o n e s s e p a r a d a s c o n c o ma s , e n t r el o s c o r c h e t e s .
Mo d i f i c a c i n d el ae s t r u c t u r ad eu n at a b l a S ep u e d emo d i f i c a r l ae s t r u c t u r ad eu n at a b l ay ac r e a d ad e n t r od ec i e r t o s l mi t e s u s a n d ol ai n s t r u c c i n A l t e r t a b l e . L as i n t a x i s c o mp l e t ae s l as i g u i e n t e :
d o n d e< o p e r a c i n >e s u n ac o n s t r u c c i n d el as i g u i e n t ef o r ma : < o p e r a c i n >={ A D D< d e f i n i c i n _ d e _ c o l u mn a > | A D D< r e s t r i c c i n _ d e _ t a b l a > | A L T E R[ C O L U MN ] n o mb r e _ c o l u mn a< c l u s u l a _ d e _ c o l u mn a _ a l t e r n a t i v a > | D R O Pc o l u mn a | D R O PC O N S T R A I N Tr e s t r i c c i n }
< c l u s u l a _ d e _ c o l u mn a _ a l t e r n a t i v a>={ T On u e v o _ n o mb r e _ c o l u mn a | T Y P En u e v o _ t i p o _ d e _ d a t o s | P O S I T I O Nn u e v a _ p o s i c i n }
v e r e mo s l a s d i s t i n t a s o p c i o n e s p o r s e p a r a d op a r an oc o n f u n d i r n o s . P o r e j e mp l o , s i t e n e mo s l at a b l ad ec l i e n t e s q u ev i mo s a n t e s w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 3 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P o r e j e mp l o , s i t e n e mo s l at a b l ad ec l i e n t e s q u ev i mo s a n t e s C R E A T ET A B L EC L I E N T E S( N R O C L I E N T EI N T E G E RN O TN U L LP R I MA R YK E Y , N O MB R EV A R C H A R ( 5 0 ) N O TN U L L ) ;
A L T E RT A B L EC L I E N T E S A D DD I R E C C I O NV A R C H A R ( 1 0 0 ) , A D DT E L E F O N OV A R C H A R ( 5 0 ) ;
A h o r a , n o t a mo s q u el ac o l u mn aN O MB R Ee s mu y c o r t ap a r al o s d a t o s q u e d e b e mo s i n t r o d u c i r ; p o d e mo s c a mb i a r l ah a c i e n d o
A L T E RT A B L EC L I E N T E S A L T E RC O L U MNN O MB R ET Y P Ev a r c h a r ( 1 0 0 ) ;
I g u a l me n t e , s i q u e r e mo s c a mb i a r l ee l n o mb r eau n ac o l u mn a
A L T E RT A B L EC L I E N T E S A L T E RC O L U MNN R O C L I E N T ET ON R O _ C L I E N T E ;
L omi s moc o n l ap o s i c i n d el a s c o l u mn a s . E n r e a l i d a da l s e r v i d o r l ei mp o r t a mu y p o c ol ap o s i c i n q u et e n g au n ac o l u mn ad e n t r od eu n at a b l a , p o r l oq u ee s m s b i e n u n ac u e s t i n e s t t i c a .
A L T E RT A B L EC L I E N T E S D R O PN O MB R E , A D DN O MB R EV A R C H A R ( 1 0 0 ) N O TN U L L ;
P a r ac a mb i a r l o s a t r i b u t o s d eu n ac o l u mn amu c h a s v e c e s e s n e c e s a r i ob o r r a r d i c h ac o l u mn ay c r e a r l ad en u e v oc o n l o s a t r i b u t o s d e s e a d o s . E s t aa c c i n p o r s u p u e s t oq u ec o n l l e v a l ae l i mi n a c i n d el o s d a t o s d el a c o l u mn ao r i g i n a l ! L ap r c t i c ac o m n e n e s t o s c a s o s e s l as i g u i e n t e :
* c r e a r u n ac o l u mn at e mp o r a l c o n l o s n u e v o s a t r i b u t o s * c o p i a r l o s d a t o s d el ac o l u mn aa n t e r i o r al at e mp o r a l * b o r r a r l ac o l u mn aa n t e r i o r * c r e a r l ac o l u mn an u e v ac o n l o s a t r i b u t o s n u e v o s * c o p i a r l o s d a t o s d el ac o l u mn at e mp o r a l al an u e v a * b o r r a r l ac o l u mn at e mp o r a l
H a y q u et e n e r p r e s e n t et a mb i n q u el a s t a b l a s n os o n , e n g e n e r a l , i n d e p e n d i e n t e s u n ad eo t r a ; l a s r e l a c i o n e s q u ef o r ma n e l mo d e l od ed a t o s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
B o r r a d od eu n at a b l ac o mp l e t a
S ep u e d ee l i mi n a r u n at a b l ac o mp l e t au s a n d ol as e n t e n c i aD r o pT a b l e . L a s i n t a x i s e s mu y s i mp l e :
D R O PT A B L EN o mb r e _ T a b l a
E s t ao p e r a c i n b o r r a r t o d o s l o s d a t o s d el at a b l a ; s e l oc o n mu c h oc u i d a d o !
D o mi n i o s
C R E A T ED O MA I NN O MB R E S D E P E R S O N A SA SV A R C H A R ( 4 0 ) ;
T a mb i n s ep u e d e n i n c l u i r r e s t r i c c i o n e s e n l o s d o mi n i o s :
E s t a s r e s t r i c c i o n e s s ea p l i c a r n e n t o d a s l a s c o l u mn a s d e f i n i d a s c o n e s t e d o mi n i o .
Mo d i f i c a c i n d ed o mi n i o s ? ? ?h a y a l g u n ai n s t r u c c i o n p a r ae s t o ?
B o r r a d od ed o mi n i o s P a r ae l i mi n a r d i r e c t a me n t eu n d o mi n i o , F i r e b i r di mp l e me n t al as e n t e n c i aD r o p D o ma i n
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
D R O PD O MA I NN o mb r e _ D o mi n i o
C r e a r u n n d i c e
C R E A T EI N D E X
Mo d i f i c a r u n n d i c e
A L T E RI N D E X
B o r r a r u n n d i c e
D R O PI N D E X
R e s t r i c c i o n e s
L a s r e s t r i c c i o n e s e n e l s e r v i d o r s i r v e n p a r ama n t e n e r l ai n t e g r i d a dd el o s d a t o s y t a mb i n p a r ai mp l e me n t a r r e g l a s d en e g o c i o . E s t a s r e s t r i c c i o n e s s e a p l i c a r n s i e mp r e , n oi mp o r t ad ed n d ev e n g a n l o s d a t o s y as e ad e s d el a a p l i c a c i n e s p e c f i c ad e l p r o g r a ma d o r od e s d eu n ah e r r a mi e n t ad e a d mi n i s t r a c i n . E n e s t ea s p e c t os o n c o n v e n i e n t e s p o r l as e g u r i d a dd el o s d a t o s . T a mb i n c o n v i e n e n a l p r o g r a ma d o r e n e l s e n t i d oq u ee s m s f c i l ma n t e n e r l a s r e g l a s d en e g o c i oe n e l s e r v i d o r , c e n t r a l i z a d a s , a n t e s q u eh a c e r l o e n t o d o s l o s p r o g r a ma s c l i e n t eq u ep u e d a n e s t a r e n u s o .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
P K
U Q
F K
C h e c k
N o t N u l l
G e n e r a d o r e s
G e n _ i d ( n o mb r e _ g e n e r a d o r , i n c r e me n t o ) : b i g i n t
N o mb r e _ g e n e r a d o r e s e l n o mb r ed e l g e n e r a d o r I n c r e me n t oe s u n n me r oe n t e r oq u es es u ma r a l v a l o r a c t u a l a n t e s d e d e v o l v e r e l r e s u l t a d o .
E s t af u n c i n s eu t i l i z amu c h oe n t r i g g e r s p a r ag e n e r a r a u t o m t i c a me n t ee l v a l o r d eu n ac o l u mn ad ec l a v ep r i ma r i a , p o r e j e mp l o :
S i n e mb a r g o , h a y q u et e n e r c u i d a d o : a l n oe s t a r a f e c t a d ou n g e n e r a d o r p o r l a s t r a n s a c c i o n e s , u n av e z q u es ei n c r e me n t as u v a l o r y an ov u e l v e n a t r s an o s e r p o r u n ao r d e n e s p e c f i c ad eu n c l i e n t e . E s t oi mp l i c aq u ep u e d e n q u e d a r
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C r e a r u n g e n e r a d o r L as e n t e n c i ap a r ac r e a r u n g e n e r a d o r e s mu y s i mp l e :
C R E A T EG E N E R A T O Rn o mb r e _ g e n e r a d o r ;
E l g e n e r a d o r s ec r e ac o n v a l o r 0( c e r o ) .
Mo d i f i c a r u n g e n e r a d o r S ep u e d emo d i f i c a r e l v a l o r d eu n g e n e r a d o r , p a r aq u ec o mi e n c eag e n e r a r n me r o s ap a r t i r d ea h :
B o r r a r u n g e n e r a d o r D r o pg e n e r a t o r ( F B )
E x c e p c i o n e s
D e f i n i r e x c e p c i o n e s C r e a t ee x c e p t i o n
Mo d i f i c a r e x c e p c i o n e s ? ? ?
B o r r a r e x c e p c i o n e s D r o pe x c e p t i o n
( 1 . 5 ) E n l av e r s i n 1 . 5d eF i r e b i r ds ea g r e g al ap o s i b i l i d a dd ec a mb i a r e l me n s a j ed el ae x c e p c i n a l mo me n t od el a n z a r l a . V e r e mo s e s t ac a r a c t e r s t i c a c u a n d oh a b l e mo s l u e g os o b r eP r o c e d i mi e n t o s A l ma c e n a d o s y T r i g g e r s .
P r o g r a ma c i n d e l s e r v i d o r
F i r e b i r dp e r mi t ee s c r i b i r b l o q u e s d ec d i g oq u es ea l ma c e n a n e n l ab a s ed e d a t o s . S ep r o g r a ma n e n u n l e n g u a j ee s p e c i a l q u es ed e n o mi n aP r o c e d u r e
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S c r i p t s
E l s e r v i d o r F i r e b i r dp e r mi t ee j e c u t a r u n as e r i ed ei n s t r u c c i o n e s s e g u i d a s , o b t e n i d a s d eu n a r c h i v od et e x t os i mp l e . E s t as e c u e n c i ad ei n s t r u c c i o n e s s e d e n o mi n as c r i p t . C a d ai n s t r u c c i n d e l s c r i p t d e b et e r mi n a r e n u n s mb o l oe s p e c i a l l l a ma d ot e r mi n a d o r . P o r d e f e c t oe s t es mb o l oe s e l p u n t oy c o ma( ; ) p e r o p u e d ec a mb i a r s ec o n l ai n s t r u c c i n S E TT E R M. P o r e j e mp l o , s i u n s c r i p t c o n t i e n el al n e a
S E TT E R M! ;
S E TT E R M; !
P a r ae j e c u t a r u n s c r i p t e n i s q l h a c e mo s I N P U T< n o mb r e _ d e l _ a r c h i v o > ;
V e r e mo s a l g u n o s e j e mp l o s ac o n t i n u a c i n , c u a n d oe s c r i b a mo s T r i g g e r s y P r o c e d i mi e n t o s A l ma c e n a d o s . P e r oa n t e s , r e p a s e mo s a l g u n a s o t r a s i n s t r u c c i o n e s d emu c h ou s oe n s c r i p t s :
S E TN A ME S< j u e g o _ d e _ c a r a c t e r e s > ; I n d i c aa l c o mp i l a d o r q u el ac o n e x i n s eh a r u t i l i z a n d op o r d e f e c t oe l j u e g od e c a r a c t e r e s d a d o . D e b ee mi t i r s ea n t e s d ea b r i r l ac o n e x i n .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 7 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C O N N E C T' < c a d e n a _ d e _ c o n e x i n > ' U S E R' < n o mb r e _ u s u a r i o > ' P A S S WO R D ' < c l a v e _ d e _ c o n e x i n > ' ; A b r el ac o n e x i n al ab a s ed ed a t o s d a d ap o r l ac a d e n ad ec o n e x i n , c o n e l u s u a r i oy l ac l a v ei n d i c a d a s .
C O MMI TWO R K ; A c e p t al o s c a mb i o s r e a l i z a d o s e n l ab a s ed ed a t o s h a s t ae s al n e a .
P r o c e d i mi e n t o s a l ma c e n a d o s
P a r ac r e a r u n p r o c e d i mi e n t oa l ma c e n a d os eu s al as e n t e n c i aC R E A T E P R O C E D U R E :
C R E A T EP R O C E D U R En o mb r e [ ( p a r a me t r o< t i p o _ d e _ d a t o s >[ , p a r a me t r o< t i p o _ d e _ d a t o s >] ) ] [ R E T U R N S< t i p o _ d e _ d a t o s >[ , p a r a me t r o< t i p o _ d e _ d a t o s >] ) ] A S< c u e r p o _ d e l _ p r o c e d i mi e n t o >[ t e r mi n a d o r ]
B i e n , v e a mo s a l g u n o s e j e mp l o s p a r ae n t e n d e r e s t as i n t a x i s . D i v i d i r al o s p r o c e d i mi e n t o s e n d o s t i p o s g e n e r a l e s : p r o c e d i mi e n t o s d ea c c i n y p r o c e d i mi e n t o s d es e l e c c i n . N os s i e s t ae s l ad e n o mi n a c i n ' o f i c i a l ' , p e r o n o s s e r v i r p a r ae s t u d i a r l o s .
P r o c e d i mi e n t o s d ea c c i n L o s p r o c e d i mi e n t o s d ea c c i n s o n a q u e l l o s q u en od e v u e l v e n u n c u r s o r , s o l a me n t ee j e c u t a n a l g u n a s a c c i o n e s s o b r el o s d a t o s . P o r e j e mp l o , p o d e mo s h a c e r u n p r o c e d i mi e n t oq u ea c t u a l i c eu n at a b l ad ea u d i t o r a :
S E TS Q LD I A L E C T3 ;
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 8 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S E TT E R M! ;
C R E A T EP R O C E D U R ES P _ A U D I T O R I A A S B E G I N I N S E R TI N T OA U D I T O R I A( I D , F E C H A , U S U A R I O ) V A L U E S ( G E N _ I D ( G E N A U D I T O R I A , 1 ) , C U R R E N T _ D A T E , C U R R E N T _ U S E R ) ; E N D !
C O MMI TWO R K !
S E TT E R M; !
E s d e c i r , t e n e mo s e l c o mi e n z od eu n p r o c e d i mi e n t oa l ma c e n a d op e r on os u f i n a l ( l ap a l a b r aE N D ) . E s t op r o v o c au n e r r o r d ec o mp i l a c i n . P o r l ot a n t o , e s i mp r e s c i n d i b l ec a mb i a r d es mb o l ot e r mi n a d o r a n t e s d el ad e f i n i c i n d e l p r o c e d i mi e n t o . * O t r od e t a l l eac o n s i d e r a r e s l au t i l i z a c i n d el af u n c i n g e n _ i dp a r ao b t e n e r e l s i g u i e n t ev a l o r d e l g e n e r a d o r G e n A u d i t o r i a . E s t oe s mu y c o m n e n l a p r o g r a ma c i n d ep r o c e d i mi e n t o s a l ma c e n a d o s . * L av a r i a b l eC u r r e n t _ D a t ec o n t i e n el af e c h aa c t u a l ( d et i p oD A T E ) , d i s p o n i b l e n i c a me n t ee n d i a l e c t o3 . * L av a r i a b l eC u r r e n t _ U s e r c o n t i e n ee l u s u a r i oa u t e n t i c a d oe n e l s e r v i d o r ( d i a l e c t o3 ) .
E n l o s p r o c e d i mi e n t o s s ep u e d e n u s a r l a s s e n t e n c i a s S Q Lc o mu n e s , a d e m s d ea l g u n a s e x t e n s i o n e s e s p e c i a l e s .
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 3 9 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
T r i g g e r s
L o s t r i g g e r s od i s p a r a d o r e s s o n p r o c e d i mi e n t o s q u es ep r o g r a ma n e n e l s e r v i d o r , e n e l l e n g u a j ee s p e c i a l d e l s e r v i d o r . E s t o s p r o c e d i mi e n t o s s e e j e c u t a n a u t o m t i c a me n t ec u a n d os ec u mp l eu n aa c c i n d e t e r mi n a d a . H a y s e i s p o s i b i l i d a d e s : B e f o r eI n s e r t : d ep r o d u c ea n t e s d ei n s e r t a r u n r e g i s t r o A f t e r I n s e r t : d e s p u s d ei n s e r t a r u n r e g i s t r o B e f o r e/ A f t e r U p d a t e : a n t e s / d e s p u s d ea c t u a l i z a r u n r e g i s t r o B e f o r e/ A f t e r D e l e t e : a n t e s / d e s p u s d eb o r r a r u n r e g i s t r o
F i r e b i r da c e p t am s d eu n t r i g g e r p a r ac a d ae v e n t o ; a l c r e a r l o s s el e s a s i g n a u n n me r od eo r d e n q u es es e g u i r a l mo me n t od ee j e c u t a r l o s . A d e m s , e n F i r e b i r d1 . 5s ea g r e g al ap o s i b i l i d a dd ed e f i n i r t r i g g e r s p o l i v a l e n t e s , p a r am s d eu n e v e n t o . H a b l a r e mo s d ee l l o s m s a d e l a n t e .
F u n c i o n e s d e l u s u a r i o( U D F )
L i b r e r a s e s t n d a r d ef u n c i o n e s e x t e r n a s
C r e a r f u n c i o n e s e x t e r n a s e n D e l p h i
A c c e s od e s d eD e l p h i
B D E I B X D B X A D O I B O U I B
O p t i mi z a c i n
P l a n d ee j e c u c i n
C r e a c i n d e n d i c e s
S e l e c t i v i d a d
R e s t r i c c i o n e s d e c l a r a t i v a s v s . a c t i v a s
R e s t r i c c i n d el ac a n t i d a dd er e g i s t r o s at r a e r a l c l i e n t e w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 4 0 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z R e s t r i c c i n d el ac a n t i d a dd er e g i s t r o s at r a e r a l c l i e n t e
F u t u r o
D a t at y p e s F I R E B I R D
T I P O SD ED A T O S| B I G I N T| I n t e g e r , 6 4b i t s ( 2x 1 0 6 3h a s t a2x 1 0 6 31 ) | C H A R ( n ) | C a d e n ad eNc a r a c t e r e s . | D A T E| E n t e r od e3 2b i t s . 0 1 0 1 1 0 0t o3 1 1 2 9 9 9 9| D E C I MA L ( p r e c i s i o n [ , s c a l e ] ) | D e c i ma l ( P r e c i s i n : 1 1 8 , e s c a l a : 1 1 8 ) D E C I MA L ( 8 , 3 ) = p p p p p . s s s | D O U B L EP R E C I C I O N| P u n t oF l o t a n t ed e6 4b i t s 2 . 2 2 5x 1 0 3 0 8h a s t a1 . 7 9 7x 1 0 3 0 8| F L O A T| P u n t oF l o t a n t ed e3 2b i t s 1 . 1 7 5x 1 0 3 8h a s t a3 . 4 0 2x 1 0 3 8| w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 4 1 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
F u n c t i o n s F I R E B I R D
F U N C I O N E SI N T E R N A SD EF I R E B I R D| A G R U P A MI E N T O SYS U MA S | C O U N T( c a mp o) | D e v u e l v ee l n u me r od er e g i s t r o s e n c o n t r a d o s s e g u n l a s e l e c c i n d er e g i s t r o s q u es eh a y ad e f i n i d oe n l ap a r t eWH E R Ed el aS Q L .
E J E MP L O : S e l e c t c o u n t ( * ) f r o mC L I E N T E S| A V G ( c a mp o) | D e l v u e l v ee l p r o me d i od el o s v a l o r e s d e l c a mp os e l e c c i o n a d o .
E J E MP L O : S e l e c t c o d _ c l i e n t e , a v g ( v e n t a s ) f r o mC L I E N T E S| MI N ( c a mp o) | D e v u e l v ee l v a l o r ma s b a j od e l c a mp os e l e c c i o n a d o .
E J E MP L O : S e l e c t c o d i g o , mi n ( p v p ) f r o mA R T I C U L O S| MA X ( c a mp o) | D e v u e l v ee l v a l o r ma s a l t od e l c a mp os e l e c c i o n a d o .
E J E MP L O : S e l e c t c o d _ c l i e n t e , ma x ( v e n t a s ) f r o mC L I E N T E S| S U M( c a mp o) | D e v u e l v el as u mad el o s v a l o r e s d e l c a mp os e l e c c i o n a d o . E J E MP L O : S e l e c t c o d _ c l i e n t e , s u m( v e n t a s ) f r o mA R T I C U L O S| C O N D I C I O N A L E S| C A S E WH E Nc o n d i c i o n t h e n r e s u l t a d o[ WH E N . . . ] [ E L S Er e s u l t ] E N D | D e v u e l v eu n v a l o r d eu n n u me r od ep o s i b i l i d a d e s . C A S ES I MP L E .
E J E MP L O : S e l e c t n a me ,
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 4 2 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
a g e , c a s eu p p e r ( s e x ) w h e n ' M' t h e n ' Ma l e ' w h e n ' F ' t h e n ' F e ma l e ' e l s e' U n k n o w n ' e n d , r e l i g i o n f r o mp e o p l e
| C A S Ec o n d i c i o n WH E Nv a l o r T H E Nr e s u l t a d o [ WH E N. . . ] [ E L S Er e s u l t a d o ] E N D | D e v u e l v eu n v a l o r d eu n n u me r od ep o s i b i l i d a d e s . C A S EC O N D I C I O N A L .
E J E MP L O : C a n V o t e=c a s e w h e n A g e> =1 8t h e n ' Y e s ' w h e n A g e<1 8t h e n ' N o ' e l s e' U n s u r e ' e n d ; | C O A L E S C E( v a l o r [ , . . . . ] ) I I F( c o n d i c i o n , v a l o r 1 , v a l o r 2 ) N U L L I F ( V a l o r 1 , V a l o r 2 ) | L af u n c i n C O A L E S C Et o mad o s om s a r g u me n t o s y d e v u e l v ee l v a l o r d e l p r i me r a r g u me n t os i n oe s N U L L . S i t o d o s l o s a r g u me n t o s s ee v a l a n c o mo N U L L , s ed e v u e l v eN U L L . E J E MP L O : s e l e c t c o a l e s c e( N i c k n a me , F i r s t N a me , ' Mr . / Mr s . ' ) | | ' ' | | L a s t N a me a s F u l l N a me f r o mP e r s o n s | C A D E N A S| B I T _ L E N G H T( V a l o r ) | D e v u e l v el al o n g i t u de n b i t s d el ac a d e n ad ee n t r a d a . D e v u e l v eu n I N T E G E R . E J E MP L O : s e l e c t b i t _ l e n g t h ( ' H e l l o ! ' ) f r o mr d b $ d a t a b a s e D e v u e l v e4 8| C H A R _ L E N G T H( V a l o r ) | D e v u e l v el al o n g i t u de n c a r a c t e r e s d el ac a d e n ad e e n t r a d a . D e v u e l v eu n I N T E G E R . E J E MP L O : S e l e c t c h a r _ l e n g t h ( ' H e l l o ! ' ) f r o m r d b $ d a t a b a s eD e v u e l v e6| O C T E T _ L E N G T H( V a l o r ) | D e v u e l v el al o n g i t u de n b y t e s ( o c t e t o s ) d el ac a d e n a d ee n t r a d a . D e v u e l v eu n I N T E G E R . E J E MP L O : s e l e c t o c t e t _ l e n g t h ( ' H e l l o ! ' ) f r o m r d b $ d a t a b a s eD e v u e l v e6|
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 4 3 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
S U B S T R I N G( s t r F R O MS T A R T[ F O Rc o u n t ] ) | R e c u p e r ac u a l q u i e r s e c u e n c i a d ec a r a c t e r e s d eu n ac a d e n a .
E J E MP L O : S U B S T R I N G ( ' F I R E B I R D ' F R O M 2F O R1 ) ' I ' S U B S T R I N G ( ' F I R E B I R D ' F R O M 2F O R2 ) ' I R ' S U B S T R I N G ( ' F I R E B I R D ' F R O M 1F O R3 ) ' F I R ' | T R I M( [ L E A D I N G| T R A I L I N G| B O T H ][ c h a r F R O M] v a l o r ) | Q u i t al o s e s p a c i o s al ad e r e c h a( oo p c i o n a l me n t e , o t r o s c a r a c t e r e s ) d el ac a d e n ad ee n t r a d a . D e v u e l v e: V A R( C H A R ) E J E MP L O : s e l e c t t r i m( ' Wa s t en os p a c e' ) f r o m r d b $ d a t a b a s eD e v u e l v e' Wa s t en os p a c e ' | L O WE R( V a l o r ) | C o n v i e r t eu n ac a d e n ae n mi n u s c u l a s . E J E MP L O : S E L E C T c o d i g o , L O WE R ( N o mb r e ) f r o mu s u a r i o s | U P P E R( v a l o r ) | C o n v i e r t eu n ac a d e n ae n ma y s c u l a s . E J E MP L O : S E L E C T c o d i g o , U p p e r ( N o mb r e ) f r o mu s u a r i o s | O T R O S| C A S T( v a l o r A St i p od a t o ) | S eu s ap a r ac o n v e r t i r u n t i p od ed a t o s e n o t r o d e n t r od eu n ai n s t r u c c i n S E L E C T , p o r l og e n e r a l e n l ac l u s u l aWH E R E , p a r a c o mp a r a r l o s d i f e r e n t e s t i p o s d ed a t o s . A t e n c i n ! . H a y d i f e r e n c i a s e n t r el o s D i a l e c t o s 1y 3d eF i r e b i r d . E J E MP L O : S E L E C TC A S T ( ' N O W' A S T I ME S T A MP ) A ST I ME _ F I N I S H E DF R O MR D B $ D A T A B A S E| E X T R A C T ( p a r t eF R O Mt s ) | D e v u e l v eu n av a r i e d a dd ee l e me n t o s e x t r a d o s me d i a n t el ad e s c o d i f i c a c i n d el o s c a mp o s d et i p of e c h a/ h o r a . P u e d e f u n c i o n a r e n l o s d i a l e c t o s 1y 3 . E J E MP L O : S E L E C TI R S T _ N A ME| | ' ' | | L A S T _ N A MEA SF U L L _ N A ME , E X T R A C T ( MO N T HF R O M D A T E _ O F _ B I R T H ) | | ' / ' | | E X T R A C T( D A YF R O MD A T E _ O F _ B I R T H )A S B I R T H D A YR O M ME MB E R S H I P WH E R EF I R S T _ N A MEI SN O TN U L LA N D L A S T _ N A MEI SN O TN U L LS E L E C TF I R S T _ N A ME| | ' ' | | L A S T _ N A MEA S F U L L _ N A ME , E X T R A C T ( MO N T HF R O MD A T E _ O F _ B I R T H ) | | ' / ' | | E X T R A C T ( D A YF R O MD A T E _ O F _ B I R T H ) A SB I R T H D A YF R O M ME MB E R S H I P WH E R EF I R S T _ N A MEI SN O TN U L LA N DL A S T _ N A MEI SN O TN U L L O R D E RB Y2 ; | V A R I A B L E SD E LS I S T E MA| C U R R E N T _ C O N N E C T I O N| D e v u e l v ee l i d e n t i f i c a d o r d el ac o n e x i n e n c u r s o . D e v u e l v eE N T E R O| C U R R E N T _ D A T E| D e v u e l v el af e c h ad e l s i s t e ma . D e v u e l v eT I ME S T A MP . L a f e c h ad e l s i s t e maq u ee s t e j e c u t a n d oe l s e r v i d o r F i r e b i r d . N oh a y n i n g u n a z o n ah o r a r i aa s o c i a d ac o n l af e c h aa c t u a l d e l s i s t e ma . | C U R R E N T _ R O L E| D e v u e l v ee l R O Ld el ac o n e x i o n e n c u r s o . S i n oe s t aa c t i v a d e v u e l v eN O N E . D e v u e l v eV A R C H A R ( 3 1 ) | C U R R E N T _ T I ME| E s t a b l e c el ap r e c i s i o n e n s es eme d i r al ah o r a . L ap a r t e f r a c c i o n a r i ad eC U R R E N T _ T I MEs o l as e r s i e mp r e" . 0 0 0 0 " , d a n d ou n a p r e c i s i n e f e c t i v ad e0d e c i ma l e s . A h o r au s t e dp u e d ee s p e c i f i c a r u n a p r e c i s i n p e r s o n a l i z a d a . E l v a l o r p r e d e t e r mi n a d oe s a n 0d e c i ma l e s , e s d e c i r , s e g u n d od ep r e c i s i n . | C U R R E N T _ T I ME S T A MP| E s t a b l e c el ap r e c i s i o n e n s es eme d i r al aF e c h ay H o r a . L ap a r t ef r a c c i o n a r i ad eC U R R E N T _ T I ME S T A MPs o l as e r s i e mp r e " . 0 0 0 0 " , d a n d ou n ap r e c i s i n e f e c t i v ad e0d e c i ma l e s . A h o r au s t e dp u e d e
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 4 4 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
e s p e c i f i c a r u n ap r e c i s i n p e r s o n a l i z a d a . E l v a l o r p r e d e t e r mi n a d oe s a n 0 d e c i ma l e s , e s d e c i r , s e g u n d od ep r e c i s i n . | C U R R E N T _ T R A N S A C T I O N| D e v u l v ee l i d e n t i f i c a d o r d el at r a n s a c c i n a c t i v a . D e v u e l v eE N T E R O| C U R R E N T _ U S E R| D e v u e l v ee l n o mb r ed e l u s u a r i oc o n e c t a d oa c t u a l me n t e . E s t o t a l me n t ee q u i v a l e n t ea l u s u a r i o . D e v u e l v eV A R C H A R ( 3 1 ) | D E L E T I N G| D i s p o n i b l es o l oe n T R I G G E R S , B o r r a n d oi n d i c as i s ee s t a r e a l i z a n d ou n o p e r a c i o n d eb o r r a d oe n e s emo me n t o . P a r au s oe n a c c i n d e m l t i p l e s f a c t o r e s d e s e n c a d e n a n t e s . D e v u e l v eB O O L E A N . | I N S E R T I N G| D i s p o n i b l es l oe n T R I G G E R S , i n s e r t a n d oi n d i c as i s ee s t a r e a l i z a n d ou n o p e r a c i o n o p e r a c i n d ei n s e r c i n e n e s emo me n t o . P a r au s oe n a c c i n d em l t i p l e s f a c t o r e s d e s e n c a d e n a n t e s . D e v u e l v eB O O L E A N . | N E W| N E Wc o n t i e n el an u e v av e r s i n d eu n r e g i s t r od eb a s ed ed a t o s q u e a c a b ad ei n s e r t a r oa c t u a l i z a r . Ap a r t i r d eF i r e b i r d2 . 0e s d es l ol e c t u r ae n d e s e n c a d e n a d o r e s A F T E R . | O L D| O L Dc o n t i e n el av e r s i n e x i s t e n t ed eu n r e g i s t r od eb a s ed ed a t o s j u s t o a n t e s d eu n b o r r a d ooa c t u a l i z a c i n . Ap a r t i r d eF i r e b i r d2 . 0e s d es l ol e c t u r a . | ' N O W' | ' N O W' n oe s u n av a r i a b l es i n ou n ac a d e n al i t e r a l . E s , s i n e mb a r g o , e s p e c i a l e n e l s e n t i d od eq u ec u a n d oC A S T( ) au n af e c h ay t i p od et i e mp o , o b t e n d r l af e c h aa c t u a l y / ot i e mp o . L ap a r t ef r a c c i o n a r i ad el a p o c as o l a n s e r s i e mp r e" . 0 0 0 0 " , d a n d ou n ap r e c i s i n e f i c a z s e g u n d o s . E n F i r e b i r d2 . 0 , l a p r e c i s i n e s d e3d e c i ma l e s , e s d e c i r , mi l s i ma s d es e g u n d o . " A h o r a " e s e n t r e ma y s c u l a s y mi n s c u l a s , y e l mo t o r i g n o r ae s p a c i o s i n i c i a l e s of i n a l e s c u a n d o s el a n z a . D e v u e l v eC H A R ( 3 ) . | R O W_ C O U N T| L av a r i a b l ed ec o n t e x t oR O W_ C O U N Tc o n t i e n ee l n me r od e f i l a s a f e c t a d a s p o r l ad e c l a r a c i n m s r e c i e n t eD ML( I N S E R T , U P D A T E , D E L E T E , S E L E C ToF E T C H ) e n e l g a t i l l oa c t u a l , e l p r o c e d i mi e n t o a l ma c e n a d oob l o q u ed ee j e c u c i n . D e v u e l v eE N T E R O| S Q L C O D E| Ma n e j a n d ou n b l o q u eWH E NS Q L C O D E , l av a r i a b l ed ec o n t e x t o S Q L C O D Ec o n t i e n ee l c d i g oS Q La c t u a l d ee r r o r . L omi s moe s T R U Ee n u n b l o q u eWH E NA N Ys i s u e j e c u c i n f u ep r o v o c a d ap o r u n e r r o r d eS Q L , d el o c o n t r a r i oc o n t i e n e0 . S Q L C O D Et a mb i n e s 0e n WH E NG D S C O D Ey WH E N E X C E P T I O N , a s c o moe n c u a l q u i e r o t r ol u g a r e n P S Q L . D e v u e l v eE N T E R O . | U P D A T I N G| D i s p o n i b l es l oe n t r i g g e r s , a c t u a l i z a n d oi n d i c as i s ee s t a r e a l i z a n d ou n o p e r a c i o n d ea c t u a l i z a c i o n e n e s emo me n t o . P a r au s oe n a c c i n d em l t i p l e s f a c t o r e s d e s e n c a d e n a n t e s . D e v u e l v eB O O L E A N . | G D S C O D E| G D S C O D Ec o n t i e n eu n ar e p r e s e n t a c i n n u m r i c ad e l c d i g od e F i r e b i r da c t u a l d ee r r o r . Ap a r t i r d eF i r e b i r d2 . 0 , e l mi s moe s T R U Ee n u n b l o q u eWH E NA N Ys i s u e j e c u c i n f u ep r o v o c a d ap o r u n e r r o r d eF i r e b i r d , d e l oc o n t r a r i oc o n t i e n e0 . G D S C O D Et a mb i n e s 0e n WH E NS Q L C O D Ey WH E NE X C E P T I O N , a s c o moe n c u a l q u i e r o t r ol u g a r e n P S Q L . D e v u e l v e B O O L E A N . |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ * F U N C I O N E SU D F" E X T E R N A S " D EF I R E B I R D| MA T E MA T I C A S| A B S( v a l o r ) | D e v u e l v ee l v a l o r a b s o l u t od e l c a mp os e l e c c i o n a d o . |
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l 1 4 5 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
( 2 0 1 2 , 0 8 ) . T o d oS o b r eF i r e b i r d . BuenasTareas.com. R e c u p e r a d o0 8 , 2 0 1 2 , d e h t t p : / / w w w . b u e n a s t a r e a s . c o m/ e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t ml
Aade un comentario...
Comentar
A v iso: este plugin de comentarios opera en modo de compatibilidad, pero todav a no contiene publicaciones. C omo se sugiere en la documentacin sobre el plugin de comentarios, especifica un "href" explcito para aprov echar todas las funcionalidades del plugin. P lug-in social de F acebook
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 4 6 / 1 4 7
2 1 / 0 4 / 1 3
T o d o S o b r e F i r e b i r d D o c u m e n t o s d e I n v e s t i g a c i n A l e j i t o f z z
C o mp a r t e t uE x p e r i e n c i a
N u e s t r o sp r o d u c t o s
E n s a y o syT r a b a j o s G e n e r a d o r d eC i t a s
A c e r c a d e N o s o t r o s
A c e r c ad e B u e n a s T a r e a s . c o m N u e s t r oB l o g A y u d a C o n t c t a n o s
S g u e n o s
F a c e b o o k T w i t t e r G o o g l e + R S S
E n v eS u s E n s a y o s
2 0 1 3B u e n a s T a r e a s . c o m
L e g a l e s
Ma p ad e l s i t i o
P u b l i c i t aal o se s t u d i a n t e s
w w w . b u e n a s t a r e a s . c o m / e n s a y o s / T o d o S o b r e F i r e b i r d / 5 1 3 8 1 2 1 . h t m l
1 4 7 / 1 4 7