Anda di halaman 1dari 10

Documento de Estndares de

Nomenclatura - Modelo fsico


de datos
NDICE
CAPTULO 1. Estndares 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. Notacin de Base de Datos.............................................................................................. 4
1.3.2. Notacin de Tablas............................................................................................................ 4
1.3.3. Notacin de Campos......................................................................................................... 5
1.3.4. Notacin 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. Programacin........................................................................................................................... 9

Versin: 1.0 Pgina 2 de 10


CAPTULO 1. Estndares 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 codificacin 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 estndar, no se permiten los espacios en blanco como parte de un
identificador.
Para la definicin 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. Notacin de Base de Datos

Nomenclatura:
El nombre de la base de datos debe estar en maysculas.

Ejemplo :
Base de Datos : COMALM
Archivo MDF : COMALM_Data
Archivo LDF : COMALM_Log

1.3.2. Notacin de Tablas


2
3 Nomenclatura:
El nombre de la tabla debe ser descriptivo, en singular y en maysculas.
Las tablas identifican una entidad del sistema con un nombre completo.

Versin: 1.0 Pgina 3 de 10


Una tabla hija debe llevar al inicio el nombre de la tabla padre.
Si la entidad o proceso que genera la tabla tienen ms 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. Notacin de Campos

4 Nomenclatura:
Los nombres de los campos deben ser descriptivos, en singular y en maysculas.
Ejemplo :
ID_EMPLEADO
NOMBRE
DOCUMENTO

1.3.4. Notacin de Constraints

El nombre de la tabla debe estar en mayscula.

ndices con llaves primarias (Primary Key).

Nomenclatura:
PK + Nombre de la tabla.

Ejemplo:
PK_PROVEEDOR

ndices con llaves forneas o relacionadas (Foreing Key).

Nomenclatura:
FK_NombreTablaOrigen_NombreTablaReferenciada

Ejemplo:

Versin: 1.0 Pgina 4 de 10


FK_PROVEEDOR_ORDENCOMPRA

Indices Unique:

Nomenclatura:
UQ_NemnicoTabla_NombreUnique

Ejemplo:
UQ_CLIENTE_CODIGO_CLIENTE

Default:

Nomenclatura:

DF_NemnicoTabla_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)
ICL_CCUSTODIA (ndice Clustered)
INC_CODDEPOSITANTE (NonClustered)
1.3.6. Triggers

Versin: 1.0 Pgina 5 de 10


5
Nomenclatura para los Triggers :

TR_NOMBRETABLE_D (Cuando se realiza una eliminacin en la tabla).

TR_NOMBRETABLA_U (Cuando se realiza una actualizacin en la tabla).

TR_NOMBRETABLA_I (Cuando se realiza una insercin en la tabla).

TR_NOMBRETABLA_IU (Cuando se realiza una insercin o actualizacin en la tabla).

1.3.7. Stored Procedure


6
7 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 slo registro por PK o AK).
NOMBRETABLA_ListByXXXX (Retornan ms de un registro)
NOMBRETABLA_ListXXXX

Nota: No todos los stored procedures siguen esta convencin, dado que algunos abstraen un
mayor nivel de funcionalidad como ejecutar un proceso o algn query complejo.

Ejemplo
EMPLEADO_Add
EMPLEADO _Insert
EMPLEADO _Update
EMPLEADO _GetByID
EMPLEADO _ListByEmpresa
EMPLEADO _ProcesaSueldo

Versin: 1.0 Pgina 6 de 10


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 notificacin del nro. de registros afectados por cada sentencia SQL
lo cual incrementa el performance.

Estructura del Stored Procedure:


Identificador, nombre de stored procedure, y parmetros
Comentarios:
Descripcin: funcionalidad del stored procedure
Fecha Creacion:
Fecha Modificacin:
Descripcin de Parmetros de entrada y salida
Autor:
Versin:
Cambios Importantes
Declaracin Variables locales
Maysculas y minsculas
Sentencias SQL
Palabras del lenguaje SQL, y funciones de sistema en MAYUSCULAS, columnas
y otras variables en Maysculas.
Sentencias legibles e indentadas (cada clausula SQL en una lnea nueva)

Ejemplo:

CREATE PROCEDURE EMPRESA_Add(


@CODEMPRESA int,
@RAZONSOCIAL varchar(50),
)
AS
/***************************************
*Descripcion: Aade un registro a la tabla HUB
*Fecha Creacin: 19/02/2001
*Fecha Modificacin: 19/02/2001
*Parametros: @CODEMPRESA : Cdigo de la empresa
* @RAZONSOCIAL: Razon Social de la Empresa

Versin: 1.0 Pgina 7 de 10


*
*Autor: Juan Perez (14201)
*Versin: Final (Beta|Final)
*Cambios Importantes: Inclusin de la condicin se consulta(15/02/2001)
*/**************************************
<Declaracin 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 Maysculas

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. Programacin
Utilizar maysculas para las sentencias propias del SQL

Ejemplo .-

SELECT NumeroDocumento,
TipoDocumento ,
ApellidoPaterno,
ApellidoMaterno,
Nombre
FROM DDEPOSITANTE

Versin: 1.0 Pgina 8 de 10


ORDER BY NumeroDocumento

Utilizar el Tabulador para separar los campos de una condicin (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 Cdigo 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

SELECT NOMBRE = name ,


TIPO = type ,
CREACION = crdate
FROM sysobjects
WHERE name LIKE '%'+ @Variable + '%'
AND type = RTRIM(LTRIM(@Tipo))

Versin: 1.0 Pgina 9 de 10


ORDER BY name
END

Versin: 1.0 Pgina 10 de 10

Anda mungkin juga menyukai