Anda di halaman 1dari 18

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

PROYECTO: SISTEMA DE GESTIN DE CLUBES RECREACIONALES

MDULO MATRICULA EN ACADEMIAS

Estandares de Programacin SQL

TALLER DE PROYECTOS 2
PROFESORES: Villanueva Espinoza, Mara del Rosario Moreno Molina, Joel SECCIN: EA01

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

NDICE 1. INTRODUCCIN..................................................................................................................3 1.1 PROPSITO DEL DOCUMENTO................................................................................................3 1.2 ALCANCE..............................................................................................................................3 1.3 CONTROL DE VERSIONES......................................................................................................3 2. NORMAS GENERALES ......................................................................................................4 2.1 BASE DE DATOS....................................................................................................................4 2.2 INDICES.................................................................................................................................4 2.3 CONEXIONES A SERVIDOR.....................................................................................................5 2.4 NOMENCLATURA...................................................................................................................5 3. ESTANDARES DE NOMENCLATURA.............................................................................6 3.1 DEFINICIN DE VARIABLES, PARMETROS Y TIPOS DE DATOS.............................................6 3.2 TABLAS.................................................................................................................................7 3.3 COLUMNAS............................................................................................................................8 3.4 CONSTRAINTS........................................................................................................................9 3.5 STORED PROCEDURES...........................................................................................................9 3.6 TRIGGERS............................................................................................................................13 4. PROGRAMACION SQL.....................................................................................................14 4.1 OPTIMIZAR CONSULTAS SQL...............................................................................................16 5. SEGURIDAD........................................................................................................................18 5.1 ACCESO A LA BASE DE DATOS............................................................................................18 5.2 INTEGRIDAD........................................................................................................................18

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

1. INTRODUCCIN 1.1 Propsito del documento


Este documento tiene como principal objetivo, estandarizar la nomenclatura de objetos de base de datos SQL Server.

1.2 Alcance
Dirigido a los equipos responsables de las areas de desarrollo de la DGG

1.3 Control de Versiones

EVOLUCION DEL DOCUMENTO


Versin 0.1 Fecha 12/01/2011 Autor David Rubios Matta Modificado Evolucin Primera versin de los estndares de programacin en SQL Server

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

2. NORMAS GENERALES 2.1 Base de datos


Cada Base de Datos ser creada como propiedad de un login nico para la fase de desarrollo y un login por usuario con los permisos que les corresponda segn indicacin de los responsables del proyecto. Ninguna persona que no sea el DBA utilizar el login SA para ningn propsito. El tamao de la Base de Datos deber ser proyectado al momento de la peticin de la creacin de la misma, para determinar la ubicacin de sta en base a la disponibilidad de recursos. Asimismo, se recuerda que el tamao asignado en la etapa de desarrollo ser mnimo de acuerdo a un modelo de data que los desarrolladores determinarn para esta fase. El cdigo de caracteres que se utilizar para las instalaciones de SQL ser el que por default utiliza el producto (ISO); es el ms recomendado y el estndar corporativo. Los desarrolladores debern observar con sumo cuidado la recomendacin de Microsoft de la NO utilizacin de palabras reservadas de MS-SQL, bajo responsabilidad. Los desarrolladores tendrn el manejo y la responsabilidad de la generacin de la estructura interna de las Bases de Datos durante la etapa de desarrollo, durante la etapa de produccin los cambios debern ser realizados por el DBA a peticin escrita y debidamente justificada bajo un formato prediseado .

2.2 Indices
Dado que ste es el punto ms crtico dentro de todo desarrollo, se debern indexar las columnas que sean estrictamente necesarias. Una tabla deber tener como mximo 4 a 5 ndices. El desarrollador tendr que tener la seguridad de que los ndices definidos estn siendo utilizados por el SQL SERVER, de lo contrario tendrn que ser borrados. No olvidar que los ndices nos ayudan para consultar informacin, pero, retarda la actualizacin de la misma.

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

