Por Viktor Ml. Justo Vasquez
En teoria de base de datos, una vista es el resultado de una consulta a la data en nuestra base de datos, que ha sido almacenada, que los usuarios pueden utilizar como si fuera un objeto persistente en nuestra BD.
Esta consulta es pre-establecida es guardada en el diccionario de la BD y a diferencia de las tablas ordinarias en una base de datos relacional, un view no forma parte del Esquema fisico:
como es un set de resultado, es una tabla virtual que es generada a partir de la data en el momento en que la vista es requerida.
Los profesionales en el tema de BD pueden definir las vistas como solo-lectura o actualizables. Si el sistema de BD puede determinar el mapeo inverso del esquema de la vista para el esquema de la tabla con la que esta enlasada, entonces la vista es Actualizable. Estas vistas soportan las operaciones de Insert, Update y Delete.
Las vistas de solo lectura no soportan estas operaciones ya que el DBMS no puede mapear los cambios a las subyacentes
La data de una tabla subyacente puede ser modificada a traves de una vista en T-SQL mientras las siguientes condiciones se cumplan:
Las restricciones anteriores aplican para cualquier subquery en el FROM del query en la definicion de la vista, asi como aplican para la vista en general.
Puesto de manera simple: El motor de la base de datos debe de poder identificar sin duda alguna a que tabla se va a hacer la modificacion.
Si estas restricciones previenen que modifiques la data directamente a travez de una vista, las siguientes opciones se pueden considerar:
Un stored procedure es un grupo de comandos compilados en un solo plan de ejecucion. Visto de otra manera, es una subrutina que esta disponible a aplicaciones en un RDBMS, estos son guardados en el diccionario de la base de datos.
El uso tipico de esto incluye validacione de datos y mecanismos control de control de acceso. Mas alla de esto, los stored procedures pueden consoludar y centralizar logica que fue inicialmente implementada en una aplicacion. procesamiento extensivo o complejo que utiliza varias llamadas a SQL es movido a estos y todas las aplicaciones llaman al stored procedure.
Cabe notar que es posible utilizar store procedures anidados.
Los SP pueden contener variables declaradas para procesar data y cursores que permiten que itere a travez de multiples record. Los metodos de control de flujo que utiliza tipicamente incluyen lo mismo que la programacion comun, digase, IF, WHILE, LOOP, REPEAT, CASE, entre otros. Pueden retornar un set de resultados a partir de un parametro, o modificar el valor de este y devolverlo.
IF (@QuantityOrdered < (SELECT QuantityOnHand FROM Inventory WHERE PartID = @PartOrdered) ) BEGIN -- SQL statements to update tables and process order. END ELSE BEGIN -- SELECT statement to retrieve the IDs of alternate items -- to suggest as replacements to the customer. END
Un Trigger de Bases de datos, es un procedimiento que es ejecutado automaticamente en respuesta a ciertos eventos en una tabla o vista. Es usado generalmente para mantener la integridad de la informacion a lo largo de la base de datos.
Loa triggers son comunmente usados para:
Tambien es posible en algunos sistemas de BD, crear triggers que son disparados al momento de creacion de tablas, login, commit o roll back y estos son usados para auditar el manejo como tal de una BD.
MSQLMS soporta triggers antes, despues o "en vez de" para INSERT, UPDATE o DELETE. Estos pueden ser contra una tabla o una vista, con la salvedad de que las vistas solo pueden ser referenciadas por un trigger INSTEAD OF (en vez de)