Todo Sobre Firebird - Documentos de Investigación - Alejitofzz

También podría gustarte

Está en la página 1de 147

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 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

Todo Sobre Firebird


E n v i a d op o r A l e j i t o f z z , a g o s t o2 0 1 2| 1 8 6P g i n a s( 4 6 4 0 9P a l a b r a s ) | 4V i s i t a 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

Tut orial S obre Firebird


. . . F I R E B I R D1 . 5G U AD EA R R A N Q U ER P I D O E d i t o r e sd eI B P h o e n i x T A B L AD EC O N T E N I D O S . . .
3 4P g i n a s m a y od e2 0 1 1

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

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 .


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 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 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

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

c o n P a r a d o x oD b a s e . L o s a r c h i v o s d eF i r e b i r d1 . 0 a l i g u a l q u el o s d e I n t e r b a s e6 . 0 p u e d e n t e n e r h a s t a2G bd et a ma oc a d au n o . F i r e b i r dp o s e el ama y o r ad el a s c a r a c t e r s t i c a s a v a n z a d a s d el o s g e s t o r e s mo d e r n o s : T r a n s a c c i o n e s P o s i b i l i d a dd ed e f i n i r n d i c e s a s c e n d e n t e s od e s c e n d e n t e s , c o n r e s t r i c c i n d eu n i c i d a d P o s i b i l i d a dd ed e f i n i r r e s t r i c c i o n e s al o s d a t o s e n l ad e c l a r a c i n d el a s t a b l a s , c o mos e r o o o o I n t e g r i d a dr e f e r e n c i a l U n i c i d a d C o n t r o l e s d ev a l i d a c i n ( C h e c k ) C o l u mn a s c o mp u t a d a s , s l od el e c t u r a P o s i b i l i d a dd ep r o g r a ma c i n d e l s e r v i d o r me d i a n t ed i s p a r a d o r e 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 s t o r e dp r o c e d u r e s . P o s i b i l i d a dd ed e f i n i r p r o c e d i mi e n t o s a l ma c e n a d o s q u ed e v u e l v a n t a b l a s v i r t u a l e s P o s i b i l i d a dd ed e f i n i c i n d ev i s t a s G e n e r a d o r e s d en me r o s s e c u e n c i a l e s , i n d e p e n d i e n t e s d el a s t r a n s a c c i o n e s E x c e p c i o n e s E v e n t o s F u n c i o n e s d e f i n i d a s p o r e l u s u a r i o D o mi n i o s U n l e n g u a j eS Q La mp l i oy p o t e n t e , q u ec o n t e mp l af u n c i o n e s a v a n z a d a s c o mos e r o o o o o S u b c o n s u l t a s U n i o n e s F u n c i o n e s d ea g r e g a c i n O r d e n a mi e n t op o r c o l u mn a s c a l c u l a d a s , e t c V e c t o r e s mu l t i d i me n s i o n a l e s ( ma t r i c e s )

E n e l a p n d i c e< < < ? ? > > >s ep u e d ev e r u n r e s u me n d el a s c a r a c t e r s t i c a s y l mi t e s t c n i c o s d eF i r e b i r d .

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 .

E n b r e v e : c a d av e z q u es eh a c eu n amo d i f i c a c i n au n r e g i s t r o , s ec r e au n a n u e v av e r s i n og e n e r a c i n d e l mi s moma r c n d o l ac o n u n n me r oq u e i d e n t i f i c aal at r a n s a c c i n q u er e a l i z e l c a mb i o . C o n l aa y u d ad eo t r a e s t r u c t u r ad el aq u eh a b l a r e mo s e n s e g u i d a , e s t eme c a n i s mop e r mi t ea F i r e b i r dl o g r a r e l n i v e l d el e c t u r a s r e p e t i b l e s s i n u s a r b l o q u e o s , a s c o moe v i t a r e l u s od ea r c h i v o s d er e g i s t r od eo p e r a c i o n e s ( l o g ) .

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

p u e d e n e s t a r e n u n od et r e s e s t a d o s [ 3 ] : A c t i v a A c e p t a d a( C o mmi t t e d ) C a n c e l a d a( R o l l e db a c k ) E l e s t a d od et o d a s 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 l aB De s ma n t e n i d oe n l a s P g i n a s d eI n v e n t a r i od eT r a n s a c c i o n e s oT I P( T r a n s a c t i o n I n v e n t o r y P a g e s ) . E s u n al i s t ad et o d a s l a s t r a n s a c c i o n e s q u et i e n e n d a t o s e n l ab a s ee n c a d amo me n t o , a c o mp a a d a s d es u e s t a d o . C u a n d oc o mi e n z au n at r a n s a c c i n , s el ea s i g n au n n me r o n i c oq u el a i d e n t i f i c a( l l a ma d oU T N , U n i q u eT r a n s a c t i o n N u mb e r ) y s el e e n t r e g a u n al i s t a d et o d a s l a s t r a n s a c c i o n e s q u et i e n e n d a t o s e n l ab a s ey s u s e s t a d o s ae s e mo me n t o : u n ac o p i ad el aT I P . L o s n me r o s i d e n t i f i c a d o r e s d el a s t r a n s a c c i o n e s ( U T N s ) s o n e n t e r o s c r e c i e n t e s e n e l t i e mp o ; e s d e c i r , s i u n at r a n s a c c i n c o mi e n z ad e s p u s d eo t r a e s s e g u r oq u er e c i b i r u n U T Nm s g r a n d eq u el ap r i me r a . L ac o n s e c u e n c i a i n v e r s as e r mu y u s a d ae n e l me c a n i s mod ev e r s i o n e s : s i h a y d o s v e r s i o n e s d eu n mi s mor e g i s t r o , l aq u et e n g al aU T Nm s g r a n d es e r p o s t e r i o r al ao t r a . C u a n d ou n at r a n s a c c i n t i e n eq u ea c t u a l i z a r u n r e g i s t r o , b u s c ae n s u T I Ps i h a b ao t r a s t r a n s a c c i o n e s a c t i v a s a l mo me n t od ec o me n z a r . S i n oh a y n i n g u n a o t r a , e n t o n c e s a c t u a l i z ae l r e g i s t r os i n m s . P e r os i e n c u e n t r aa l me n o s u n a t r a n s a c c i n a c t i v ae n l aT I P , n omo d i f i c ae l r e g i s t r oo r i g i n a l : c r e au n an u e v a v e r s i n a l ma c e n a n d ol a s d i f e r e n c i a s ( p a r aa h o r r a r e s p a c i o ) y s u p r o p i o n me r od et r a n s a c c i n , e l U T N . A h o r ab i e n , s i u n at r a n s a c c i n q u i e r el e e r u n r e g i s t r o , c o mp a r as u p r o p i o i d e n t i f i c a d o r c o n e l d el a l t i mav e r s i n d e l r e g i s t r o . S i e l U T Nd el a l t i ma v e r s i n e s ma y o r a l d el at r a n s a c c i n e n c u e s t i n , s et o mal av e r s i n a n t e r i o r d e l r e g i s t r o . A s s er e c o r r el ac a d e n ad ev e r s i o n e s h a s t ae n c o n t r a r u n ac u y o U T Ns e ame n o r q u ee l d el at r a n s a c c i n , y q u ea d e m s e s t ma r c a d ac o mo A c e p t a d a e n e l i n v e n t a r i o( T I P ) . C u a l q u i e r o t r av e r s i n e s p a s a d ap o r a l t 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 :

1 . L at r a n s a c c i n 1 0 0mo d i f i c au n r e g i s t r o . S ec r e au n av e r s i n c o n U T N = 1 0 0 . 2 . S ea c e p t al at r a n s a c c i n 1 0 0( e s t a d o : c o mmi t t e d ) 3 . C o mi e n z al at r a n s a c c i n 1 0 3 , q u emo d i f i c ae l mi s mor e g i s t r o . S ec r e au n a n u e v av e r s i n c o n U T N = 1 0 3 . 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 ) 5 . C o mi e n z al at r a n s a c c i n 1 1 0 , q u emo d i f i c ae l r e g i s t r o . S ec r e au n an u e v a v e r s i n c o n U T N = 1 1 0 . L at r a n s a c c i n n ot e r mi n at o d a v a( e s t a d o : a c t i v e ) 6 . C o mi e n z al at r a n s a c c i n 1 1 2 . 7 . C o mi e n z al at r a n s a c c i n 1 1 5 , q u emo d i f i c ae l r e g i s t r o . S ec r e au n an u e v a v e r s i n c o n U T N = 1 1 5 . 8 . S ea c e p t al at r a n s a c c i n 1 1 5( e s t a d o : c o mmi t e d ) 9 . L at r a n s a c c i n 1 1 2l e ee l r e g i s t r oe n c u e s t i n . C u l e s l av e r s i n q u e r e c u p e r a ? L av e r s i n 1 1 5e s p o s t e r i o r as u p r o p i oU T N , p o r l oq u en os ec o n s i d e r a . B u s c ae l a n t e r i o r . L av e r s i n 1 1 0c o r r e s p o n d eau n at r a n s a c c i n q u en oh at e r mi n a d o( e s t a d o= a c t i v e ) p o r l oq u et a mb i n s ei g n o r 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


8 / 1 4 7

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 .

C o n e s t eme c a n i s mos eo b t i e n e n d o s b e n e f i c i o s d i r e c t o s : S et r a b a j ae n u n n i v e l d ea i s l a mi e n t od el e c t u r a s r e p e t i b l e s s i n b l o q u e a r l a s a c t u a l i z a c i o n e s c o n c u r r e n t e s al al e c t u r a N os en e c e s i t al l e v a r u n r e g i s t r od el a s o p e r a c i o n e s p a r ar e c u p e r a r l a b a s ed ed a t o s d ef a l l o s ; t o d al ai n f o r ma c i n e s t i n c l u i d ae n l a s v e r s i o n e s y l a T I P . L o n i c oq u en e c e s i t ah a c e r e l s e r v i d o r p a r ar e c u p e r a r u n ab a s ed ed a t o s d e s p u s d eu n f a l l od ea l i me n t a c i n p o r e j e mp l o , e s r e c o r r e r l aT I Py ma r c a r c o moc a n c e l a d a s at o d a s l a s t r a n s a c c i o n e s q u ef i g u r a n c o moa c t i v a s . D ee s t a ma n e r a , l o s c a mb i o s q u es eh a b a n p r o d u c i d os o n i g n o r a d o s e n s u b s e c u e n t e s o p e r a c i o n e s .

P o r s u p u e s t oq u et a mb i n h a y a l g u n ac o n t r a : l ab a s ed ed a t o s v aa c u mu l a n d o b a s u r a e n l af o r mad ev e r s i o n e s q u en os o n u t i l i z a b l e s . E s t oo b l i g aae j e c u t a r u n aa c c i n d e l i mp i e z a ai n t e r v a l o s , p r o c e s oq u es ed e n o mi n as w e e p . E s t e p r o c e s oe l i mi n al a s v e r s i o n e s a n t e r i o r e s d el o s r e g i s t r o s , d e j a n d os o l a me n t el a l t i mav a l i d a , p e r op u e d ei mp a c t a r n e g a t i v a me n t ee n l ap e r f o r ma n c ed e l s e r v i d o r . P o r d e f e c t os ee j e c u t aa u t o m t i c a me n t ec a d a2 0 . 0 0 0t r a n s a c c i o n e s . S ep u e d ec o n f i g u r a r e s t ac a n t i d a de n l o s p a r me t r o s d e l s e r v i d o r , y t a mb i n s ep u e d ee j e c u t a r ma n u a l me n t el al i mp i e z 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

E n e l mo d e l or e l a c i o n a l t e n e mo s q u el i d i a r c o n o p e r a c i o n e s q u ei n v o l u c r a n v a r i a s t a b l a s . P o r e j e mp l o , e l t p i c oc a s od eu n p e d i d oou n af a c t u r a : t e n d r e mo s p o r l ome n o s d o s t a b l a s , u n ap a r al o s d a t o s q u ei d e n t i f i c a n a l p e d i d o( f e c h a , c l i e n t e , n r o , e t c ) y l ao t r ac o n l o s d a t o s d ec a d ai t e mq u e c o mp o n ee l p e d i d o( c a n t i d a d , c o d i g o , p r e c i ou n i t a r i o , e t c ) . C u a n d os ei n g r e s a u n af a c t u r a , t a mb i n g e n e r a l me n t emo d i f i c a r e mo s d a t o s e n o t r a s t a b l a s : s t o c k oi n v e n t a r i o , c u e n t ac o r r i e n t ed e l c l i e n t e , e t c . S e r amu y p r o b l e m t i c os i p o r 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 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 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 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 . 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 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 . .

L o s c a mb i o s h e c h o s e n u n ae s t a c i n n os er e f l e j a n e n o t r a s q u e a c c e d e n s i mu l t n e a me n t eal o s mi s mo s d a t o s E s t oe s u n ac o n s e c u e n c i ad el a s p r o p i e d a d e s d eC o n s i s t e n c i ay A i s l a mi e n t o . C o mod i j i mo s a n t e 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 d e n t r od eu n at r a n s a c c i n d e b e n s e r a c e p t a d a s oc a n c e l a d a s e n c o n j u n t o . H a s t ae s emo me n t o , q u e d a n e n u n l i mb o i n f o r m t i c oy n a d i es ee n t e r a r d es u e x i s t e n c i a . I n c l u s od e s p u s d et e r mi n a d ac o r r e c t a me n t eu n at r a n s a c c i n p u e d eh a b e r d i f e r e n c i a s e n l o q u es ev ee n u n ay o t r ae s t a c i n d et r a b a j o d e p e n d ed e l n i v e l d e a i s l a mi e n t od el a s d i s t i n t 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 , u n t e maq u ev e r e mo s e n b r e v e .

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 e s t a c i o n e s al ami s maB a s ed eD a t o s , h a y q u et e n e r e s p e c i a l c u i d a d oc o n l 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 d el o s c l i e n t e s . E l s e r v i d o r d e f i n ev a r i o s n i v e l e s d e a i s l a mi e n t od et r a n s a c c i o n e s c o n c u r r e n t e s , q u ei n d i c a n c mos er e l a c i o n a n l a s t r a n s a c c i o n e s s i mu l t n e a s e n t r es . C o mou n e j e mp l o , c o n s i d e r e mo s l as i g u i e n t es i t u a c i n : u n u s u a r i oe mp i e z a u n at r a n s a c c i n y h a c ea l g u n o s c a mb i o s . Mi e n t r a s t o d a v as u t r a n s a c c i n e s t a c t i v a , o t r ou s u a r i oe mp i e z au n as e g u n d at r a n s a c c i n . E l s e g u n d ou s u a r i on o v e r l o s c a mb i o s q u er e a l i c ee l p r i me r o , ame n o s q u ee s t e n e l mo d om s b a j od ea i s l a mi e n t o( q u en oe x i s t ee n F i r e b i r d , v e r ac o n t i n u a c i n ) . E s t e c o mp o r t a mi e n t op u e d ec o n f u n d i r a l m s p i n t a d o , y aq u ep o s i b l e me n t el a s d o s t r a n s a c c i o n e s s eh a g a n . . . e n l ami s mam q u i n a ! E n t o n c e s s e r ap o s i b l e 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 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 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 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 .

L o s 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 d eF i r e b i r ds o n l o s s i g u i e n t e s : r e a dc o mmi t e d( l e c t u r ad el oa c e p t a d o ) : s i e s t a mo s e n u n at r a n s a c c i n c o n e s t en i v e l d ea i s l a c i n , p o d r e mo s v e r l o s c a mb i o s d el o s d e m s c u a n d oe l l o s t e r mi n e n s u t r a n s a c c i n c o n c o mmi t ( n o s o t r o s t e n d r e mo s q u er e p e t i r l a c o n s u l t a , os e ac e r r a r y v o l v e r aa b r i r e l c o n j u n t od ed a t o s ) . N oe s n e c e s a r i o q u et e r mi n e mo s n u e s t r at r a n s a c c i n p a r av e r l a s mo d i f i c a c i o n e s . s n a p s h o t ( l e c t u r ar e p e t i b l e [ 5 ] ) : s eg a r a n t i z aq u ee l u s u a r i oq u ee s t e n u n a t r a n s a c c i n d ee s t et i p ov e r s i e mp r el o s mi s mo s d a t o s , a u n q u eo t r o s u s u a r i o s h a g a n c a mb i o s y l o s a c e p t e n . N ov e r e mo s l 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 at r a n s a c c i n y c o me n c e mo s u n an u e v a . E s t en i v e l d ea i s l a mi e n t oe s i d e a l p a r al o s r e p o r t e s , y aq u ee n u n e n t o r n omu l t i u s u a r i op u e d ed a r s eq u e c a mb i e n l o s d a t o s e n t r ee l mo me n t od el av i s t ap r e v i ae n p a n t a l l ay l a i mp r e s i n p r o p i a me n t ed i c h a . s n a p s h o t t a b l es t a b i l i t y ( l e c t u r ar e p e t i b l ef o r z a d a ) : i g u a l q u el aa n t e r i o r , p e r o a d e m s d e s d ee l mo me n t oq u ea c c e d e mo s au n at a b l a s t as eb l o q u e ap a r a e s c r i t u r a . E s t en i v e l e s p r o p i od eI n t e r b a s e , y n oe s mu y u s a d op o r q u ei mp o n e u n ar e s t r i c c i n mu y s e v e r aal o s o t r o s u s u a r i o s , q u es l oe s t a r n h a b i l i t a d o s p a r al e e r d et o d a s l a s t a b l a s q u et o q u e mo s mi e n t r a s e s t e mo s e n l a t r a n s a c c i n .

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 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


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 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

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 oe n e s p e r a( WA I T ) : s i h a y u n c o n f l i c t oc o n o t r at r a n s a c c i n ( p o r e j e mp l o , l a s d o s t r a t a n d emo d i f i c a r e l mi s mor e g i s t r oy a c e p t a r l o s c a mb i o s ) , e l l t i mop r o c e s oq u e d ab l o q u e a d oh a s t aq u es et e r mi n al ap r i me r a t r a n s a c c i n .

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 .

C u l e s l ar a z n d es e r d e l p r i me r mo d o ?P u e s q u ee l c o n f l i c t op u e d es e r t e mp o r a l . S u p o n g a mo s q u eu n u s u a r i o( 1 ) e mp i e z au n at r a n s a c c i n e n l ac u a l a g r e g au n r e g i s t r oc o n u n v a l o r Ae n l ac l a v ep r i ma r i a . A n t e s q u ee s t eu s u a r i o h a g aC o mmi t , o t r ou s u a r i o( 2 ) t r a t ad ei n g r e s a r u n r e g i s t r ot a mb i n c o n e l v a l o r Ae n l ac l a v ep r i ma r i a . S i l as e g u n d at r a n s a c c i n s eh a c ee n mo d oWA I T , e l u s u a r i o2q u e d ab l o q u e a d oh a s t aq u ee l p r i me r ot e r mi n es u t r a n s a c c i n . S i ( 1 ) h a c eC o mmi t , ( 2 ) r e c i b eu n me n s a j ed ee r r o r p o r q u el ac l a v ep r i ma r i ae s t a r a d u p l i c a d a ; p e r os i ( 1 ) c a n c e l as u t r a n s a c c i n c o n R o l l b a c k , ( 2 ) p u e d ei n s e r t a r s u r e g i s t r os i n p r o b l e ma s . E n e l c a s oq u el as e g u n d at r a n s a c c i n f u e r aN O WA I T , e l u s u a r i o( 2 ) r e c i b ee l me n s a j ed ee r r o r a l mo me n t od eq u e r e r i n s e r t a r e l r e g i s t r o , a u n q u el u e g o( 1 ) c a n c e l el o s c a mb i o s .

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 .

R e a dC o mmi t e d : l o s c a mb i o s r e a l i z a d o s p o r l o s o t r o s u s u a r i o s s ev e n d e s p u s q u ea c e p t e n s u s t r a n s a c c i o n e s . P a r me t r o s p o r d e f e c t o : r e a d _ c o mmi t e d , r e c _ v e r s i o n , n o w a i t . E l p a r me t r or e c _ v e r s i o n h a c eq u es l ov e a mo s l a l t i mav e r s i n e s t a 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 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

( a c e p t a d a ) d el o s r e g i s t r o s . L aa l t e r n a t i v ae s n o _ r e c _ v e r s i o n , c o n l oq u e i n d i c a mo s a l s e r v i d o r q u es o l a me n t es ep u e d ev e r u n r e g i s t r os i n oh a y v e r s i o n e s p e n d i e n t e s d ea c e p t a c i n ( m s s o b r ee s t ol u e g o , c u a n d ot r a t e mo s l aa r q u i t e c t u r amu l t i g e n e r a c i o n a l ) . E n e l c a s oq u ed e s d eo t r at r a n s a c c i n s e h a y amo d i f i c a d ou n r e g i s t r op e r ot o d a v an os eh a y ar e a l i z a d oc o mmi t , e l s e r v i d o r n on o s d e j a r amo d i f i c a r e l r e g i s t r o .

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|

S u p o n g a mo s q u ee s t ab a s ed ed a t o s s ea c c e d ed e s d ed o s t e r mi n a l e s al a v e z , Ay B . V e a mo s a l g u n o s c a s o s t p i c o s ( l a s a c c i o n e s s es u p o n e n e n l a s e c u e n c i ad a d a ) . P a r ae l c a s on oi mp o r t as i u s a mo s u n c o mp o n e n t eI B T a b l e , I B Q u e r y c o n I B U p d a t e S Q Lou n I B D a t a s e t . I n d i q u ed e s p u s d ec a d aa c c i n q u d a t o s v ec a d au s u a r i o : Ai n i c i au n at r a n s a c c i n e n mo d oS n a p s h o t . Bi n i c i au n at r a n s a c c i n e n mo d oR e a d C o mmi t t e dy l e el o s d a t o s d el at a b l ad ema s c o t a s . Ap i d ee l c o n t e n i d od el at a b l aMa s c o t a s . Q u o b t i e n e ? L omi s moq u ee s t a r r i b a

Bmo d i f i c al at a b l ad ema s c o t a s , a r r e g l a n d ol ae d a dd eT o mq u e n oe s 3s i n o4 . Bh a c eC o mmi t y v u e l v eaa b r i r l at a b l a . Av el omi s mo . Bv el o s d a t o s d eT o m mo d i f i c a d o s

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.

Ba g r e g au n r e g i s t r oal at a b l ad eMa s c o t a s , c o n l o s s i g u i e n t e s v a l o r e s : P a c o , L o r o , A p t r i d a , 1 0 , 7 9 . H a c eC o mmi t . Aa c t u a l i z al av i s t a c e r r a n d oy a b r i e n d ol at a b l a . An ov el o s c a mb i o s h a s t aq u en oc i e r r es u p r o p i at r a n s a c c i n .

Ab o r r ae l r e g i s t r od eT o m. H a c eC o mmi t . Bt i e n eq u ec e r r a r y a b r i r l at a b l ap a r av e r l o s c a mb i o s . Q u p a s as i Bmo d i f i c ae l r e g i s t r oq u eAa c a b ad eb o r r a r ?

B l o q u e o s p e s i mi s t a s Ap a r t i r d eF i r e b i r d1 . 5 , s ep u e d eu s a r u n mo d od eb l o q u e op e s i mi s t a , i n d i c a n d oe x p l c i t a me n t ee n l as e n t e n c i aS E L E C Tq u es ed e s e ab l o q u e a r l o s r e g i s t r o s r e s u l t a d od el ac o n s u l t a . V e r e mo s a l g u n o s e j e mp l o s c u a n d o e s t u d i e mo s l as e n t e n c i aS E L E C Tm s a d e l a n t e ; p o r a h o r as i mp l e me n t e d i g a mo s q u ee s t ea g r e g a d os eh i z op a r as i mp l i f i c a r l as o l u c i n d ea l g u n o s p r o b l e ma s . N oe s l af o r mar e c o me n d a d ad et r a b a j a r c o n l o s d a t o s , y t i e n e a d e m s v a r i a s r e s t r i c c i o n e s . C i t a n d ol a s n o t a s d el av e r s i n 1 . 5 : " N oe s t d i s p o n i b l ee n s u b c o n s u l t a s , n i p a r aj o i n s . N os ep u e d ee s p e c i f i c a r c o n e l o p e r a d o r D I S T I N C T , l ac l u s u l aG R O U PB Yoc u a l q u i e r o t r ao p e r a c i n d ea g r e g a c i n d er e g i s t r o s . N op u e d eu t i l i z a r s ec o n oe n u n av i s t a , n i c o n t a b l a s e x t e r n a s , n i c o n l o s r e s u l t a d o s d eu n p r o c e d i mi e n t oa l ma c e n a d o l l a ma d od e s d eu n S E L E C T . "

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

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