En las tablas de mayor incidencia en actualizaciones, los ndices CLUSTERED debern contar con un FILLFACTOR adecuado para evitar la fragmentacin de la tabla. En la documentacin se deber detallar cules son las tablas que utilizan FILLFACTOR

2.3 Conexiones a servidor


Todos los sistemas a desarrollarse en SQL SERVER debern de optimizar el uso de conexiones por usuario.

2.4 Nomenclatura
El nombre de las Bases de Datos deber ser corto, descriptivo y que permita determinar fcilmente su propsito, por ejemplo : Sistema de Presupuesto Base de Datos Presupuesto. 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. Utilizar para los nombre de objetos palabras en singular. 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.

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

3. ESTANDARES DE NOMENCLATURA 3.1 Definicin de variables, parmetros y tipos de datos


Aplica a:

Stored procedures Triggers

Nomenclatura : @XY_NOMBRE @ : Smbolo @ (arroba) es obligatorio anteponerlo por restricciones propias del manejador de Base de datos. X : Letra Mayscula que identifica el tipo de Objeto se a identificado P y L para parmetros y variables locales respectivamente. Y : Es una letra e identifica el tipo de dato del objeto, considerar la tabla (1), pero con los caracteres en mayscula.

_ : Es un smbolo (raya abajo)


NOMBRE : Se detalla el nombre del objeto, toda la palabra en maysculas y no tiene un lmite de caracteres establecido, a excepcin de los lmites del manejador de base de datos, considerando el separador (raya abajo) para nombres de objeto conformados por ms de una palabra Ejemplo: @PC_CODIGO_PRESUPUESTO, @LV_DESCRIPCION CARACTER c d s i n v
Tabla 1

TIPO DE DATO char datetime smalldatetime Int numeric varchar

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

3.2 Tablas
2 3 4 Nomenclatura: XXX_NOMBRE_TABLA XXX : Son letras maysculas e identifican un prefijo del aplicativo. Por Ejemplo para el proyecto Log de Auditora referido al ambito de seguridad, sera: SEG

_ : Es un smbolo (raya abajo).


NOMBRE : se detalla el nombre de la tabla, toda la palabra en maysculas y no tiene un lmite de caracteres establecido (recomendable no mayor a 15 caracteres), a excepcin de los lmites del manejador de base de datos, considerando el separador (raya abajo) para nombres de tabla conformados por ms de una palabra. El nombre de la tabla debe ser descriptivo, en singular y en maysculas. Las Tablas identifican una entidad del Sistema con un nombre completo. Una tabla hija debe llevar el nombre de la tabla padre. Las palabras deben ser separadas por un "_". Ejemplo :
SEGT_USUARIO SEGT_USUARIO_PERFIL

Nota : Cuando se creen tablas temporales aadir el prefijo TEM para reconocerlas Ejemplo: #TEMP_TABLA_TEMPORAL

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

3.3 Columnas
5 6 Nomenclatura: xxxxy_znombre_columna xxxx : Los cuatro (4) primeros caracteres son letras minsculas e identifican el prefijo de la tabla de la cual forma parte el campo y : Es una letra minscula e identifica al objeto, en este caso a una columna y es representada por la letra c _ : Es un smbolo (raya abajo) z : Es una letra minscula e identifica el tipo de dato del objeto, considerar la tabla (1). nombre_columna : Se detalla el nombre de la columna, toda la palabra en minsculas y no tiene un lmite de caracteres establecido, a excepcin de los lmites del manejador de base de datos, considerando el separador (raya abajo) para nombres de columna conformados por ms de una palabra. Los nombres de las columnas ser descriptivos, en singular y en minsculas. Ejemplo :
CREATE TABLE SEGT_USUARIO (

usprc_vcodigo_usuario varchar(40) NOT NULL , usprc_ccodigo_perfil char (3) NULL , usprc_csituacion char(1) NULL )

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

