Este documento habla sobre la arquitectura de software por capas, las formas normales en bases de datos, los triggers y su aplicación en un proyecto. Explica un modelo de 4 capas separando la interfaz, el servidor web, la lógica y los datos. También define las 5 formas normales y cómo aplicar triggers para automatizar tareas como insertar registros cuando se cumplan ciertas condiciones.
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
programacion por capas
1. UNIVERSIDAD TECNOLOGICA AMERICA<br />UNITA<br />PROGRAMACION POR CAPAS<br />CAPA 2CAPA 3CAPA 4<br />Crear un modelo de 4 capas, separando cliente, servidor web, modelo y almacén de datos. Esto nos permite una mayor extensibilidad en caso de que existan también clientes no web en el sistema, que trabajarían directamente contra el servidor del modelo.Existe una capa cliente, que es simplemente la pantalla que ve el usuario, con sus botones, sus cajas de texto, sus validacionesLa programación en 2 capas, es la llamada cliente-servidor. La parte cliente pide unos servicios, que son proporcionados por la parte servidora. Por ejemplo, en un ASP, tendrías todo en los ficheros ASP, y esto sería la parte cliente, y accederían esos ASPs a los datos de una BD que sería la parte servidora. <br /> Inconveniente<br />Es la falta de seguridad, ya que cualquier persona con ciertos conocimientos podría descifrar tu código cliente y conocer así todos los entresijos de tu aplicación. <br /> <br />Arquitectura web en cuatro capas<br />NORMALIZACION O FORMAS NORMALES<br />QUE ES<br />Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N.<br />Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.La tabla contiene una clave primaria.La clave primaria no contiene atributos nulos.No debe de existir variación en el número de columnas.<br />FN 1 <br />FN 2. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).<br />La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.<br />FN 3<br />La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la presencia de un intervalo seguido de una formalización perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.<br />FNBC<br />Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una súper-clave que, X es o una clave candidata o un conjunto de claves primarias.<br />FN 4<br />La tabla está en 4FNNo existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por las claves candidatas.<br />FN 5<br />TRIGGERS<br />USOS<br /> <br />Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL.Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).<br />COMPOMENTES PRINCIPALES<br />La estructura básica de un trigger es:Llamada de activación: es la sentencia que permite quot;
dispararquot;
el código a ejecutar.Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.<br /> <br />TIPOS<br />Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al triggerStatement Triggers (o Disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.Pueden ser de sesión y almacenados; pero no confiables<br />No aceptan parámetros o argumentos (pero podrían almacenar los datos afectados en tablas temporales)No pueden ejecutar las operaciones COMMIT o ROLLBACK por que estas son parte de la sentencia SQL del disparador (únicamente a través de transacciones autónomas)Pueden causar errores de mutaciones en las tablas, si se han escrito de manera deficiente.EFECTOS Y CARACTERISTICAS<br />EJEMPLO DE TRIGGERS APLICADO AL PROYECTO:<br />Un sencillo ejemplo sería crear un Trigger para insertar un USUARIO de algún DEPARTAMENTO cuando la cantidad de éste, en nuestra TABLA DE USUARIOS, sea inferior a un valor dado.<br />BEFORE UPDATE ON tabla_usuarios<br />FOR ALL records<br /> IF: NEW.usuario < 2 THEN<br /> INSERT INTO tabla_usuarios (producto) VALUES ('2');<br /> END IF;<br />SELECT DBO.POLVE.TEST<br />END<br />APLICACIÓN DEL UML AL PROYECTO<br />Es importante la aplicación del UML en el proyecto para definir las utilidades especificas de cada proceso del sistema informatico.<br />