L ai n t e g r i d a dr e f e r e n c i a l s er e f i e r ea l e s t a d od el a s r e f e r e n c i a s e n t r et a b l a s . E s i mp o r t a n t eq u el a s r e f e r e n c i a s s ema n t e n g a n , p a r aa s e g u r a r q u el o s d a t o s s e p u e d a n a c c e d e r c o r r e c t a me n t e . P o r e j e mp l o , s i t e n e mo s e n u n at a b l al o s d a t o s d eu n af a c t u r a , y e n o t r ae l d e t a l l ed el o s p r o d u c t o s p e d i d o s . E n l at a b l ad e d e t a l l es e g u r a me n t et e n d r e mo s s o l a me n t eu n ar e f e r e n c i aal af a c t u r as i h e mo s n o r ma l i z a d ol ab a s ed ed a t o s . E l v a l o r d e l c a mp od er e f e r e n c i a( p o r e j e mp l o , e l N r od ef a c t u r a ) s ed e b ec o r r e s p o n d e r a l v a l o r d ea l g n c a mp oc l a v ee n l at a b l a d ef a c t u r a s , c o n l oc u a l p o d e mo s r e c u p e r a r e l r e s t od el o s d a t o s . A h o r a p e n s e mo s q u s u c e d e r as i s emo d i f i c ae l v a l o r d e l c a mp od ee n l a c ee n c u a l q u i e r ad el a s p u n t a s d el ar e l a c i n . S i mo d i f i c a mo s e l n r od ef a c t u r ae n l at a b l ad ed e t a l l e , e s t a r e mo s r e f e r e n c i a n d oao t r af a c t u r a : e s t op u e d ee s t a r b i e n , d eh e c h oe s l a n i c a ma n e r ad ec o r r e g i r u n e r r o r e n l aa s i g n a c i n . S i mo d i f i c a mo s e l n r o . d ef a c t u r ae n l at a b l ad ef a c t u r a s , p u e s e s os p u e d er e p r e s e n t a r u n p r o b l e ma , y aq u et o d o s l o s r e g i s t r o s d ed e t a l l e q u e d a r a n h u r f a n o s , s i n q u es e p a mo s aq u f a c t u r ac o r r e s p o n d e n . E s t on os e p u e d ep e r mi t i r , y aq u en ot e n d r e mo s f o r mad er e s t a u r a r l ar e l a c i n .

< < < G r f i c oc o n l ar e l a c i n d e l e j e mp l o , c o n u n d i a g r a maE / R > > >

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

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 .

E s t af o r mad ema n t e n e r l ai n t e g r i d a dr e f e r e n c i a l e s mu y p r c t i c ay v a l i o s a , a u n q u eav e c e s l l e v aau n c o mp o r t a mi e n t on o p t i moe n e l q u el a s o p e r a c i o n e s l l e v a n m s t i e mp od e l n e c e s a r i o . E s t oe s d e b i d oal as e l e c t i v i d a d d el o s n d i c e s , t e maq u et r a t a r e mo s m s a d e l a n t e . E n e s o s c a s o s e n q u ee l c o mp o r t a mi e n t on os e ae l a d e c u a d o , t e n d r e mo s q u er e c u r r i r au n av e r i f i c a c i n a c t i v ad el a s r e l a c i o n e s u s a n d ot r i g g e r s . L ov e r e mo s t a mb i n m s a d e l a n t e .

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

F i r e b i r de s d ec d i g oa b i e r t o , y c o mot a l s el op u e d ee n c o n t r a r e n I n t e r n e t p a r a s u d e s c a r g al i b r ey g r a t u i t a . N oo b s t a n t e , e s u n mo t i v oc o m n d ec o n f u s i n l a e x i s t e n c i ad ed i s t i n t a s v e r s i o n e s , t a n t od eF i r e b i r dc o mod eI n t e r b a s e . A q u t r a t a r d ea c l a r a r e l l o . S ep u e d ed e s c a r g a r e l c d i g of u e n t ed eF B / I B , e n c u y oc a s os e r n e c e s a r i o c o mp i l a r l o , ob i e n e l p a q u e t ed ei n s t a l a c i n y ac o mp i l a d o l oq u e d e n o mi n a r e mo s f o r ma t ob i n a r i o . E l p r o c e s od ec o mp i l a c i n d el o s f u e n t e s q u e d a r p a r ao t r o s e s c r i t o s ; a q u mel i mi t a r ah a b l a r d e l g e s t o r y ac o mp i l a d o . E l p r i me r s i t i od o n d eI n t e r b a s ee s t u v od i s p o n i b l ee n s u v e r s i o n O p e n S o u r c e f u e , p o r s u p u e s t o , e l d eB o r l a n d . N oh ep o d i d ov e r i f i c a r s i s i g u ed i s p o n i b l e , p o r l oq u ep i e n s oq u en o . H a y o t r os i t i or e l a c i o n a d oc o n I n t e r b a s ed e s d es u s i n i c i o s : h t t p : / / me r s . c o m[ E R C 3 ] . E s u n ac o mp a ac a n a d i e n s eq u ed e s a r r o l l a s o f t w a r eu s a n d oh e r r a mi e n t a s d eB o r l a n d . E l p r i me r g r u p od es o p o r t ea u s u a r i o s d eF i r e b i r de s t u v ol o c a l i z a d oe n s u s s e r v i d o r e s h a s t aq u ee l p r e s i d e n t ed el ac o mp a a , R o b e r t S c h i e k , f u ec o n t r a t a d op o r B o r l a n dd o n d e s ed e s e mp a aa h o r ac o moa d mi n i s t r a d o r d el ac o mu n i d a dd eI n t e r b a s e ( h t t p : / / b d n . b o r l a n d . c o m/ i n t e r b a s e [ E R C 4 ] ) . L al i s t ad es o p o r t ea h o r af u n c i o n a e n Y a h o o ! G r o u p s , p e r ot o d a v ah a y u n n d i c ed el a s p r e g u n t a s y r e s p u e s t a s e n Me r s , q u es ep u e d ec o n s u l t a r c o n u n b u s c a d o r . E n e l s i t i od el ac o mp a as e p u e d ee n c o n t r a r l av e r s i n 6 . 0 . 2d eI n t e r b a s eO p e n , p a r aWi n d o w s y L i n u x . Yl l e g a mo s aF i r e b i r d . E l p r o y e c t oc o me n z a p e n a s u n as e ma n ad e s p u s d el a 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| 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

C o n l ad i s t r i b u c i n e s t n d a r d eF i r e b i r ds ei n c l u y eu n au t i l i d a dp a r ae j e c u t a r s e n t e n c i a s S Q Lc o n t r ae l s e r v i d o r , y mo s t r a r s u s r e s u l t a d o s . E s t au t i l i d a de s d e l n e ad ec o ma n d o s y s ee n c u e n t r ae n e l a r c h i v oi s q l . e x e . S ep u e d eu s a r i s q l p a r ap r o b a r l ai n s t a l a c i n d e l s e r v i d o r d el as i g u i e n t e ma n e r a : * A b r au n av e n t a n ad et e r mi n a l e n l ac a r p e t ab i n d el ad i s t r i b u c i n d eF i r e b i r d * E j e c u t ee l p r o g r a mae s c r i b i e n d oi s q l * I s q l r e s p o n d e r c o n u n i n d i c a d o r ( p r o mp t ) e s p e c i a l ' S Q L > ' c o mos ev ee n l a s i g u i e n t ei ma g e n :

* 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

I B C o n s o l ee s u n p r o d u c t or e a l i z a d ou t i l i z a n d oa c c e s od i r e c t oal aA P I d e I n t e r b a s e( c o n l o s c o mp o n e n t e s I BE x p r e s s , d el o s q u eh a b l a r e mo s l u e g o ) , p o r l oq u es u r e n d i mi e n t oe s mu y b u e n o . T a mb i n e s s i mp l ed eu s a r y n o s d al a p o s i b i l i d a dd er e a l i z a r l a s t a r e a s a d mi n i s t r a t i v a s c o mu n e s c o mos e r : c r e a c i n y d e s t r u c c i n d eb a s e s d ed a t o s ; a d mi n i s t r a c i n d eu s u a r i o s y p e r mi s o s ; r e a l i z a c i n d eb a c k u p s ; v e r i f i c a c i n d ei n t e g r i d a dd el aB a s ed eD a t o s ; e j e c u c i n d es e n t e n c i a s y s c r i p t s S Q L , e t c . Ap a r t i r d el av e r s i n 1 . 5d eF i r e b i r de s t au t i l i d a dn os ei n c l u y em s e n l a d i s t r i b u c i n . S ep u e d ee n c o n t r a r e n c o d e c e n t r a l . b o r l a n d . c o me n s u s v e r s i o n e s p a r aWi n d o w s y L i n u x ; n oo b s t a n t e , n os er e c o mi e n d aI B C o n s o l ec o mo h e r r a mi e n t ad ea d mi n i s t r a c i n p a r ab a s e s d ed a t o s F i r e b i r d , e n p a r t ep o r q u e e s t c o mp i l a d oc o n e l c o n j u n t od ec o mp o n e n t e s I B Xq u en og a r a n t i z a n c o mp a t i b i l i d a dc 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 .

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

D a t o s ; e s d e c i r , r e g i s t r a r c o n I B C o n s o l el au b i c a c i n f s i c ad e l a r c h i v oy l o s d a t o s d ec o n e x i n , a s c o mou n n o mb r em s d e s c r i p t i v oq u ee l n o mb r ed e l a r c h i v o . P a r aa c c e d e r al o s d a t o s d e b e mo s c o n e c t a r n o s al ab a s ed ed a t o s . N o r ma l me n t ee n e l mo me n t od e l r e g i s t r oI B C o n s o l ec o n e c t aa u t o m t i c a me n t e c o n l ab a s ed ed a t o s , c o mop o d e mo s o b s e r v a r e n e l r b o l q u es ea b r ey e l g r f i c od el aB Dt i e n eu n ama r c av e r d e . D ea q u e n a d e l a n t e , p o d e mo s c o n e c t a r n o s h a c i e n d os i mp l e me n t ed o b l eC l i c k s o b r ee l n o d oe n e l r b o l os e l e c c i o n a n d ol ao p c i n p e r t i n e n t ed e l me n c o n t e x t u a l .

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

L o s c u r s o r e s s ep u e d e n v e r c o mou n ac i n t as o b r el aq u es ee n c u e n t r a n l o s r e g i s t r o s , c o n u n s e a l a d o r q u es emu e v ea d e l a n t ey a t r s p a r ama r c a r e l r e g i s t r oa c t i v ooa c t u a l . L a s o p e r a c i o n e s s o b r em s d eu n r e g i s t r os er e a l i z a n r e c o r r i e n d oe l c u r s o r c o n e l s e a l a d o r y a c t u a n d os o b r el o s r e g i s t r o s ame d i d a q u es o n s e a l a d o s .

V e a mo s d o s o p e r a c i o n e s t p i c a s c o n e s t emo d e l o : S e l e c 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 d e t e r mi n a d o , p o r e j e mp l omo s t r a r l o s p r o d u c t o s d eu n r u b r o E l s e a l a d o r s ep o s i c i o n ae n e l p r i me r r e g i s t r o ; c o mp r u e b as i e s er e g i s t r o c u mp l ec o n e l c r i t e r i o ; s i l oc u mp l es emu e s t r a , s i n os es a l t e a ; e l s e a l a d o r p a s aa l s i g u i e n t er e g i s t r o , y r e p i t el ac o mp a r a c i n h a s t aq u en oh a y m s r e g i s t r o s e n e l c u r s o r . 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 , p o r e j e mp l omo d i f i c a r e l p r e c i od et o d o s l o s p r o d u c t o s d ed e t e r mi n a d or u b r o L ao p e r a t o r i ae s p r c t i c a me n t el ami s ma , s l oq u ee n l u g a r d emo s t r a r l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i os ee d i t a n , s ec a mb i ae l p r e c i o , y s ev u e l v e n a g r a b a r . H a y q u et e n e r e n c u e n t aq u es i e l c u r s o r e s t o r d e n a d op o r a l g n n d i c e , e l c a mb i op u e d eh a c e r q u el o s r e g i s t r o s s er e u b i q u e n y e l s e a l a d o r s e g u i r a l r e g i s t r oq u emo d i f i c , p o r l oq u ep u e d ei r ap a r a r a l f i n a l d e l c u r s o r , o r e c o me n z a r a l p r i n c i p i o ! E n e l e j e mp l od el o s p r e c i o s , s e g u r a me n t ee l o r d e n s e r p o r r u b r op o r l oq u el amo d i f i c a c i n d ep r e c i o s n oa f e c t a r l ap o s i c i n d e l o s r e g i s t r o s .

U n s e r v i d o r S Q Lc o moF i r e b i r d , e n c a mb i o , t r a b a j a r s o b r ec o n j u n t o s d e r e g i s t r o s e n u n as o l ao p e r a c i n . A s , l a s mi s ma s o p e r a c i o n e s d e l e j e mp l o a n t e r i o r s eh a r a n mu c h om s s i mp l e s : S e l e c 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 d e t e r mi n a d o c r i t e r i o S i mp l e me n t es ee mi t eu n as e n t e n c i aS E L E C Ty e l s e r v i d o r g e n e r a r u n c u r s o r c o mp u e s t os o l a me n t ec o n l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i o . P a r amo s t r a r e s t o s r e g i s t r o s s eh a c ee l mi s mob u c l ea n t e r i o r , p e r os o l a me n t es er e c o r r e n l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i o .

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 .

A l g u n a s p r e g u n t a s c o mu n e s ae s t aa l t u r a : I mp o r t as i l a s i n s t r u c c i o n e s s ee s c r i b e n e n ma y s c u l a s omi n s c u l a s ? N o . P a r ae l s e r v i d o r e s l omi s mo S E L E C T q u e s e l e c t . E n l ap a r t eq u es h a y q u et e n e r c u i d a d oe s e n l o s n o mb r e s d ec a mp o s y t a b l a s , y aq u eh a y d i a l e c t o s S Q Lq u ed i s t i n g u e n e n t r ema y s c u l a s y mi n s c u l a s . E n F i r e b i r d , c o n e l d i a l e c t o 1d eS Q Ln oh a y d i f e r e n c i a s ; c o n d i a l e c t o3 , l a s h a y n i c a me n t ec u a n d os e u s a n l o s n o mb r e s e n t r ec o mi l l a s d o b l e s ( ) . E n q u o r d e n s er e c u p e r a n l o s r e g i s t r o s s i n oe s p e c i f i c a mo s u n ac l u s u l a O R D E RB Y ? E n o r d e n n a t u r a l , l oq u es i g n i f i c aq u en op o d e mo s a s e g u r a r n a d a . E l mo t o r d e c o n s u l t a s o b t i e n el o s d a t o s e n e l o r d e n q u es e am s e f i c i e n t e . E s p o s i b l ei n d i c a r a l g n f o r ma t oe n e l r e s u l t a d o , p o r e j e mp l oe l a n c h od el a s c o l u mn a s ? N o . E l l e n g u a j eS Q Le s u n l e n g u a j ed ec o n s u l t a , n oc o n s i d e r al ap a r t ed e p r e s e n t a c i n d el o s r e s u l t a d o s . S ep u e d e n u s a r e s p a c i o s e n l o s n o mb r e s d ec a mp o s y t a b l a s ? D e p e n d ed e l s e r v i d o r . E n I n t e r b a s e , n i c a me n t ep o d e mo s u s a r e s p a c i o s c o n D i a l e c t o3y s i e n c e r r a 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 . L o s s e r v i d o r e s a c t u a l e s t i e n d e n as e r c o n s e c u e n t e s c o n e s t an o r ma : s i e s t e n t r ec o mi l l a s , p u e d ec o n t e n e r c u a l q u i e r c a r a c t e r . N oo b s t a n t e , r e c o me n d a mo s n ou t i l i z a r c a r a c t e r e s e s p e c i a l e s n i e s p a c i o s d e b i d oal o s p o t e n c i a l e s p r o b l e ma s c o n l o s d i f e r e n t e s c o n j u n t o s d ec a r a c t e r e s . E n g e n e r a l s er e e mp l a z a n l o s e s p a c i o s p o r e l c a r a c t e r d es u b r a y a d o( u n d e r s c o r e , _ ) c o moe n e l c a mp oF I R S T _ N A ME u s a d oe n e l e j e mp 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

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

N o t e mo s e n e l r e s u l t a d od ee s t as e n t e n c i aq u eh a y u n ac o l u mn a l a l t i ma q u ec o mb i n ae l c o n t e n i d od el o s c a mp o s F i r s t _ N a mey L a s t _ N a mep a r a mo s t r a r e l n o mb r ec o mp l e t o . E n e l c a s od ee s t at a b l a , e s t ec a mp oe s t d e f i n i d oa s , c o mou n c a mp oc a l c u l a d op o r e l s e r v i d o r . N o s o t r o s p o d e mo s l o g r a r e l mi s moe f e c t ou s a n d oo p e r a d o r e s p a r ac o n s t r u i r c a mp o s n u e v o s , n o e x i s t e n t e s e n l at a b l ao r i g i n a l . P o r e j e mp l o , v a mo s amo s t r a r u n ac o l u mn ac o n e l N r o . d ee mp l e a d o( e mp _ n o ) , u n g u i n , e l n o mb r ey e l a p e l l i d o :

S E L E C Te mp _ n o| | ' ' | | f i r s t _ n a me| | ' ' | | l a s t _ n a me 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 E L E C Te mp _ n o| | ' ' | | f i r s t _ n a me| | ' ' | | l a s t _ n a meA SE mp l e a d o F R O Me mp l o y e e

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

N o s d e v o l v e r l o s e mp l e a d o s o r d e n a d o s e n f o r mad e s c e n d e n t ep o r p a s d e t r a b a j o . E s t emo d i f i c a d o r e s v l i d os l op a r al ac o l u mn aal ac u a l s i g u e ; c a d au n ad e l a s c o l u mn a s d eo r d e n a mi e n t od e b et e n e r s u i n d i c a d o r d ed i r e c c i n os e t o ma r e l a s c e n d e n t ep o r d e f e c t o . T a mb i n s ep u e d ee x p l i c i t a r e l o r d e n a s c e n d e n t eu s a n d o a 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

D e v o l v e r u n c o n j u n t oo r d e n a d op o r p a s e n f o r mad e s c e n d e n t e , d e n t r od e c a d ap a s l o s e mp l e a d o s s eo r d e n a r n p o r a p e l l i d oe n f o r maa s c e n d e n t e , 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 r n p o r n o mb r ee n f o r mad e s c e n d e n t e .

N O T A : c o mov e r e mo s e n l o s e j e mp l o s s i g u i e n t e s , l ac l u s u l aO R D E R B Ys i e mp r es ec o l o c aa l f i n a l d el ai n s t r u c c i n , d e s p u s d et o d a s l a s d e m s c l u s u l a s o p t a t i v a s . F i l t r a d o s y b s q u e d a s T o d o s l o s e j e mp l o s q u eh e mo s h e c h oh a s t aa h o r ad e v u e l v e n e l t o t a l d el o s r e g i s t r o s d el at a b l ae n c u e s t i n . C o mos eh a b r n i ma g i n a d o , e l l e n g u a j eS Q L t i e n eu n ac l u s u l aq u es i r v ep a r ar e d u c i r e l c o n j u n t od er e g i s t r o s r e s u l t a d oau n s u b c o n j u n t oq u ec u mp l ac o n c i e r t a s c o n d i c i o n e s . P a r ah a c e r u s od ee s t a o p c i n s o l a me n t et e n e mo s q u ea g r e g a r al as e n t e n c i aS E L E C T F R O Ml a c l u s u l aWH E R E< c o n d i c i n > . L ac o n d i c i n d e b es e r u n ae x p r e s i n q u ed e v u e l v au n v a l o r b o o l e a n o : a q u e l l o s r e g i s t r o s p a r al o s c u a l e s l ae x p r e s i n s ee v a l eaV e r d a d e r oa p a r e c e r n e n e l c o n j u n t or e s u l t a d o , e l r e s t on o . P o r e j e mp l o , s i q u e r e mo s u n l i s t a d od el o s e mp l e a d o s q u et r a b a j a n e n C a n a d a s o l a me n t e , h a r a mo s

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

S E L E C T* F R O Me mp l o y e e WH E R E( j o b _ c o u n t r y =' C a n a d a ' ) A N D( j o b _ g r a d e=4 )

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

D i a l e c t o3 D A T E : a l ma c e n au n af e c h ac o mou n n me r oe n t e r oq u er e p r e s e n t al ac a n t i d a d d ed a s p a s a d o s d e s d ee l 1d eE n e r od e1 0 0 . P u e d ea l ma c e n a r h a s t ae l d a 2 9d ef e b r e r od e3 2 7 6 8 . U n v a l o r 0p a r al af e c h ai n d i c a r e l d a1 7d e N o v i e mb r ed e1 8 5 8 . T I ME : a l ma c e n au n ah o r ac o mou n n me r oe n t e r o . E l r a n g op e r mi t i d ov ad e s d e l a s 0 0 : 0 0A Mh a s t al a s 2 3 : 5 9 . 9 9 9 9P M, e s t oe s , 2 3 : 5 9 : 5 9 . 5 9 6 4P M. T I ME S T A MP : 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 ; l a p a r t ed ef e c h ae s i g u a l a l t i p oD A T E , l ap a r t ed eh o r ai g u a l au n c a mp od et i p o T I ME

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 E L E C T* F R O Me mp l o y e e WH E R E( h i r e _ d a t e> =' 1 9 9 0 0 1 0 1 ' ) A N D( h i r e _ d a t e<' 1 9 9 1 0 1 0 1 ' )

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 '

Q u en o s d e v o l v 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 a n t e s d e l d ad eh o y . A s i mi s mo , c u a n d ot r a b a j a mo s e n D i a l e c t o3p o d e mo s u s a r l a s f u n c i o n e s c u r r e n t _ d a t e , c u r r e n t _ t i mey c u r r e n t _ d a t e t i me( s i n c o mi l l a s ) p a r ar e f e r i r n o s al a f e c h ay h o r aa c t u a l e s e n l o s t r e s f o r ma t o s : D A T E , T I MEy T I ME S T A MP r e s p e c t i v a me n t e . P o d e mo s t e n e r u n ai d e ad e l t r a t a mi e n t oq u ed aF i r e b i r dal a s f e c h a s c r e a n d o u n at a b l ac o n u n c a mp od ec a d at i p o , y p r o b a n d ol o s d i s t i n t o s v a l o r e s . L a s i n s t r u c c i o n e s d ec r e a c i n ei n s e r c i n n oh a n s i d oe x p l i c a d a s a n , p e r o c o n s i d e r oi mp o r t a n t ee l e j e mp l oe n e s t emo me n t o . C R E A T ET A B L Ep r u e b a( c l a v ei n t e g e r n o t n u l l p r i ma r y k e y , h o r at i me , f e c h ad a t e , t o d ot i me s t a mp ) | | V a mo s ac r e a r u n at a b l al l a ma d aP r u e b a , c o n l o s s i g u i e n t e s c a mp o s : C a mp o| T i p od ed a t o| C l a v e| I n t e g e r | H o r a| T i me| F e c h a| D a t e| 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 ' ) 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

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 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 .

E j e r c i c i o s E n l ab a s ed ed a t o s d o n d ec r e l at a b l aP r u e b a s a n t e r i o r : 1 ) d e v u e l v al o s r e g i s t r o s d o n d e< f e c h a >e s me n o r q u eh o y 2 ) d e v u e l v al o s r e g i s t r o s d o n d e< t o d o >e s me n o r q u ee l mo me n t oa c t u a l 3 ) d e v u e l v al o s r e g i s t r o s d o n d e< f e c h a >s e ai g u a l al af e c h ad ea y e r 4 ) d e v u e l v al o s r e g i s t r o s d o n d e< h o r a >e s me n o r q u el a s 1 2d e l me d i o d a , o r d e n a d o s p o r f e c h a

C r i t e r i o s d es e l e c c i n H a y u n as e r i ed ef u n c i o n e s q u es ep u e d e n u s a r e n l a s e x p r e s i o n e s d ec r i t e r i o s d es e l e c c i n . C o mod ec o s t u mb r e , e s t a s f u n c i o n e s d e p e n d e n d e l s e r v i d o r d e b a s e s d ed a t o s , y v e r e mo s a q u e n d e t a l l el a s d eF i r e b i r d . < c a mp o >L I K E< c a d e n a > : c o mp a r a c i n d ec a d e n a s c o n c o mo d i n e s . E s s i mi l a r a l o p e r a d o r d ei g u a l d a d( = ) p e r os o l a me n t ep u e d eu s a r s ec o n c a d e n a s y p e r mi t ee l u s od e l c o mo d n % p a r ai n d i c a r c u a l q u i e r c a r c t e r ( c e r o om s ) y _ p a r ar e e mp l a z a r u n s o l oc a r c t e r q u es i n e mb a r g od e b ee x i s t i r . S ed i s t i n g u ee n t r ema y s c u l a s y mi n s c u l a s . 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 t o d o s l o s e mp l e a d o s c u y o n o mb r ee mp i e z ac o n A ( ma y s c u l a ) :

S E L E C T* F R O Me mp l o y e e WH E R Ef i r s t _ n a meL I K E' A %'

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 :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meL I K E' %a %'

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 a mp o >S T A R T I N GWI T H< c a d e n a > : d e v u e l v eT R U Es i l ac a d e n a c o mp a r a d ac o mi e n z ac o n e l v a l o r p a s a d o . E s e q u i v a l e n t eaL I K E< c a d e n a %> ; p e r oe l o p t i mi z a d o r d ec o n s u l t a s p u e d eu s a r u n n d i c e( s i e x i s t e ) c o n S T A R T I N GWI T H , mi e n t r a s q u ec o n L I K En 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 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 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 :

