Estándar de Nomenclatura - Modelo físico de datos

12
Documento de Estándares de Nomenclatura - Modelo físico de datos Versión 1.0 Elaborado por: Carlos Romero F. Elaboración: 15/01/201 0 Modificado por: Walter Meregildo F. Ultima Modificación: 20/01/201 0 Aprobado por: Marco Miranda F. Aprobación: 21/01/201 0

Transcript of Estándar de Nomenclatura - Modelo físico de datos

Page 1: Estándar de Nomenclatura - Modelo físico de datos

Documento de Estándares de

Nomenclatura - Modelo físico

de datos

Versión 1.0

Elaborado por: Carlos Romero F. Elaboración: 15/01/2010

Modificado por: Walter Meregildo F. Ultima Modificación: 20/01/2010

Aprobado por: Marco Miranda F. Aprobación: 21/01/2010

Page 2: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

HISTORIAL DE VERSIONES

Versión: 1.0

Realizado por: Carlos Romero Fecha modificación: 15/01/2010

Descripción: Define los estándares de nomenclatura para el modelo físico de datos.

Aprobado por: Marco Miranda Fecha aprobación : 21/01/2010

Documento Interno Versión: 1.0 Página 2 de 11

Page 3: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

ÍNDICE

CAPÍTULO 1. Estándares de Nomenclatura de Base de Datos...............................4

1.1. OBJETIVOS............................................................................................................................ 4

1.2. NORMAS GENERALES.............................................................................................................4

1.3. NOMENCLATURAS DE BASE DE DATOS......................................................................................4

1.3.1. Notación de Base de Datos...........................................................................................4

1.3.2. Notación de Tablas.......................................................................................................4

1.3.3. Notación de Campos.....................................................................................................5

1.3.4. Notación de Índices.......................................................................................................5

1.3.5. Indices.......................................................................................................................... 6

1.3.6. Triggers......................................................................................................................... 7

1.3.7. Stored Procedure..........................................................................................................7

1.3.8. Vistas............................................................................................................................ 9

1.4. Programación....................................................................................................................... 9

Documento Interno Versión: 1.0 Página 3 de 11

Page 4: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

CAPÍTULO 1. Estándares de Nomenclatura de Base de Datos

1.1. Objetivos

Estandarizar la nomenclatura de objetos de base de datos utilizando para este desarrollo el

SQL Server.

Estandarizar la estructura de codificación del SQL Transact.

1.2. Normas Generales

Mantener nombres cortos y descriptivos.

Mantener nombres de objetos únicos, por ejemplo evitar crear la tabla ALMACEN y un rol o

vista con el mismo nombre.

Por defecto, no se aceptan espacios en blanco en medio de los identificadores; sin

embargo, su uso está permitido si se usan identificadores delimitados por comillas dobles.

En el presente estándar, no se permiten los espacios en blanco como parte de un

identificador.

Para la definición de nombre de objetos de base de datos de acuerdo al caso se usará el

caracter underscore “_” para separar las palabras_del_nombre.

1.3. Nomenclaturas de Base de Datos

1.3.1. Notación de Base de Datos

Nomenclatura:

El nombre de la base de datos debe estar en mayúsculas.

Ejemplo :

Base de Datos : COMALM

Archivo MDF : COMALM_Data

Archivo LDF : COMALM_Log

1.3.2. Notación de Tablas

Nomenclatura:

El nombre de la tabla debe ser descriptivo, en singular y en mayúsculas.

Documento Interno Versión: 1.0 Página 4 de 11

Page 5: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

Las tablas identifican una entidad del sistema con un nombre completo.

Una tabla hija debe llevar al inicio el nombre de la tabla padre.

Si la entidad o proceso que genera la tabla tienen más de una palabra se deberá colocar

cada una de ellas en singular y deben ser separadas por un "_".

Si la entidad o proceso representa a una tabla de uso temporal, el nombre de la misma

debe ser precedida por el siguiente prefijo “TEMP_”.

Ejemplo :

Nomenclatura de una tabla padre

PROVEEDOR

Nomenclatura de una tabla hija

PROVEEDOR_OBSERVACION

Nomenclatura de una tabla temporal

TEMP_XXX

1.3.3. Notación de Campos

Nomenclatura:

Los nombres de los campos deben ser descriptivos, en singular y en mayúsculas.

Ejemplo :

ID_EMPLEADO

NOMBRE

DOCUMENTO

1.3.4. Notación de Constraints

El nombre de la tabla debe estar en mayúscula.

Índices con llaves primarias (Primary Key).

Nomenclatura:

PK + Nombre de la tabla.

Ejemplo:

PK_PROVEEDOR

Índices con llaves foráneas o relacionadas (Foreing Key).

Nomenclatura:

FK_NombreTablaOrigen_NombreTablaReferenciada

Documento Interno Versión: 1.0 Página 5 de 11

Page 6: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

Ejemplo:

FK_PROVEEDOR_ORDENCOMPRA

Indices Unique:

Nomenclatura:

UQ_NemónicoTabla_NombreUnique

Ejemplo:

UQ_CLIENTE_CODIGO_CLIENTE

Default:

Nomenclatura:

DF_NemónicoTabla_NombreColumna

Ejemplo

DF_CLIENTE_FECHA

Check:

Nomenclatura:

CK_NemonicoTabla_NombreCheck

Ejemplo

CK_CLIENTE_CODIGO_CLIENTE

1.3.5. Indices

Nomenclatura

IXX_ YYYY….

XX : Tipo de índice (Unique, Clustered, NonClustered)

YYY : Nombre del Indice

Ejemplo:

IUQ_CODEMPLEADO (índice Unique)

