Skip to main content

Estándares de Nomenclatura de Objetos de Base de Datos Oracle

GERENCIA DE DESARROLLO Y AYQUITECTURA

Historial de Revisión

FechaVersiónDescripciónAutor
31-10-20241.1Revisor1. Javier Hernández Barraza
16-06-20261.2Revisor1. Javier Hernández Barraza
2. Eduardo Tovar López

1. Introducción

El presente documento describe los estándares de programación en codificación PL-SQL (Procedural Language/Structured Query Language), a utilizarse en la gerencia de desarrollo de la dirección de sistemas, proyectos e informática de Grupo Alpura.

1.1 Objetivo y Alcance

El objetivo de este documento es listar y describir los estándares de programación establecidos por la gerencia de desarrollo y en comnún acuerdo con el área de arquitectura TI para que todos los desarrolladores trabajen de forma coordinada.

Objetivos:

  • Practicidad
  • Armonía y estilo unificado
  • Establecer buenas prácticas
  • Legibilidad y mantenimiento del código
  • Promover la colaboración entre grupos de desarrollo

Alcances: Este documento contiene normas para el desarrollo de software, incluyendo estándares de nomenclatura, entornos de desarrollo y uso de herramientas.


2. Generalidades

2.1 Conceptos

2.1.1 Aplicaciones de Oracle

AplicaciónCódigoDescripción
General LedgerGLContabilidad general y reportes financieros
Accounts PayableAPGestión de pagos a proveedores
Accounts ReceivableARGestión de cobros a clientes
Fixed AssetsFAAdministración de activos fijos
Cash ManagementCEConciliación bancaria y gestión de efectivo
TaxZXMotor de impuestos y fiscalidad
TreasuryXTRGestión de tesorería y riesgos financieros
PurchasingPOGestión de compras
InventoryINVControl de inventarios
Order ManagementOMGestión de pedidos de venta
Shipping ExecutionWSHLogística y despacho
Bills of MaterialBOMEstructura de productos
Work in ProcessWIPProducción en proceso
Cost ManagementCSTCosteo de manufactura
Human ResourcesHRGestión de empleados
PayrollPAYNómina
Self Service HRSSHRAutoservicio de empleados
iRecruitmentIRCReclutamiento
Learning ManagementOTACapacitación
ProjectsPAGestión y contabilidad de proyectos
Quality ManagementQAControl de calidad
MaintenanceEAMMantenimiento de activos
EngineeringENGIngeniería de producto
System AdministrationFNDSeguridad, usuarios y configuración base
WorkflowWFAutomatización de procesos de negocio
AlertALRAlertas del sistema
XML Publisher (BI Publisher)XDOReportes y documentos XML/BI
Application Object LibraryAOLInfraestructura base de Oracle EBS
EDI GatewayECIntercambio electrónico de datos
Web ADIBNECarga de datos desde Excel
SOA GatewaySOAIntegración por servicios web
iStoreIBEComercio electrónico
iProcurementICXCompras autoservicio
ContractsOKCGestión de contratos
Service ContractsOKSContratos de servicio
ServiceCSAtención al cliente

3. Lenguajes y Tecnologías en Oracle

Lenguaje / TecnologíaTipoUso principal en Oracle
PL/SQLLenguaje proceduralDesarrollo de lógica en base de datos (procedimientos, funciones, triggers, paquetes)
SQLLenguaje declarativoConsultas, manipulación y definición de datos
JavaLenguaje de programaciónIntegraciones, aplicaciones ADF, middleware y servicios
Oracle FormsFramework / 4GLInterfaces clásicas en EBS (pantallas transaccionales)
Oracle ReportsHerramienta de reportingGeneración de reportes tradicionales en EBS
XMLLenguaje de marcadoIntegración, BI Publisher, configuración y mensajería
XSL / XSLTTransformación XMLFormateo de reportes y transformación de datos XML
JavaScriptLenguaje webInterfaces web (ADF, OA Framework, personalizaciones UI)
HTMLLenguaje webConstrucción de interfaces web en Oracle Applications
CSSEstilos webEstilización de interfaces ADF/OAF
Oracle ADF (Java EE)FrameworkDesarrollo de aplicaciones web modernas en Oracle
Oracle OA Framework (OAF)Framework JavaPersonalización de Oracle E-Business Suite
Shell Script (Bash/Korn)ScriptingAutomatización en servidores Oracle (Unix/Linux)
Python (externo)Lenguaje externoIntegraciones, automatización, ETL (no nativo EBS pero muy usado con Oracle)
GroovyScriptingUsado en algunas herramientas Oracle Middleware
C / C++Lenguajes baseComponentes de Oracle Database y herramientas internas
SQL*PlusHerramientaEjecución de scripts SQL/PLSQL en Oracle
Oracle BI PublisherHerramienta/XMLReportes XML y diseño de documentos