S E L E C T* F R O Me mp l o y e e WH E R Ef i r s t _ n a meS T A R T I N GWI T H' A '

< c a mp o >C O N T A I N I N G< c a d e n a > : d e v u e l v eT R U Es i l ac a d e n a c o mp a r a d ac o n t i e n ee l v a l o r d a d o . E s e q u i v a l e n t eaL I K E< %c a d e n a %> , p e r o t i e n el av e n t a j ad ep o d e r u s a r s ec o n c a mp o s B L O B . 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 a p e l l i d oc o n t i e n eu n a a :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meC O N T A I N I N G' 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 :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meN O TC O N T A I N I N G' 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 ) :

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 eB E T WE E N' 1 9 9 0 0 1 0 1 ' A N D' 1 9 9 0 1 2 3 1 '

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

F R O Me mp l o y e e WH E R Ef i r s t _ n a meB E T WE E N' A ' A N D' C 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 :

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 eN O TB E T WE E N' 1 9 9 0 0 1 0 1 ' A N D' 1 9 9 0 1 2 3 1 '

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 .

< c a mp o >I N< c o n j u n t o > : d e v u e l v eT R U Es i e l v a l o r e x i s t ee n e l c o n j u n t o d a d o . E l c o n j u n t op u e d es e r e s p e c i f i c a d op o r e x t e n s i n , c o mou n al i s t ad e v a l o r e s s e p a r a d o s p o r c o ma s y e n c e r r a d o s e n t r ep a r n t e s i s , oc o mou n a s u b c o n s u l t aq u ed e v u e l v au n s o l oc a mp od e l t i p oc o r r e c t o .

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 :

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 I N( ' U S A ' , ' C a n a d a ' , ' G e r ma n y ' )

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 .

< c a mp o >I SN U L L : d e v u e l v eT R U Es i e l v a l o r e s n u l o ; t a mb i n p u e d e u s a r s el af o r ma< v a l o r >I SN O TN U L L , q u ed e v o l v e r T R U Ee n e l c a 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 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

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

C A S E<e x p r e s i o n v a l o r > < c l a u s u l aWH E Ns i mp l e > . . . [ < c l a u s u l ae l s e >] E N D

< < < E j e mp l o > > >

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

C A S E< c l a u s u l aWH E Nb u s c a d a > . . . [ < c l a u s u l ae l s e >] E N D

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

< < < E j e mp l o > > >

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 > > >

E n d i a l e c t o3d i s p o n e mo s d el af u n c i n E X T R A C Tp a r ao b t e n e r u n ap a r t ed e u n af e c h a : E X T R A C T ( { y e a r | mo n t h | d a y } F R O M< c a mp of e c h a > ) P o r e j e mp l o , p a r ao b t e n e r l o s e mp l e a d o s q u ef u e r o n c o n t r a t a d o s e n e l me s d e e n e r o( d ec u a l q u i e r a o ) h a r a mo s

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 ) N U L L I F ( e x p r 1 , e x p r 2 ) d e v u e l v eN U L Ls i e x p r 1e s i g u a l ae x p r 2 , c a s o c o n t r a r i od e v u e l v ee x p r 1 . < < < E j e mp l o s > > >

( 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

p r i me r ae x p r e s i n n on u l a . < < < E j e mp l o s > > >

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 r e g i s t r o s s ea g r u p a r n s e g n l o s v a l o r e s d ee s o s c a mp o s , d ema n e r aq u e t o d o s l o s i n t e g r a n t e s d eu n g r u p ot e n g a n e l mi s mov a l o r e n e s o s c a mp o s . P o r e j e mp l o , l ac o n s u l t ai n d i c a d aa n t e s d et o t a l e s p a g a d o s e n s a l a r i o s p o r d e p a r t a me n t op u e d ee s c r i b i r s ec o mos i g u e : s e l e c t 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

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

c o moh i c i mo s a n t e s , d e b e mo s e s p e c i f i c a r q u el o s r e g i s t r o s s ea g r u p a r n p o r n r o . d ed e p a r t a me n t o ; e n t o n c e s s i , c a d af i l ad el as a l i d ac o r r e s p o n d eau n 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 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

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 : 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 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 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

S o l a me n t eq u e d a n e s o s d e p a r t a me n t o s d e s p u s d et o d o s l o s f i l t r o s . O b s e r v e e l o r d e n d el a s d i s t i n t a s p a l a b r a s c l a v ee n l as e n t e n c i a : e s t eo r d e n d e b e r e s p e t a r s e . C o moe j e mp l of i n a l , v e a mo s e s t ami s mal i s t ap e r oo r d e n a d ad ema y o r a me n o r p o r mo n t o : 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 h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0 o r d e r b y 2d e s c

N o t eq u eu s a mo s e l n d i c ed e l c a mp od ea g r e g a d o . H a s t al av e r s i n 1 . 0 2d e F i r e b i r d s t ae r al a n i c ama n e r ad eh a c e r l o , y aq u en os ep o d a n u s a r e x p r e s i o n e s e n l ac l u s u l aO R D E RB Y . E n F i r e b i r d1 . 5e s t os eh ac o r r e g i d o , p o r l oq u el as e n t e n c i aa n t e r i o r p u e d ee s c r i b i r s e( i g u a l q u ee n l ama y o r ad el o s g e s t o r e s d eB a s e s d eD a t o 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 h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0 o r d e r b y s u m( s a l a r y ) d e s c

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

H a y c a s o s e n l o s q u en on o s b a s t ac o n u n ac o n s u l t ad es e l e c c i n . P e n s e mo s p o r e j e mp l oc mop o d r a mo s o b t e n e r u n at a b l ac o n r e g i s t r o s e n l o s q u ef i g u r e c i e r t ov a l o r , q u es ed e b eo b t e n e r d eo t r ac o n s u l t a . U n c a s ot p i c os ed ae n l a s r e l a c i o n e s ' mu c h o s a mu c h o s ' , e n l a s q u et e n e mo s d o s t a b l a s r e l a c i o n a d a s e n t r es at r a v s d eu n at e r c e r a . P o r e j e mp l o , t o me mo s e l c a s od el a s t a b l a s E mp l o y e ey P r o j e c t d el ab a s ed e d a t o s E mp l o y e e . g d bq u eh e mo s t r a b a j a d oa n t e s . E s t a s t a b l a s n os e r e f e r e n c i a n e n t r es d i r e c t a me n t e : n oh a y u n c a mp oe n l at a b l ad ee mp l e a d o s q u er e f e r e n c i eau n p r o y e c t oe n p a r t i c u l a r s i e s t ef u e r ae l c a s o , c a d a e mp l e a d op o d r ae s t a r s o l a me n t ee n u n p r o y e c t oal av e z . L omi s mop a s ac o n l o s p r o y e c t o s : s i h u b i e r au n c a mp op a r aa l ma c e n a r u n n me r od ee mp l e a d o , s o l a me n t ee s ee mp l e a d op o d r ae s t a r e n e s ep r o y e c t o L as i t u a c i n r e a l e s m s c o mp l e j a . L o s e mp l e a d o s p u e d e n e s t a r e n m s d eu n p r o y e c t o , y l o s p r o y e c t o s p u e d e n t e n e r m s d eu n e mp l e a d o . P a r ae s t os en e c e s i t au n a t e r c e r at a b l aq u ec o n t e n g al a s r e l a c i o n e s . E n E mp l o y e e . g d be s t at a b l as e l l a maE mp l o y e e _ P r o j e c t . 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 : 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 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 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

3 ) o b t e n e r l o s n o mb r e s d el o s p r o y e c t o s ' V B A S E ' y ' MA P D B ' 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 ( ' 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

c o n c i e n t o s omi l e s d er e g i s t r o s d el ao t r a e n e s ec a s o , s e r amu y e n g o r r o s o y t a l v e z i mp o s i b l ed er e a l i z a r e n u n t i e mp op r u d e n c i a l l ae s c r i t u r ad et o d o s l o s ' I D ' d el as e g u n d at a b l ae n e l c o n j u n t oe n v i a d oa l o p e r a d o r I N . E s t ae s u n ad el a s a p l i c a c i o n e s d el a s s u b c o n s u l t a s , c o moy av i mo s e n l a s e c c i n d el o s c r i t e r i o s d es e l e c c i n : e l a r g u me n t op a r ae l o p e r a d o r I Np u e d e s e r e l r e s u l t a d od eu n ac o n s u l t a . E n e s t ec a s o , q u e d a r 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

E l r e s u l t a d oe s e l mi s mo , c o moe r ad ee s p e r a r . L oq u eh e mo s h e c h oe s j u n t a r v a r i o s p a s o s e n u n os o l o . Yl ap r e g u n t ad ee x a me n : s ep u e d eo b t e n e r e l mi s mor e s u l t a d oc o n u n as o l a s e n t e n c i a ?E l r e s u l t a d oe s a f i r ma t i v o . S ep u e d e n e j e c u t a r t o d a s l a s o p e r a c i o n e s d es e l e c c i n e n u n as o l ac o mol as i g u i e n t e : 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 = ( s e l e c t e mp _ n of r o me mp l o y e ew h e r ef i r s t _ n a me = ' B r u c e ' a n d l a s t _ n a me = ' Y o u n g ' ) )

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 .

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 r e s u l t a d od i f e r e n t e . 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 d 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=8 a n de mp l o y e e _ p r o j e c t . P r o j _ I d=p r o j e c t . P r o j _ i d )

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

F i r e b i r dp e r mi t el au n i n d ev a r i a s c o n s u l t a s e n u n as o l a , u s a n d ol ap a l a b r a c l a v eU N I O Ne n t r el a s c o n s u l t a s . E l r e s u l t a d od el ao p e r a c i n e s u n as o l at a b l a , e n t o n c e s q u c a mp o s t e n d r e s t at a b l a ?S i e n t o d a s l a s c o n s u l t a s u n i d a s h a y c a mp o s d i f e r e n t e s , c u l e s d ee l l o s s ei n c l u i r n e n e l r e s u l t a d o ?B u e n o , p a r a n oc o mp l i c a r l a s c o s a s e l e s t n d a r S Q Ld e f i n eq u et o d a s l a s c o n s u l t a s i n c l u i d a s e n u n au n i n d e b e n t e n e r l o s mi s mo s c a mp o s . Os e a : l ami s mac a n t i d a dd ec a mp o s , q u es el l a me n i g u a l , e s t n e n e l mi s moo r d e n y s e a n d e l mi s mot i p o . S u e n au n p o c or e s t r i c t i v o , p e r os i g u e n s i e n d omu y t i l e s . V e a mo s a l g u n o s e j e mp l o s .

< < < E j e mp l o s d eu 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

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 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 ?

L au n i n i n t e r n aq u ea c a b a mo s d ev e r e s mu y p e l i g r o s a ; p r i me r op o r q u en o mu e s t r at o d o s l o s r e g i s t r o s , y p o d e mo s l l e v a r n o s u n c h a s c o i ma g n e n s eq u e l el l e v a n l al i s t ag e n e r a d ap o r l ap r i me r ac o n s u l t aa l j e f ey s t eb u s c ae l d e p a r t a me n t od ema r k e t i n g . Ys e g u n d o , p o r q u es i n oe s p e c i f i c a n l ar e l a c i n e n t r el a s t a b l a s c o mou n c r i t e r i od es e l e c c i n ( c o moe n e l e j e r c i c i o ) e n t o n c e s o b t e n d r n l oq u es ed e n o mi n au n aE n c u e n t r oN a t u r a l oC a r t e s i a n o . E n e s t a u n i n s emu e s t r a n t o d a s l a s c o mb i n a c i o n e s d el o s r e g i s t r o s d el a s t a b l a s . E s d e c i r q u es i u n at a b l at i e n e1 0r e g i s t r o s y l ao t r at i e n e5 , e l r e s u l t a d o c o n t e n d r 5 0r e g i s t r o s ! E l p r o b l e mad el au n i n c a r t e s i a n as ev ef c i l me n t ec u a n d op e d i mo s l au n i n d et r e s om s t a b l a s y n o s o l v i d a mo s d ea l g u n ar e l a c i n . P o r e j e mp l o , s i q u e r e mo s v e r e l n o mb r ed el o s c l i e n t e s , l a s v e n t a s q u es el eh a n h e c h oac a d a u n o , y l amo n e d aq u es eu t i l i z ae n e l p a s d eo r i g e n d e l c l i e n t e , n e c e s i t a mo s l a s t r e s t a b l a s C u s t o me r ( c l i e n t e s ) , C o u n t r y ( p a s e s ) y S a l e s ( v e n t a 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

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

F R O M< t a b l a 1 >{ I N N E R| L E F T| R I G H T| F U L L } J O I N< t a b l a 2 >O N< e x p r e s i n c o n l o s c a mp o s r e l a c i o n a d o s >

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 .

N o t el o s e s p a c i o s v a c o s e n l ac o l u mn a' F U L L _ N A ME ' d e l n o mb r ed e l e n c a r g a d o . H e mo s u t i l i z a d oa q u u n au n i n ad e r e c h a , e s d e c i r p r e s e r v a n d ol a t a b l ad el ad e r e c h ad el ap a r t c u l aJ O I N( e n e s t ec a s o , d e p a r t me n t ) . P o d e mo s r e e s c r i b i r l ami s mac o n s u l t a , c o n e l mi s mor e s u l t a d o , p r e s e r v a n d ol a t a b l ai z q u i e r d 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 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

A h o r at e n e mo s e s p a c i o s v a c o s ( r e c o r d e mo s q u es o n v a l o r e s n u l o s ) e n a mb a s c o l u mn a s . E s t et i p od ec o n s u l t a s s i r v ep a r au b i c a r r p i d a me n t e r e g i s t r o s h u r f a n o s , q u eh a n q u e d a d od e s e n l a z a d o s d el at a b l ama e s t r ae n u n ar e l a c i n ma e s t r o d e t a l l e . R e c o r d e mo s q u es ep u e d e n d e c l a r a r r e s t r i c c i o n e s d ec l a v ee x t e r n ap a r ae v i t a r e s t o . < < < P o n e r a l g n o t r oe j e mp l od el a s u n i o n e s e x t e r n a s > > > 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 eo b j e t o s

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 :

C R E A T E{ D A T A B A S E| S C H E MA } ' f i l e s p e c ' [ U S E R' u s e r n a me ' [ P A S S WO R D' p a s s w o r d ' ] ] [ P A G E _ S I Z E[ = ] i n t ] [ L E N G T H[ = ] i n t [ P A G E [ S ] ] ] [ D E F A U L TC H A R A C T E RS E Tc h a r s e t ] [ < s e c o n d a r y _ f i l 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 .

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 ! ) E l t a ma od el a s b a s e s d ed a t o s F i r e b i r de s d i n mi c o ; e l s e r v i d o r v a a g r e g a n d op g i n a s ( ac o n t i n u a c i n ) a l a r c h i v oame d i d aq u el a s n e c e s i t a . E s p o s i b l ei n d i c a r a l s e r v i d o r u n t a ma om x i mop a r au n a r c h i v od el ab a s ed e d a t o s , s i e mp r eq u eh a y ao t r o s a r c h i v o s ac o n t i n u a c i n . P o r e j e mp l o , e n l a s e n t e n c i aa n t e r i o r p o d r a mo s a g r e g a r L E N G H T1 0 0 0 0p a r ai n d i c a r a l s e r v i d o r u n t a ma om x i mod e1 0 0 0 0p g i n a s ; p e r oa l t r a t a r s ed e l l t i moa r c h i v od el a b a s e( d eh e c h o , e l n i c o ) e l s e r v i d o r i g n o r a r l ai n d i c a c i n y c o n s i d e r a r a l a r c h i v oc o mod et a ma od i n mi c o . E n e j e mp l o s p o s t e r i o r e s p a r t i r e mo s u n ab a s ed ed a t o s e n v a r i o s a r c h i v o s , c a s oe n e l q u es s er e s p e t ae l t a ma od ec a d aa r c h i v o s a l v oe l l t i mo .

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 ;

E s t ai n s t r u c c i n c r e au n ab a s ed ed a t o s d i v i d i d ae n d o s a r c h i v o s : e l p r i n c i p a l , c : \ e mp l e a d o s . g d b , d eh a s t a4 0 . 9 6 0 . 0 0 0b y t e s ( 4 0 9 6 * 1 0 0 0 0 , u n o s 4 0Mb ) y o t r os e c u n d a r i ol l a ma d o c : \ e mp l e a d o s 2 . g d b q u ea l ma c e n a r l a s p g i n a s a p a r t i r d el a1 0 0 0 1 . U n af o r mae q u i v a l e n t ed ed e f i n i r l ami s mab a s ed ed a t o s s e r al as i g u i e n t e : 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 E = 4 0 9 6L E N G H T = 1 0 0 0 0P A G E SF I L E c : \ E MP L E A D O S 2 . G D B ;

N o t et a mb i n q u el o s s i g n o s = ( i g u a l ) , a s c o mol ap a l a b r a P A G E S , s o n o p c i o n a l e s . C u a n d os ee s p e c i f i c a n v a r i o s a r c h i v o s , e s i mp o r t a n t et e n e r e n c u e n t aq u ee n l o s a r c h i v o s s e c u n d a r i o s n os ep u e d e n i n c l u i r n o mb r e s d en o d o s d er e d ; p o r l o t a n t o , s i s ec r e al ab a s ed ed a t o s d ef o r mar e mo t a , t o d o s l o s a r c h i v o s s e c u n d a r i o s s ec r e a r n e n e l mi s mon o d o .

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

E n e l e j e mp l oa n t e r i o r ( 4 ) s ee s p e c i f i c ae l j u e g od ec a r a c t e r e s I S O 8 8 5 9 _ 1 p a r as e r u s a d op o r d e f e c t o ; n oo b s t a n t e , s ep u e d ec a mb i a r e n f o r mai n d i v i d u a l p a r ac a d ac a mp oa l f a n u m r i c od eu n at a b l a . S i n os ee s p e c i f i c ae l j u e g od ec a r a c t e r e s p o r d e f e c t o , s et o ma r c o moN O N E ; e s t os i g n i f i c aq u en os eh a r n i n g u n ac o n v e r s i n a l a l ma c e n a r c a r a c t e r e s e n l o s c a mp o s a l f a n u m r i c o s . P e r omu c h oc u i d a d o : n os ep o d r n c o p i a r c a d e n a s e n t r ec a mp o s d e f i n i d o s c o n N O N Ey o t r o s d e f i n i d o s c o n u n j u e g od e c a r a c t e r e s d i f e r e n t e . E s t or e s t r i n g el au t i l i z a c i n f u t u r ad ed i s t i n t o s j u e g o s d e c a r a c t e r e s e n c a mp o s e s p e c f i c o s d eu n at a b l a . L o s c l i e n t e s p u e d e n e s p e c i f i c a r t a mb i n e l j u e g od ec a r a c t e r e s c o n e l q u e t r a b a j a r n , e mi t i e n d ou n as e n t e n c i aS E TN A ME S< j u e g od ec a r a c t e r e s >a n t e s d et r a b a j a r c o n l o s c a mp o s a l f a n u m r i c o s . E s t ol ei n d i c aa l s e r v i d o r l a s t r a n s f o r ma c i o n e s q u ed e b ee f e c t u a r e n l o s c a r a c t e r e s q u es ep a s a n e n t r ee l s e r v i d o r y e l c l i e n t e , e n a mb o s s e n t i d o s . S i n oe s p e c i f i c a mo s u n j u e g od ec a r a c t e r e s p a r ae l c l i e n t e , s et o ma r N O N E p o r d e f e c t o . L ar e s t r i c c i n q u ec o me n t a mo s a n t e s d en op o d e r c o n v e r t i r c a r a c t e r e s e x t e n d i d o s e n t r eN O N Ey c u a l q u i e r o t r os ema n t i e n e , p o r l oq u e e l s e r v i d o r r e c h a z a r c u a l q u i e r i n t e n t od ei n t r o d u c i r c a r a c t e r e s e x t e n d i d o s e n u n a t a b l a . P o d e mo s e n u n c i a r l oc o mo R e g l aP r c t i c a : a l a c c e d e r au n aB Dc o n u n j u e g od ec a r a c t e r e s d i s t i n t od e N O N E , e l c l i e n t et a mb i n d e b e r ai n d i c a r u n j u e g od ec a r a c t e r e s d i s t i n t od e N O N E , p r e f e r e n t e me n t ee l mi s moq u el aB D . E s mu y c o m ne n c o n t r a r s ec o n e l s i g u i e n t ep r o b l e ma : ap e s a r d eh a b e r d e f i n i d oe l j u e g od ec a r a c t e r e s i s o 8 8 5 9 _ 1p o r d e f e c t op a r al ab a s ed ed a t o s , c u a n d os eq u i e r ei n g r e s a r u n ac a d e n ac o n e e s ov o c a l e s a c e n t u a d a s e l s e r v i d o r s eq u e j ay r e c h a z ae l i n g r e s o . C o mop o d r i ma g i n a r s es i h al e d ol o a n t e r i o r c o n a t e n c i n , f a l t ad e f i n i r e l j u e g od ec a r a c t e r e s e n l ac o n e x i n d e l c l i e n t e . S i e s t e j e c u t a n d ou n s c r i p t S Q L , a g r e g u el as e n t e n c i aS E TN A ME S i s o 8 8 5 9 _ 1 ; a l p r i n c i p i o . S i e s u n p r o g r a ma , d e f i n ae l j u e g od ec a r a c t e r e s d el a c o n e x i n s e g n l or e q u i e r as u l e n g u a j ed ep r o g r a ma c i n .

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 ( C O L L A T EE S _ E S ) . L a s d i s t i n t a s o p c i o n e s s eo b t i e n e n d el a s t a b l a s d e s i s t e mac o mos ei n d i c a n t e s . E s t ee s e l r e s u l t a d oe n u n s e r v i d o r F i r e b i r d1 . 0 me d i a n t el as i g u i e n t es e n t e n c i a( u n ame z c l ad el a s d o s a n t e r i o r e s ) : < < < D e t e r mi n a r q u ed i f e r e n c i ah a y e n t r el o s o r d e n a mi e n t o s f r _ c ay e s _ e s , c o n u n e j e mp l o > > >

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 > ;

< a d d _ c l a u s e >=F I L E' f i l e s p e c ' [ < f i l e i n f o > ] [ < a d d _ c l a u s 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 > ]

C o mov e mo s , l a n i c ap o s i b i l i d a dd emo d i f i c a c i n e s l aa d i c i n d en u e v o s a r c h i v o s al ab a s ed ed a t o s . C o n e s t ai n s t r u c c i n n os ep u e d ed i v i d i r u n ab a s ed ed a t o s ; n i c a me n t e a g r e g a r a r c h i v o s ac o n t i n u a c i n d el o s e x i s t e n t e s . P a r ap a r t i r u n ab a s ed e d a t o s , h a g au n r e s p a l d o a l r e s t a u r a r l op u e d ee s p e c i f i c a r l o s n u e v o s t a ma o s d el o s a r c h i v o s . U n e j e mp l o : A L T E RD A T A B A S E A D DF I L E' 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 1L E N G T H1 0 0 0 0 A D DF I L E' e mp l e a d o s 3 . g d b ' ;

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 :

C R E A T ET A B L Et a b l e[ E X T E R N A L[ F I L E ] ' f i l e s p e c ' ] ( < c o l _ d e f >[ , < c o l _ d e f >| < t c o n s t r a i n t >] ) ;

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 :

N o mb r e s d eo b j e t o s L o s n o mb r e s d el o s o b j e t o s d el aB a s ed eD a t o s d e b e n s e g u i r c i e r t a s n o r ma s : D e b e n s e r n i c o s e n s u t i p o p o r e j e mp l o , n op u e d eh a b e r d o s t a b l a s q u es e l l a me n i g u a l e n l ami s mab a s ed ed a t o s . D e b e n e mp e z a r c o n u n al e t r a E n d i a l e c t o3 , s ep u e d e n u s a r c a r a c t e r e s n oi n g l e s e s c o mol a , y t a mb i n e s p a c i o s ; p e r oe n t o n c e s , e n t o d a s l a s s e n t e n c i a s S Q Lq u er e f e r e n c i e n a l o b j e t o( i n c l u d al ad ec r e a c i n d el at a b l a ) h a y q u ee n c e r r a r e s t en o mb r ee n t r e c o mi l l a s d o b l e s ( ) . 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 >=
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 ) ) ;

S eh a n d e c l a r a d oa q u a l g u n a s c o n d i c i o n e s s o b r el o s c a mp o s : p o r e j e mp l o , s e i n d i c aq u ee l c a mp oC U S T _ N On op u e d eq u e d a r v a c ooq u ee l c a mp o O N _ H O L Dt o ma r u n v a l o r p o r d e f e c t on u l o . E s t a s c o n d i c i o n e s s o n c o n t r o l a d a s p o r e l s e r v i d o r , p o r l oq u el aa p l i c a c i n c l i e n t en od e b eh a c e r n a d a p a r af o r z a r l a s . L as i n t a x i s c o mp l e t ad el ad e f i n i c i n d eu n c a mp oe s l as i g u i e n t e : < c o l _ d e f >=c o l { < d a t a t y p e >| C O MP U T E D[ B Y ] ( < e x p r > ) | d o ma i n } [ D E F A U L T{ l i t e r a l | N U L L| U S E R } ] [ N O TN U L L ] [ < c o l _ c o n s t r a i n t > ] [ C O L L A T Ec o l l a t i o n ]