Documento Interno Versión: 1.0 Página 6 de 11

Page 7: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

ICL_CCUSTODIA (índice Clustered)

INC_CODDEPOSITANTE (NonClustered)

1.3.6. Triggers

Nomenclatura para los Triggers :

TR_NOMBRETABLE_D (Cuando se realiza una eliminación en la tabla).

TR_NOMBRETABLA_U (Cuando se realiza una actualización en la tabla).

TR_NOMBRETABLA_I (Cuando se realiza una inserción en la tabla).

TR_NOMBRETABLA_IU (Cuando se realiza una inserción o actualización en la tabla).

1.3.7. Stored Procedure

Nomenclatura para los Stored Procedures :

Insert:

NOMBRETABLA_Add (Insertaun registro a la tabla)

Update:

NOMBRETABLA_Update (Actualiza un registro a la tabla)

Delete:

NOMBRETABLA_Delete (Elimina un registro de la tabla)

Select:

NOMBRETABLA_GetByID (Retorna un sólo registro por PK o AK).

NOMBRETABLA_ListByXXXX (Retornan más de un registro)

NOMBRETABLA_ListXXXX

Nota: No todos los stored procedures siguen esta convención, dado que algunos abstraen un

mayor nivel de funcionalidad como ejecutar un proceso o algún query complejo.

Ejemplo

EMPLEADO_Add

EMPLEADO _Insert

EMPLEADO _Update

Documento Interno Versión: 1.0 Página 7 de 11

Page 8: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

EMPLEADO _GetByID

EMPLEADO _ListByEmpresa

EMPLEADO _ProcesaSueldo

Nota:

Los nombres de los Stored Procedures NO deben comenzar con sp, esto porque

generalmente el SQL piensa que son system procedures y los busca primero en la Base de

Datos master

SET NOCOUNT ON (elimina la notificación del nro. de registros afectados por cada sentencia SQL

lo cual incrementa el performance.

Estructura del Stored Procedure:

Identificador, nombre de stored procedure, y parámetros

Comentarios:

Descripción: “funcionalidad del stored procedure”

Fecha Creacion:

Fecha Modificación:

Descripción de Parámetros de entrada y salida

Autor:

Versión:

Cambios Importantes

Declaración Variables locales

Mayúsculas y minúsculas

Sentencias SQL

Palabras del lenguaje SQL, y funciones de sistema en MAYUSCULAS, columnas

y otras variables en Mayúsculas.

Sentencias legibles e indentadas (cada clausula SQL en una línea nueva)

Ejemplo:

CREATE PROCEDURE EMPRESA_Add(

@CODEMPRESA int,

@RAZONSOCIAL varchar(50),

…)

AS

/***************************************

*Descripcion: Añade un registro a la tabla HUB

*Fecha Creación: 19/02/2001

Documento Interno Versión: 1.0 Página 8 de 11

Page 9: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

*Fecha Modificación: 19/02/2001

*Parametros: @CODEMPRESA : Código de la empresa

* @RAZONSOCIAL: Razon Social de la Empresa

* …

*Autor: Juan Perez (14201)

*Versión: Final (Beta|Final)

*Cambios Importantes: Inclusión de la condición se consulta(15/02/2001)

*/**************************************

<Declaración de variables>

<Sentencias SQL>

1.3.8. Vistas

Nomenclatura para las Vistas:

VW_YYY….

VW : Identificador para las Vistas

YYY : Nombre de la Vista en Mayúsculas

Ejemplo :

VW_CONSULTAR_PERSONERIA

Para el nombre de las Vistas utilizar verbos en Infinitvo,

Ejemplo :

VW_CONSULTAR_CUENTAS

Nota: La estructura de la vista debe ser similar a la del stored procedure.

1.4. Programación

Utilizar mayúsculas para las sentencias propias del SQL

Ejemplo .-

SELECT NumeroDocumento,

Documento Interno Versión: 1.0 Página 9 de 11

Page 10: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

TipoDocumento ,

ApellidoPaterno,

ApellidoMaterno,

Nombre

FROM DDEPOSITANTE

ORDER BY NumeroDocumento

Utilizar el Tabulador para separar los campos de una condición (en la medida de lo posible)

Ejemplo .-

SELECT 'CodigoSegmentoSAB' = CodigoDepositante,

'CodigoSegmentoCONASEV' = '00' +SUBSTRING(NumeroRegistro,2,1),

'CodigoRetorno' = '0'

FROM DDEPOSITANTE

WHERE NumeroDocumento = @NumeroDocumento

AND TipoDocumento = @TipoDocumento

AND RelacionadorCorrelativo = @RelacionadorCorrelativo

Indentar el Código para conservar un orden

Ejemplo.-

CREATE PROCEDURE BUSCARCADENA

( @Variable VARCHAR(255),

@Tipo VARCHAR(1) =""

)

AS

BEGIN

IF LTRIM(RTRIM(@Variable)) <> "*"

IF @Tipo = ""

SELECT NOMBRE = name ,

TIPO = type ,

CREACION = crdate

FROM sysobjects

WHERE name LIKE '%'+ @Variable + '%'

ORDER BY type,

name

ELSE

Documento Interno Versión: 1.0 Página 10 de 11

Page 11: Estándar de Nomenclatura - Modelo físico de datos

Sistema de Gestión Hotelera - Módulo de Compras y Almacenes

SELECT NOMBRE = name ,

TIPO = type ,

CREACION = crdate

FROM sysobjects

WHERE name LIKE '%'+ @Variable + '%'

AND type = RTRIM(LTRIM(@Tipo))

ORDER BY name

END

Documento Interno Versión: 1.0 Página 11 de 11