4. Encabezado de Objetos de Base de Datos

  • Este estándar define la estructura obligatoria del encabezado en objetos de base de datos (funciones, procedimientos, triggers o paquetes), con el objetivo de mantener trazabilidad, control de versiones y documentación homogénea.

4.1. Versión

Versión: x.x.x
  • Mayor (1.x.x): cambios estructurales
  • Menor (x.1.x): nuevas funcionalidades
  • Patch (x.x.1): correcciones

4.2. Fecha

Fecha: <fecha>

Fecha en la que se creó la versión inicial del objeto.

Permite trazabilidad histórica.

4.3. Descripción

Descripción: <Descripción Corta>.
  • Define qué hace el objeto.
  • Explica qué problema resuelve.
  • Evita detalles técnicos excesivos.

4.4. Autor

Autor: <Autor>

Responsable del desarrollo del objeto.

4.5. Solicitante

Solicitante: <Solicitante>

Persona o área que solicita el desarrollo.

Clave para la trazabilidad funcional.

4.6. Historial de cambios

Estructura del historial

Permite control completo de cambios del objeto.

VersiónFechaDesarrolladorSolicitanteDescripción
x.x.x<Fecha><Desarrollador><Solicitante><Comentarios del Cambio>

Ejemplo:

# 🧾 Ejemplo de encabezado estándar