N O TN U L L : e l r e g i s t r on os ei n t r o d u c i r e n l at a b l as i e s t ec a mp on ot i e n e a l g n v a l o r . D E F A U L T : e l c a mp ot o ma r e l v a l o r p o r d e f e c t oe s p e c i f i c a d os i n os e i n d i c an i n g u n o . E l v a l o r p u e d es e r u n ac o n s t a n t e , l ap a l a b r a' N U L L ' ( s ea s i g n a v a l o r n u l o ) , ol ap a l a b r a' U S E R ' ( s ea s i g n ae l n o mb r ed e l u s u a r i oa u t e n t i c a d o a c t u a l me n t e ) . T a mb i n s ep u e d eu s a r l ap a l a b r a' T O D A Y ' p a r aa s i g n a r l af e c h a a c t u a l , s i e l c a mp oe s d et i p oD A T E . C O L L A T E : v l i d ap a r ac a mp o s d ec a r a c t e r e s , i n d i c aq u es eu s a r l a s e c u e n c i ad eo r d e n a mi e n t oe s p e c i f i c a d a . C O MP U T E DB Y : e l v a l o r d e l c a mp os ec a l c u l a r a p l i c a n d ou n af r mu l a , c o mos ee x p l i c ae n l as i g u i e n t es e c c i n .

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 ad es u b t o t a l p a r au n af a c t u r a C R E A T ET A B L EI T E MS( I D _ I T E MI N T E G E RN O TN U L LP R I MA R YK E Y , I D _ F A C T U R AI N T E G E RN O TN U L LR E F E R E N C E S F A C T U R A S ( I D _ F A C T U R A ) , C A N T I D A DI N T E G E RD E F A U L T1N O TN U L L , D E S C R I P C I O NV A R C H A R ( 5 0 ) N O TN U L L , P R E C I O _ U N I TN U ME R I C ( 1 8 , 4 ) D E F A U L T0N O TN U L L , S U B T O T A LC O MP U T E DB Y( C A N T I D A D * P R E C I O _ U N I T ) ) ;

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 ) ) ) ) ;

R e s t r i c c i o n e s A d e m s d el a s c o n d i c i o n e s , F i r e b i r da c e p t aq u es ed e c l a r e n r e s t r i c c i o n e s a n i v e l d ec o l u mn aod et a b l a . L as i n t a x i s p a r al a s r e s t r i c c i o n e s d et a b l ae s l as i g u i e n t e : < r e s t r i c c i o n _ d e _ t a b l a >=[ C O N S T R A I N Tc o n s t r a i n t ] { { P R I MA R YK E Y| U N I Q U E } ( c o l [ , c o l ] ) | F O R E I G NK E Y( c o l [ , c o l ] ) R E F E R E N C E So t r a _ t a b l a [ O ND E L E 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 } ] [ 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 } ] 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 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 [ 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 > ) }

Mi e n t r a s q u el a s r e s t r i c c i o n e s an i v e l d ec o l u mn as i g u e n l as i n t a x i s < c o l _ c o n s t r a i n t >=[ C O N S T R A I N Tc o n s t r a i n t ] { U N I Q U E | P R I MA R YK E Y | R E F E R E N C E So t h e r _ t a b l e[ ( o t h e r _ c o l [ , o t h e r _ c o l ] ) ] [ O ND E L E 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 } ] [ 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( < s e a r c h _ c o n d i t 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 :

P R I MA R YK E Y( c a mp o 1 , c a mp o 2 , . . . ) : c l a v ep r i ma r i a . D e f i n el o s c a mp o s q u ef o r ma r n l ac l a v ep r i ma r i ad el at a b l a . U N I Q U E( c a mp o 1 , c a mp o 2 , . . . ) : u n i c i d a d . I n d i c aq u el ac o mb i n a c i n d e l o s v a l o r e s d el o s c a mp o s l i s t a d o s n op u e d er e p e t i r s ee n l at a b l a . F O R E I G NK E Y( c a mp o 1 , c a mp o 2 , . . . ) R E F E R E N C E St a b l a 2( c a mp o 3 , c a mp o 4 , . . . ) : c l a v ee x t e r n aof o r n e a . L o s c a mp o s ( 1 , 2 , . . . ) l i s t a d o s r e f e r e n c i a n al o s c a mp o s ( 3 , 4 , . . . ) d el as e g u n d at a b l a . L o s v a l o r e s d el o s c a mp o s d el a s e g u n d at a b l ad e b e n i d e n t i f i c a r u n v o c a me n t eau n r e g i s t r op a r aq u el a r e f e r e n c i as e av l i d a ; e n l ap r c t i c a , d e b ee x i s t i r u n ac l a v ep r i ma r i aou n a r e s t r i c c i n d eu n i c i d a ds o b r ee s o s c a mp o 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 d e b eh a c e r e l s e r v i d o r c u a n d on os e c u mp l el ar e s t r i c c i n , i n c l u s oc o n e l d e t a l l ed el a s d o s o p e r a c i o n e s q u ep u e d e n h a c e r q u ee s t os u c e d a : e l b o r r a d o( O ND E L E T E ) y l amo d i f i c a c i n d ed a t o s ( O NU P D A T E ) d el at a b l ar e f e r e n c i a d a( t a b l a 2 ) . L a s p o s i b i l i d a d e s s o n l a s s i g u i e n t e s : N OA C T I O N : e l s e r v i d o r r e c h a z a r l ao p e r a c i n C A S C A D E : e l s e r v i d o r a p l i c a r l ami s mao p e r a c i n e n l o s r e g i s t r o s d e l at a b l ad e t a l l e( d o n d es ed e f i n el ar e s t r i c c i n ) p a r aq u el ar e g l as i g as i e n d o v l i d a 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 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 ) .

Ma t r i c e s L au t i l i z a c i n d e l mo d i f i c a d o r < a r r a y _ d i m>ac o n t i n u a c i n d e l t i p od ed a t o s i n d i c aq u ee l c a mp oc o n t e n d r u n ama t r i z d ev a l o r e s d e l t i p oi n d i c a d o . P o r e j e mp l o , s i d e f i n i mo s u n c a mp oc o mo

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 :

A L T E RT A B L Et a b l a< o p e r a c i n >[ , < o p e r a c i n >] ;

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 ) ;

y q u e r e mo s a g r e g a r l a s c o l u mn a s ' d i r e c c i o n ' y ' t e l e f o n o ' , p o d e mo s h a c e r

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

L o s p r o g r a ma s d ea d mi n i s t r a c i n d eb a s e s d ed a t o s g e n e r a l me n t er e a l i z a n e s t a s o p e r a c i o n e s a u t o m t i c a me n t e . < < < E j e mp l o > > >

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 p u e d e n i mp e d i r q u es er e a l i c eu n c a mb i oe n l ae s t r u c t u r ad eu n at a b l a . P i e n s e p o r e j e mp l oe n q u p a s a r as i t e n e mo s u n at a b l aAq u er e f e r e n c i aau n at a b l a Bp o r me d i od eu n ac o l u mn a( c l a v ee x t e r n a ) y q u e r e mo s mo d i f i c a r e l t i p od e d a t o s d ee s ac o l u mn a . L ar e f e r e n c i aal at a b l aBy an os e r av l i d al o s t i p o s d e d a t o s d e b e n s e r i g u a l e s e n l o s d o s l a d o s d el ar e f e r e n c i a . P a r ae v i t a r e s t e p r o b l e ma , e l s e r v i d o r r e c h a z a r c u a l q u i e r c a mb i oq u ea f e c t eau n ac o l u mn a q u ef o r map a r t ed eu n ar e s t r i c c i n . E n e s t o s c a s o s , t e n d r e mo s q u ee l i mi n a r p r i me r ol ar e s t r i c c i n , r e a l i z a r e l c a mb i o , y v o l v e r ac r e a r l ar e s t r i c c i n .

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

E s mu y c o m n q u ee n u n ab a s ed ed a t o s h a y av a r i a s c o l u mn a s d e l mi s mot i p o ( p o r e j e mp l o : n o mb r e s d ee mp l e a d o s , d ec l i e n t e s , d ep r o v e e d o r e s . . . ) . E n c a s o s c o moe s t e , c o n v i e n ed e f i n i r n u e v o s ' t i p o s ' d ed a t o s c o n l a s c a r a c t e r s t i c a s c o mu n e s at o d o s ( p o r e j e mp l o , V a r c h a r ( 4 0 ) ) y d a r l eu n n o mb r e p r o p i o( p o r e j e mp l o , N o mb r e s D e P e r s o n a s ) . E s t o s n u e v o s t i p o s s e d e n o mi n a n D o mi n i o s . L o s d o mi n i o s s eu t i l i z a n c o mos i f u e r a n t i p o s d ed a t o s n o r ma l e s , p o r e j e mp l oe n l a s s e n t e n c i a s C r e a t eT a b l ey A l t e r T a b l e .

C r e a c i n d ed o mi n i o s < < < S i n t a x i s d eC r e a t eD o ma i n > > >

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 :

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 ) N O TN U L L ; C R E A T ED O MA I NI MP O R T E SA SN U ME R I C ( 1 8 , 2 ) D E F A U L T0N O TN U L L ; C R E A T ED O MA I NME SI N T E G E RC H E C K ( V A L U E>0A N DV A L U E< =1 2 ) ;

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

< < < V e r q u ep a s ac u a n d oe l d o mi n i oe s t e n u s o > > >

E s t as e n t e n c i ah i z os u a p a r i c i n c o n F i r e b i r d1 . 0 ; e n I n t e r b a s e , p o r l ome n o s h a s t al av e r s i n 6h a b aq u et r a b a j a r d i r e c t a me n t ec o n l a s t a b l a s d e l s i s t e ma . < < < c o n f i r ma r > > >

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 o n s u l t a s . S ec o n s t r u y e n c o n l o s d a t o s d eu n s u b c o n j u n t od el a s c o l u mn a s d e l at a b l aal aq u es i r v e n , p e r oi n t e r n a me n t ee n e l s e r v i d o r e s t o s d a t o s s e a l ma c e n a n d ema n e r ad i f e r e n t ep a r ao p t i mi z a r l a s b s q u e d a s . A s , c u a n d os e e mi t eu n ai n s t r u c c i n S Q Lq u ed e b eb u s c a r a l g n v a l o r e n u n at a b l a , s i e s t a t a b l an ot i e n ed e f i n i d ou n n d i c es o b r el ac o l u mn ae n l aq u es eb u s c ae n t o n c e s e l s e r v i d o r d e b er e a l i z a r u n ab s q u e d as e c u e n c i a l e s d e c i r , r e c o r r e r t o d o s l o s r e g i s t r o s h a s t aq u ee n c u e n t r ae l v a l o r b u s c a d o . E n c a mb i o , s i h a y u n n d i c e s o b r el ac o l u mn ab u s c a d a , e l s e r v i d o r a u t o m t i c a me n t el ou t i l i z ay r e c o r r el a e s t r u c t u r ad e l n d i c ep a r ae n c o n t r a r e l v a l o r . L ae s t r u c t u r ad e l n d i c ee s t a l q u e e s t ab s q u e d as l ol l e v au n a s p o c a s l e c t u r a s . C o mov e r e mo s e n l as e c c i n d eo p t i mi z a c i n d ec o n s u l t a s , u n ad el a s p r i n c i p a l e s a r ma s d e l p r o g r a ma d o r p a r aa c e l e r a r e l p r o c e s od el o s d a t o s s o n l o s n d i c e s y l af o r mae n q u es ep u e d ei n d i c a r a l s e r v i d o r q u el o s u t i l i c e .

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 . L ama y o r i n c o n v e n i e n c i ad el ai mp l e me n t a c i n d er e g l a s d en e g o c i oe n e l s e r v i d o r e s l ac r e a c i n d ed e p e n d e n c i a s e n t r el a s e s t r u c t u r a s p o r e j e mp l o , s i s ei n d i c aq u eu n ac o l u mn an op u e d et e n e r v a l o r e s r e p e t i d o s , g e n e r a l me n t es e h a r p o r me d i od eu n ar e s t r i c c i n U N I Q U E ; mi e n t r a s e s t ar e s t r i c c i n e x i s t a , n o s ep o d r mo d i f i c a r e l t i p oon o mb r ed el ac o l u mn a . P a r ac a mb i a r s u t i p o , p o r e j e mp l op a r aa a d i r m s c a r a c t e r e s p o r q u es en o s h aq u e d a d oc o r t au n a c o l u mn a , h a b r q u ee l i mi n a r p r i me r ol ar e s t r i c c i n , h a c e r e l c a mb i oal a c o l u mn a , y l u e g or e c r e a r l ar e s t r i c c i n . L as i t u a c i n e mp e o r ac u a n d os e i mp l e me n t a n t a mb i n 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 . N oo b s t a n t el a s d i f i c u l t a d e s p a r aa l t e r a r l a s e s t r u c t u r a s , s i e mp r ee s c o n v e n 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

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

L o s g e n e r a d o r e s s o n c o mo' v a r i a b l e s ' g l o b a l e s ma n t e n i d a s e n e l s e r v i d o r . A l ma c e n a n u n n me r oe n t e r od e6 4b i t s ( B I G I N T ) q u en oe s a f e c t a d op o r l a s t r a n s a c c i o n e s . E s t os i g n i f i c aq u ec u a n d ou n g e n e r a d o r c a mb i ad ev a l o r , t o d a s l a s t r a n s a c c i o n e s a c t u a l me n t ea c t i v a s p u e d e n v e r e s ev a l o r i n me d i a t a me n t e . E s t os i g n i f i c aq u es ep u e d eu s a r u n g e n e r a d o r p a r ao b t e n e r e l v a l o r d eu n a s e c u e n c i an u m r i c as i n p e l i g r od eq u ed o s c l i e n t e s o b t e n g a n e l mi s mov a l o r . P o r e s t oe s mu y c o m n u s a r l o s e n l ag e n e r a c i n d ec l a v e s p r i ma r i a s . P a r aa c c e d e r au n g e n e r a d o r h a y q u eu s a r u n af u n c i n p r e d e f i n i d a : g e n _ i d . L a f u n c i n e s p e r ad o s p a r me t r o 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 ' h u e c o s ' e n l as e c u e n c i a . S u p o n g a mo s q u ee l c l i e n t eAp i d ee l v a l o r d eu n g e n e r a d o r ( d i g a mo s 9 ) , y l oi n c r e me n t ae n 1q u e d a n d oc o n v a l o r 1 0 . A l ma c e n a e s t ev a l o r e n u n ac o l u mn ad eu n at a b l a , y l u e g op o r c u a l q u i e r mo t i v oc a n c e l al a t r a n s a c c i n ( r o l l b a c k ) . L amo d i f i c a c i n d el at a b l as ev u e l v ea t r s p e r on oa s e l g e n e r a d o r . S i l u e g oo t r oc l i e n t eh a c el omi s mo , o b t e n d r e l v a l o r 1 0y e l g e n e r a d o r q u e d a r e n 1 1 . E s t av e z s i s ea c e p t al at r a n s a c c i n , p o r l oq u ee n l a t a b l aq u e d ae l v a l o r 1 0p e r on oe l 9 . P o r l ot a n t o : N ou t i l i c el o s g e n e r a d o r e s p a r as e c u e n c i a s n u m r i c a s d o n d en op u e d ah a b e r ' h u e c o s ' ( s e c u e n c i a s a u d i t a b l e s , c o mol o s n me r o s d ef a c t u r a s ) .

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 :

S E TG E N E R A T O R< N o mb r e _ g e n e r a d o r >T O< N u e v o _ v a l o r >

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 S Q LoP S Q L , q u ec o n s t ad el a s s e n t e n c i a s S Q Le s t n d a r m s a l g u n a s i n s t r u c c i o n e s e s p e c i a l e s p a r ae s t o s p r o c e d i mi e n t o s . L av e n t a j ae s q u es ep u e d ec e n t r a l i z a r e l p r o c e s od el o s d a t o s e n e l mi s mo s e r v i d o r , l oq u eg a r a n t i z ame j o r r e n d i mi e n t oy m s f a c i l i d a dp a r aa c t u a l i z a r e l c d i g o , y aq u es l os eh a c ee n u n l u g a r y t o d o s l o s c l i e n t e s s eb e n e f i c i a n i n me d i a t a me n t e . L ad e s v e n t a j ae s q u ee l l e n g u a j en ot i e n el ar i q u e z ad eu n l e n g u a j ec o m n d ea l t on i v e l c o moP a s c a l oC . H a y d o s c l a s e s d eo b j e t o s q u es ep u e d e n p r o g r a ma r e n F i r e b i r d : P 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 . L ap r i n c i p a l d i f e r e n c i ae n t r el o s d o s e s l af o r mad ee j e c u t a r l 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 s ee j e c u t a n p o r d e ma n d a , e s d e c i r , e l u s u a r i ot i e n eq u ea c t i v a r l o s e x p l c i t a me n t e ; l o s T r i g g e r s s ee 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 er e a l i z aa l g u n aa c c i n s o b r el o s d 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 6 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

( 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! ;

I n d i c aq u eap a r t i r d ee s al n e ay h a s t ae l f i n a l d e l s c r i p t s ec o n s i d e r a r c o mo t e r mi n a d o r e l s mb o l o( ! ) . N o t e mo s q u ee s t ami s mal n e at e r mi n ae n p u n t oy c o ma , y aq u ee s u n ai n s t r u c c i n d e l s c r i p t . P a r av o l v e r a l t e r mi n a d o r p o r d e f e c t ot e n e mo s q u ee mi t i r l ai n s t r u c c i n

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 TS Q LD I A L E C T3 ; 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 oe l d i a l e c t o3d eS Q L . 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 f i r ma r > > >

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 ]

< c u e r p o _ d e l _ p r o c e d i mi e n t o >= [ < l i s t a _ d e _ d e c l a r a c i o n _ d e _ v a r i a b l e s > ] < b l o q u e >

<l i s t a _ d e _ d e c l a r a c i o n _ d e _ v a r i a b l e s >= D E C L A R EV A R I A B L En o mb r e _ v a r i a b l e< t i p o _ d e _ d a t o s > ; [ D E C L A R EV A R I A B L En o mb r e _ v a r i a b l e< t i p o _ d e _ d a t o s > ; ]

< b l o q u e >= B E G I N < s e n t e n c i a _ c o mp u e s t a > [ < s e n t e n c i a _ c o mp u e s t a >] E N D

< s e n t e n c i a _ c o mp u e s t a >={ < b l o q u e >| s e n t e n c i a ; }

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 ;

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 e p r o g r a ma \ f i r e b i r d 1 5 \ e x a mp l e s \ e mp l o y e e . f 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 ' ;

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; !

* V e mo s c o moe s n e c e s a r i oc a mb i a r e l t e r mi n a d o r a n t e s d e l c u e r p od e l p r o c e d i mi e n t o . E s t oe s a s p o r q u ee l p r o c e d i mi e n t oc o mp l e t os ei n t e r p r e t a c o mou n as o l ai n s t r u c c i n ( y p o r l ot a n t ot i e n eq u et e r mi n a r c o n e l s mb o l o t e r mi n a d o r d e l s c r i p t ) ; mi e n t r a s q u el a s i n s t r u c c i o n e s i n t e r n a s d e l p r o c e d i mi e n t ot i e n e n q u et e r mi n a r c o n p u n t oy c o ma . S i n oc a mb i a mo s e l t e r mi n a d o r p o r d e f e c t od e l s c r i p t , s et o ma r e l p r i me r p u n t oy c o mad e l p r o c e d i mi e n t oc o mof i n a l d e l mi s mo , o b t e n i n d o s eu n ai n s t r u c c i n i n v l i d a . E n e l e j e mp l oa n t e r i o r , s i e l i mi n a mo s l al n e aS E TT E R M! ; e n t o n c e s e l s e r v i d o r i n t e r p r e t a r l os i g u i e n t ec o mou n ao r d e n : 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 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

m s u t i l i z a d a s , c o moWi n d o w s y L i n u x , p e r oe l g r u e s od el o s p r o g r a ma d o r e s n ot r a b a j ae n l a s d e m s . S u d i s p o n i b i l i d a dd e p e n d ed e l t r a b a j od ev o l u n t a r i o s p a r ac a d ap l a t a f o r ma . [ 3 ] E n r e a l i d a dh a y o t r oe s t a d o , e l l i mb o . E s u n e s t a d oq u es o l a me n t es u r g e e n t r a n s a c c i o n e s q u ei n v o l u c r a n ma s d eu n ab a s ed ed a t o s , p o r l oq u en ol o c o n s i d e r a r e mo s e n l ad i s c u s i n . L a s t r a n s a c c i o n e s e n l i mb op u e d e n s e r e l i mi n a d a s c u a n d os eh a c eu n b a c k u p . [ 4 ] P o r s u p u e s t o , u n at r a n s a c c i n p u e d ev e r c u a l q u i e r c a mb i oh e c h oe n l a mi s ma . [ 5 ] E n o t r o s s i s t e ma s ( y e n l aB D E ) s ed e n o mi n aR e p e a t a b l eR e a dae s t en i v e l d ea i s l a mi e n t o . [ 6 ] A l f i n a l s ei n c l u y eu n ar e f e r e n c i ad el o s s mb o l o s e s p e c i a l e s u s a d o s e n l o s e s q u e ma s d es i n t a x i s [ 7 ] E l e s t n d a r A N S I 9 2p r o p o n eu n an u e v as i n t a x i s p a r al o s e n c u e n t r o s e n t r e t a b l a s , c o n m s p o s i b i l i d a d e s . N oo b s t a n t e , l af o r mai n i c i a l s ema n t i e n ee n u s o . [ 8 ] G D B s o n l a s i n i c i a l e s d el ae mp r e s aq u ec r e I n t e r b a s e : G r o t o n D a t a b a s e S y s t e ms . G r o t o n s el l a mae l p u e b l on a t a l d eJ i mS t a r k e y , s u c r e a d o r o r i g i n a l . E s t a mb i n l ac a u s ad e t r s d el a g i n i c i a l d el o s n o mb r e s d el a s u t i l i d a d e s . [ 9 ] E n l ad e f i n i c i n r e a l d ee s t at a b l a( d el ab a s ed ed a t o s e mp l o y e e . g d b ) s e u s a n e n r e a l i d a dd o mi n i o s p a r al ama y o r ad el o s c a mp o s ; h ee s c r i t ol o s e q u i v a l e n t e s m s s i mp l e s ( s i n c o mp r o b a c i o n e s n i r e s t r i c c i o n e s ) h a s t aq u e e s t u d i e mo s e l t e ma .

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

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


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 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 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 c o n P a r a d o x oD b a s e . L o s a r c h i v o s d eF i r e b i r d1 . 0 a l i g u a l q u el o s d e I n t e r b a s e6 . 0 p u e d e n t e n e r h a s t a2G bd et a ma oc a d au n o . F i r e b i r dp o s e el ama y o r ad el a s c a r a c t e r s t i c a s a v a n z a d a s d el o s g e s t o r e s mo d e r n o s : T r a n s a c c i o n e s P o s i b i l i d a dd ed e f i n i r n d i c e s a s c e n d e n t e s od e s c e n d e n t e s , c o n r e s t r i c c i n d eu n i c i d a d P o s i b i l i d a dd ed e f i n i r r e s t r i c c i o n e s al o s d a t o s e n l ad e c l a r a c i n d el a s t a b l a s , c o mos e r o o o o I n t e g r i d a dr e f e r e n c i a l U n i c i d a d C o n t r o l e s d ev a l i d a c i n ( C h e c k ) C o l u mn a s c o mp u t a d a s , s l od el e c t u r a P o s i b i l i d a dd ep r o g r a ma c i n d e l s e r v i d o r me d i a n t ed i s p a r a d o r e 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 s t o r e dp r o c e d u r e s . P o s i b i l i d a dd ed e f i n i r p r o c e d i mi e n t o s a l ma c e n a d o s q u ed e v u e l v a n t a b l a s v i r t u a l e s P o s i b i l i d a dd ed e f i n i c i n d ev i s t a s G e n e r a d o r e s d en me r o s s e c u e n c i a l e s , i n d e p e n d i e n t e s d el a s t r a n s a c c i o n e s E x c e p c i o n e s E v e n t o s F u n c i o n e s d e f i n i d a s p o r e l u s u a r i o D o mi n i o s U n l e n g u a j eS Q La mp l i oy p o t e n t e , q u ec o n t e mp l af u n c i o n e s a v a n z a d a s c o mos e r o o o o o S u b c o n s u l t a s U n i o n e s F u n c i o n e s d ea g r e g a c i n O r d e n a mi e n t op o r c o l u mn a s c a l c u l a d a s , e t c V e c t o r e s mu l t i d i me n s i o n a l e s ( ma t r i c e s )