3.4 Constraints
Primary Key: Foreign Key: Unique: Default: Check: Ejemplo: PK_NombreTabla FK_NombreTablaOrigen_NombreTablaReferenciada UQ_NemnicoTabla_NombreUnique DF_NemnicoTabla_NombreColumna CK_NemonicoTabla_NombreCheck

PK_ SEGT_USUARIO FK_ SEGT_USUARIO_ SEGT_USUARIO_PERFIL UQ_USUARIO_CODIGO_USUARIO DF_ USUARIO_SITUACION CK_ USUARIO_PERFIL

3.5 Stored procedures


7 Nomenclatura: 8 9 XXXXYZ_NOMBRE_STORED_PROCEDURE 10 11 XXXX : Son letras maysculas e identifican un prefijo del aplicativo. Por Ejemplo para el proyecto Log de Auditora referido al mbito de seguridad, sera: SEG 12 Y : Es una letra mayscula e identifica al objeto, en este caso a un stored procedure y es representado por la letra S. 13 14 Z : Representa el tipo de lgica del objeto, Para el caso del aplicativo Log de Auditora se presentan los siguientes tipos identificados en la tabla (2): 15 CARACTER I U D S G TIPO DE LOGICA INSERT UPDATE DELETE SELECT GENERAL 9

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

Tabla 2 16 17 _ : Es un smbolo (raya abajo).

Estndares de Programacin SQL Server Matricula de Acdemias

10

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

18 19 NOMBRE_STORED_PROCEDURE : Se detalla el nombre del stored procedure, toda la palabra en maysculas y no tiene un lmite de caracteres establecido, a excepcin de los lmites del manejador de base de datos, considerando el separador (raya abajo) para nombres de objeto conformados por ms de una palabra. 20 21 El nombre del Procedimiento debe ser singular y en mayscula. 22 Ejemplo: SEGSS_USUARIO SEGSS_PERFILES_X_USUARIO 23
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: Nombre de stored procedure Comentarios: Todos los stored procedures deberan tener los siguientes comentarios (Objetivo, Funcionalidad, descripcin de variables entre otros) Procedimiento: Nombre del procedimiento Input/Output : Descripcin de Parmetros de entrada y salida Descripcin : Descripcin / Objetivo de funcionalidad del stored procedure Se asume : N/A Retorno : N/A Notas : N/A Modificaciones : Descripcin de Modificaciones Autor : Nombre y Apellido del autor del Procedimiento Fecha y Hora : Fecha y hora de Creacin/ModificacinCambios Importantes Declaracin de Parmetros Input y/o Output Input Output Declaracin Variables locales Maysculas y minsculas Sentencias SQL Palabras del lenguaje SQL, y funciones de sistema en MAYUSCULAS, columnas y otras variables en Maysculas. 11

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

Sentencias legibles e identadas (cada clusula SQL en una lnea nueva) Ejemplo: /* ******************************************************************** Propsito : Muestra los perfiles que posee el usuario Creado por : David Rubios Fecha y hora : 20/01/2009 - 04:38 pm. Test : exe SEGSS_PERFILES_X_USUARIO ********************************************************************* */ CREATE PROCEDURE DBO.SEGSS_PERFILES_X_USUARIO <Declaracin de Parmetros Input y/o Output> AS <Declaracin de Variables locales> <Sentencias SQL> GO NOTAS: No utilizar prefijo sp para los stored procedures. Dicho prefijo esta reservado para identificar stored procedures del sistema. No usar prefijo fn para funciones definidas por el usuario, Dicho prefijo esta reservado para identificar funciones propias del sistema. No usar prefijo xp_, para extended stored procedures, cual es un prefijo reservado para identificar system extended stored procedures. Se debern optimizar el uso de los Datatypes. Los tipos de datos VARCHAR se utilizarn slo para longitudes mayores a 20 caracteres, normalmente aplicado a campos de descripcin, nombres, etc., en el cual no se sabe el tamao que ocupa un texto determinado. En el caso de tener columnas cuyo valor numrico no va a exceder de 255 se deber emplear el tipo de dato TINYINT. Los tipos de datos definidos por usuario (User Defined Datatypes) debern ser debidamente documentados.

