SGPI-039-2007-SGPI-GSIEONPE !ersi"n #$# Ela%orado &or' (e)isado &or' *&ro%ado &or' +arina Es&ino,a -$ Eri.a /ru0illo -il1%et2 3ellado 4iseli Sairitu&a 5ec2a' 66 66 6666 5ec2a' 66 66 6666 5ec2a' 66 66 6666 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ 7IS/O(I*- DE (E!ISIONES !ersi"n *utor Descri&ci"n 5ec2a de Ela%oraci"n (e)isad o &or 5ec2a de (e)isi"n 1.0 E*ui+" GE!S E,a-"ra$in de ,a Gua de Estndares de ase de !at"s 2&/0(/2007 .ar,"s /e0es 17/07/2007 1.1 /"s1er0 O,i2are3 4$tua,i3a$in de ,a Gua de Estndares de ase de !at"s 2&/0'/200& 1.2 5arina Es+in"3a 4$tua,i3a$in de ,a Gua de Estndares de ase de !at"s 2)/0(/200& E,isa .a-rera 2)/0(/200& ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 2 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ INDI8E 1. IN8/O!9..I:N ' 2. P/OP:SI8O ; 4<.4N.E !E <4 G9I4 ' 2.1. Pr"+sit" ' 2.2. 4,$an$e ' 3. ES84N!4/ES !E 4SE !E !48OS: O/4.<E ) 3.1. N"1en$,atura ) 3.1.1. 8a-,es+a$es ) 3.1.2. !ata6i,es ) 3.1.3. Es*ue1as ( 3.1.'. 8a-,as 7 3.1.). ."nstraints 9 3.1.(. =ndi$es 9 3.1.7. Se$uen$ias 10 3.1.&. Vistas 10 3.1.9. Pr"$edi1ient"s 4,1a$enad"s 10 3.1.10. #un$i"nes 11 3.1.11. 8ri77ers 11 3.1.12. Pa$>a7es 12 3.1.13. !<in>s 12 3.2. ."nsidera$i"nes +ara ,a ."di6i$a$in 12 3.2.1. Esti," de es$ritura 12 3.2.2. Pr"7ra1a$in 1) 3.2.3. N"1en$,atura 0 !e$,ara$i"nes 1( 3.2.'. ."1entari"s 0 O-ser2a$i"nes 1( ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 3 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ Gua de Estndares de Base de Datos #$ IN/(OD988I:N E, ase7ura1ient" de ,a $a,idad en e, desarr",," de siste1as de in6"r1a$in es en ,a a$tua,idad? un" de ,"s t+i$"s de in2esti7a$in 1s i1+"rtante a ni2e, 1undia, 0 $u0a a+,i$a$in 1e@"ra si7ni6i$ati2a1ente ,a $a,idad de, s"6tAare *ue +r"du$e una "r7ani3a$in. Sin e1-ar7"? +ara in$"r+"rar e, us" siste1ti$" de estndares de $a,idad en e, +r"$es" de desarr",," de s"6tAare? una "r7ani3a$in ne$esita $"ntar $"n una 7ua $,ara *ue de6ina ,a 6"r1a $1" se i1+,e1entan ,"s re*ueri1ient"s de $a,idad es+e$i6i$ad"s en di$%"s estndares. 4$tua,1ente eBisten en e, 1-it" 1undia, una ,ista $"nsidera-,e de estndares e,a-"rad"s +"r di6erentes "r7anis1"s de estandari3a$in? t"d"s $"n di6erentes 7rad"s de deta,,e? $"-ertura 0 a+,i$a-i,idad. Genera,1ente? e, +r"+sit"? e, en6"*ue 0 e, ni2e, de ada+ta-i,idad de est"s estndares 2aria 7rande1ente? ," *ue di6i$u,ta e, +r"$es" de se,e$$in en una "r7ani3a$in. Si a ," anteri"r1ente eB+uest"? se su1a ,a +arti$u,aridad *ue t"d"s e,,"s 6uer"n e,a-"rad"s en +ases d"nde ,"s +r"0e$t"s s"n 1s 7randes? $"1+,e@"s? di2ers"s 0 $uentan $"n 1a0"res re$urs"s tC$ni$"s 0 6inan$ier"s *ue ,"s +r"0e$t"s ,,e2ad"s a $a-" en nuestr" +as? se +uede $"n$,uir *ue su a+,i$a-i,idad a, 1edi" na$i"na, 1uestra $iert" 7rad" de di6i$u,tad. 2$ P(OP:SI/O 4 *-8*N8E DE -* G9I* 2$#$ Pro&"sito O6re$er una 7ua a+,i$a-,e e inte7ra, de estndares +ara e, 1anteni1ient" 0 desarr",," de t"d"s ,"s +r"0e$t"s de s"6tAare de ,a Su- Geren$ia de Pr"0e$t"s In6"r1ti$"s D Geren$ia de Siste1as e In6"r1ti$a E,e$t"ra, D ONPE. #a$i,itar a, +ers"na, de ,a SGPI una Gua de Estndares de !esarr",," de S"6tAare *ue a0ude a en1ar$ar? dentr" de es*ue1as de6inid"s? e, tra-a@" de desarr",," de s"6tAare de ,a institu$in. 4+,i$ar estndares de desarr",," de s"6tAare *ue +er1itan ,"7rar +r"du$t"s de s"6tAare de 1e@"r $a,idad. In$re1entar ,a $a,idad de, $di7" 6uente? $"1" e6e$t" de, "rden *ue eBi7e ,a estandari3a$in. !is1inuir $"nsidera-,e1ente e, tie1+" e1+,ead" en tareas de 1anteni1ient" 0 a$tua,i3a$in? 0a *ue un $di7" 1s si1+,e e,i1ina ,a de+enden$ia de un s"," desarr",,ad"r. 2$2$ *lcance Esta Gua de Estndares de ase de !at"s se %a tra-a@ad" s"-re e, 1ane@ad"r de ase de !at"s Ora$,e 2ersin 9i. En d"nde se -rinda estndares res+e$t" a N"1en$,atura: 8a-,es+a$es? !ata6i,es? Es*ue1as? 8a-,as? ."nstraints? =ndi$es? Se$uen$ias? Vistas? Pr"$edi1ient"s 4,1a$enad"s? #un$i"nes? 8ri77ers? Pa$>a7es 0 !<in>s. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina ' de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ 3$ ES/*ND*(ES DE B*SE DE D*/OS' O(*8-E 3$#$ No;enclatura En esta se$$in? se de6inir e, estndar a se7uir +ara ,a de6ini$in de ,"s "-@et"s de -ase de dat"s. <as $"nsidera$i"nes 7enera,es +ara ,a de6ini$in de ,"s n"1-res de ,"s "-@et"s s"n ,"s si7uientes: 9ti,i3ar $"1" +re6i@" s," 2 " 3 $ara$teres se7En $"n2en7a Fse +resenta una ta-,a $"n e, +re6i@" a uti,i3ar +"r $ada "-@et"G. <"s n"1-res de ,"s "-@et"s de-en ser es$ritas en sin7u,ar $"n ,etra 1a0Es$u,a de $ar$ter des$ri+ti2" 0 si estn 6"r1adas +"r 1s de una +a,a-ra de-ern ser se+aradas +"r e, $ar$ter HIJ. 3$#$#$ /a%les&aces 9na -ase de dat"s se di2ide en unidades ,7i$as den"1inadas 84<ESP4.ES. 9n ta-,es+a$e n" es un 6i$%er" 6si$" en e, dis$"? si1+,e1ente es e, n"1-re *ue tiene un $"n@unt" de +r"+iedades de a,1a$ena1ient" *ue se a+,i$an a ,"s "-@et"s Fta-,as? se$uen$ias? et$.G *ue se 2an a $rear en ,a -ase de dat"s -a@" e, ta-,es+a$e indi$ad". 9n "-@et" en -ase de dat"s de-e estar a,1a$enad" "-,i7at"ria1ente dentr" de un ta-,es+a$e. <"s n"1-res de, ta-,es+a$e de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo 8<I KNombre del TablespaceL 8<ISI!E 8<ISI.S 8<IS9I8E2007 /a%la N< 0#' Estructura del no;%re de /a%les&aces !"nde: KNombre del TablespaceL: 8"1and" e, 2a,"r de ,as si7,as de +r"0e$t" a desarr",,ar. Nota: Se de-e uti,i3ar un ta-,es+a$e +"r a+,i$a$in? es de$ir? n" 1e3$,ar dat"s de di6erentes a+,i$a$i"nes en e, 1is1" ta-,es+a$e. Es +"si-,e tener una ta-,a en un tablespace? 0 ,"s ndi$es de esa ta-,a en "tr". Est" es de-id" a *ue ,"s ndi$es n" s"n 1s *ue "-@et"s inde+endientes dentr" de ,a -ase de dat"s? $"1" ," s"n ,as ta-,as. 4, ser "-@et"s inde+endientes? +ueden ir en tablespaces inde+endientes. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina ) de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ 3$#$2$ Datafiles 9n data6i,e es ,a re+resenta$in 6si$a de un ta-,es+a$e. S"n ,"s M6i$%er"s de dat"sM d"nde se a,1a$ena ,a in6"r1a$in 6si$a1ente. 9n data6i,e +uede tener $ua,*uier n"1-re 0 eBtensin Fsie1+re dentr" de ,as ,i1ita$i"nes de, siste1a "+erati2"G? 0 +uede estar ,"$a,i3ad" en $ua,*uier dire$t"ri" de, dis$" dur"? aun*ue su ,"$a,i3a$in t+i$a sue,e ser NO/4.<EIOOPE/!ata-ase. 9n data6i,e tiene un ta1aQ" +rede6inid" en su $rea$in 0 este +uede ser a,terad" en $ua,*uier 1"1ent". <"s n"1-res de ,"s data6i,es de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo !#I KNombre del datafileLI KCorrelativoL !#ISI!EI01 !#IS9I8E2007I01 !#IS9I8E2007I02 /a%la N< 02' Estructura del no;%re de Datafiles !"nde: KNombre del datafileL: 8"1and" e, 2a,"r de ,as si7,as de +r"0e$t" a desarr",,ar. KCorrelativoL: ."nstar de 2 d7it"s? e1+e3and" desde e, 01 %asta e, $"rre,ati2" 1Bi1" 99? Cste indi$a ,a $antidad de data6i,es *ue se tiene +ara e, n"1-re de, +r"0e$t" a desarr",,ar. <"s data6i,es de-en de ser 7uardad"s en e, si7uiente dire$t"ri" 0 si7uiend" ,a si7uiente estru$tura: Estructura del no;%re E0e;&lo ....O/4.<ERO/4!484R KSiglas del ProyectoL ....O/4.<ERO/4!484RSI!E ....O/4.<ERO/4!484RSI.S ....O/4.<ERO/4!484RS9I8E2007 /a%la N< 03' Estructura del directorio &ara Datafiles Nota' <"s data6i,es tienen una +r"+iedad ,,a1ada 498OES8EN!? *ue se si est a$ti2a? se en$ar7a de *ue e, data6i,e $re3$a aut"1ti$a1ente Fse7En un ta1aQ" indi$ad"G $ada 2e3 *ue se ne$esite es+a$i" 0 n" eBista. 3$#$3$ Es=ue;as E, es*ue1a usuari" n" es 1s *ue un n"1-re de6inid" 0 un $"n@unt" de +er1is"s *ue se a+,i$an a una $"neBin de -ase de dat"s. 4de1s? e, usuari" tiene "tras 6un$i"nes: Ser e, +r"+ietari" de $iert"s "-@et"s. !e6ini$in de ta-,es+a$es +ara ,"s "-@et"s de un usuari". ."+ias de se7uridad. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina ( de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ .u"tas de a,1a$ena1ient". <"s n"1-res de ,"s es*ue1as users de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo KSiglas del nombre del proyectoL SI!E SI.S S.I4P S9I8E2007 /a%la N< 0>' Estructura del no;%re de Es=ue;as 3$#$>$ /a%las No;%res de las /a%las Estructura del no;%re E0e;&lo KTipo de tablaLI KNombre de la tablaL 84I9S94/IO !E8I#4.89/4 8PPI9I.4.I:N 84IPE/#I<I9S94/IO !E8IPOVIPIEN8OI9S94/IO /a%la N< 0?' Estructura del no;%re de una ta%la !"nde: <Tipo de tabla> !alor Si@nificado 84 8a-,a !E8 8a-,a deta,,e 8PP 8a-,a te1+"ra, /a%la N< 0A' !alores de /i&o de /a%la KNombre de la tablaL: E, n"1-re de ,a ta-,a de-e ser un sustanti2"? $u1+,iend" ,as $"nsidera$i"nes 7enera,es des$ritas en e, +unt" 3.1. HN"1en$,aturaH. !e-er tener $"1" 1Bi1" 30 $ara$teres. In$,uir $"1entari"s $u1+,iend" ,as $"nsidera$i"nes des$ritas en e, +unt" 3.2.' H."1entari"s 0 O-ser2a$i"nesJ 8a;&os de las /a%las' <"s $a1+"s de ,as ta-,as? de-en de $"ntar $"n ,a si7uiente estru$tura. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 7 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ Estructura del no;%re E0e;&lo <Tipo de dato>_ <Nombre del campo> .IP.I/EGIS8/O !I#E.O4I/EGIS8/O NIPE/SONE/OS /a%la N< 07' Estructura de los B8a;&os de las /a%lasC !"nde: KTipo de datoL !alor Si@nificado . .%ar Var$%ar2 Var$%ar N$%ar <"n7 N Nu1-er #,"at ! !ate /a%la N< 0D' !alores de B/i&o de DatoC KNombre del campoL: E, n"1-re de, $a1+" de-e ser un sustanti2"? $u1+,iend" ,as $"nsidera$i"nes 7enera,es des$ritas en e, +unt" 3.1. HN"1en$,aturaH. !e-er tener $"1" 1Bi1" 30 $ara$teres. In$,uir $"1entari"s $u1+,iend" ,as $"nsidera$i"nes des$ritas en e, +unt" 3.2.' H."1entari"s 0 O-ser2a$i"nesJ Notas' Para e, $as" *ue se re*uiera re+resentar una 2aria-,e -"",eana? se uti,i3ara e, ti+" 2ar$%ar de un $ar$ter. Se re$"1ienda *ue ,as ta-,as transa$$i"nes u "+era$i"na,es? ten7an $iert"s $a1+"s *ue 1uestren +istas de audit"ria. Por ejemplo: 8a;&o Descri&ci"n C_PC_RE!NC!"ENC!# N"1-re de ,a +$ *ue re7istr ,a transa$$in. "_$EC%#_RE!NC!"ENC!# #e$%a *ue se re7istr ,a transa$$in. C_&S&#R!'_RE!NC!"ENC!# 9suari" *ue re7istr ,a transa$$in. C_PC_('"!NC!"ENC!# N"1-re de ,a +$ *ue 1"di6i$ e, ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina & de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ re7istr" de ,a transa$$in. "_$EC%#_('"!NC!"ENC!# #e$%a *ue se 1"di6i$ e, re7istr" de ,a transa$$in. C_&S&#R!'_('"!NC!"ENC!# 9suari" *ue 1"di6i$ e, re7istr" de ,a transa$$in. 3$#$?$ 8onstraints Si ,"s $"nstraints s"n ,,a2es +ri1arias? de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo P5IKNombre de la tablaL P5I84IO!PE P5I84I4.84IOOT4S /a%la N< 09' Estructura de 8onstraints E-la)es &ri;ariasF Si ,"s $"nstraints s"n ,,a2es 6"rneas? de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo #5IKNombre de la tablaL #5I84IO!PE #5I84I4.84IOOT4S /a%la N< #0' Estructura de 8onstraints E-la)es forneasF Si ,"s $"nstraints s"n $read"s +"r e, usuari"? de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo 95IKNombre de la tablaL 95I84IO!PE 95I84I4.84IOOT4S /a%la N< ##' Estructura de 8onstraints E8readas &or usuarioF 3$#$A$ Gndices <"s n"1-res de ndi$es de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo I!SI KNombre de la tablaLI KCorrelativoL I!SI84IO!PEI001 I!SI84IO!PEI002 /a%la N< #2' Estructura del no;%re de Gndices ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 9 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ Nota' 9na ta-,a +uede $"ntener 1s de un ndi$e? es +"r es" e, 1"ti2" de, us" de Cste "-@et". .a-e re$"rdar *ue un ndi$e n" sie1+re es un $a1+"? +uede ser 6"r1ad" +"r 1s de un". 3$#$7$ Secuencias <"s n"1-res de ,as se$uen$ias de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo SUIKNombre de la tablaL SUI84I9S94/IO /a%la N< #3' Estructura del no;%re de Secuencias Nota' 9na se$uen$ia es un "-@et" de O/4.<E? *ue es $"1En1ente usad" +"r ,as ta-,as $"1" ,,a2es +ri1arias. N" se re$"1ienda tener $"1" +ri1ar0 >e0 una se$uen$ia? +uest" *ue a 2e$es se +uede +erder e, $"ntr", de Csta. 3$#$D$ !istas <"s n"1-res de ,as 2istas de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo VVIKNombre de la vistaL VVIO!PEI4.8IV4 VVIO!PEIIN4.8IV4 VVIG4N4!O/IP/OVIN.I4< /a%la N< #>' Estructura del no;%re de !istas 3$#$9$ Procedi;ientos *l;acenados <"s n"1-res de ,"s +r"$edi1ient"s a,1a$enad"s de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo SPI KNombre del procedimiento almacenadoLF+ar1etr"sG SPIINSE/84I9S94/IO SPIPO!I#I.4I9S94/IO SPIE<IPIN4I9S94/IO SPI.4<.9<4IS9E<!O /a%la N< #?' Estructura del no;%re de Procedi;ientos *l;acenados !"nde: KNombre del procedimiento almacenadoL: Para e, $as" de, +r"$edi1ient" a,1a$enad" se de-e uti,i3ar un 2er-" " una 6rase 2er-a, *ue des$ri-a ,a a$$in *ue rea,i3a e, +r"$edi1ient" a,1a$enad". ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 10 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ FPar1etr"sG: Si e, +r"$edi1ient" a,1a$enad" s",i$ita de +ar1etr"s? Cst"s tendrn ,a 1is1a estru$tura de ,"s $a1+"s de ,as ta-,as n"1-radas en e, +unt" 3.1.' H8a-,asJ. Par;etrosEF 8"d" +as" de +ar1etr"s a rutinas se de-e %a$er usand" 0Va, a 1en"s *ue de 1anera eB+,$ita se desea 1"di6i$ar e, $"ntenid" de, +ar1etr" en $u0" $as" de-er usarse de 1anera eB+,$ita 0/e6. Estructura del No;%re E0e;&lo Pasad" +"r Va,"r 2WKPre6i@" 8i+" de !at"L /KPre6i@" +ara "-@et" de -ase de dat"s F4!OGL /K Pre6i@" Estndar +ara ti+"s de6inid"s +"r e, usuari" L /KPre6i@" de E,e1ent" de !iseQ"LXKN"1-reL Pu-,i$ #un$ti"n 6intIO-tenerE,e$$i"nP"r9-i7e" F0Va, )str9%i@eo 4s Strin7G 4s Inte7er Pasad" +"r /e6eren$ia rWKPre6i@" 8i+" de !at"L /KPre6i@" +ara "-@et" de -ase de dat"s F4!OGL /K Pre6i@" Estndar +ara ti+"s de6inid"s +"r e, usuari" L /KPre6i@" de E,e1ent" de !iseQ"LXKN"1-reLL Pri2ate Su- .rear.",u1nas F0/e6 rl)Hlista 4s <istVieAG /a%la N< 3' Estructura del No;%re de Par;etros 3$#$#0$ 5unciones <"s n"1-res de ,as 6un$i"nes de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo #NIKNombre de la f)nci*nL #NIENVI4I.O//EO #NI.4<.9<4IOO/4SI98I<ES #NI/E8O/N4I#E.O4I#IN /a%la N< #A' Estructura del no;%re de 5unciones ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 11 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ !"nde: KNombre de la f)nci*nL: Se de-e uti,i3ar un 2er-" " una 6rase 2er-a, *ue des$ri-a ,a a$$in *ue rea,i3a ,a 6un$in. Si la f)nci*n solicita de par+metros, -stos tendr+n la misma estr)ct)ra de los campos de las tablas nombradas en el p)nto ./0/1 2Tablas3/ 3$#$##$ /ri@@ers <"s n"1-res de ,"s tri77ers de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo 8GI KTipo de acci*nLI KNombre de la tablaL 8GIINSI84I9S94/IO 8GIPO!I84I4.8IVI!4! 8GI!E<IEN.9ES84 /a%la N< #7' Estructura del no;%re de /ri@@ers !"nde: <Tipo de acci*n>: !alor Si@nificado INS PO! !E< Inserta P"di6i$a E,i1ina /a%la N< #D' !alores de B/i&o de *cci"nC Si el trigger solicita de par+metros, -stos tendr+n la misma estr)ct)ra de los campos de las tablas nombradas en el p)nto ./0/1 2Tablas3/ 3$#$#2$ Pac.a@es <"s n"1-res de ,"s +a$>a7es de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo P5GI K#breviat)ra del m*d)lo del sistemaL P5GI4!P P5GISEG9/I!4! P5GI/4I P5GI..E P5GIIN.I!EN.I4 ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 12 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ /a%la N< #9' Estructura del no;%re de Pac.a@es !"nde: K#breviat)ra del m*d)lo del sistemaL : Indi$a ,a a-re2iatura de un" de ,"s 1du,"s de, siste1a a desarr",,ar. 3$#$#3$ DB-in.s <"s n"1-res de ,"s d-,in>s de-en tener e, si7uiente 6"r1at": Estructura del no;%re E0e;&lo !<I KNombre del es4)emaL !<ISI.S !<ISI!E !<IEP.2007 /a%la N< 20' Estructura del no;%re de DB-in.s !"nde: KNombre del es4)ema al 4)e ap)ntaL: Es e, n"1-re de, es*ue1a user $"n e, *ue tendra *ue $"1+artir in6"r1a$in. 3$2$ 8onsideraciones &ara la 8odificaci"n <as si7uientes +autas estn "rientadas a ,"7rar e, "-@eti2" de es$ri-ir $di7" ,i1+i" 0 e6i$iente? $"n 1du,"s -ien estru$turad"s? eBtensi-,es 0 reuti,i3a-,es: 3$2$#$Estilo de escritura 9ti,i3ar un esti," es$ritura de $di7" $"nsistente 0 6$i, de ,eer. Es$ri-ir ,"s n"1-res de "-@et"s 0 ,as +a,a-ras reser2adas en 1a0Es$u,as 0 ,"s $a1+"s de ta-,as ,"s n"1-res de 2aria-,es de6inid"s +ara e, desarr",,ad"r de-ern estar en 1inEs$u,as. 4, $"di6i$ar senten$ias SU<? ,a indenta$in de-e %a$er resa,tar ,as distintas $,usu,as *ue $"n6"r1an ,a senten$ia. Se7uir ,as +autas deta,,adas a $"ntinua$in: o .","$ar $ada ta-,a en ,a $,usu,a #/OP en una ,nea se+arada. 9ti,i3ar a,ias si7ni6i$ati2"s +ara ,as ta-,as Ftres " $uatr" $ara$teresG. o .","$ar $ada $"ndi$in en ,a $,usu,a VOE/E en una ,nea se+arada. o !e ser ne$esari" +ara 1a0"r $,aridad? $","$ar $ada eB+resin en ,a $,usu,a SE<E.8 en una ,nea se+arada. o 9na a,ternati2a es a,inear a ,a i3*uierda ,as +a,a-ras reser2adas. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 13 de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ E0e;&lo
En 6un$i"nes 0 +r"$edi1ient"s? ,a indenta$in de-e %a$er resa,tar $ada una de sus $uatr" se$$i"nes ,7i$as: en$a-e3ad"? de$,ara$i"nes? se$$in e@e$uta-,e 0 1ane@" de eB$e+$i"nes. E0e;&lo .uand" se re*uiera +artir una senten$ia en 2arias ,neas? tener en $uenta ," si7uiente: o Indentar ,as ,neas de $"ntinua$in -a@" ,a +ri1era ,nea? se7En e, estndar esta-,e$id". o E,e7ir e, +unt" de se+ara$in de 1anera *ue sea "-2i" *ue ,a senten$ia $"ntinua en ,a si7uiente ,nea. 9ti,i3ar es+a$i" -,an$" entre identi6i$ad"res? se+arad"res 0 ,istas de +ar1etr"s. E0e;&lo l_dias :5 l_fec6a_doc 7 S8S"#TE9 En ,u7ar de: l_dias:5l_fec6a_doc7S8S"#TE9 Es$ri-ir s," una senten$ia? de$,ara$in 0/" $"ndi$in +"r ,nea. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 1' de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ E0e;&lo !$ l_codi_ccomp)to 5 gc_onpe_nacion_ccom T%EN ::: E;SE ::: EN" !$ /esa,tar ,a estru$tura ,7i$a de, $di7"? uti,i3and" una identa$in ade$uada? *ue de-e ser de tres es+a$i"s. 4+,i$ar ,a identa$in en 6"r1a $"nsistente en t"d" e, 1du,". Para ,as estru$turas de $"ntr",. ."1" <OOP? I# 0 .4SE? $","$ar ,as $"ndi$i"nes 0 ,as senten$ias de $"ntr", en ,neas se+aradas. E0e;&lo Sentencia LOOP $'R reg_ind !N 0 // l_n)m_elementos ;''P << Sentencias a Ejec)tar EN" ;''P9 Sentencia IF !$ cond0 > cond= T%EN << Sentencias a Ejec)tar E;SE!$ C'N". 5 C'N"1 << Sentencias a Ejec)tar E;SE !$ << Sentencias a Ejec)tar EN" !$ Sentencia CASE C#SE >%EN l_dias > c_pla?o_ma@ T%EN <<l*gica asociada >%EN l_dias 5 c_pla?o_ma@ T%EN <<l*gica asociada >%EN l_dias < c_pla?o_ma@ T%EN <<l*gica asociada EN" C#SE 3$2$2$ Pro@ra;aci"n Es+e$i6i$ar t"das ,as $",u1nas en ,as senten$ias de ti+" INSE/8 Es+e$i6i$ar t"das ,as $",u1nas en ,as senten$ias de ti+" SE<E.8 ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 1) de 17 SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ E2itar 2a,"res %ard-$"ded. E@e1+,"s de %ard-$"ded in$,u0en ,"s si7uiente: E0e;&lo Valores literales: I# ,Inu1Ia$tas L #00 8OEN Mscaras de formato: 8OI!48EF,I6e$%a? Y!!/PP/;;;;ZG 9sar 2aria-,es -"",eanas 0 6un$i"nes *ue de2ue,2an 2a,"res -",Can"s +ara a$,arar e, us" de $"ndi$i"nes $"1+,e@as. ."n2ertir eB+,$ita1ente ,"s ti+"s de dat"s. N" uti,i3ar $"n2ersi"nes i1+,$itas. Pantener $"1+a$ta ,a se$$in e@e$uta-,e de ,"s 1du,"s? $"n un 1Bi1" de (0 ,neas. Para e,," s"n de uti,idad ,as si7uiente +autas: o !iseQar ,"s 1du,"s -a@" una estrate7ia 8"+ !"An? de 1anera *ue su +r"+sit" 0 si7ni6i$ad" sea trans+arentes. !e esta 1anera? se redu$e ,a $"1+,e@idad? ,as tareas durante e, desarr",," se %a$en 1s 6$i,es de 1ane@ar 0 e, $di7" resu,ta 1s 6$i, de 1antener. o E2itar ,a re+eti$in de $di7" 0 +r"1"2er ,a reuti,i3a$in en 6"r1a 2e%e1ente. P"2er -,"*ues $"1+,e@"s de $di7" a ,a se$$in de de$,ara$in. ."di6i$ar s," una senten$ia /E89/N en $ada 6un$in? n" 2arias. 8ratar de se7uir ,a re7,a 7enera, Huna s",a 1anera de entrar? una s",a 1anera de sa,irJ. <a eBisten$ia de 1E,ti+,es /E89/Ns en ,a se$$in e@e$uta-,e %a$e e, $di7" +r"+ens" a err"res 0 di6$i, de 1antener. Se re$"1ienda uti,i3ar Csta 6"r1a +ara re$"rrer un $urs"r F5O($$$-OOPG. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 1( de 17 E0e;&lo
SGPI-039-2007-SGPI-GSIE/ONPE Versin: 1.1 Gua de Estndares de ase de !at"s #e$%a: 2&/0'/200& 2'72(')17.d"$ 3$2$3$No;enclatura 1 Declaraciones .ada 2aria-,e de-e tener un 0 s"," un +r"+sit" 0 un n"1-re *ue des$ri-a ade$uada1ente este +r"+sit"? n" Hre$i$,arJ 2aria-,es . En +a$>a7es? %a$er e2idente ,a se+ara$in entre de$,ara$i"nes de 2aria-,es? 1du,"s +E-,i$"s 0 1du,"s +ri2ad"s. Sie1+re *ue sea +"si-,e? uti,i3ar [8;PE +ara an$,ar ,as de$,ara$i"nes de 2aria-,es. Ordenar ,as de$,ara$i"nes de 1en"r a 1a0"r a ni2e, de $"1+,e@idad: Aariables Escalares> Tipos de datos complejos> C)rsores> E@cepciones nombradas> Blo4)es C$)nciones y Procedimientos ;ocalesD/ 3$2$>$ 8o;entarios 1 O%ser)aciones Es$ri-ir ,"s $"1entari"s *ue a7re7uen 2a,"r. <"s $"1entari"s de-en des$ri-ir e, H+"r *uC H? n" e, H*uCJ ni e, H$1"J. ."1entari"s en $ada +r"$edi1ient"? 6un$in? tri77er 2ista ? se usar e, si7uiente 6"r1at" antes de, n"1-re de di$%" st"red a, $rear,": /\ /es+"nsa-,e : Pr"+sit": #e$%a $rea$in: \/ 8a1-iCn se in$,uirn $"1entari"s de, si7ni6i$ad" de, n"1-re de ,as ta-,as 0 de $ada $a1+" as $"1" su +r"+sit". En $ada 1"di6i$a$in de, st"red +r"$edure se adi$i"nar a $"ntinua$in de ,a anteri"r e, si7uiente 6"r1at" de $"1entari": /\ 4$tua,i3ad" +"r - !es$ri+$in $a1-i" - #e$%a 1"di6i$a$in N"1-re 1 - des$ri+$in 1 - 6e$%a1 N"1-re 2 - des$ri+$in 2 - 6e$%a 2 ] et$. \/ !e +re6eren$ia usar 2ari"s $"1entari"s de una ,nea F--G. Si se usan $"1entari"s 1u,ti,nea " de -,"*ueF/\ \/G? desta$ar e, -,"*ue uti,i3and" d"-,e asteris$" F\\G " una -arra 2erti$a, F ^ G a, ini$i" de $ada ,nea. N" $","$ar $ara$teres a, 6ina,? +uest" *ue se %a$e di6$i, 1antener ,a a,inea$in. Indentar ,"s $"1entari"s a, 1is1" ni2e, de $di7" *ue des$ri-en. Es$ri-ir ,"s $"1entari"s +ara $ada 2aria-,e. !"$u1entar si ,as 2aria-,es de ti+" 6e$%a uti,i3an " n" ,a %"ra. En ,a 1edida de ," +"si-,e? n" $rear St"red Pr"$edures ni 6un$i"nes stand a,"ne? sie1+re en Pa$>a7es. ."n6iden$ia, O6i$ina Na$i"na, de Pr"$es"s E,e$t"ra,es ONPE - 200& P7ina 17 de 17