E n e l a p n d i c e< < < ? ? > > >s ep u e d ev e r u n r e s u me n d el a s c a r a c t e r s t i c a s y l mi t e s t c n i c o s d eF i r e b i r d .

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 n b r e v e : c a d av e z q u es eh a c eu n amo d i f i c a c i n au n r e g i s t r o , s ec r e au n a n u e v av e r s i n og e n e r a c i n d e l mi s moma r c n d o l ac o n u n n me r oq u e i d e n t i f i c aal at r a n s a c c i n q u er e a l i z e l c a mb i o . C o n l aa y u d ad eo t r a e s t r u c t u r ad el aq u eh a b l a r e mo s e n s e g u i d a , e s t eme c a n i s mop e r mi t ea F i r e b i r dl o g r a r e l n i v e l d el e c t u r a s r e p e t i b l e s s i n u s a r b l o q u e o s , a s c o moe v i t a r e l u s od ea r c h i v o s d er e g i s t r od eo p e r a c i o n e s ( l o g ) .

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 p u e d e n e s t a r e n u n od et r e s e s t a d o s [ 3 ] : A c t i v a A c e p t a d a( C o mmi t t e d ) C a n c e l a d a( R o l l e db a c k ) E l e s t a d od et o d a s 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 l aB De s ma n t e n i d oe n l a s P g i n a s d eI n v e n t a r i od eT r a n s a c c i o n e s oT I P( T r a n s a c t i o n I n v e n t o r y P a g e s ) . E s u n al i s t ad et o d a s l a s t r a n s a c c i o n e s q u et i e n e n d a t o s e n l ab a s ee n c a d amo me n t o , a c o mp a a d a s d es u e s t a d o . C u a n d oc o mi e n z au n at r a n s a c c i n , s el ea s i g n au n n me r o n i c oq u el a i d e n t i f i c a( l l a ma d oU T N , U n i q u eT r a n s a c t i o n N u mb e r ) y s el e e n t r e g a u n al i s t a d et o d a s l a s t r a n s a c c i o n e s q u et i e n e n d a t o s e n l ab a s ey s u s e s t a d o s ae s e mo me n t o : u n ac o p i ad el aT I P . L o s n me r o s i d e n t i f i c a d o r e s d el a s t r a n s a c c i o n e s ( U T N s ) s o n e n t e r o s c r e c i e n t e s e n e l t i e mp o ; e s d e c i r , s i u n at r a n s a c c i n c o mi e n z ad e s p u s d eo t r a e s s e g u r oq u er e c i b i r u n U T Nm s g r a n d eq u el ap r i me r a . L ac o n s e c u e n c i a i n v e r s as e r mu y u s a d ae n e l me c a n i s mod ev e r s i o n e s : s i h a y d o s v e r s i o n e s d eu n mi s mor e g i s t r o , l aq u et e n g al aU T Nm s g r a n d es e r p o s t e r i o r al ao t r a . C u a n d ou n at r a n s a c c i n t i e n eq u ea c t u a l i z a r u n r e g i s t r o , b u s c ae n s u T I Ps i h a b ao t r a s t r a n s a c c i o n e s a c t i v a s a l mo me n t od ec o me n z a r . S i n oh a y n i n g u n a o t r a , e n t o n c e s a c t u a l i z ae l r e g i s t r os i n m s . P e r os i e n c u e n t r aa l me n o s u n a t r a n s a c c i n a c t i v ae n l aT I P , n omo d i f i c ae l r e g i s t r oo r i g i n a l : c r e au n an u e v a v e r s i n a l ma c e n a n d ol a s d i f e r e n c i a s ( p a r aa h o r r a r e s p a c i o ) y s u p r o p i o n me r od et r a n s a c c i n , e l U T N . A h o r ab i e n , s i u n at r a n s a c c i n q u i e r el e e r u n r e g i s t r o , c o mp a r as u p r o p i o i d e n t i f i c a d o r c o n e l d el a l t i mav e r s i n d e l r e g i s t r o . S i e l U T Nd el a l t i ma v e r s i n e s ma y o r a l d el at r a n s a c c i n e n c u e s t i n , s et o mal av e r s i n a n t e r i o r d e l r e g i s t r o . A s s er e c o r r el ac a d e n ad ev e r s i o n e s h a s t ae n c o n t r a r u n ac u y o U T Ns e ame n o r q u ee l d el at r a n s a c c i n , y q u ea d e m s e s t ma r c a d ac o mo A c e p t a d a e n e l i n v e n t a r i o( T I P ) . C u a l q u i e r o t r av e r s i n e s p a s a d ap o r a l t 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 :

1 . L at r a n s a c c i n 1 0 0mo d i f i c au n r e g i s t r o . S ec r e au n av e r s i n c o n U T N = 1 0 0 . 2 . S ea c e p t al at r a n s a c c i n 1 0 0( e s t a d o : c o mmi t t e d ) 3 . C o mi e n z al at r a n s a c c i n 1 0 3 , q u emo d i f i c ae l mi s mor e g i s t r o . S ec r e au n a n u e v av e r s i n c o n U T N = 1 0 3 . 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 ) 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 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 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 )

5 . C o mi e n z al at r a n s a c c i n 1 1 0 , q u emo d i f i c ae l r e g i s t r o . S ec r e au n an u e v a v e r s i n c o n U T N = 1 1 0 . L at r a n s a c c i n n ot e r mi n at o d a v a( e s t a d o : a c t i v e ) 6 . C o mi e n z al at r a n s a c c i n 1 1 2 . 7 . C o mi e n z al at r a n s a c c i n 1 1 5 , q u emo d i f i c ae l r e g i s t r o . S ec r e au n an u e v a v e r s i n c o n U T N = 1 1 5 . 8 . S ea c e p t al at r a n s a c c i n 1 1 5( e s t a d o : c o mmi t e d ) 9 . L at r a n s a c c i n 1 1 2l e ee l r e g i s t r oe n c u e s t i n . C u l e s l av e r s i n q u e r e c u p e r a ? L av e r s i n 1 1 5e s p o s t e r i o r as u p r o p i oU T N , p o r l oq u en os ec o n s i d e r a . B u s c ae l a n t e r i o r . L av e r s i n 1 1 0c o r r e s p o n d eau n at r a n s a c c i n q u en oh at e r mi n a d o( e s t a d o= a c t i v e ) p o r l oq u et a mb i n s ei g n o r a . 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 .

C o n e s t eme c a n i s mos eo b t i e n e n d o s b e n e f i c i o s d i r e c t o s : S et r a b a j ae n u n n i v e l d ea i s l a mi e n t od el e c t u r a s r e p e t i b l e s s i n b l o q u e a r l a s a c t u a l i z a c i o n e s c o n c u r r e n t e s al al e c t u r a N os en e c e s i t al l e v a r u n r e g i s t r od el a s o p e r a c i o n e s p a r ar e c u p e r a r l a b a s ed ed a t o s d ef a l l o s ; t o d al ai n f o r ma c i n e s t i n c l u i d ae n l a s v e r s i o n e s y l a T I P . L o n i c oq u en e c e s i t ah a c e r e l s e r v i d o r p a r ar e c u p e r a r u n ab a s ed ed a t o s d e s p u s d eu n f a l l od ea l i me n t a c i n p o r e j e mp l o , e s r e c o r r e r l aT I Py ma r c a r c o moc a n c e l a d a s at o d a s l a s t r a n s a c c i o n e s q u ef i g u r a n c o moa c t i v a s . D ee s t a ma n e r a , l o s c a mb i o s q u es eh a b a n p r o d u c i d os o n i g n o r a d o s e n s u b s e c u e n t e s o p e r a c i o n e s .

P o r s u p u e s t oq u et a mb i n h a y a l g u n ac o n t r a : l ab a s ed ed a t o s v aa c u mu l a n d o b a s u r a e n l af o r mad ev e r s i o n e s q u en os o n u t i l i z a b l e s . E s t oo b l i g aae j e c u t a r u n aa c c i n d e l i mp i e z a ai n t e r v a l o s , p r o c e s oq u es ed e n o mi n as w e e p . E s t e p r o c e s oe l i mi n al a s v e r s i o n e s a n t e r i o r e s d el o s r e g i s t r o s , d e j a n d os o l a me n t el a l t i mav a l i d a , p e r op u e d ei mp a c t a r n e g a t i v a me n t ee n l ap e r f o r ma n c ed e l s e r v i d o r . P o r d e f e c t os ee j e c u t aa u t o m t i c a me n t ec a d a2 0 . 0 0 0t r a n s a c c i o n e s . S ep u e d ec o n f i g u r a r e s t ac a n t i d a de n l o s p a r me t r o s d e l s e r v i d o r , y t a mb i n s ep u e d ee j e c u t a r ma n u a l me n t el al i mp i e z 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

E n e l mo d e l or e l a c i o n a l t e n e mo s q u el i d i a r c o n o p e r a c i o n e s q u ei n v o l u c r a n v a r i a s t a b l a s . P o r e j e mp l o , e l t p i c oc a s od eu n p e d i d oou n af a c t u r a : t e n d r e mo s p o r l ome n o s d o s t a b l a s , u n ap a r al o s d a t o s q u ei d e n t i f i c a n a l p e d i d o( f e c h a , c l i e n t e , n r o , e t c ) y l ao t r ac o n l o s d a t o s d ec a d ai t e mq u e c o mp o n ee l p e d i d o( c a n t i d a d , c o d i g o , p r e c i ou n i t a r i o , e t c ) . C u a n d os ei n g r e s a u n af a c t u r a , t a mb i n g e n e r a l me n t emo d i f i c a r e mo s d a t o s e n o t r a s t a b l a s : s t o c k oi n v e n t a r i o , c u e n t ac o r r i e n t ed e l c l i e n t e , e t c . S e r amu y p r o b l e m t i c os i p o r 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 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 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 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 . .

L o s c a mb i o s h e c h o s e n u n ae s t a c i n n os er e f l e j a n e n o t r a s q u e a c c e d e n s i mu l t n e a me n t eal o s mi s mo s d a t o s E s t oe s u n ac o n s e c u e n c i ad el a s p r o p i e d a d e s d eC o n s i s t e n c i ay A i s l a mi e n t o . C o mod i j i mo s a n t e 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 d e n t r od eu n at r a n s a c c i n d e b e n s e r a c e p t a d a s oc a n c e l a d a s e n c o n j u n t o . H a s t ae s emo me n t o , q u e d a n e n u n l i mb o i n f o r m t i c oy n a d i es ee n t e r a r d es u e x i s t e n c i a . I n c l u s od e s p u s d et e r mi n a d ac o r r e c t a me n t eu n at r a n s a c c i n p u e d eh a b e r d i f e r e n c i a s e n l o q u es ev ee n u n ay o t r ae s t a c i n d et r a b a j o d e p e n d ed e l n i v e l d e a i s l a mi e n t od el a s d i s t i n t 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 , u n t e maq u ev e r e mo s e n b r e v e .

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

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 e s t a c i o n e s al ami s maB a s ed eD a t o s , h a y q u et e n e r e s p e c i a l c u i d a d oc o n l 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 d el o s c l i e n t e s . E l s e r v i d o r d e f i n ev a r i o s n i v e l e s d e a i s l a mi e n t od et r a n s a c c i o n e s c o n c u r r e n t e s , q u ei n d i c a n c mos er e l a c i o n a n l a s t r a n s a c c i o n e s s i mu l t n e a s e n t r es . C o mou n e j e mp l o , c o n s i d e r e mo s l as i g u i e n t es i t u a c i n : u n u s u a r i oe mp i e z a u n at r a n s a c c i n y h a c ea l g u n o s c a mb i o s . Mi e n t r a s t o d a v as u t r a n s a c c i n e s t a c t i v a , o t r ou s u a r i oe mp i e z au n as e g u n d at r a n s a c c i n . E l s e g u n d ou s u a r i on o v e r l o s c a mb i o s q u er e a l i c ee l p r i me r o , ame n o s q u ee s t e n e l mo d om s b a j od ea i s l a mi e n t o( q u en oe x i s t ee n F i r e b i r d , v e r ac o n t i n u a c i n ) . E s t e c o mp o r t a mi e n t op u e d ec o n f u n d i r a l m s p i n t a d o , y aq u ep o s i b l e me n t el a s d o s t r a n s a c c i o n e s s eh a g a n . . . e n l ami s mam q u i n a ! E n t o n c e s s e r ap o s i b l e 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 .

L o s 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 d eF i r e b i r ds o n l o s s i g u i e n t e s : r e a dc o mmi t e d( l e c t u r ad el oa c e p t a d o ) : s i e s t a mo s e n u n at r a n s a c c i n c o n e s t en i v e l d ea i s l a c i n , p o d r e mo s v e r l o s c a mb i o s d el o s d e m s c u a n d oe l l o s t e r mi n e n s u t r a n s a c c i n c o n c o mmi t ( n o s o t r o s t e n d r e mo s q u er e p e t i r l a c o n s u l t a , os e ac e r r a r y v o l v e r aa b r i r e l c o n j u n t od ed a t o s ) . N oe s n e c e s a r i o q u et e r mi n e mo s n u e s t r at r a n s a c c i n p a r av e r l a s mo d i f i c a c i o n e s . s n a p s h o t ( l e c t u r ar e p e t i b l e [ 5 ] ) : s eg a r a n t i z aq u ee l u s u a r i oq u ee s t e n u n a t r a n s a c c i n d ee s t et i p ov e r s i e mp r el o s mi s mo s d a t o s , a u n q u eo t r o s u s u a r i o s h a g a n c a mb i o s y l o s a c e p t e n . N ov e r e mo s l 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 at r a n s a c c i n y c o me n c e mo s u n an u e v a . E s t en i v e l d ea i s l a mi e n t oe s i d e a l p a r al o s r e p o r t e s , y aq u ee n u n e n t o r n omu l t i u s u a r i op u e d ed a r s eq u e c a mb i e n l o s d a t o s e n t r ee l mo me n t od el av i s t ap r e v i ae n p a n t a l l ay l a i mp r e s i n p r o p i a me n t ed i c h a . s n a p s h o t t a b l es t a b i l i t y ( l e c t u r ar e p e t i b l ef o r z a d a ) : i g u a l q u el aa n t e r i o r , p e r o a d e m s d e s d ee l mo me n t oq u ea c c e d e mo s au n at a b l a s t as eb l o q u e ap a r a e s c r i t u r a . E s t en i v e l e s p r o p i od eI n t e r b a s e , y n oe s mu y u s a d op o r q u ei mp o n e u n ar e s t r i c c i n mu y s e v e r aal o s o t r o s u s u a r i o s , q u es l oe s t a r n h a b i l i t a d o s p a r al e e r d et o d a s l a s t a b l a s q u et o q u e mo s mi e n t r a s e s t e mo s e n l a t r a n s a c c i n .

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 oe n e s p e r a( WA I T ) : s i h a y u n c o n f l i c t oc o n o t r at r a n s a c c i n ( p o r e j e mp l o , l a s d o s t r a t a n d emo d i f i c a r e l mi s mor e g i s t r oy a c e p t a r l o s c a mb i o s ) , e l l t i mop r o c e s oq u e d ab l o q u e a d oh a s t aq u es et e r mi n al ap r i me r a t r a n s a c c i n .

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 .

C u l e s l ar a z n d es e r d e l p r i me r mo d o ?P u e s q u ee l c o n f l i c t op u e d es e r t e mp o r a l . S u p o n g a mo s q u eu n u s u a r i o( 1 ) e mp i e z au n at r a n s a c c i n e n l ac u a l a g r e g au n r e g i s t r oc o n u n v a l o r Ae n l ac l a v ep r i ma r i a . A n t e s q u ee s t eu s u a r i o h a g aC o mmi t , o t r ou s u a r i o( 2 ) t r a t ad ei n g r e s a r u n r e g i s t r ot a mb i n c o n e l v a l o r Ae n l ac l a v ep r i ma r i a . S i l as e g u n d at r a n s a c c i n s eh a c ee n mo d oWA I T , e l u s u a r i o2q u e d ab l o q u e a d oh a s t aq u ee l p r i me r ot e r mi n es u t r a n s a c c i n . S i ( 1 ) h a c eC o mmi t , ( 2 ) r e c i b eu n me n s a j ed ee r r o r p o r q u el ac l a v ep r i ma r i ae s t a r a d u p l i c a d a ; p e r os i ( 1 ) c a n c e l as u t r a n s a c c i n c o n R o l l b a c k , ( 2 ) p u e d ei n s e r t a r s u r e g i s t r os i n p r o b l e ma s . E n e l c a s oq u el as e g u n d at r a n s a c c i n f u e r aN O WA I T , e l u s u a r i o( 2 ) r e c i b ee l me n s a j ed ee r r o r a l mo me n t od eq u e r e r i n s e r t a r e l r e g i s t r o , a u n q u el u e g o( 1 ) c a n c e l el o s c a mb i o s .

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 dC o mmi t e d : l o s c a mb i o s r e a l i z a d o s p o r l o s o t r o s u s u a r i o s s ev e n d e s p u s q u ea c e p t e n s u s t r a n s a c c i o n e s . P a r me t r o s p o r d e f e c t o : r e a d _ c o mmi t e d , r e c _ v e r s i o n , n o w a i t . E l p a r me t r or e c _ v e r s i o n h a c eq u es l ov e a mo s l a l t i mav e r s i n e s t a b l e ( a c e p t a d a ) d el o s r e g i s t r o s . L aa l t e r n a t i v ae s n o _ r e c _ v e r s i o n , c o n l oq u e i n d i c a mo s a l s e r v i d o r q u es o l a me n t es ep u e d ev e r u n r e g i s t r os i n oh a y v e r s i o n e s p e n d i e n t e s d ea c e p t a c i n ( m s s o b r ee s t ol u e g o , c u a n d ot r a t e mo s l aa r q u i t e c t u r amu l t i g e n e r a c i o n a l ) . E n e l c a s oq u ed e s d eo t r at r a n s a c c i n s e h a y amo d i f i c a d ou n r e g i s t r op e r ot o d a v an os eh a y ar e a l i z a d oc o mmi t , e l s e r v i d o r n on o s d e j a r amo d i f i c a r e l r e g i s t r o .

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|

S u p o n g a mo s q u ee s t ab a s ed ed a t o s s ea c c e d ed e s d ed o s t e r mi n a l e s al a v e z , Ay B . V e a mo s a l g u n o s c a s o s t p i c o s ( l a s a c c i o n e s s es u p o n e n e n l a s e c u e n c i ad a d a ) . P a r ae l c a s on oi mp o r t as i u s a mo s u n c o mp o n e n t eI B T a b l e , I B Q u e r y c o n I B U p d a t e S Q Lou n I B D a t a s e t . I n d i q u ed e s p u s d ec a d aa c c i n q u d a t o s v ec a d au s u a r i o : Ai n i c i au n at r a n s a c c i n e n mo d oS n a p s h o t . Bi n i c i au n at r a n s a c c i n e n mo d oR e a d C o mmi t t e dy l e el o s d a t o s d el at a b l ad ema s c o 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 8 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

Ap i d ee l c o n t e n i d od el at a b l aMa s c o t a s . Q u o b t i e n e ? L omi s moq u ee s t a r r i b a

Bmo d i f i c al at a b l ad ema s c o t a s , a r r e g l a n d ol ae d a dd eT o mq u e n oe s 3s i n o4 . Bh a c eC o mmi t y v u e l v eaa b r i r l at a b l a . Av el omi s mo . Bv el o s d a t o s d eT o m mo d i f i c a d o s

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 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.

Ba g r e g au n r e g i s t r oal at a b l ad eMa s c o t a s , c o n l o s s i g u i e n t e s v a l o r e s : P a c o , L o r o , A p t r i d a , 1 0 , 7 9 . H a c eC o mmi t . Aa c t u a l i z al av i s t a c e r r a n d oy a b r i e n d ol at a b l a . An ov el o s c a mb i o s h a s t aq u en oc i e r r es u p r o p i at r a n s a c c i n .

Ab o r r ae l r e g i s t r od eT o m. H a c eC o mmi t . Bt i e n eq u ec e r r a r y a b r i r l at a b l ap a r av e r l o s c a mb i o s . Q u p a s as i Bmo d i f i c ae l r e g i s t r oq u eAa c a b ad eb o r r a r ?

B l o q u e o s p e s i mi s t a s Ap a r t i r d eF i r e b i r d1 . 5 , s ep u e d eu s a r u n mo d od eb l o q u e op e s i mi s t a , i n d i c a n d oe x p l c i t a me n t ee n l as e n t e n c i aS E L E C Tq u es ed e s e ab l o q u e a r l o s r e g i s t r o s r e s u l t a d od el ac o n s u l t a . V e r e mo s a l g u n o s e j e mp l o s c u a n d o e s t u d i e mo s l as e n t e n c i aS E L E C Tm s a d e l a n t e ; p o r a h o r as i mp l e me n t e d i g a mo s q u ee s t ea g r e g a d os eh i z op a r as i mp l i f i c a r l as o l u c i n d ea l g u n o s p r o b l e ma s . N oe s l af o r mar e c o me n d a d ad et r a b a j a r c o n l o s d a t o s , y t i e n e a d e m s v a r i a s r e s t r i c c i o n e s . C i t a n d ol a s n o t a s d el av e r s i n 1 . 5 : " N oe s t d i s p o n i b l ee n s u b c o n s u l t a s , n i p a r aj o i n s . N os ep u e d ee s p e c i f i c a r c o n e l o p e r a d o r D I S T I N C T , l ac l u s u l aG R O U PB Yoc u a l q u i e r o t r ao p e r a c i n d ea g r e g a c i n d er e g i s t r o s . N op u e d eu t i l i z a r s ec o n oe n u n av i s t a , n i c o n t a b l a s e x t e r n a s , n i c o n l o s r e s u l t a d o s d eu n p r o c e d i mi e n t oa l ma c e n a d o l l a ma d od e s d eu n S E L E C T . "

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

L ai n t e g r i d a dr e f e r e n c i a l s er e f i e r ea l e s t a d od el a s r e f e r e n c i a s e n t r et a b l a s . E s i mp o r t a n t eq u el a s r e f e r e n c i a s s ema n t e n g a n , p a r aa s e g u r a r q u el o s d a t o s s e p u e d a n a c c e d e r c o r r e c t a me n t e . P o r e j e mp l o , s i t e n e mo s e n u n at a b l al o s d a t o s d eu n af a c t u r a , y e n o t r ae l d e t a l l ed el o s p r o d u c t o s p e d i d o s . E n l at a b l ad e d e t a l l es e g u r a me n t et e n d r e mo s s o l a me n t eu n ar e f e r e n c i aal af a c t u r as i h e mo s n o r ma l i z a d ol ab a s ed ed a t o s . E l v a l o r d e l c a mp od er e f e r e n c i a( p o r e j e mp l o , e l N r od ef a c t u r a ) s ed e b ec o r r e s p o n d e r a l v a l o r d ea l g n c a mp oc l a v ee n l at a b l a d ef a c t u r a s , c o n l oc u a l p o d e mo s r e c u p e r a r e l r e s t od el o s d a t o s . A h o r a p e n s e mo s q u s u c e d e r as i s emo d i f i c ae l v a l o r d e l c a mp od ee n l a c ee n c u a l q u i e r ad el a s p u n t a s d el ar e l a c i n . S i mo d i f i c a mo s e l n r od ef a c t u r ae n l at a b l ad ed e t a l l e , e s t a r e mo s r e f e r e n c i a n d oao t r af a c t u r a : e s t op u e d ee s t a r b i e n , d eh e c h oe s l a n i c a ma n e r ad ec o r r e g i r u n e r r o r e n l aa s i g n a c i n . S i mo d i f i c a mo s e l n r o . d ef a c t u r ae n l at a b l ad ef a c t u r a s , p u e s e s os p u e d er e p r e s e n t a r u n p r o b l e ma , y aq u et o d o s l o s r e g i s t r o s d ed e t a l l e q u e d a r a n h u r f a n o s , s i n q u es e p a mo s aq u f a c t u r ac o r r e s p o n d e n . E s t on os e p u e d ep e r mi t i r , y aq u en ot e n d r e mo s f o r mad er e s t a u r a r l ar e l a c i n .

< < < G r f i c oc o n l ar e l a c i n d e l e j e mp l o , c o n u n d i a g r a maE / R > > >

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 ,


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 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

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 .

E s t af o r mad ema n t e n e r l ai n t e g r i d a dr e f e r e n c i a l e s mu y p r c t i c ay v a l i o s a , a u n q u eav e c e s l l e v aau n c o mp o r t a mi e n t on o p t i moe n e l q u el a s o p e r a c i o n e s l l e v a n m s t i e mp od e l n e c e s a r i o . E s t oe s d e b i d oal as e l e c t i v i d a d d el o s n d i c e s , t e maq u et r a t a r e mo s m s a d e l a n t e . E n e s o s c a s o s e n q u ee l c o mp o r t a mi e n t on os e ae l a d e c u a d o , t e n d r e mo s q u er e c u r r i r au n av e r i f i c a c i n a c t i v ad el a s r e l a c i o n e s u s a n d ot r i g g e r s . L ov e r e mo s t a mb i n m s a d e l a 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 8 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

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