Estndares de Programacin SQL Server Matricula de Acdemias

12

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

3.6 Triggers
24 Nomenclatura: 25 26 XXXXYZ_NOMBRE_TRIGGER 27 28 XXXX : Son letras maysculas e identifican un prefijo del aplicativo. Por Ejemplo para el proyecto Log de Auditora referido al mbito de seguridad, sera: SEG 29 Y : Es una letra mayscula e identifica al objeto, en este caso a un stored procedure y es representado por la letra R. 30 Z : Representa el tipo de lgica del objeto, Para el caso del aplicativo Log de Auditora se presentan los siguientes tipos identificados en la tabla (3): 31 CARACTER I U D G Tabla 3 TIPO DE LOGICA INSERT UPDATE DELETE GENERAL

32 33 _ : Es un smbolo (raya abajo). 34 35 NOMBRE_TRIGGER : Se detalla el nombre del Trigger, equivalente a la tabla para la cual fue creada, toda la palabra en maysculas y no tiene un lmite de caracteres establecido, a excepcin de los lmites del manejador de base de datos, considerando el separador (raya abajo) para nombres de objeto conformados por ms de una palabra. 36 37 El nombre del Trigger debe ser singular y en mayscula. 38 Ejemplo: SEGRU_USUARIO SEGRG_OPCION_X_USUARIO

Estndares de Programacin SQL Server Matricula de Acdemias

13

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

4. PROGRAMACION SQL
Obligatoriamente todos los sistemas a desarrollarse debern invocar STORED PROCEDURES. No se debern poner sentencias SQL en el cliente. Esto genera una gran baja en la performance de los sistemas. En ningn caso el desarrollador podr forzar el uso de un ndice dentro de un STORED PROCEDURE y tampoco deber colocar sentencias que alteren el comportamiento de los bloqueos. Cuando escriba sentencias SQL, use todo en appercase para keywords y mixed case ( maysculas y minsculas) para elementos de Database (base de datos), tales como tablas, columnas y vistas. Poner cada sentencia mayor de SQL sobre lneas separadas para facilitar su lectura y edicin, por ejemplo: o o o

SELECT FirstName, LastName FROM Customers WHERE State = 'WA'

No se deben usar procedimientos encriptados. Todo aplicativo deber evitar usar cursores definidos en SQL SERVER, dado que stos consumen muchos recursos. En la mayora de los casos se pueden transformar los cursores a TransactSQL. Las vistas debern ser utilizadas para simplificar los queries. En ningn caso se otorgarn permisos sobre columnas, por lo tanto se deber crear una vista para que se le otorgue permiso de SELECT a toda la vista. Utilizar maysculas para las sentencias propias del SQL

Ejemplo.-

Estndares de Programacin SQL Server Matricula de Acdemias

14

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

SELECT

NumeroDocumento, TipoDocumento , ApellidoPaterno, ApellidoMaterno, Nombre

FROM SEGT_USUARIO ORDER BY NumeroDocumento

Utilizar el Tabulador para separar los campos de una condicin (en la medida de lo posible) Ejemplo.SELECT

'CodigoSegmentoSAB' = 'CodigoSegmentoCONASEV' = +SUBSTRING(NumeroRegistro,2,1), 'CodigoRetorno' = = = =

CodigoDepositante, '00' '0' @chrNumeroDocumento @chrTipoDocumento @chrRelacionadorCorrelativo

FROM SEGT_USUARIO WHERE NumeroDocumento AND TipoDocumento AND RelacionadorCorrelativo

