Uploaded by Alejandro Luna

20 Nomenclatura Estándar para Objetos de Base de Datos (1)-1

advertisement
Versión: 1.4
Versión:
1.4
Fecha:
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 1 de 12
Motivo de revisión
Actualización del Documento
09/12/2021
Modificaciones realizadas
Modificación del punto 4.2.2. y 4.6 del
documento.
(Acta de Directorio N°34/2021)
ELABORADO POR:
REVISADO POR:
Puesto:
Gerente de Transformación
Administrador de Base de Datos
Fecha:
09/12/2021
09/12/2021
REVISADO POR:
Gerente de Tecnología de la
Información
09/12/2021
Mauricio Egüez F.
Freddy Machaca S.
Vladimir Wayar S.
Nombre y
firma
Puesto:
Fecha:
REVISADO POR:
Gerente General
09/12/2021
34/2021
Nombre
y firma
Ronald Gutiérrez L.
TP: LVZ
APROBADO POR:
Directorio
09/12/2021
Nro. De Acta.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 2 de 12
INDICE
1. Introducción ......................................................................................................................................3
2. Objetivo ............................................................................................................................................3
3. Ámbito...............................................................................................................................................3
4. Definición de la nomenclatura de los objetos de Oracle ..................................................................3
4.1.Nomenclatura de Base de Datos
3
4.2.Nomenclatura de Esquemas y Usuarios de Base de Datos
3
4.2.1. Esquemas de Base de Datos: ........................................................................................................3
4.2.2. Usuarios de Base de Datos: ...........................................................................................................3
4.3.Nomenclatura de Objetos de Base de Datos Oracle
4
4.3.1. Nomenclatura de Tablas ................................................................................................................4
4.3.2. Nomenclatura para Columnas........................................................................................................4
4.3.3. Nomenclatura para Índices ............................................................................................................5
4.3.4. Nomenclatura para Secuencias .....................................................................................................5
4.3.5. Nomenclatura para Vistas ..............................................................................................................5
4.3.6. Nomenclatura para Disparadores o Trigger ...................................................................................5
4.3.7. Nomenclatura para Vistas Materializadas ......................................................................................6
4.4.Nomenclatura de Restricciones o Constraints de Base de Datos Oracle
6
4.4.1. Nomenclatura para Llave Primaria (PRIMARY KEY) ....................................................................6
4.4.2. Nomenclatura para restricciones de unicidad (UNIQUE CONSTRAINT) ......................................7
4.4.3. Nomenclatura para Llave Foránea (FOREIGN KEY) ....................................................................7
4.4.4. Nomenclatura para Restricción de Comprobación (CHECK CONSTRAINT) ................................8
4.4.5. Nomenclatura para Restricción No Nulo (NOT NULL) ..................................................................8
4.5.Nomenclatura para Objetos PL/SQL de Base de Datos Oracle
9
4.5.1. Nomenclatura para Paquetes.........................................................................................................9
4.5.2. Nomenclatura para Funciones .......................................................................................................9
4.5.3. Nomenclatura para Procedimientos Almacenados ......................................................................10
4.5.4. Nomenclatura para Procedimientos Almacenados Java .............................................................11
4.6.Nomenclatura de Archivos para Pase a Producción de Objetos de Base de Datos
11
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 3 de 12
1. Introducción
Este documento contiene las especificaciones técnicas y normativas de los nuevos proyectos del área
de Tecnología de la Información
La documentación está orientada a describir la nomenclatura estándar que deben cumplir los objetos
de base de datos en cuanto a su identificación
2. Objetivo
El objetivo final es utilizar estándares en la descripción de todos los objetos que se crearan en la base
de datos. (Se entiende como objeto a: Tablas, Índices, Vistas, Procedimientos Almacenados,
Disparadores, Secuencias, Restricciones, Librerías, Esquemas, etc.)
3. Ámbito
La presente normativa aplica a todas las personas que estén autorizadas a solicitar creación de objetos
en la base de datos, en primera instancia a desarrolladores y DBA.
4. Definición de la Nomenclatura de los Objetos de Oracle
4.1.
Nomenclatura de Base de Datos
Las Bases de Datos tendrán un nombre nemotécnico correspondiente al entorno en el cual serán
usados pudiendo haber excepción en la base de datos de producción.
Ejemplo:
BANKG, BGDB o BGPRO:
BDDES:
BDPEM:
BDHIST:
Entorno de Producción
Entorno de Desarrollo
Entorno de Pruebas y QA
Entorno Histórico
4.2.
Nomenclatura de Esquemas y Usuarios de Base de Datos
Los esquemas o usuarios de la Base de Datos deberán tener un nombre representativo que no supere
los 20 caracteres de longitud.
4.2.1. Esquemas de Base de Datos:
Llamaremos esquema a un usuario que además tiene asociado un conjunto de objetos.
Los esquemas tendrán la siguiente nomenclatura:
“Nombre” <Abreviatura Nemotécnica>
Ejemplo: Modulo Comercio Exterior
COMEX
4.2.2. Usuarios de Base de Datos:
Llamaremos usuario a aquellos que no tengan ningún tipo de objetos y que tengan acceso para
consultar o hacer operaciones (select, update, delete, insert) sobre los objetos de base de datos
existentes.
Además los usuarios suelen estar relacionados a una persona.
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 4 de 12
Usuario Puntual:
<Primera letra del primer nombre> + <Primera letra Apellido Paterno y Materno>+
AREA(TI(tecnología), MK(marketing),SI(seguridad de la información)
Ejemplo:
FMS_TI
Freddy Antonio machaca Surco (tecnología).
4.3.
Nomenclatura de Objetos de Base de Datos Oracle
4.3.1. Nomenclatura de Tablas
Todos los nombres de tablas deberán ser en plural y mayúsculas.
Se usarán nombres completos siempre que sea posible, precedidos por 3 caracteres que identificarán
el modulo al que pertenece.
Si el nombre de una tabla excede los 30 caracteres, reducir el tamaño del nombre de la tabla en este
orden:
De izquierda a derecha del nombre de la tabla, retirar las vocales de cada palabra en el
nombre de la tabla, excepto la primera vocal de cada palabra.
Los nombres de tablas deberán seguir el siguiente estándar:
<MODULO>_<TABLA>
Objeto
Nomenclatura
Tabla
MODULO_TABLA
Descripción
MODULO: Sigla referente al nombre
del Módulo al que pertenece la tabla
Ejemplo
CAJ_FALLAS
TABLA: Nombre significativo de la
tabla
4.3.2. Nomenclatura para Columnas
Todos los nombres de columnas serán en singular y mayúsculas
Los nombres de columnas deberían ser auto explicativos, siempre que sea posible.
Si un nombre de columna excede los 30 caracteres, reducir el tamaño del nombre en este orden:
De izquierda a derecha del nombre de la columna, retirar las vocales de cada palabra en el
nombre de la tabla, excepto la primera vocal de cada palabra.
Los nombres de columna deberán seguir el siguiente estándar:
<COLUMNA>
Item
Nomenclatura
COLUMNA
COLUMNA
Descripción
COLUMNA: Nombre de la Columna
Ejemplo
ASIENTO
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 5 de 12
4.3.3. Nomenclatura para Índices
Los nombres de índices deberán seguir el siguiente estándar:
IDX##_<TABLA>
Si un nombre de índice excede los 30 caracteres, reducir el tamaño del nombre en este orden:
De izquierda a derecha del nombre del índice, retirar las vocales de cada palabra en el
nombre del índice, excepto la primera vocal de cada palabra.
Objeto
Nomenclatura
Descripción
Ejemplo
IDX: Índice
Índice
IDX##_TABLA
##: Número de correlativo del índice
IDX01_GNT_OPCION
en la tabla
ESPERFIL
TABLA: Nombre significativo de la
tabla
4.3.4. Nomenclatura para Secuencias
Los nombres de las secuencias deberán seguir el siguiente estándar:
SEQ_<TABLA>
Objeto
Nomenclatura
Secuencia
SEQ_<TABLA>
Descripción
Ejemplo
SEQ: Identifica que el objeto es una
secuencia
SEQ_GNT_OPCIONE
SPERFILES
TABLA: Nombre significativo de la
tabla donde es utilizada la secuencia
4.3.5. Nomenclatura para Vistas
Los nombres de las vistas deberán seguir el siguiente estándar:
VIE_<NOMBRE>
Objeto
Nomenclatura
Vista
VIE_<NOMBRE>
Descripción
VIE: Identifica que el objeto es una
Vista
NOMBRE: Nombre significativo de la
Vista en función al objetivo
Ejemplo
VIE_DEPOSITO
4.3.6. Nomenclatura para Disparadores o Trigger
Los nombres de los trigger deberán seguir el siguiente estándar:
TRG_<TABLA>_<CAMPO>_<TIPO>
Objeto
Nomenclatura
Descripción
Ejemplo
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 6 de 12
TRG: Identifica que el objeto es un
Disparador o Trigger.
TRG_<TABLA>_<CAMPO>_
<TIPO>
Disparador
es
Trigger
TIPO : ALL
UPD
DEL
INS
TABLA: Nombre de la tabla sobre la
cual esta creado el Trigger
CAMPO: Nombre del campo de la TRG_CJA_FALLAS_
tabla que ejercerá alguna acción el
NROCAJA_ UPD
trigger.
TIPO: Se refiere a la descripción de
comandos que utiliza el trigger para su
activación
4.3.7. Nomenclatura para Vistas Materializadas
Los nombres de las vistas materializadas deberán seguir el siguiente estándar:
MVW_<NOMBRE>
Objeto
Nomenclatura
Vista
Materializada
MVW_<NOMBRE>
Descripción
MVW: Identifica que el objeto es una
Vista Materializada
NOMBRE: Nombre significativo de la
Vista Materializada en función al
objetivo
Ejemplo
MVW_DEPOSITO
4.4.
Nomenclatura de Restricciones o Constraints de Base de Datos Oracle
Todas las restricciones o “constraints” al momento de su creación se deberá asignar un nombre
significativo, de no ser así el RDBMS asignará por defecto un nombre con formato propio poco
entendible para efecto de realizar algún seguimiento.
4.4.1. Nomenclatura para Llave Primaria (PRIMARY KEY)
Los nombres de las llaves primarias deberán seguir el siguiente estándar:
PK_<TABLA>
Restricciones
Nomenclatura
Llave Primaria
(Primary Key)
PK_<TABLA>
Descripción
Ejemplo
PK: Identifica que es una llave
primaria
PK_GNT_OPCIONE
SPERFIL
TABLA: Nombre de la tabla
Ejemplo ilustrativo
ALTER TABLE GANADERO.CJA_ASIENTOS ADD (
CONSTRAINT PK_ASIENTOS
PRIMARY KEY
(FECHAPROCESO, SUCURSAL, ASIENTO);
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 7 de 12
4.4.2. Nomenclatura para Restricciones de Unicidad (UNIQUE CONSTRAINT)
Los nombres de las restricciones de unicidad o “UNIQUE Constraint” deberán seguir el siguiente
estándar:
UK##_<TABLA>
Restricciones
Nomenclatura
Restricción de
unicidad
(Unique
Constraint)
UK##_<TABLA>
Descripción
UK: Identifica que es una
restricción de unicidad.
Ejemplo
UK1_COF_COFRES
##: Numero correlativo
TABLA: Nombre de la tabla
Ejemplo ilustrativo
ALTER TABLE GANADERO. COF_COFRES ADD (
CONSTRAINT UK1_COF_COFRES
UNIQUE
(CODIGO);
4.4.3. Nomenclatura para Llave Foránea (FOREIGN KEY)
La tabla padre debe tener llave primaria.
Si un nombre de la llave foránea excede los 30 caracteres, reducir el tamaño del nombre en este
orden:
De izquierda a derecha del nombre del índice, retirar las vocales de cada palabra en el
nombre del índice, excepto la primera vocal de cada palabra.
Los nombres de las llaves foráneas deberán seguir el siguiente estándar:
FK##_<TABLAH>_<TABLAP>
Restricciones
Nomenclatura
Descripción
FK: Identifica que es llave foránea.
Llave Foránea
##: Numero correlativo de llave foránea.
FK##_<TABLAH>_
(FOREIGN
<TABLAP>
KEY)
TABLAH: Nombre de la tabla hija
Ejemplo
FK1_CLI_SUBSEGMENT
O_SEGMENTO
TABLAP: Nombre de la tabla padre
Ejemplo ilustrativo:
ALTER TABLE CLI_SUBSEGMENTO ADD (
CONSTRAINT FK1_ CLI_SUBSEGMENTO _ SEGMENTO FOREIGN KEY
(COD_SEGMENTO)
REFERENCES CLI_SEGMENTO (COD_SEGMENTO));
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 8 de 12
4.4.4. Nomenclatura para Restricción de Comprobación (CHECK CONSTRAINT)
Los nombres de los “Check Constraint” deberán seguir el siguiente estándar:
CK_<TABLA>_<CAMPO>
Restricciones
Nomenclatura
Descripción
CK: Identifica que es una
restricción
de
comprobación.
Restricción de
Comprobación
(Check
Constraint)
CK_<TABLA>_<CAMPO>
Ejemplo
TABLA: Nombre de la
CK_BG_HUELLAS_DEDO
tabla
CAMPO: Nombre del
campo sobre el cuál actúa
el check constraint.
Ejemplo ilustrativo.- Se puede especificar el Constraint de dos maneras
a) Al momento de crear la tabla
CREATE TABLE BG_HUELLAS (DEDO VARCHAR2(2) CONSTRAINT CK_
BG_HUELLAS_DEDO CHECK (DEDO IN (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’)));
b) Después de haber creado la tabla
ALTER TABLE BG_HUELLAS ADD (
CONSTRAINT CK_ BG_HUELLAS_DEDO CHECK (DEDO IN (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’,
‘8’, ‘9’)));
4.4.5. Nomenclatura para Restricción No Nulo (NOT NULL)
Los nombres de los “Check Constraint” deberán seguir el siguiente estándar:
NN_<TABLA>_<CAMPO>
Restricciones
Restricción de
No Nulo
(Not Null)
Nomenclatura
Descripción
NN: Identifica que es una
restricción de campo no Nulo.
NN_<TABLA>_<CAMPO> TABLA: Nombre de la tabla
Ejemplo
NN_BG_HUELLAS_CLI
ENTE
CAMPO: Nombre del campo sobre
el cuál actúa el Not Null constraint.
Ejemplo ilustrativo.- Se puede especificar el Constraint de dos maneras
c) Al momento de crear la tabla
CREATE TABLE BG_HUELLAS (CLIENTE VARCHAR2(2) CONSTRAINT
NN_BG_HUELLAS_CLIENTE NOT NULL);
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
d)
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 9 de 12
Después de haber creado la tabla
ALTER TABLE BG_HUELLAS
MODIFY (CLIENTE CONSTRAINT NN_BG_HUELLAS_CLIENTE NOT NULL );
4.5.
Nomenclatura para Objetos PL/SQL de Base de Datos Oracle
Todos los objetos de Base de Datos definidos en esta sección, deben incluir la sección de control de
cambios en el formato que se establece a continuación y el mismo debe colocarse inmediatamente
después de la definición del objeto:
/*============================================================================
==================
Autor:
Fecha:
Descripción:
Referencia:
=============================================================================
===================
Histórico de Modificaciones
=============================================================================
===================
Autor:
Fecha:
Descripción:
Referencia:
=============================================================================
=================*/
En la línea referencia, se debe citar el requerimiento que origina la creación o modificación del objeto.
4.5.1. Nomenclatura para Paquetes
Los nombres de los paquetes deberán seguir el siguiente estándar:
PKG_<MODULO>_NOMBRE
Objeto
Paquete
Nomenclatura
Descripción
Ejemplo
PKG: Derivado de Package
identifica que el objeto es una
Paquete.
MODULO: Hace referencia al
PKG_<MODULO>_<NOMBRE> módulo que pertenece el PKG_CAJ_CIERRE
paquete.
NOMBRE: Nombre significativo
del paquete
4.5.2. Nomenclatura para Funciones
Los nombres de las funciones deberán seguir el siguiente estándar:
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 10 de 12
Objeto
Nomenclatura
Función
(Independiente)
FUN_<MODULO>_<NOM
BRE>
Descripción
Ejemplo
FUN: Identifica que el objeto es una
Función.
MODULO: Hace referencia al módulo
FUN_CLI_LISTACL
que pertenece la función.
IENTES
NOMBRE: Nombre significativo de la
función
FUN: Identifica que el objeto es una
Función.
Función
(Dentro de un
paquete)
NOMBRE: Nombre significativo de la
función
FUN_<NOMBRE>
Cuando la función está dentro de un
paquete de Base de Datos, no es
necesario especificar módulo al que
pertenece.
FUN_LISTACLIEN
TES
4.5.3. Nomenclatura para Procedimientos Almacenados
Los nombres de los procedimientos almacenados deberán seguir el siguiente estándar:
SPR_<MODULO>_NOMBRE
Objeto
Nomenclatura
Procedimiento
(Independiente)
SPR_<MODULO>_<NOM
BRE>
Descripción
SPR: Derivado de Store Procedure
Identifica que el objeto es un
Procedimiento Almacenado.
MODULO: Hace referencia al módulo
que pertenece el procedimiento.
Ejemplo
SPR_PCT_GENER
AR_PAGOS
NOMBRE: Nombre significativo del
procedimiento almacenado
SPR: Derivado de Store Procedure
Identifica que el objeto es un
Procedimiento Almacenado.
Procedimiento
(Dentro de un
paquete)
NOMBRE: Nombre significativo del
procedimiento almacenado.
SPR_<NOMBRE>
SPR_
GENERAR_PAGO
S
Cuando el procedimiento está dentro
de un paquete de Base de Datos, no
es necesario especificar módulo al
que pertenece.
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 11 de 12
4.5.4. Nomenclatura para Procedimientos Almacenados Java
Los nombres de los procedimientos almacenados java deberán seguir el siguiente estándar:
SPJ_<MODULO>_NOMBRE
Objeto
Procedimiento
Nomenclatura
Descripción
SPJ: Derivado de Store Procedure
Java identifica que el objeto es un
Procedimiento almacenado Java.
SPJ_<MODULO>_<NOMB
MODULO: Hace referencia al módulo
RE>
que pertenece el procedimiento.
Ejemplo
SPJ_CAJ_SALDO
NOMBRE: Nombre significativo del
procedimiento almacenado java
4.6.
Nomenclatura de Archivos para Pase a Producción de Objetos de Base de Datos
Todos los archivos para pase a producción de los objetos de Base de Datos deberán incluir información
de control en el formato que se establece a continuación.
En caso de que existan más de un archivo y sea necesaria una secuencia en particular se debe
nombrar los archivos con su respectivo número de orden de ejecución. Ejem: Script1.sql,
Script2.sql, Script3.sql.
El script de pase a producción deberá contar con una cabecera informativa, cada objeto deberá estar
con el nombre de esquema específicamente y al final de cada bloque PL/SQL deberá concluir con el
signo “slash (/)”.
Cualquier otro elemento, objeto o atributo de la Base de datos cuya nomenclatura no ha sido definida
en el presente documento será definida cuando sea oportuno por el DBA o responsables.
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Versión: 1.4
Instructivo
Código:
IN-SOP-TI-020
Nomenclatura Estándar para
Objetos de Base de Datos
Página 12 de 12
Control de Ediciones
Versión:
1.3
Fecha:
15/04/2019
Versión:
1.2
Fecha:
28/08/2018
Versión:
1.1
Fecha:
Motivo de revisión
Actualización del Documento
Motivo de revisión
Actualización del Documento
Motivo de revisión
Actualización del Documento
10/07/2017
Versión:
1.0
Fecha:
15/08/2016
Modificaciones realizadas
Modificación en los incisos:
4.5.2 Nomenclatura para Funciones
4.5.3Nomenclatura para Procedimientos
Almacenados.
Modificaciones realizadas
Revisión
anual
modificaciones.
del
documento
sin
Modificaciones realizadas
• Inclusión de aclaración en el punto 4.5 –
“Nomenclatura para Objetos PL/SQL de
Base de Datos Oracle.
• Inclusión del punto 4.6 - “Nomenclatura de
Archivos para Pase a Producción de Objetos
de Base de Datos”.
• Cambio del código del documento.
Motivo de revisión
Modificaciones realizadas
Creación del documento
Todo el documento
Cualquier documento impreso diferente del original y cualquier archivo electrónico que se encuentre fuera de la Intranet del
Banco Ganadero S.A., será considerada COPIA NO CONTROLADA.
Download