F i r e b i r de s d ec d i g oa b i e r t o , y c o mot a l s el op u e d ee n c o n t r a r e n I n t e r n e t p a r a s u d e s c a r g al i b r ey g r a t u i t a . N oo b s t a n t e , e s u n mo t i v oc o m n d ec o n f u s i n l a e x i s t e n c i ad ed i s t i n t a s v e r s i o n e s , t a n t od eF i r e b i r dc o mod eI n t e r b a s e . A q u t r a t a r d ea c l a r a r e l l o . S ep u e d ed e s c a r g a r e l c d i g of u e n t ed eF B / I B , e n c u y oc a s os e r n e c e s a r i o c o mp i l a r l o , ob i e n e l p a q u e t ed ei n s t a l a c i n y ac o mp i l a d o l oq u e d e n o mi n a r e mo s f o r ma t ob i n a r i o . E l p r o c e s od ec o mp i l a c i n d el o s f u e n t e s q u e d a r p a r ao t r o s e s c r i t o s ; a q u mel i mi t a r ah a b l a r d e l g e s t o r y ac o mp i l a d o . E l p r i me r s i t i od o n d eI n t e r b a s ee s t u v od i s p o n i b l ee n s u v e r s i o n O p e n S o u r c e f u e , p o r s u p u e s t o , e l d eB o r l a n d . N oh ep o d i d ov e r i f i c a r s i s i g u ed i s p o n i b l e , p o r l oq u ep i e n s oq u en o . H a y o t r os i t i or e l a c i o n a d oc o n I n t e r b a s ed e s d es u s i n i c i o s : h t t p : / / me r s . c o m[ E R C 3 ] . E s u n ac o mp a ac a n a d i e n s eq u ed e s a r r o l l a s o f t w a r eu s a n d oh e r r a mi e n t a s d eB o r l a n d . E l p r i me r g r u p od es o p o r t ea u s u a r i o s d eF i r e b i r de s t u v ol o c a l i z a d oe n s u s s e r v i d o r e s h a s t aq u ee l p r e s i d e n t ed el ac o mp a a , R o b e r t S c h i e k , f u ec o n t r a t a d op o r B o r l a n dd o n d e s ed e s e mp a aa h o r ac o moa d mi n i s t r a d o r d el ac o mu n i d a dd eI n t e r b a s e ( h t t p : / / b d n . b o r l a n d . c o m/ i n t e r b a s e [ E R C 4 ] ) . L al i s t ad es o p o r t ea h o r af u n c i o n a e n Y a h o o ! G r o u p s , p e r ot o d a v ah a y u n n d i c ed el a s p r e g u n t a s y r e s p u e s t a s e n Me r s , q u es ep u e d ec o n s u l t a r c o n u n b u s c a d o r . E n e l s i t i od el ac o mp a as e p u e d ee n c o n t r a r l av e r s i n 6 . 0 . 2d eI n t e r b a s eO p e n , p a r aWi n d o w s y L i n u x . Yl l e g a mo s aF i r e b i r d . E l p r o y e c t oc o me n z a p e n a s u n as e ma n ad e s p u s d el a 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 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 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 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

C o n l ad i s t r i b u c i n e s t n d a r d eF i r e b i r ds ei n c l u y eu n au t i l i d a dp a r ae j e c u t a r s e n t e n c i a s S Q Lc o n t r ae l s e r v i d o r , y mo s t r a r s u s r e s u l t a d o s . E s t au t i l i d a de s d e l n e ad ec o ma n d o s y s ee n c u e n t r ae n e l a r c h i v oi s q l . e x e . S ep u e d eu s a r i s q l p a r ap r o b a r l ai n s t a l a c i n d e l s e r v i d o r d el as i g u i e n t e ma n e r a : * A b r au n av e n t a n ad et e r mi n a l e n l ac a r p e t ab i n d el ad i s t r i b u c i n d eF i r e b i r d * E j e c u t ee l p r o g r a mae s c r i b i e n d oi s q l * I s q l r e s p o n d e r c o n u n i n d i c a d o r ( p r o mp t ) e s p e c i a l ' S Q L > ' c o mos ev ee n l a s i g u i e n t ei ma g e n :

* 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

I B C o n s o l ee s u n p r o d u c t or e a l i z a d ou t i l i z a n d oa c c e s od i r e c t oal aA P I d e I n t e r b a s e( c o n l o s c o mp o n e n t e s I BE x p r e s s , d el o s q u eh a b l a r e mo s l u e g o ) , p o r l oq u es u r e n d i mi e n t oe s mu y b u e n o . T a mb i n e s s i mp l ed eu s a r y n o s d al a p o s i b i l i d a dd er e a l i z a r l a s t a r e a s a d mi n i s t r a t i v a s c o mu n e s c o mos e r : c r e a c i n y d e s t r u c c i n d eb a s e s d ed a t o s ; a d mi n i s t r a c i n d eu s u a r i o s y p e r mi s o s ; r e a l i z a c i n d eb a c k u p s ; v e r i f i c a c i n d ei n t e g r i d a dd el aB a s ed eD a t o s ; e j e c u c i n d es e n t e n c i a s y s c r i p t s S Q L , e t c . Ap a r t i r d el av e r s i n 1 . 5d eF i r e b i r de s t au t i l i d a dn os ei n c l u y em s e n l a d i s t r i b u c i n . S ep u e d ee n c o n t r a r e n c o d e c e n t r a l . b o r l a n d . c o me n s u s v e r s i o n e s p a r aWi n d o w s y L i n u x ; n oo b s t a n t e , n os er e c o mi e n d aI B C o n s o l ec o mo h e r r a mi e n t ad ea d mi n i s t r a c i n p a r ab a s e s d ed a t o s F i r e b i r d , e n p a r t ep o r q u e e s t c o mp i l a d oc o n e l c o n j u n t od ec o mp o n e n t e s I B Xq u en og a r a n t i z a n c o mp a t i b i l i d a dc 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 .

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 .

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 D a t o s ; e s d e c i r , r e g i s t r a r c o n I B C o n s o l el au b i c a c i n f s i c ad e l a r c h i v oy l o s d a t o s d ec o n e x i n , a s c o mou n n o mb r em s d e s c r i p t i v oq u ee l n o mb r ed e l a r c h i v o . P a r aa c c e d e r al o s d a t o s d e b e mo s c o n e c t a r n o s al ab a s ed ed a t o s . N o r ma l me n t ee n e l mo me n t od e l r e g i s t r oI B C o n s o l ec o n e c t aa u t o m t i c a me n t e c o n l ab a s ed ed a t o s , c o mop o d e mo s o b s e r v a r e n e l r b o l q u es ea b r ey e l g r f i c od el aB Dt i e n eu n ama r c av e r d e . D ea q u e n a d e l a n t e , p o d e mo s c o n e c t a r n o s h a c i e n d os i mp l e me n t ed o b l eC l i c k s o b r ee l n o d oe n e l r b o l os e l e c c i o n a n d ol ao p c i n p e r t i n e n t ed e l me n c o n t e x t u a l .

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

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 . L o s c u r s o r e s s ep u e d e n v e r c o mou n ac i n t as o b r el aq u es ee n c u e n t r a n l o s r e g i s t r o s , c o n u n s e a l a d o r q u es emu e v ea d e l a n t ey a t r s p a r ama r c a r e l r e g i s t r oa c t i v ooa c t u a l . L a s o p e r a c i o n e s s o b r em s d eu n r e g i s t r os er e a l i z a n r e c o r r i e n d oe l c u r s o r c o n e l s e a l a d o r y a c t u a n d os o b r el o s r e g i s t r o s ame d i d a q u es o n s e a l a d o s .

V e a mo s d o s o p e r a c i o n e s t p i c a s c o n e s t emo d e l o : S e l e c 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 d e t e r mi n a d o , p o r e j e mp l omo s t r a r l o s p r o d u c t o s d eu n r u b r o E l s e a l a d o r s ep o s i c i o n ae n e l p r i me r r e g i s t r o ; c o mp r u e b as i e s er e g i s t r o c u mp l ec o n e l c r i t e r i o ; s i l oc u mp l es emu e s t r a , s i n os es a l t e a ; e l s e a l a d o r p a s aa l s i g u i e n t er e g i s t r o , y r e p i t el ac o mp a r a c i n h a s t aq u en oh a y m s r e g i s t r o s e n e l c u r s o r . 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 , p o r e j e mp l omo d i f i c a r e l p r e c i od et o d o s l o s p r o d u c t o s d ed e t e r mi n a d or u b r o L ao p e r a t o r i ae s p r c t i c a me n t el ami s ma , s l oq u ee n l u g a r d emo s t r a r l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i os ee d i t a n , s ec a mb i ae l p r e c i o , y s ev u e l v e n a g r a b a r . H a y q u et e n e r e n c u e n t aq u es i e l c u r s o r e s t o r d e n a d op o r a l g n n d i c e , e l c a mb i op u e d eh a c e r q u el o s r e g i s t r o s s er e u b i q u e n y e l s e a l a d o r s e g u i r a l r e g i s t r oq u emo d i f i c , p o r l oq u ep u e d ei r ap a r a r a l f i n a l d e l c u r s o r , o r e c o me n z a r a l p r i n c i p i o ! E n e l e j e mp l od el o s p r e c i o s , s e g u r a me n t ee l o r d e n s e r p o r r u b r op o r l oq u el amo d i f i c a c i n d ep r e c i o s n oa f e c t a r l ap o s i c i n d e l o s r e g i s t r o s .

U n s e r v i d o r S Q Lc o moF i r e b i r d , e n c a mb i o , t r a b a j a r s o b r ec o n j u n t o s d e r e g i s t r o s e n u n as o l ao p e r a c i n . A s , l a s mi s ma s o p e r a c i o n e s d e l e j e mp l o a n t e r i o r s eh a r a n mu c h om s s i mp l e s : S e l e c 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 d e t e r mi n a d o c r i t e r i o S i mp l e me n t es ee mi t eu n as e n t e n c i aS E L E C Ty e l s e r v i d o r g e n e r a r u n c u r s o r c o mp u e s t os o l a me n t ec o n l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i o . P a r amo s t r a r e s t o s r e g i s t r o s s eh a c ee l mi s mob u c l ea n t e r i o r , p e r os o l a me n t es er e c o r r e n l o s r e g i s t r o s q u ec u mp l e n e l c r i t e r i o .

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 .

A l g u n a s p r e g u n t a s c o mu n e s ae s t aa l t u r a : I mp o r t as i l a s i n s t r u c c i o n e s s ee s c r i b e n e n ma y s c u l a s omi n s c u l a s ? N o . P a r ae l s e r v i d o r e s l omi s mo S E L E C T q u e s e l e c t . E n l ap a r t eq u es h a y q u et e n e r c u i d a d oe s e n l o s n o mb r e s d ec a mp o s y t a b l a s , y aq u eh a y d i a l e c t o s S Q Lq u ed i s t i n g u e n e n t r ema y s c u l a s y mi n s c u l a s . E n F i r e b i r d , c o n e l d i a l e c t o 1d eS Q Ln oh a y d i f e r e n c i a s ; c o n d i a l e c t o3 , l a s h a y n i c a me n t ec u a n d os e u s a n l o s n o mb r e s e n t r ec o mi l l a s d o b l e s ( ) . E n q u o r d e n s er e c u p e r a n l o s r e g i s t r o s s i n oe s p e c i f i c a mo s u n ac l u s u l a O R D E RB Y ? E n o r d e n n a t u r a l , l oq u es i g n i f i c aq u en op o d e mo s a s e g u r a r n a d a . E l mo t o r d e c o n s u l t a s o b t i e n el o s d a t o s e n e l o r d e n q u es e am s e f i c i e n t e . E s p o s i b l ei n d i c a r a l g n f o r ma t oe n e l r e s u l t a d o , p o r e j e mp l oe l a n c h od el a s c o l u mn 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 9 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

N o . E l l e n g u a j eS Q Le s u n l e n g u a j ed ec o n s u l t a , n oc o n s i d e r al ap a r t ed e p r e s e n t a c i n d el o s r e s u l t a d o s . S ep u e d e n u s a r e s p a c i o s e n l o s n o mb r e s d ec a mp o s y t a b l a s ? D e p e n d ed e l s e r v i d o r . E n I n t e r b a s e , n i c a me n t ep o d e mo s u s a r e s p a c i o s c o n D i a l e c t o3y s i e n c e r r a 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 . L o s s e r v i d o r e s a c t u a l e s t i e n d e n as e r c o n s e c u e n t e s c o n e s t an o r ma : s i e s t e n t r ec o mi l l a s , p u e d ec o n t e n e r c u a l q u i e r c a r a c t e r . N oo b s t a n t e , r e c o me n d a mo s n ou t i l i z a r c a r a c t e r e s e s p e c i a l e s n i e s p a c i o s d e b i d oal o s p o t e n c i a l e s p r o b l e ma s c o n l o s d i f e r e n t e s c o n j u n t o s d ec a r a c t e r e s . E n g e n e r a l s er e e mp l a z a n l o s e s p a c i o s p o r e l c a r a c t e r d es u b r a y a d o( u n d e r s c o r e , _ ) c o moe n e l c a mp oF I R S T _ N A ME u s a d oe n e l e j e mp l o .

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

N o t e mo s e n e l r e s u l t a d od ee s t as e n t e n c i aq u eh a y u n ac o l u mn a l a l t i ma q u ec o mb i n ae l c o n t e n i d od el o s c a mp o s F i r s t _ N a mey L a s t _ N a mep a r a mo s t r a r e l n o mb r ec o mp l e t o . E n e l c a s od ee s t at a b l a , e s t ec a mp oe s t d e f i n i d oa s , c o mou n c a mp oc a l c u l a d op o r e l s e r v i d o r . N o s o t r o s p o d e mo s l o g r a r e l mi s moe f e c t ou s a n d oo p e r a d o r e s p a r ac o n s t r u i r c a mp o s n u e v o s , n o e x i s t e n t e s e n l at a b l ao r i g i n a l . P o r e j e mp l o , v a mo s amo s t r a r u n ac o l u mn ac o n e l N r o . d ee mp l e a d o( e mp _ n o ) , u n g u i n , e l n o mb r ey e l a p e l l i d o :

S E L E C Te mp _ n o| | ' ' | | f i r s t _ n a me| | ' ' | | l a s t _ n a me 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 E L E C Te mp _ n o| | ' ' | | f i r s t _ n a me| | ' ' | | l a s t _ n a meA SE mp l e a d o F R O Me mp l o y e e

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

N o s d e v o l v e r l o s e mp l e a d o s o r d e n a d o s e n f o r mad e s c e n d e n t ep o r p a s d e t r a b a j o . E s t emo d i f i c a d o r e s v l i d os l op a r al ac o l u mn aal ac u a l s i g u e ; c a d au n ad e l a s c o l u mn a s d eo r d e n a mi e n t od e b et e n e r s u i n d i c a d o r d ed i r e c c i n os e t o ma r e l a s c e n d e n t ep o r d e f e c t o . T a mb i n s ep u e d ee x p l i c i t a r e l o r d e n a s c e n d e n t eu s a n d o a 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

D e v o l v e r u n c o n j u n t oo r d e n a d op o r p a s e n f o r mad e s c e n d e n t e , d e n t r od e c a d ap a s l o s e mp l e a d o s s eo r d e n a r n p o r a p e l l i d oe n f o r maa s c e n d e n t e , 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 r n p o r n o mb r ee n f o r mad e s c e n d e n t e .

N O T A : c o mov e r e mo s e n l o s e j e mp l o s s i g u i e n t e s , l ac l u s u l aO R D E R B Ys i e mp r es ec o l o c aa l f i n a l d el ai n s t r u c c i n , d e s p u s d et o d a s l a s d e m s c l u s u l a s o p t a t i v a s . F i l t r a d o s y b s q u e d a s T o d o s l o s e j e mp l o s q u eh e mo s h e c h oh a s t aa h o r ad e v u e l v e n e l t o t a l d el o s r e g i s t r o s d el at a b l ae n c u e s t i n . C o mos eh a b r n i ma g i n a d o , e l l e n g u a j eS Q L t i e n eu n ac l u s u l aq u es i r v ep a r ar e d u c i r e l c o n j u n t od er e g i s t r o s r e s u l t a d oau n s u b c o n j u n t oq u ec u mp l ac o n c i e r t a s c o n d i c i o n e s . P a r ah a c e r u s od ee s t a o p c i n s o l a me n t et e n e mo s q u ea g r e g a r al as e n t e n c i aS E L E C T F R O Ml a c l u s u l aWH E R E< c o n d i c i n > . L ac o n d i c i n d e b es e r u n ae x p r e s i n q u ed e v u e l v au n v a l o r b o o l e a n o : a q u e l l o s r e g i s t r o s p a r al o s c u a l e s l ae x p r e s i n s ee v a l eaV e r d a d e r oa p a r e c e r n e n e l c o n j u n t or e s u l t a d o , e l r e s t on o . P o r e j e mp l o , s i q u e r e mo s u n l i s t a d od el o s e mp l e a d o s q u et r a b a j a n e n C a n a d a s o l a me n t e , h a r a mo s

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

S E L E C T* F R O Me mp l o y e e WH E R E( j o b _ c o u n t r y =' C a n a d a ' ) A N D( j o b _ g r a d e=4 )

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

D i a l e c t o3 D A T E : a l ma c e n au n af e c h ac o mou n n me r oe n t e r oq u er e p r e s e n t al ac a n t i d a d d ed a s p a s a d o s d e s d ee l 1d eE n e r od e1 0 0 . P u e d ea l ma c e n a r h a s t ae l d a 2 9d ef e b r e r od e3 2 7 6 8 . U n v a l o r 0p a r al af e c h ai n d i c a r e l d a1 7d e N o v i e mb r ed e1 8 5 8 . T I ME : a l ma c e n au n ah o r ac o mou n n me r oe n t e r o . E l r a n g op e r mi t i d ov ad e s d e l a s 0 0 : 0 0A Mh a s t al a s 2 3 : 5 9 . 9 9 9 9P M, e s t oe s , 2 3 : 5 9 : 5 9 . 5 9 6 4P M. T I ME S T A MP : 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 ; l a p a r t ed ef e c h ae s i g u a l a l t i p oD A T E , l ap a r t ed eh o r ai g u a l au n c a mp od et i p o T I ME

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 E L E C T* F R O Me mp l o y e e WH E R E( h i r e _ d a t e> =' 1 9 9 0 0 1 0 1 ' ) A N D( h i r e _ d a t e<' 1 9 9 1 0 1 0 1 ' )

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 '

Q u en o s d e v o l v 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 a n t e s d e l d ad eh o y . A s i mi s mo , c u a n d ot r a b a j a mo s e n D i a l e c t o3p o d e mo s u s a r l a s f u n c i o n e s c u r r e n t _ d a t e , c u r r e n t _ t i mey c u r r e n t _ d a t e t i me( s i n c o mi l l a s ) p a r ar e f e r i r n o s al a f e c h ay h o r aa c t u a l e s e n l o s t r e s f o r ma t o s : D A T E , T I MEy T I ME S T A MP r e s p e c t i v a me n t e . P o d e mo s t e n e r u n ai d e ad e l t r a t a mi e n t oq u ed aF i r e b i r dal a s f e c h a s c r e a n d o u n at a b l ac o n u n c a mp od ec a d at i p o , y p r o b a n d ol o s d i s t i n t o s v a l o r e s . L a s i n s t r u c c i o n e s d ec r e a c i n ei n s e r c i n n oh a n s i d oe x p l i c a d a s a n , p e r o c o n s i d e r oi mp o r t a n t ee l e j e mp l oe n e s t emo me n t o . C R E A T ET A B L Ep r u e b a( c l a v ei n t e g e r n o t n u l l p r i ma r y k e y , h o r at i me , f e c h ad a t e , t o d ot i me s t a mp ) | | V a mo s ac r e a r u n at a b l al l a ma d aP r u e b a , c o n l o s s i g u i e n t e s c a mp o s : C a mp o| T i p od ed a t o| C l a v e| I n t e g e r | H o r a| T i me| F e c h a| D a t e| T o d o| T i me s t a mp| 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 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 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 .

E j e r c i c i o s E n l ab a s ed ed a t o s d o n d ec r e l at a b l aP r u e b a s a n t e r i o r : 1 ) d e v u e l v al o s r e g i s t r o s d o n d e< f e c h a >e s me n o r q u eh o y 2 ) d e v u e l v al o s r e g i s t r o s d o n d e< t o d o >e s me n o r q u ee l mo me n t oa c t u a l 3 ) d e v u e l v al o s r e g i s t r o s d o n d e< f e c h a >s e ai g u a l al af e c h ad ea y e r 4 ) d e v u e l v al o s r e g i s t r o s d o n d e< h o r a >e s me n o r q u el a s 1 2d e l me d i o d a , o r d e n a d o s p o r f e c h a

C r i t e r i o s d es e l e c c i n H a y u n as e r i ed ef u n c i o n e s q u es ep u e d e n u s a r e n l a s e x p r e s i o n e s d ec r i t e r i o s d es e l e c c i n . C o mod ec o s t u mb r e , e s t a s f u n c i o n e s d e p e n d e n d e l s e r v i d o r d e b a s e s d ed a t o s , y v e r e mo s a q u e n d e t a l l el a s d eF i r e b i r d . < c a mp o >L I K E< c a d e n a > : c o mp a r a c i n d ec a d e n a s c o n c o mo d i n e s . E s s i mi l a r a l o p e r a d o r d ei g u a l d a d( = ) p e r os o l a me n t ep u e d eu s a r s ec o n c a d e n a s y p e r mi t ee l u s od e l c o mo d n % p a r ai n d i c a r c u a l q u i e r c a r c t e r ( c e r o om s ) y _ p a r ar e e mp l a z a r u n s o l oc a r c t e r q u es i n e mb a r g od e b ee x i s t i r . S ed i s t i n g u ee n t r ema y s c u l a s y mi n s c u l a s . 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 t o d o s l o s e mp l e a d o s c u y o n o mb r ee mp i e z ac o n A ( ma y s c u l a ) :

S E L E C T* F R O Me mp l o y e e WH E R Ef i r s t _ n a meL I K E' A %'

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 :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meL I K E' %a %'

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 a mp o >S T A R T I N GWI T H< c a d e n a > : d e v u e l v eT R U Es i l ac a d e n a c o mp a r a d ac o mi e n z ac o n e l v a l o r p a s a d o . E s e q u i v a l e n t eaL I K E< c a d e n a %> ; p e r oe l o p t i mi z a d o r d ec o n s u l t a s p u e d eu s a r u n n d i c e( s i e x i s t e ) c o n S T A R T I N GWI T H , mi e n t r a s q u ec o n L I K En o .

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 :

S E L E C T* F R O Me mp l o y e e WH E R Ef i r s t _ n a meS T A R T I N GWI T H' A '

< c a mp o >C O N T A I N I N G< c a d e n a > : d e v u e l v eT R U Es i l ac a d e n a c o mp a r a d ac o n t i e n ee l v a l o r d a d o . E s e q u i v a l e n t eaL I K E< %c a d e n a %> , p e r o t i e n el av e n t a j ad ep o d e r u s a r s ec o n c a mp o s B L O B . 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 a p e l l i d oc o n t i e n eu n a a :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meC O N T A I N I N G' 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 :

S E L E C T* F R O Me mp l o y e e WH E R El a s t _ n a meN O TC O N T A I N I N G' 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 ) :

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 eB E T WE E N' 1 9 9 0 0 1 0 1 ' A N D' 1 9 9 0 1 2 3 1 '

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* F R O Me mp l o y e e WH E R Ef i r s t _ n a meB E T WE E N' A ' A N D' C 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 :

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 eN O TB E T WE E N' 1 9 9 0 0 1 0 1 ' A N D' 1 9 9 0 1 2 3 1 '

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 .

< c a mp o >I N< c o n j u n t o > : d e v u e l v eT R U Es i e l v a l o r e x i s t ee n e l c o n j u n t o d a d o . E l c o n j u n t op u e d es e r e s p e c i f i c a d op o r e x t e n s i n , c o mou n al i s t ad e v a l o r e s s e p a r a d o s p o r c o ma s y e n c e r r a d o s e n t r ep a r n t e s i s , oc o mou n a s u b c o n s u l t aq u ed e v u e l v au n s o l oc a mp od e l t i p oc o r r e c t o .

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 :

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 I N( ' U S A ' , ' C a n a d a ' , ' G e r ma n y ' )

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 .

< c a mp o >I SN U L L : d e v u e l v eT R U Es i e l v a l o r e s n u l o ; t a mb i n p u e d e u s a r s el af o r ma< v a l o r >I SN O TN U L L , q u ed e v o l v e r T R U Ee n e l c a s o 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