Indentar el Cdigo para conservar un orden Ejemplo.CREATE PROCEDURE p_BUSCARCADENA ( @vchVariable VARCHAR(255), @vchTipo VARCHAR(1) ="" ) AS BEGIN IF LTRIM(RTRIM(@vchVariable)) <> "*" IF @vchTipo = "" SELECT NOMBRE = name , TIPO = type , CREACION = crdate FROM sysobjects WHERE name LIKE '%'+ @vchVariable + '%' ORDER BY type, name ELSE SELECT NOMBRE = name , TIPO = type , CREACION = crdate FROM sysobjects WHERE name LIKE '%'+ @vchVariable + '%' AND type = RTRIM(LTRIM(@vchTipo)) ORDER BY name
Estndares de Programacin SQL Server Matricula de Acdemias

15

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

END

4.1 Optimizar consultas sql


Muchas veces no basta con especificar una sentencia SQL correcta, sino que adems, hay que indicarle como tiene que hacerlo si queremos que el tiempo de respuesta sea el mnimo. A continuacin algunas consideraciones a tomar para mejorar el tiempo de respuesta de sentencias SQL: Diseo de las tablas

Normaliza las tablas, al menos hasta la tercera forma normal, para asegurar que no hay duplicidad de datos y se aprovecha al mximo el almacenamiento en las tablas. Si hay que desnormalizar alguna tabla piensa en la ocupacin y en el rendimiento antes de proceder. Los primeros campos de cada tabla deben ser aquellos campos requeridos y dentro de los requeridos primero se definen los de longitud fija y despus los de longitud variable. Ajusta al mximo el tamao de los campos para no desperdiciar espacio. Es muy habitual dejar un campo de texto para observaciones en las tablas. Si este campo se va a utilizar con poca frecuencia o si se ha definido con gran tamao, por si acaso, es mejor crear una nueva tabla que contenga la clave primaria de la primera y el campo para observaciones.

Gestin y eleccin de los ndices

Los ndices son campos elegidos arbitrariamente por el constructor de la base de datos que permiten la bsqueda a partir de dicho campo a una velocidad notablemente superior. Sin embargo, esta ventaja se ve contrarrestada por el hecho de ocupar mucha ms memoria (el doble ms o menos) y de requerir para su insercin y actualizacin un tiempo de proceso superior. No indexar todos los campos de una tabla extensa ya que doblamos el tamao de la base de datos. Igualmente, tampoco sirve de mucho el indexar todos los campos en una tabla pequea ya que las selecciones pueden efectuarse rpidamente de todos modos. Un caso en el que los ndices pueden resultar muy tiles es cuando realizamos peticiones simultneas sobre varias tablas. En este caso, el proceso de seleccin puede acelerarse sensiblemente si indexamos los campos que sirven de nexo entre las dos tablas. Los ndices pueden resultar contraproducentes si los introducimos sobre campos triviales a partir de los cuales no se realiza ningn tipo de peticin ya que, adems 16

Estndares de Programacin SQL Server Matricula de Acdemias

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

del problema de memoria ya mencionado, estamos ralentizando otras tareas de la base de datos como son la edicin, insercin y borrado. Es por ello que vale la pena pensrselo dos veces antes de indexar un campo que no sirve de criterio para bsquedas o que es usado con muy poca frecuencia por razones de mantenimiento. Campos a Seleccionar

En la medida de lo posible hay que evitar que las sentencias SQL estn embebidas dentro del cdigo de la aplicacin. Es mucho ms eficaz usar vistas o procedimientos almacenados por que el gestor los guarda compilados. Si se trata de una sentencia embebida el gestor debe compilarla antes de ejecutarla. Seleccionar exclusivamente aquellos que se necesiten No utilizar nunca SELECT * por que el gestor debe leer primero la estructura de la tabla antes de ejecutar la sentencia Si utilizas varias tablas en la consulta especifica siempre a que tabla pertenece cada campo, le ahorras al gestor el tiempo de localizar a que tabla pertenece el campo. En lugar de SELECT Nombre, Factura FROM Clientes, Facturacion WHERE IdCliente = IdClienteFacturado, usa: SELECT Clientes.Nombre, Facturacion.Factura WHERE Clientes.IdCliente = Facturacion.IdClienteFacturado.

