estándar de nomenclatura para el modelo físico de datos
TRANSCRIPT
Hoteles UPC
ESTÁNDAR DE NOMENCLATURA PARA EL MODELO FÍSICO DE
DATOS
Versión 1.0
Historial de Versiones
Fecha Versión Descripción Autor
26/01/2009 1.0 Elaboración del documento. Juan Apestegui
Hoteles UPC
Tabla de Contenidos
CAPÍTULO 1. Configuración de instalación de Base de Datos. 4
CAPÍTULO 2. Tablas 5
CAPÍTULO 3. Constraints 5
CAPÍTULO 4. Indices 5
CAPÍTULO 5. Triggers 5
CAPÍTULO 6. Stored Procedures 5
CAPÍTULO 7. Vistas 5
CAPÍTULO 8. Programación 5
Hoteles UPC
CAPÍTULO 1. Configuración de instalación de Base de
Datos.
Character Set: 850 Multilingual (Conjunto de caracteres válidos: 256)
Sort Order: Binary Order, Case Sensitive.
Base de datos
El nombre de las bases de datos de usuario debe estar en mayúscula para poder distinguirlas
de las BD del sistema SQL Server que son nombradas en minúsculas.
Ejemplo : TICKET, SIMAT
Variables, parámetros y tipos de datos
Nomenclatura : @YyyYyyy…
Donde :
YyyYyyy… : Nombre de la Variable
Ejemplo : @CodigoEmpleado, @NomEmpleado
Aplica a :
Stored procedures
Triggers
Views
Tipo de Datos :
Tipo de Dato Identificador
Bit Bit
Hoteles UPC
Int Int
Smallint Smi
Tinyint Tni
Decimal Dec
Numeric Num
Money Mny
Smallmoney Smm
Flota Flt
Real Rea
Datetime Dtm
Smalldatetime Sdt
Cursor Cur
Timestamp Tst
Uniqueidentifier Uid
Char Chr
Varchar Vch
Text Txt
Nchar Nch
Nvarchar Nvc
Ntext Ntx
Binary Bin
Varbinary Vbn
Image Img
CAPÍTULO 2. Tablas
Nomenclatura de tablas :
El nombre de la tabla debe ser descriptivo y en singular.
Las Tablas identifican una entidad del Sistema con un nombre completo. Asimismo el prefijo a
utilizar para cada tabla sera: “T_”.
Una tabla hija debe llevar el nombre de la tabla padre. Si hay espacios entre palabras,
deberán separarse por “_”.
Hoteles UPC
Ejemplo : Asiento
Asiento_Detalle
Nota : Cuando se creen tablas temporales añadir el prefijo TMP_XXXX para reconocerlas.
Nomenclatura de columnas :
Los nombres de las columnas deben describir el dato que van a almacenar de manera
entendible; si se usan abreviaturas, éstas deberán ser mnemotécnicas para facilitar la
programación de los Stored Procedures y otros elementos.
Ejemplo :
CREATE TABLE Empleado
(
EmpCodigo numeric (3, 0) NOT NULL ,
EmpNombre varchar (100) NULL ,
EmpDocumento varchar(18) NULL
)
CAPÍTULO 3. Constraints
Nomenclatura Primary Key: PK_NombreTabla
Ejemplo: PK_Cliente
Nomenclatura Foreign Key: FK_NombreTablaOrigen_NombreTablaReferenciada
Ejemplo: FK_Factura_Cliente
Unique: UQ_NombreTabla_NombreUnique
Hoteles UPC
Ejemplo: UQ_Cliente_Codigo_Cliente
Default: DF_ NombreTabla _NombreColumna
Ejemplo: DF_Cliente_Fecha
Check: CK_ NombreTabla _NombreCheck
Ejemplo: CK_Cliente_Codigo_Cliente
CAPÍTULO 4. Indices
Nomenclatura : IXX_YyyYyyy….
Donde :
XX : Tipo de índice Unique UQ, Clustered CL, NonClustered NCL
YYY : Nombre del Indice
Ejemplo:
IUQ_CODEMPLEADO (índice Unique)
ICL_CCUSTODIA (índice Clustered)
INCL_CODDEPOSITANTE (NonClustered)
CAPÍTULO 5. Triggers
Nomenclatura para los Triggers :
TR_NOMBRETABLA_D (Cuando se realiza una eliminación en la tabla).
Ejemplo: TR_Cliente_D
Hoteles UPC
TR_NOMBRETABLA_U (Cuando se realiza una actualización en la tabla).
Ejemplo: TR_Cliente_U
TR_NOMBRETABLA_I (Cuando se realiza una inserción en la tabla).
Ejemplo: TR_Cliente_I
CAPÍTULO 6. Stored Procedures
Nomenclatura :
Insert: UPXX_INSTABLA (Inserta un registro a la tabla)
Ejemplo: SPMW_INSSOLICITUD
Update: UPXX_UPDTABLA (Actualiza un registro a la tabla)
Ejemplo: SPEDN_UPDSOLICITUD
Delete: UPXX_DELTABLA (Elimina un registro de la tabla)
Ejemplo: SPMIC_DELSOLICITUD
Select: UPXX_SELTABLA / UPXX_SELTABLAPORYYYYYY
Ejemplo: SPMIC_SELSOLICITUDESDENEGADAS
Process: UPXX_NOMBREPROCESO
Donde :
XX: Debe ser el nombre de la aplicación la cual utiliza el procedimiento.
Hoteles UPC
Aplicacion Nomenclatura
Facturación FC
Logística LG
Planillas CO
Cuentas por pagar CP
Cuentas por Cobrar CC
TABLA: Es el nombre de la TABLA principal involucrado en el procedimiento, en caso que el
proceso tenga, más de una tabla, incluir la principal tabla de donde se realiza la operación. En
su defecto indicar un nombre sugerente.
NOMBREPROCESO: Es el nombre que identifica al proceso o reporte el cual incluye una
variedad de tablas.
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
Estructura del Stored Procedure:
Identificador, nombre de stored procedure., y parámetros
Comentarios:
Descripción: “funcionalidad del stored procedure”
Descripción de Parámetros de entrada y salida
Autor:
Fecha Modificación:
Versión:
Cambios Importantes
Sentencias SQL
Hoteles UPC
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 SP_MW_SELSOLICITUD(
@intCodSolicitud int,
@vchRazonSocial varchar(50),
…)
AS
/***************************************
*Descripcion: Añade un registro a la tabla HUB
*Fecha Crea: 19/02/2001
*Fecha Mod: 19/02/2001
*Parametros: @intCodSolicitud : Código de la empresa
* @vchRazonSocial: Razon Social de la Empresa
* …
*Autor: Juan Perez (14201)
*Cambios Importantes: Inclusión de la condición se consulta(15/02/2001)
*/**************************************
<Declaración de variables>
<Sentencias SQL>
CAPÍTULO 7. Vistas
Nomenclatura : VW_YYY….
VW : Identificador para las Vistas
Yyyy.. : Nombre de la Vista
Ejemplo : VW_CONSULTARSOLICITUDES
Nota: La estructura de la vista debe ser similar a la del stored procedure.
Hoteles UPC
CAPÍTULO 8. Programación
Utilizar mayúsculas para las sentencias propias del SQL
Ejemplo :
SELECT DepNumeroDocumento,
DepTipoDocumento ,
DepApellidoPaterno,
DepApellidoMaterno,
DepNombre
FROM Depositante
ORDER BY DepNumeroDocumento
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 Depositante
WHERE NumeroDocumento = @chrNumeroDocumento
AND TipoDocumento = @chrTipoDocumento
AND RelacionadorCorrelativo = @chrRelacionadorCorrelativo
Indentar el Código para conservar un orden
Ejemplo :
CREATE PROCEDURE BUSCARCADENA
( @Variable VARCHAR(255),
@Tipo VARCHAR(1) =""
)
Hoteles UPC
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))
ORDER BY name
END