C A S E<e x p r e s i o n v a l o r > < c l a u s u l aWH E Ns i mp l e > . . . [ < c l a u s u l ae l s 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 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 N D

< < < E j e mp l o > > >

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

C A S E< c l a u s u l aWH E Nb u s c a d a > . . . [ < c l a u s u l ae l s e >] E N D

< < < E j e mp l o > > >

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 > > >

E n d i a l e c t o3d i s p o n e mo s d el af u n c i n E X T R A C Tp a r ao b t e n e r u n ap a r t ed e u n af e c h a : E X T R A C T ( { y e a r | mo n t h | d a y } F R O M< c a mp of e c h a > ) P o r e j e mp l o , p a r ao b t e n e r l o s e mp l e a d o s q u ef u e r o n c o n t r a t a d o s e n e l me s d e e n e r o( d ec u a l q u i e r a o ) h a r a mo s

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

( 1 . 5 ) N U L L I F ( e x p r 1 , e x p r 2 ) d e v u e l v eN U L Ls i e x p r 1e s i g u a l ae x p r 2 , c a s o c o n t r a r i od e v u e l v ee x p r 1 . < < < E j e mp l o s > > >

( 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 p r i me r ae x p r e s i n n on u l a . < < < E j e mp l o s > > >

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

r e g i s t r o s s ea g r u p a r n s e g n l o s v a l o r e s d ee s o s c a mp o s , d ema n e r aq u e t o d o s l o s i n t e g r a n t e s d eu n g r u p ot e n g a n e l mi s mov a l o r e n e s o s c a mp o s . P o r e j e mp l o , l ac o n s u l t ai n d i c a d aa n t e s d et o t a l e s p a g a d o s e n s a l a r i o s p o r d e p a r t a me n t op u e d ee s c r i b i r s ec o mos i g u e : s e l e c t 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

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

c o moh i c i mo s a n t e s , d e b e mo s e s p e c i f i c a r q u el o s r e g i s t r o s s ea g r u p a r n p o r n r o . d ed e p a r t a me n t o ; e n t o n c e s s i , c a d af i l ad el as a l i d ac o r r e s p o n d eau n 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 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 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 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

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 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 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

S o l a me n t eq u e d a n e s o s d e p a r t a me n t o s d e s p u s d et o d o s l o s f i l t r o s . O b s e r v e e l o r d e n d el a s d i s t i n t a s p a l a b r a s c l a v ee n l as e n t e n c i a : e s t eo r d e n d e b e r e s p e t a r s e . C o moe j e mp l of i n a l , v e a mo s e s t ami s mal i s t ap e r oo r d e n a d ad ema y o r a me n o r p o r mo n t o : 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 h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0 o r d e r b y 2d e s c

N o t eq u eu s a mo s e l n d i c ed e l c a mp od ea g r e g a d o . H a s t al av e r s i n 1 . 0 2d e F i r e b i r d s t ae r al a n i c ama n e r ad eh a c e r l o , y aq u en os ep o d a n u s a r e x p r e s i o n e s e n l ac l u s u l aO R D E RB Y . E n F i r e b i r d1 . 5e s t os eh ac o r r e g i d o , p o r l oq u el as e n t e n c i aa n t e r i o r p u e d ee s c r i b i r s e( i g u a l q u ee n l ama y o r ad el o s g e s t o r e s d eB a s e s d eD a t o 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 h a v i n gs u m( s a l a r y ) > 2 0 0 0 0 0 o r d e r b y s u m( s a l a r y ) d e s c

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

H a y c a s o s e n l o s q u en on o s b a s t ac o n u n ac o n s u l t ad es e l e c c i n . P e n s e mo s p o r e j e mp l oc mop o d r a mo s o b t e n e r u n at a b l ac o n r e g i s t r o s e n l o s q u ef i g u r e c i e r t ov a l o r , q u es ed e b eo b t e n e r d eo t r ac o n s u l t a . U n c a s ot p i c os ed ae n l a s r e l a c i o n e s ' mu c h o s a mu c h o s ' , e n l a s q u et e n e mo s d o s t a b l a s r e l a c i o n a d a s e n t r es at r a v s d eu n at e r c e r 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 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 n t r es at r a v s d eu n at e r c e r a . P o r e j e mp l o , t o me mo s e l c a s od el a s t a b l a s E mp l o y e ey P r o j e c t d el ab a s ed e d a t o s E mp l o y e e . g d bq u eh e mo s t r a b a j a d oa n t e s . E s t a s t a b l a s n os e r e f e r e n c i a n e n t r es d i r e c t a me n t e : n oh a y u n c a mp oe n l at a b l ad ee mp l e a d o s q u er e f e r e n c i eau n p r o y e c t oe n p a r t i c u l a r s i e s t ef u e r ae l c a s o , c a d a e mp l e a d op o d r ae s t a r s o l a me n t ee n u n p r o y e c t oal av e z . L omi s mop a s ac o n l o s p r o y e c t o s : s i h u b i e r au n c a mp op a r aa l ma c e n a r u n n me r od ee mp l e a d o , s o l a me n t ee s ee mp l e a d op o d r ae s t a r e n e s ep r o y e c t o L as i t u a c i n r e a l e s m s c o mp l e j a . L o s e mp l e a d o s p u e d e n e s t a r e n m s d eu n p r o y e c t o , y l o s p r o y e c t o s p u e d e n t e n e r m s d eu n e mp l e a d o . P a r ae s t os en e c e s i t au n a t e r c e r at a b l aq u ec o n t e n g al a s r e l a c i o n e s . E n E mp l o y e e . g d be s t at a b l as e l l a maE mp l o y e e _ P r o j e c t . 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
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

3 ) o b t e n e r l o s n o mb r e s d el o s p r o y e c t o s ' V B A S E ' y ' MA P D B ' 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 ( ' 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 c o n c i e n t o s omi l e s d er e g i s t r o s d el ao t r a e n e s ec a s o , s e r amu y e n g o r r o s o y t a l v e z i mp o s i b l ed er e a l i z a r e n u n t i e mp op r u d e n c i a l l ae s c r i t u r ad et o d o s l o s ' I D ' d el as e g u n d at a b l ae n e l c o n j u n t oe n v i a d oa l o p e r a d o r I N . E s t ae s u n ad el a s a p l i c a c i o n e s d el a s s u b c o n s u l t a s , c o moy av i mo s e n l a s e c c i n d el o s c r i t e r i o s d es e l e c c i n : e l a r g u me n t op a r ae l o p e r a d o r I Np u e d e s e r e l r e s u l t a d od eu n ac o n s u l t a . E n e s t ec a s o , q u e d a r 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

E l r e s u l t a d oe s e l mi s mo , c o moe r ad ee s p e r a r . L oq u eh e mo s h e c h oe s j u n t a r v a r i o s p a s o s e n u n os o l o . Yl ap r e g u n t ad ee x a me n : s ep u e d eo b t e n e r e l mi s mor e s u l t a d oc o n u n as o l a s e n t e n c i a ?E l r e s u l t a d oe s a f i r ma t i v o . S ep u e d e n e j e c u t a r t o d a s l a s o p e r a c i o n e s d es e l e c c i n e n u n as o l ac o mol as i g u i e n t e : 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 = ( s e l e c t e mp _ n of r o me mp l o y e ew h e r ef i r s t _ n a me = ' B r u c e ' a n d l a s t _ n a me = ' Y o u n g ' ) )

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

r e s u l t a d od i f e r e n t e . 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 d 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=8 a n de mp l o y e e _ p r o j e c t . P r o j _ I d=p r o j e c t . P r o j _ i d )

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

F i r e b i r dp e r mi t el au n i n d ev a r i a s c o n s u l t a s e n u n as o l a , u s a n d ol ap a l a b r a c l a v eU N I O Ne n t r el a s c o n s u l t a s . E l r e s u l t a d od el ao p e r a c i n e s u n as o l at a b l a , e n t o n c e s q u c a mp o s t e n d r e s t at a b l a ?S i e n t o d a s l a s c o n s u l t a s u n i d a s h a y c a mp o s d i f e r e n t e s , c u l e s d ee l l o s s ei n c l u i r n e n e l r e s u l t a d o ?B u e n o , p a r a n oc o mp l i c a r l a s c o s a s e l e s t n d a r S Q Ld e f i n eq u et o d a s l a s c o n s u l t a s i n c l u i d a s e n u n au n i n d e b e n t e n e r l o s mi s mo s c a mp o s . Os e a : l ami s mac a n t i d a dd ec a mp o s , q u es el l a me n i g u a l , e s t n e n e l mi s moo r d e n y s e a n d e l mi s mot i p o . S u e n au n p o c or e s t r i c t i v o , p e r os i g u e n s i e n d omu y t i l e s . V e a mo s a l g u n o s e j e mp l o s .

< < < E j e mp l o s d eu 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 ?

L au n i n i n t e r n aq u ea c a b a mo s d ev e r e s mu y p e l i g r o s a ; p r i me r op o r q u en o mu e s t r at o d o s l o s r e g i s t r o s , y p o d e mo s l l e v a r n o s u n c h a s c o i ma g n e n s eq u e l el l e v a n l al i s t ag e n e r a d ap o r l ap r i me r ac o n s u l t aa l j e f ey s t eb u s c ae l d e p a r t a me n t od ema r k e t i n g . Ys e g u n d o , p o r q u es i n oe s p e c i f i c a n l ar e l a c i n e n t r el a s t a b l a s c o mou n c r i t e r i od es e l e c c i n ( c o moe n e l e j e r c i c i o ) e n t o n c e s o b t e n d r n l oq u es ed e n o mi n au n aE n c u e n t r oN a t u r a l oC a r t e s i a n o . E n e s t a u n i n s emu e s t r a n t o d a s l a s c o mb i n a c i o n e s d el o s r e g i s t r o s d el a s t a b l a s . E s d e c i r q u es i u n at a b l at i e n e1 0r e g i s t r o s y l ao t r at i e n e5 , e l r e s u l t a d o c o n t e n d r 5 0r e g i s t r o s ! E l p r o b l e mad el au n i n c a r t e s i a n as ev ef c i l me n t ec u a n d op e d i mo s l au n i n d et r e s om s t a b l a s y n o s o l v i d a mo s d ea l g u n ar e l a c i n . P o r e j e mp l o , s i q u e r e mo s v e r e l n o mb r ed el o s c l i e n t e s , l a s v e n t a s q u es el eh a n h e c h oac a d a u n o , y l amo n e d aq u es eu t i l i z ae n e l p a s d eo r i g e n d e l c l i e n t e , n e c e s i t a mo s l a s t r e s t a b l a s C u s t o me r ( c l i e n t e s ) , C o u n t r y ( p a s e s ) y S a l e s ( v e n t a 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 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

F R O M< t a b l a 1 >{ I N N E R| L E F T| R I G H T| F U L L } J O I N< t a b l a 2 >O N< e x p r e s i n c o n l o s c a mp o s r e l a c i o n a d o s >

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 .

N o t el o s e s p a c i o s v a c o s e n l ac o l u mn a' F U L L _ N A ME ' d e l n o mb r ed e l e n c a r g a d o . H e mo s u t i l i z a d oa q u u n au n i n ad e r e c h a , e s d e c i r p r e s e r v a n d ol a t a b l ad el ad e r e c h ad el ap a r t c u l aJ O I N( e n e s t ec a s o , d e p a r t me n t ) . P o d e mo s r e e s c r i b i r l ami s mac o n s u l t a , c o n e l mi s mor e s u l t a d o , p r e s e r v a n d ol a t a b l ai z q u i e r d 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 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

A h o r at e n e mo s e s p a c i o s v a c o s ( r e c o r d e mo s q u es o n v a l o r e s n u l o s ) e n a mb a s c o l u mn a s . E s t et i p od ec o n s u l t a s s i r v ep a r au b i c a r r p i d a me n t e r e g i s t r o s h u r f a n o s , q u eh a n q u e d a d od e s e n l a z a d o s d el at a b l ama e s t r ae n u n ar e l a c i n ma e s t r o d e t a l l e . R e c o r d e mo s q u es ep u e d e n d e c l a r a r r e s t r i c c i o n e s d ec l a v ee x t e r n ap a r ae v i t a r e s t o . < < < P o n e r a l g n o t r oe j e mp l od el a s u n i o n e s e x t e r n a s > > > 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 eo b j e t o s

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

C R E A T E{ D A T A B A S E| S C H E MA } ' f i l e s p e c ' [ U S E R' u s e r n a me ' [ P A S S WO R D' p a s s w o r d ' ] ] [ P A G E _ S I Z E[ = ] i n t ] [ L E N G T H[ = ] i n t [ P A G E [ S ] ] ] [ D E F A U L TC H A R A C T E RS E Tc h a r s e t ] [ < s e c o n d a r y _ f i l 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 > ]

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 .

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 ! ) E l t a ma od el a s b a s e s d ed a t o s F i r e b i r de s d i n mi c o ; e l s e r v i d o r v a a g r e g a n d op g i n a s ( ac o n t i n u a c i n ) a l a r c h i v oame d i d aq u el a s n e c e s i t a . E s p o s i b l ei n d i c a r a l s e r v i d o r u n t a ma om x i mop a r au n a r c h i v od el ab a s ed e d a t o s , s i e mp r eq u eh a y ao t r o s a r c h i v o s ac o n t i n u a c i n . P o r e j e mp l o , e n l a s e n t e n c i aa n t e r i o r p o d r a mo s a g r e g a r L E N G H T1 0 0 0 0p a r ai n d i c a r a l s e r v i d o r u n t a ma om x i mod e1 0 0 0 0p g i n a s ; p e r oa l t r a t a r s ed e l l t i moa r c h i v od el a b a s e( d eh e c h o , e l n i c o ) e l s e r v i d o r i g n o r a r l ai n d i c a c i n y c o n s i d e r a r a l a r c h i v oc o mod et a ma od i n mi c o . E n e j e mp l o s p o s t e r i o r e s p a r t i r e mo s u n ab a s ed ed a t o s e n v a r i o s a r c h i v o s , c a s oe n e l q u es s er e s p e t ae l t a ma od ec a d aa r c h i v o s a l v oe l l t i mo .

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 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 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 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 ;

E s t ai n s t r u c c i n c r e au n ab a s ed ed a t o s d i v i d i d ae n d o s a r c h i v o s : e l p r i n c i p a l , c : \ e mp l e a d o s . g d b , d eh a s t a4 0 . 9 6 0 . 0 0 0b y t e s ( 4 0 9 6 * 1 0 0 0 0 , u n o s 4 0Mb ) y o t r os e c u n d a r i ol l a ma d o c : \ e mp l e a d o s 2 . g d b q u ea l ma c e n a r l a s p g i n a s a p a r t i r d el a1 0 0 0 1 . U n af o r mae q u i v a l e n t ed ed e f i n i r l ami s mab a s ed ed a t o s s e r al as i g u i e n t e : 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 E = 4 0 9 6L E N G H T = 1 0 0 0 0P A G E SF I L E c : \ E MP L E A D O S 2 . G D B ;

N o t et a mb i n q u el o s s i g n o s = ( i g u a l ) , a s c o mol ap a l a b r a P A G E S , s o n o p c i o n a l e s . C u a n d os ee s p e c i f i c a n v a r i o s a r c h i v o s , e s i mp o r t a n t et e n e r e n c u e n t aq u ee n l o s a r c h i v o s s e c u n d a r i o s n os ep u e d e n i n c l u i r n o mb r e s d en o d o s d er e d ; p o r l o t a n t o , s i s ec r e al ab a s ed ed a t o s d ef o r mar e mo t a , t o d o s l o s a r c h i v o s s e c u n d a r i o s s ec r e a r n e n e l mi s mon o d o .

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 ;

E n e l e j e mp l oa n t e r i o r ( 4 ) s ee s p e c i f i c ae l j u e g od ec a r a c t e r e s I S O 8 8 5 9 _ 1 p a r as e r u s a d op o r d e f e c t o ; n oo b s t a n t e , s ep u e d ec a mb i a r e n f o r mai n d i v i d u a l p a r ac a d ac a mp oa l f a n u m r i c od eu n at a b l a . S i n os ee s p e c i f i c ae l j u e g od ec a r a c t e r e s p o r d e f e c t o , s et o ma r c o moN O N E ; e s t os i g n i f i c aq u en os eh a r n i n g u n ac o n v e r s i n a l a l ma c e n a r c a r a c t e r e s e n l o s c a mp o s a l f a n u m r i c o s . P e r omu c h oc u i d a d o : n os ep o d r n c o p i a r c a d e n a s e n t r ec a mp o s d e f i n i d o s c o n N O N Ey o t r o s d e f i n i d o s c o n u n j u e g od e c a r a c t e r e s d i f e r e n t e . E s t or e s t r i n g el au t i l i z a c i n f u t u r ad ed i s t i n t o s j u e g o s d e c a r a c t e r e s e n c a mp o s e s p e c f i c o s d eu n at a b l a . L o s c l i e n t e s p u e d e n e s p e c i f i c a r t a mb i n e l j u e g od ec a r a c t e r e s c o n e l q u e t r a b a j a r n , e mi t i e n d ou n as e n t e n c i aS E TN A ME S< j u e g od ec a r a c t e r e s >a n t e s d et r a b a j a r c o n l o s c a mp o s a l f a n u m r i c o s . E s t ol ei n d i c aa l s e r v i d o r l a s t r a n s f o r ma c i o n e s q u ed e b ee f e c t u a r e n l o s c a r a c t e r e s q u es ep a s a n e n t r ee l s e r v i d o r y e l c l i e n t e , e n a mb o s s e n t i d o s . S i n oe s p e c i f i c a mo s u n j u e g od ec a r a c t e r e s p a r ae l c l i e n t e , s et o ma r N O N E p o r d e f e c t o . L ar e s t r i c c i n q u ec o me n t a mo s a n t e s d en op o d e r c o n v e r t i r c a r a c t e r e s e x t e n d i d o s e n t r eN O N Ey c u a l q u i e r o t r os ema n t i e n e , p o r l oq u e e l s e r v i d o r r e c h a z a r c u a l q u i e r i n t e n t od ei n t r o d u c i r c a r a c t e r e s e x t e n d i d o s e n u n a t a b l a . P o d e mo s e n u n c i a r l oc o mo R e g l aP r c t i c a : a l a c c e d e r au n aB Dc o n u n j u e g od ec a r a c t e r e s d i s t i n t od e N O N E , e l c l i e n t et a mb i n d e b e r ai n d i c a r u n j u e g od ec a r a c t e r e s d i s t i n t od e N O N E , p r e f e r e n t e me n t ee l mi s moq u el aB D . E s mu y c o m ne n c o n t r a r s ec o n e l s i g u i e n t ep r o b l e ma : ap e s a r d eh a b e r d e f i n i d oe l j u e g od ec a r a c t e r e s i s o 8 8 5 9 _ 1p o r d e f e c t op a r al ab a s ed ed a t o s , c u a n d os eq u i e r ei n g r e s a r u n ac a d e n ac o n e e s ov o c a l e s a c e n t u a d a s e l s e r v i d o r s eq u e j ay r e c h a z ae l i n g r e s o . C o mop o d r i ma g i n a r s es i h al e d ol o a n t e r i o r c o n a t e n c i n , f a l t ad e f i n i r e l j u e g od ec a r a c t e r e s e n l ac o n e x i n d e l c l i e n t e . S i e s t e j e c u t a n d ou n s c r i p t S Q L , a g r e g u el as e n t e n c i aS E TN A ME S i s o 8 8 5 9 _ 1 ; a l p r i n c i p i o . S i e s u n p r o g r a ma , d e f i n ae l j u e g od ec a r a c t e r e s d el a c o n e x i n s e g n l or e q u i e r as u l e n g u a j ed ep r o g r a ma c i n .

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

( C O L L A T EE S _ E S ) . L a s d i s t i n t a s o p c i o n e s s eo b t i e n e n d el a s t a b l a s d e s i s t e mac o mos ei n d i c a n t e s . E s t ee s e l r e s u l t a d oe n u n s e r v i d o r F i r e b i r d1 . 0 me d i a n t el as i g u i e n t es e n t e n c i a( u n ame z c l ad el a s d o s a n t e r i o r e s ) : < < < D e t e r mi n a r q u ed i f e r e n c i ah a y e n t r el o s o r d e n a mi e n t o s f r _ c ay e s _ e s , c o n u n e j e mp l o > > >

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 > ;

< a d d _ c l a u s e >=F I L E' f i l e s p e c ' [ < f i l e i n f o > ] [ < a d d _ c l a u s 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 > ]

C o mov e mo s , l a n i c ap o s i b i l i d a dd emo d i f i c a c i n e s l aa d i c i n d en u e v o s a r c h i v o s al ab a s ed ed a t o s . C o n e s t ai n s t r u c c i n n os ep u e d ed i v i d i r u n ab a s ed ed a t o s ; n i c a me n t e a g r e g a r a r c h i v o s ac o n t i n u a c i n d el o s e x i s t e n t e s . P a r ap a r t i r u n ab a s ed e d a t o s , h a g au n r e s p a l d o a l r e s t a u r a r l op u e d ee s p e c i f i c a r l o s n u e v o s t a ma o s d el o s a r c h i v o s . U n e j e mp l o : A L T E RD A T A B A S E A D DF I L E' 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 1L E N G T H1 0 0 0 0 A D DF I L E' e mp l e a d o s 3 . g d b ' ;

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 :

C R E A T ET A B L Et a b l e[ E X T E R N A L[ F I L E ] ' f i l e s p e c ' ] ( < c o l _ d e f >[ , < c o l _ d e f >| < t c o n s t r a i n t >] ) ;

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 :

N o mb r e s d eo b j e t o s L o s n o mb r e s d el o s o b j e t o s d el aB a s ed eD a t o s d e b e n s e g u i r c i e r t a s n o r ma s : D e b e n s e r n i c o s e n s u t i p o p o r e j e mp l o , n op u e d eh a b e r d o s t a b l a s q u es e l l a me n i g u a l e n l ami s mab a s ed ed a t o s . D e b e n e mp e z a r c o n u n al e t r a E n d i a l e c t o3 , s ep u e d e n u s a r c a r a c t e r e s n oi n g l e s e s c o mol a , y t a mb i n e s p a c i o s ; p e r oe n t o n c e s , e n t o d a s l a s s e n t e n c i a s S Q Lq u er e f e r e n c i e n a l o b j e t o( i n c l u d al ad ec r e a c i n d el at a b l a ) h a y q u ee n c e r r a r e s t en o mb r ee n t r e c o mi l l a s d o b 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 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

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 ) ) ;

S eh a n d e c l a r a d oa q u a l g u n a s c o n d i c i o n e s s o b r el o s c a mp o s : p o r e j e mp l o , s e i n d i c aq u ee l c a mp oC U S T _ N On op u e d eq u e d a r v a c ooq u ee l c a mp o O N _ H O L Dt o ma r u n v a l o r p o r d e f e c t on u l o . E s t a s c o n d i c i o n e s s o n c o n t r o l a d a s p o r e l s e r v i d o r , p o r l oq u el aa p l i c a c i n c l i e n t en od e b eh a c e r n a d a p a r af o r z a r l a s . L as i n t a x i s c o mp l e t ad el ad e f i n i c i n d eu n c a mp oe s l as i g u i e n t e : < c o l _ d e f >=c o l { < d a t a t y p e >| C O MP U T E D[ B Y ] ( < e x p r > ) | d o ma i n } [ D E F A U L T{ l i t e r a l | N U L L| U S E R } ] [ N O TN U L L ] [ < c o l _ c o n s t r a i n t > ] [ C O L L A T Ec o l l a t i o n ]

N O TN U L L : e l r e g i s t r on os ei n t r o d u c i r e n l at a b l as i e s t ec a mp on ot i e n e a l g n v a l o r . D E F A U L T : e l c a mp ot o ma r e l v a l o r p o r d e f e c t oe s p e c i f i c a d os i n os e i n d i c an i n g u n o . E l v a l o r p u e d es e r u n ac o n s t a n t e , l ap a l a b r a' N U L L ' ( s ea s i g n a v a l o r n u l o ) , ol ap a l a b r a' U S E R ' ( s ea s i g n ae l n o mb r ed e l u s u a r i oa u t e n t i c a d o a c t u a l me n t e ) . T a mb i n s ep u e d eu s a r l ap a l a b r a' T O D A Y ' p a r aa s i g n a r l af e c h a a c t u a l , s i e l c a mp oe s d et i p oD A T E . C O L L A T E : v l i d ap a r ac a mp o s d ec a r a c t e r e s , i n d i c aq u es eu s a r l a s e c u e n c i ad eo r d e n a mi e n t oe s p e c i f i c a d a . C O MP U T E DB Y : e l v a l o r d e l c a mp os ec a l c u l a r a p l i c a n d ou n af r mu l a , c o mos ee x p l i c ae n l as i g u i e n t es e c c i n .

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 ad es u b t o t a l p a r au n af a c t u r a C R E A T ET A B L EI T E MS( I D _ I T E MI N T E G E RN O TN U L LP R I MA R YK E Y , I D _ F A C T U R AI N T E G E RN O TN U L LR E F E R E N C E S F A C T U R A S ( I D _ F A C T U R A ) , C A N T I D A DI N T E G E RD E F A U L T1N O TN U L L , D E S C R I P C I O NV A R C H A R ( 5 0 ) N O TN U L L , P R E C I O _ U N I TN U ME R I C ( 1 8 , 4 ) D E F A U L T0N O TN U L L , S U B T O T A LC O MP U T E DB Y( C A N T I D A D * P R E C I O _ U N I T ) ) ;

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

) ;

R e s t r i c c i o n e s A d e m s d el a s c o n d i c i o n e s , F i r e b i r da c e p t aq u es ed e c l a r e n r e s t r i c c i o n e s a n i v e l d ec o l u mn aod et a b l a . L as i n t a x i s p a r al a s r e s t r i c c i o n e s d et a b l ae s l as i g u i e n t e : < r e s t r i c c i o n _ d e _ t a b l a >=[ C O N S T R A I N Tc o n s t r a i n t ] { { P R I MA R YK E Y| U N I Q U E } ( c o l [ , c o l ] ) | F O R E I G NK E Y( c o l [ , c o l ] ) R E F E R E N C E So t r a _ t a b l a [ O ND E L E 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 } ] [ 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 > ) }