Campos de Filtro

Se procurar elegir en la clusula WHERE aquellos campos que formen parte de la clave del fichero por el cual interrogamos. Adems se especificarn en el mismo orden en el que estn definidos en la clave. Interrogar siempre por campos que sean clave. Si deseamos interrogar por campos pertenecientes a ndices compuestos es mejor utilizar todos los campos de todos los ndices. Supongamos que tenemos un ndice formado por el campo NOMBRE y el campo APELLIDO y otro ndice formado por el campo EDAD. La sentencia WHERE NOMBRE='Juan' AND APELLIDO Like '%' AND EDAD = 20 sera ms optima que WHERE NOMBRE = 'Juan' AND EDAD = 20 por que el gestor, en este segundo caso, no puede usar el primer ndice y ambas sentencias son equivalentes por que la condicin APELLIDO Like '%' devolvera todos los registros.

Orden de las Tablas Cuando se utilizan varias tablas dentro de la consulta hay que tener cuidado con el orden empleado en la clusula FROM. Si deseamos saber cuantos alumnos se matricularon en el ao 1996 y escribimos: FROM Alumnos, Matriculas WHERE Alumno.IdAlumno = Matriculas.IdAlumno AND Matriculas.Ao = 1996 el gestor recorrer todos los alumnos para buscar sus matriculas y devolver las
Estndares de Programacin SQL Server Matricula de Acdemias

17

Estandares de Desarrollo Web

Fecha: 12/01/2011

Sistema de Gestin de Clubes Recreacionales Mdulo de Matricula en Academias


CLUB RECREACIONAL TUNQUI

correspondientes. Si escribimos FROM Matriculas, Alumnos WHERE Matriculas.Ao = 1996 AND Matriculas.IdAlumno = Alumnos.IdAlumnos, el gestor filtra las matrculas y despus selecciona los alumnos, de esta forma tiene que recorrer menos registros.

5. SEGURIDAD

5.1 Acceso a la base de datos


El estndar adoptado por la Empresa es el empleo de Seguridad Estndar para el acceso a las Bases de Datos, esto quiere decir que para cada Base de Datos se crear un nico login con el que todos los usuarios accesarn a la BD, asimismo, se crearn tantos logins como perfiles requiera el proyecto.En el caso de que el nmero de usuarios no exceda los 20 se podrn crear un login para cada uno de ellos a peticin del responsable del proyecto si es que asi lo requieren para propsitos de registro de actividades en la BD(Log). En el caso de que el nmero de usuarios sea superior a los 20 y/o a peticin del responsable de cada proyecto de que cada usuario tenga un login de coneccin independiente se utilizar Seguridad Integrada para dar permiso a las cuentas de Red con la que los usuarios se conectan, para facilitar las tareas de administracin. Todas las cuentas son creadas por el DBA. Nota : En ningn caso las cuentas de usuarios tendrn roles sobre el servidor ni accesos tipo System Administrator ( DBA ).

5.2 Integridad
La integridad referencial ser manejado a travs de constraints Primary Key y Foreign Keys. Los triggers debern ser utilizados solo en caso que se quiera hacer alguna accin en cascada sobre la integridad referencial o cuando se quiera evitar que una clave primaria sea modificada o si la funcionalidad del aplicativo asi lo requiere, tomando en cuenta que el uso de los mismos degrada segn sea el caso la velocidad de actualizacin de las tablas. En caso se requieran hacer validaciones sobre columnas se deber utilizar el constraint del tipo CHECK en vez de crear RULES, salvo que se quiera hacer una validacin de un USER DEFINED DATATYPE. La propiedad Identity puede ser usada para mantener Integridad de Entidad. 18

Estndares de Programacin SQL Server Matricula de Acdemias

Anda mungkin juga menyukai