```sql
/**************************************************************************************************
* Nombre: fn_get_documents_pending_balance
* Tipo: Función
* Versión: 1.0.1
* Fecha creación: 2024-09-06
*
* Descripción:
* Función para recuperar la información de los documentos con saldo pendiente.
*
* Autor: Victor Manuel López Carvajal
* Solicitante: Royer Hernandez Reyes
*
* -----------------------------------------------------------------------------------------------
* Historial de cambios
* -----------------------------------------------------------------------------------------------
* Versión Fecha Desarrollador Solicitante Descripción del cambio
* -----------------------------------------------------------------------------------------------
* 1.0.0 2024-09-06 Victor Carvajal Royer Hernandez Creación inicial
* 1.0.1 2025-10-07 Victor Carvajal Royer Hernandez Se agregan datos de auditoría
**************************************************************************************************/

🎯 Beneficios de este estándar

  • Trazabilidad completa del objeto
  • Control de versiones claro
  • Fácil mantenimiento en equipos grandes
  • Soporte para auditorías técnicas

5 Nomenclaturas

5.1 Tablas

Tabla: Unidad básica de organización de datos en una base de datos.

El nombre de las tablas será siempre en singular y con la nomenclatura siguiente

Formato: ALP_XX1_XX2_XXXXXXXXXXXXXXX3_X

  • ALP : Constante que indica que es un objeto Custom
  • XX1 : Código o abreviatura de la aplicación de Oracle EBS relacionada con el desarrollo, si corresponde
  • XX2 : Abreviatura proyecto
  • XXXXXXXXXXXXXXX3 : Entidad de negocio o proceso de negocio
  • X : Sufijo opcional: TMP para tablas temporales o H para históricos.
Ejemplo 1

ALP_AR_CI_FACT_CONTADO_TMP

Desglose:

  • ALP → Constante de objetos custom
  • AR → Aplicación Oracle EBS
  • CI → Abreviatura Proyecto
  • FACT_CONTADO → Entidad de negocio
  • TMP → Tipo de tabla (Temporal)
Ejemplo 2

ALP_SAT_CARTA_PORTE

Desglose:

  • ALP → Constante de objetos custom
  • SAT → Abreviatura Proyecto
  • CARTA_PORTE → Entidad de negocio
note

Este ejemplo no cuenta con Aplicación Oracle EBS, ya que involucra varios módulos.

:::

5.2 Paquetes

  • Paquete: Proporcionan una forma conveniente de organizar las funciones y procedimientos que tienen un propósito relacionado

Formato: ALP_XX1_XXXXXXXXXXXXXXXXXX_PKG

  • ALP : Constante de objetos custom
  • XX1 : Código o abreviatura de la aplicación de Oracle EBS relacionada con el desarrollo, si corresponde
  • XXXXXXXXXXXXXXX3 : Proyecto
  • PKG : Constante que indica que es un Paquete
Ejemplo

ALP_AP_SIT_BANORTE_PKG

Desglose:

  • ALP → Constante de objetos custom
  • AP → Aplicación de Oracle
  • SIT_BANORTE → Proyecto
  • PKG → Constante para los Paquetes

5.3 Stored Procedures

  • Store Procedure: Bloque de código PL/SQL que se almacena en la base de datos y se puede ejecutar desde otras aplicaciones o procedimientos almacenados.

El nombre de los Stored Procedures será de la siguiente manera:

Formato: ALP_XX1_XX2_XXXXXXXXXXXXXXXXXX

  • ALP : Constante de objetos custom
  • XX1 : Código o abreviatura de la aplicación de Oracle EBS relacionada con el desarrollo, si corresponde
  • XX2 : Abreviatura proyecto
  • XXXXXXXXXXXXXXX3 : Proceso de negocio
Ejemplo

ALP_AR_CI_ABRIR_PERIODO

Desglose:

  • ALP → Constante de objetos custom
  • AR → Aplicación de Oracle
  • CI → Abreviatura Proyecto
  • ABRIR_PERIODO → Proceso de negocio

5.4 Functions

  • Functions: Subprograma que puede recibir parámetros y devolver un único valor

El nombre de las funciones será de la siguiente manera:

Formato: ALP_XXXXXXXXXXXXXXXXXX

  • ALP : Constante de objetos custom
  • XXXXXXXXXXXXXXX : Proceso de negocio
Ejemplo

ALP_GET_DESCRIPTION_FLEXFILD

Desglose:

  • ALP → Constante de objetos custom
  • GET_DESCRIPTION_FLEXFILD → Proceso de negocio

5.5 Triggers

Necesitan Autorización

El uso de Triggers se tendra que evaluar por el equipo de Arquitectura y Desarrollo. Con la finalidad de evitar:

  • Complejidad de mantenimiento
  • Problemas de rendimiento
  • Dependencias ocultas
  • Dificultad en la depuración
  • Portabilidad limitada
  • Complejidad de pruebas

5.6 Secuencias

El nombre de las secuencias será de la siguiente manera: Formato: XXXXXXXXXXXXX1_S

  • XXXXXXXXXXXXX1: Entidad a la que se encuentra ligada la sequencia, o nombre de proceso que la utiliza
  • S: Constante que se utiliza para identificar las sequencias
Ejemplo

ALP_AP_H2H_BANORTE_PROV_S

Desglose:

  • ALP_AP_H2H_BANORTE_PROV: Entidad que utiliza la secuencia
  • S = Constante que se utiliza para identificar las sequencias

6 Índices

Un índice es una estructura de base de datos que permite mejorar el rendimiento de las consultas, facilitando la búsqueda y recuperación eficiente de registros dentro de una tabla.

Funciona como una referencia rápida a los datos, evitando la necesidad de recorrer toda la tabla para localizar información específica.

Beneficios principales:
  • Optimiza el rendimiento de consultas (SELECT).
  • Reduce el tiempo de búsqueda de registros.
  • Mejora la eficiencia en tablas con grandes volúmenes de datos.
Consideraciones
  • Consume espacio adicional en almacenamiento.
  • Puede impactar el rendimiento en operaciones de inserción, actualización o eliminación (INSERT, UPDATE, DELETE), ya que el índice también debe mantenerse actualizado.

6.1 Índices primarios

Formato:XXXXXXXXXXXXXXXXXXXXXX_PK

  • XXXXXXXXXXXXXXXXXXXXXX : Es el Nombre de la entidad que crea al índice o nombre del personalizado del mismo.
  • PK : Es la abreviatura de llave primaria PK

6.2 Índices secundarios

Formato: XXXXXXXXXXXXXXXXXXXXX_FKNN

  • XXXXXXXXXXXXXXXXXXXXX : Es el Nombre de la entidad que crea al índice o nombre del personalizado del mismo.
  • FK : Es la abreviatura de llave foránea
  • NN : Consecutivo de la FK

7. Hints en Consultas SQL

Los hints en SQL son válidos y pueden utilizarse para influir en el plan de ejecución de las consultas.

Sin embargo, su uso no es recomendado y solo debe aplicarse cuando exista una autorización explícita, por parte de Arquitectura y Desarrollo.

Nota
  • Interferir con el optimizador de la base de datos.
  • Generar planes de ejecución subóptimos.
  • Provocar problemas con estadísticas actualizadas o desactualizadas.
  • Afectar el rendimiento en distintos entornos (desarrollo, pruebas y producción).

Su uso indebido puede generar degradación de rendimiento o comportamientos inconsistentes en las consultas.