Mi e n t r a s q u el a s r e s t r i c c i o n e s an i v e l d ec o l u mn as i g u e n l as i n t a x i s < c o l _ c o n s t r a i n t >=[ C O N S T R A I N Tc o n s t r a i n t ] { U N I Q U E | P R I MA R YK E Y | R E F E R E N C E So t h e r _ t a b l e[ ( o t h e r _ c o l [ , o t h e r _ c o l ] ) ] [ O ND E L E 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 } ] [ 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( < s e a r c h _ c o n d i t 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 :

P R I MA R YK E Y( c a mp o 1 , c a mp o 2 , . . . ) : c l a v ep r i ma r i a . D e f i n el o s c a mp o s q u ef o r ma r n l ac l a v ep r i ma r i ad el at a b l a . U N I Q U E( c a mp o 1 , c a mp o 2 , . . . ) : u n i c i d a d . I n d i c aq u el ac o mb i n a c i n d e l o s v a l o r e s d el o s c a mp o s l i s t a d o s n op u e d er e p e t i r s ee n l at a b l a . F O R E I G NK E Y( c a mp o 1 , c a mp o 2 , . . . ) R E F E R E N C E St a b l a 2( c a mp o 3 , c a mp o 4 , . . . ) : c l a v ee x t e r n aof o r n e a . L o s c a mp o s ( 1 , 2 , . . . ) l i s t a d o s r e f e r e n c i a n al o s c a mp o s ( 3 , 4 , . . . ) d el as e g u n d at a b l a . L o s v a l o r e s d el o s c a mp o s d el a s e g u n d at a b l ad e b e n i d e n t i f i c a r u n v o c a me n t eau n r e g i s t r op a r aq u el a r e f e r e n c i as e av l i d a ; e n l ap r c t i c a , d e b ee x i s t i r u n ac l a v ep r i ma r i aou n a r e s t r i c c i n d eu n i c i d a ds o b r ee s o s c a mp o 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 d e b eh a c e r e l s e r v i d o r c u a n d on os e c u mp l el ar e s t r i c c i n , i n c l u s oc o n e l d e t a l l ed el a s d o s o p e r a c i o n e s q u ep u e d e n h a c e r q u ee s t os u c e d a : e l b o r r a d o( O ND E L E T E ) y l amo d i f i c a c i n d ed a t o s ( O NU P D A T E ) d el at a b l ar e f e r e n c i a d a( t a b l a 2 ) . L a s p o s i b i l i d a d e s s o n l a s s i g u i e n t e s : N OA C T I O N : e l s e r v i d o r r e c h a z a r l ao p e r a c i n C A S C A D E : e l s e r v i d o r a p l i c a r l ami s mao p e r a c i n e n l o s r e g i s t r o s d e l at a b l ad e t a l l e( d o n d es ed e f i n el ar e s t r i c c i n ) p a r aq u el ar e g l as i g as i e n d o v l i d a 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 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 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 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 ) .

Ma t r i c e s L au t i l i z a c i n d e l mo d i f i c a d o r < a r r a y _ d i m>ac o n t i n u a c i n d e l t i p od ed a t o s i n d i c aq u ee l c a mp oc o n t e n d r u n ama t r i z d ev a l o r e s d e l t i p oi n d i c a d o . P o r e j e mp l o , s i d e f i n i mo s u n c a mp oc o mo

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 :

A L T E RT A B L Et a b l a< o p e r a c i n >[ , < o p e r a c i n >] ;

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 ) ;

y q u e r e mo s a g r e g a r l a s c o l u mn a s ' d i r e c c i o n ' y ' t e l e f o n o ' , p o d e mo s h a c e r

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

L o s p r o g r a ma s d ea d mi n i s t r a c i n d eb a s e s d ed a t o s g e n e r a l me n t er e a l i z a n e s t a s o p e r a c i o n e s a u t o m t i c a me n t e . < < < E j e mp l o > > >

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

p u e d e n i mp e d i r q u es er e a l i c eu n c a mb i oe n l ae s t r u c t u r ad eu n at a b l a . P i e n s e p o r e j e mp l oe n q u p a s a r as i t e n e mo s u n at a b l aAq u er e f e r e n c i aau n at a b l a Bp o r me d i od eu n ac o l u mn a( c l a v ee x t e r n a ) y q u e r e mo s mo d i f i c a r e l t i p od e d a t o s d ee s ac o l u mn a . L ar e f e r e n c i aal at a b l aBy an os e r av l i d al o s t i p o s d e d a t o s d e b e n s e r i g u a l e s e n l o s d o s l a d o s d el ar e f e r e n c i a . P a r ae v i t a r e s t e p r o b l e ma , e l s e r v i d o r r e c h a z a r c u a l q u i e r c a mb i oq u ea f e c t eau n ac o l u mn a q u ef o r map a r t ed eu n ar e s t r i c c i n . E n e s t o s c a s o s , t e n d r e mo s q u ee l i mi n a r p r i me r ol ar e s t r i c c i n , r e a l i z a r e l c a mb i o , y v o l v e r ac r e a r l ar e s t r i c c i n .

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

E s mu y c o m n q u ee n u n ab a s ed ed a t o s h a y av a r i a s c o l u mn a s d e l mi s mot i p o ( p o r e j e mp l o : n o mb r e s d ee mp l e a d o s , d ec l i e n t e s , d ep r o v e e d o r e s . . . ) . E n c a s o s c o moe s t e , c o n v i e n ed e f i n i r n u e v o s ' t i p o s ' d ed a t o s c o n l a s c a r a c t e r s t i c a s c o mu n e s at o d o s ( p o r e j e mp l o , V a r c h a r ( 4 0 ) ) y d a r l eu n n o mb r e p r o p i o( p o r e j e mp l o , N o mb r e s D e P e r s o n a s ) . E s t o s n u e v o s t i p o s s e d e n o mi n a n D o mi n i o s . L o s d o mi n i o s s eu t i l i z a n c o mos i f u e r a n t i p o s d ed a t o s n o r ma l e s , p o r e j e mp l oe n l a s s e n t e n c i a s C r e a t eT a b l ey A l t e r T a b l e .

C r e a c i n d ed o mi n i o s < < < S i n t a x i s d eC r e a t eD o ma i n > > >

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 :

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 ) N O TN U L L ; C R E A T ED O MA I NI MP O R T E SA SN U ME R I C ( 1 8 , 2 ) D E F A U L T0N O TN U L L ; C R E A T ED O MA I NME SI N T E G E RC H E C K ( V A L U E>0A N DV A L U E< =1 2 ) ;

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

< < < V e r q u ep a s ac u a n d oe l d o mi n i oe s t e n u s o > > >

E s t as e n t e n c i ah i z os u a p a r i c i n c o n F i r e b i r d1 . 0 ; e n I n t e r b a s e , p o r l ome n o s h a s t al av e r s i n 6h a b aq u et r a b a j a r d i r e c t a me n t ec o n l a s t a b l a s d e l s i s t e ma . < < < c o n f i r ma r > > >

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 c o n s u l t a s . S ec o n s t r u y e n c o n l o s d a t o s d eu n s u b c o n j u n t od el a s c o l u mn a s d e l at a b l aal aq u es i r v e n , p e r oi n t e r n a me n t ee n e l s e r v i d o r e s t o s d a t o s s e a l ma c e n a n d ema n e r ad i f e r e n t ep a r ao p t i mi z a r l a s b s q u e d a s . A s , c u a n d os e e mi t eu n ai n s t r u c c i n S Q Lq u ed e b eb u s c a r a l g n v a l o r e n u n at a b l a , s i e s t a t a b l an ot i e n ed e f i n i d ou n n d i c es o b r el ac o l u mn ae n l aq u es eb u s c ae n t o n c e s e l s e r v i d o r d e b er e a l i z a r u n ab s q u e d as e c u e n c i a l e s d e c i r , r e c o r r e r t o d o s l o s r e g i s t r o s h a s t aq u ee n c u e n t r ae l v a l o r b u s c a d o . E n c a mb i o , s i h a y u n n d i c e s o b r el ac o l u mn ab u s c a d a , e l s e r v i d o r a u t o m t i c a me n t el ou t i l i z ay r e c o r r el a e s t r u c t u r ad e l n d i c ep a r ae n c o n t r a r e l v a l o r . L ae s t r u c t u r ad e l n d i c ee s t a l q u e e s t ab s q u e d as l ol l e v au n a s p o c a s l e c t u r a s . C o mov e r e mo s e n l as e c c i n d eo p t i mi z a c i n d ec o n s u l t a s , u n ad el a s p r i n c i p a l e s a r ma s d e l p r o g r a ma d o r p a r aa c e l e r a r e l p r o c e s od el o s d a t o s s o n l o s n d i c e s y l af o r mae n q u es ep u e d ei n d i c a r a l s e r v i d o r q u el o s u t i l i c e .

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

L ama y o r i n c o n v e n i e n c i ad el ai mp l e me n t a c i n d er e g l a s d en e g o c i oe n e l s e r v i d o r e s l ac r e a c i n d ed e p e n d e n c i a s e n t r el a s e s t r u c t u r a s p o r e j e mp l o , s i s ei n d i c aq u eu n ac o l u mn an op u e d et e n e r v a l o r e s r e p e t i d o s , g e n e r a l me n t es e h a r p o r me d i od eu n ar e s t r i c c i n U N I Q U E ; mi e n t r a s e s t ar e s t r i c c i n e x i s t a , n o s ep o d r mo d i f i c a r e l t i p oon o mb r ed el ac o l u mn a . P a r ac a mb i a r s u t i p o , p o r e j e mp l op a r aa a d i r m s c a r a c t e r e s p o r q u es en o s h aq u e d a d oc o r t au n a c o l u mn a , h a b r q u ee l i mi n a r p r i me r ol ar e s t r i c c i n , h a c e r e l c a mb i oal a c o l u mn a , y l u e g or e c r e a r l ar e s t r i c c i n . L as i t u a c i n e mp e o r ac u a n d os e i mp l e me n t a n t a mb i n 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 . N oo b s t a n t el a s d i f i c u l t a d e s p a r aa l t e r a r l a s e s t r u c t u r a s , s i e mp r ee s c o n v e n i e n t e

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

L o s g e n e r a d o r e s s o n c o mo' v a r i a b l e s ' g l o b a l e s ma n t e n i d a s e n e l s e r v i d o r . A l ma c e n a n u n n me r oe n t e r od e6 4b i t s ( B I G I N T ) q u en oe s a f e c t a d op o r l a s t r a n s a c c i o n e s . E s t os i g n i f i c aq u ec u a n d ou n g e n e r a d o r c a mb i ad ev a l o r , t o d a s l a s t r a n s a c c i o n e s a c t u a l me n t ea c t i v a s p u e d e n v e r e s ev a l o r i n me d i a t a me n t e . E s t os i g n i f i c aq u es ep u e d eu s a r u n g e n e r a d o r p a r ao b t e n e r e l v a l o r d eu n a s e c u e n c i an u m r i c as i n p e l i g r od eq u ed o s c l i e n t e s o b t e n g a n e l mi s mov a l o r . P o r e s t oe s mu y c o m n u s a r l o s e n l ag e n e r a c i n d ec l a v e s p r i ma r i a s . P a r aa c c e d e r au n g e n e r a d o r h a y q u eu s a r u n af u n c i n p r e d e f i n i d a : g e n _ i d . L a f u n c i n e s p e r ad o s p a r me t r o 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

' h u e c o s ' e n l as e c u e n c i a . S u p o n g a mo s q u ee l c l i e n t eAp i d ee l v a l o r d eu n g e n e r a d o r ( d i g a mo s 9 ) , y l oi n c r e me n t ae n 1q u e d a n d oc o n v a l o r 1 0 . A l ma c e n a e s t ev a l o r e n u n ac o l u mn ad eu n at a b l a , y l u e g op o r c u a l q u i e r mo t i v oc a n c e l al a t r a n s a c c i n ( r o l l b a c k ) . L amo d i f i c a c i n d el at a b l as ev u e l v ea t r s p e r on oa s e l g e n e r a d o r . S i l u e g oo t r oc l i e n t eh a c el omi s mo , o b t e n d r e l v a l o r 1 0y e l g e n e r a d o r q u e d a r e n 1 1 . E s t av e z s i s ea c e p t al at r a n s a c c i n , p o r l oq u ee n l a t a b l aq u e d ae l v a l o r 1 0p e r on oe l 9 . P o r l ot a n t o : N ou t i l i c el o s g e n e r a d o r e s p a r as e c u e n c i a s n u m r i c a s d o n d en op u e d ah a b e r ' h u e c o s ' ( s e c u e n c i a s a u d i t a b l e s , c o mol o s n me r o s d ef a c t u r a s ) .

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 :

S E TG E N E R A T O R< N o mb r e _ g e n e r a d o r >T O< N u e v o _ v a l o r >

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 Q LoP S Q L , q u ec o n s t ad el a s s e n t e n c i a s S Q Le s t n d a r m s a l g u n a s i n s t r u c c i o n e s e s p e c i a l e s p a r ae s t o s p r o c e d i mi e n t o s . L av e n t a j ae s q u es ep u e d ec e n t r a l i z a r e l p r o c e s od el o s d a t o s e n e l mi s mo s e r v i d o r , l oq u eg a r a n t i z ame j o r r e n d i mi e n t oy m s f a c i l i d a dp a r aa c t u a l i z a r e l c d i g o , y aq u es l os eh a c ee n u n l u g a r y t o d o s l o s c l i e n t e s s eb e n e f i c i a n i n me d i a t a me n t e . L ad e s v e n t a j ae s q u ee l l e n g u a j en ot i e n el ar i q u e z ad eu n l e n g u a j ec o m n d ea l t on i v e l c o moP a s c a l oC . H a y d o s c l a s e s d eo b j e t o s q u es ep u e d e n p r o g r a ma r e n F i r e b i r d : P 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 . L ap r i n c i p a l d i f e r e n c i ae n t r el o s d o s e s l af o r mad ee j e c u t a r l 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 s ee j e c u t a n p o r d e ma n d a , e s d e c i r , e l u s u a r i ot i e n eq u ea c t i v a r l o s e x p l c i t a me n t e ; l o s T r i g g e r s s ee 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 er e a l i z aa l g u n aa c c i n s o b r el o s d a t o s ( 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! ;

I n d i c aq u eap a r t i r d ee s al n e ay h a s t ae l f i n a l d e l s c r i p t s ec o n s i d e r a r c o mo t e r mi n a d o r e l s mb o l o( ! ) . N o t e mo s q u ee s t ami s mal n e at e r mi n ae n p u n t oy c o ma , y aq u ee s u n ai n s t r u c c i n d e l s c r i p t . P a r av o l v e r a l t e r mi n a d o r p o r d e f e c t ot e n e mo s q u ee mi t i r l ai n s t r u c c i n

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 TS Q LD I A L E C T3 ; 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 oe l d i a l e c t o3d eS Q L . 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 f i r ma r > > >

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 ]

< c u e r p o _ d e l _ p r o c e d i mi e n t o >= [ < l i s t a _ d e _ d e c l a r a c i o n _ d e _ v a r i a b l e s > ] < b l o q u e >

<l i s t a _ d e _ d e c l a r a c i o n _ d e _ v a r i a b l e s >= D E C L A R EV A R I A B L En o mb r e _ v a r i a b l e< t i p o _ d e _ d a t o s > ; [ D E C L A R EV A R I A B L En o mb r e _ v a r i a b l e< t i p o _ d e _ d a t o s > ; ]

< b l o q u e >= B E G I N < s e n t e n c i a _ c o mp u e s t a > [ < s e n t e n c i a _ c o mp u e s t a >] E N D

< s e n t e n c i a _ c o mp u e s t a >={ < b l o q u e >| s e n t e n c i a ; }

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

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 e p r o g r a ma \ f i r e b i r d 1 5 \ e x a mp l e s \ e mp l o y e e . f 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 ' ;

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; !

* V e mo s c o moe s n e c e s a r i oc a mb i a r e l t e r mi n a d o r a n t e s d e l c u e r p od e l p r o c e d i mi e n t o . E s t oe s a s p o r q u ee l p r o c e d i mi e n t oc o mp l e t os ei n t e r p r e t a c o mou n as o l ai n s t r u c c i n ( y p o r l ot a n t ot i e n eq u et e r mi n a r c o n e l s mb o l o t e r mi n a d o r d e l s c r i p t ) ; mi e n t r a s q u el a s i n s t r u c c i o n e s i n t e r n a s d e l p r o c e d i mi e n t ot i e n e n q u et e r mi n a r c o n p u n t oy c o ma . S i n oc a mb i a mo s e l t e r mi n a d o r p o r d e f e c t od e l s c r i p t , s et o ma r e l p r i me r p u n t oy c o mad e l p r o c e d i mi e n t oc o mof i n a l d e l mi s mo , o b t e n i n d o s eu n ai n s t r u c c i n i n v l i d a . E n e l e j e mp l oa n t e r i o r , s i e l i mi n a mo s l al n e aS E TT E R M! ; e n t o n c e s e l s e r v i d o r i n t e r p r e t a r l os i g u i e n t ec o mou n ao r d e n : 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 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

[ 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 m s u t i l i z a d a s , c o moWi n d o w s y L i n u x , p e r oe l g r u e s od el o s p r o g r a ma d o r e s n ot r a b a j ae n l a s d e m s . S u d i s p o n i b i l i d a dd e p e n d ed e l t r a b a j od ev o l u n t a r i o s p a r ac a d ap l a t a f o r ma . [ 3 ] E n r e a l i d a dh a y o t r oe s t a d o , e l l i mb o . E s u n e s t a d oq u es o l a me n t es u r g e e n t r a n s a c c i o n e s q u ei n v o l u c r a n ma s d eu n ab a s ed ed a t o s , p o r l oq u en ol o c o n s i d e r a r e mo s e n l ad i s c u s i n . L a s t r a n s a c c i o n e s e n l i mb op u e d e n s e r e l i mi n a d a s c u a n d os eh a c eu n b a c k u p . [ 4 ] P o r s u p u e s t o , u n at r a n s a c c i n p u e d ev e r c u a l q u i e r c a mb i oh e c h oe n l a mi s ma . [ 5 ] E n o t r o s s i s t e ma s ( y e n l aB D E ) s ed e n o mi n aR e p e a t a b l eR e a dae s t en i v e l d ea i s l a mi e n t o . [ 6 ] A l f i n a l s ei n c l u y eu n ar e f e r e n c i ad el o s s mb o l o s e s p e c i a l e s u s a d o s e n l o s e s q u e ma s d es i n t a x i s [ 7 ] E l e s t n d a r A N S I 9 2p r o p o n eu n an u e v as i n t a x i s p a r al o s e n c u e n t r o s e n t r e t a b l a s , c o n m s p o s i b i l i d a d e s . N oo b s t a n t e , l af o r mai n i c i a l s ema n t i e n ee n u s o . [ 8 ] G D B s o n l a s i n i c i a l e s d el ae mp r e s aq u ec r e I n t e r b a s e : G r o t o n D a t a b a s e S y s t e ms . G r o t o n s el l a mae l p u e b l on a t a l d eJ i mS t a r k e y , s u c r e a d o r o r i g i n a l . E s t a mb i n l ac a u s ad e t r s d el a g i n i c i a l d el o s n o mb r e s d el a s u t i l i d a d e s . [ 9 ] E n l ad e f i n i c i n r e a l d ee s t at a b l a( d el ab a s ed ed a t o s e mp l o y e e . g d b ) s e u s a n e n r e a l i d a dd o mi n i o s p a r al ama y o r ad el o s c a mp o s ; h ee s c r i t ol o s e q u i v a l e n t e s m s s i mp l e s ( s i n c o mp r o b a c i o n e s n i r e s t r i c c i o n e s ) h a s t aq u e e s t u d i e mo s e l t e ma .

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 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| I N T E G E R| E n t e r od e3 2b i t s , c o n s i g n o2 . 1 4 7 . 4 8 3 . 6 4 8h a s t a2 . 1 4 7 . 4 8 3 . 6 4 7| N U ME R I C ( p r e c i s i o n [ , s c a l e ] ) | I g u a l q u eD E C I MA L( P r e c i s i o n [ , s c a l e ] ) | S MA L L I N T| E n t e r od e1 6b i t s ( 3 2 . 7 6 8h a s t a3 2 . 7 6 7) | T I ME| E n t e r od e3 2b i t s 0 : 0 0 : 0 0h a s t a2 3 : 5 9 : 5 9 . 9 9 9 9| T I ME S T A MP| E n t e r o6 4b i t s . | V A R C H A R ( n ) | C a d e n ad en c a r a c t e r e s ( 0t o3 2 . 7 6 5b y t e s ) . C h a r s e t c h a r a c t e r s i z ed e t e r mi n e s t h ema x i mu mn u mb e r o f c h a r a c t e r t h a t c a n f i t i n 3 2 k . | B L O B| V a r i a b l e . D y n a mi c a l l y s i z a b l ed a t at y p ef o r s t o r i n gl a r g ed a t as u c h a s g r a p h i c s , t e x t , a n d d i g i t i z e dv o i c e . B l o b . B l o bs u b t y p ed e s c r i b e s B l o bc o n t e n t s . |

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

A C O S( v a l o r ) | D e v u e l v ee l a r c oc o s e n od e l c a mp os e l e c c i o n a d o . | A S I N( v a l o r ) | D e v u e l v ee l a r c os e n od e l c a mp os e l e c c i o n a d o . | A T A N( v a l o r ) | D e v u e l v ee l a r c ot a n g e n t ed e l c a mp os e l e c c i o n a d o . | A T A N 2( x , y ) | D e v u e l v el at a n g e n t ei n v e r s ad el a s c o o r d e n a d a s e s p e c i f i c a d a e n l o s v a l o r e s i n t r o d u c i d o s ( x , y ) . E l r e s u l t a d ov i e n ed a d oe n r a d i a n e s . | B I N _ A N D ( v a l o r 1 , v a l o r 2) | D e v u e l v ee l r e s u l t a d od el ao p e r a c i n A N De n e l a r g u me n t o . | B I N _ O R( v a l o r 1 , v a l o r 2) | D e v u e l v ee l r e s u l t a d od el ao p e r a c i n O Re n e l a r g u me n t o . | B I N _ X O R( v a l o r 1 , v a l o r 2) | D e v u e l v ee l r e s u l t a d od el ao p e r a c i n X O Re n e l a r g u me n t o . | C E I L I N G( v a l o r ) | D e v u e l v ee l me n o r n me r oe n t e r oq u ee s ma y o r q u eoi g u a l a l v a l o r . | C O S( v a l o r ) | D e v u e l v ee l c o s e n od e l c a mp os e l e c c i o n a d o . | C O S H( v a l o r ) | D e v u e l v ee l c o s e n oh i p e r b o l i c od e l c a mp os e l e c c i o n a d o . | C O T( v a l o r ) | D e v u e l v el ac o t a n g e n t ed eu n n g u l o . E l a r g u me n t od e b es e r d a d oe n r a d i a n e s . | D I V( v a l o r 1 , v a l o r 2 ) | D e v u e l v ee l r e s u l t a d od el ad i v i s i o n d el o s d o s v a l o r e s i n t r o d u c i d o s e n l af u n c i o n . | F L O O R( v a l o r ) | D e v u e l v ee l ma y o r n me r oe n t e r oq u ee s me n o r q u eoi g u a l a l a r g u me n t o . | L N( v a l o r ) | D e v u e l v ee l l o g a r i mon a t u r a l d e l v a l o r d a d o . | L O G( b a s e , v a l o r ) | D e v u e l v ee l l o g a r i t mod e l a r g u me n t on u me r o . L ab a s ee s t a d a d ap o r e l s e g u n d ov a l o r , s i n oe s t ad e f i n i d os ec a l c u l ae n b a s e1 0 . | L O G 1 0( v a l o r ) | D e v u e l v ee l l o g a r i t moc o n l ab a s e1 0d e l v a l o r . | MO D( v a l o r 1 , v a l o r 2 ) | D e v u e l v ee l r e s t od eu n ad i v i s i n d ee n t e r o s . | P I | D e v u e l v ee l n u me r op i . | R A N D( v a l o r ) | D e v u e l v eu n v a l o r a l e a t o r i o . | S I G N( v a l o r ) | D e v u e l v ee l s i g n od e l v a l o r . Mo s t r a n d o0o1s e g u n e l s i g n o . | S I N( v a l o r ) | D e v u e l v ee l s e n ot r i g o n o me t r i c od e l a n g u l od a d oe n r a d i a n e s , e n u n ae x p r e s i o n f l o a t n u me r i c aa p r o x i ma d a . | S I N H( v a l o r ) | D e v u e l v ee l s e n oh i p e r b o l i c od e l a n g u l od a d oe n r a d i a n e s . | S Q R T( v a l o r ) ||


V e r c o momu l t i p g i n a s

Cite este ensayo


APA M L A M L A7 C H I C A G O

( 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

También podría gustarte