Objetos Programáticos en la BD
Vistas
Las Vistas (VIEW), permiten crear una representación virtual de una tabla definida a través de una consulta (SELECT), la cual podrá ser utilizada en la cláusula FROM de cualquier consulta.
La composición de la vista puede contener unión o combinación de más de una tabla.
Uno de los objetivos principales de utilizar vistas es restringir el acceso a ciertas columnas y/o datos a usuarios finales; también para optimizar el uso de algunas consultas complejas que puedan ser utilizadas de manera frecuentes.
Tipos de Vistas:
1. Regular: Creadas por el usuario a través de sentencias SQL. No almacenan registros de la base de datos.
2. Indexada: Creadas con características especiales para que puedan manejarse el uso de índices como si fuera una tabla física.
3. Particiones Distribuidas: Utiliza la unión de más de una consulta SQL, que pudieran estar presentando información de diferentes bases de datos o inclusive instancias distintas.
Control de Transacciones :
Las transacciones son una parte integral de un sistema de base de datos relacional porque ayudan a definir una unidad de trabajo. Una unidad de trabajo puede contener una o más transacciones SQL las cuales son aplicadas de manera definitiva como un grupo, colaborando de esta manera que no se afecte, o reverse, de manera parcial las operaciones que se consideran conjunta para la consistencia de los datos.
Existen 3 tipos de transacción en SQL Server:
1. Autocommit: Es el esquema por defecto que posee SQL Server, donde cada sentencia SQL que se ejecuta, es automáticamente aplicada en la Base de Datos al finalizar.
Ej.: --> Se desea borrar el almacen SDN01 y crear uno nuevo SDN10 DELETE Almacen WHERE Codigo = 'SDN01' GO INSERT INTO Almacen VALUES ('SDN10', 0, 'ALMACEN ANTERIOR SDN01', NULL, NULL, NULL) GO
2. Implicit: Se activa esta forma mediante la propiedad IMPLICIT_TRANSACTIONS. Con esta se abre automáticamente una transacción cuando uno de los siguientes comandos son ejecutados:
ALTER TABLE, FETCH, REVOKE, CREATE, GRANT, SELECT, DELETE, INSERT, TRUNCATE TABLE, DROP, OPEN, y UPDATE.
3. Explicit: Estas son creadas de manera manual. Altamente recomendadas porque uno mismo es quien define cuales son las transacciones que deben manejarse como un grupo y la acción a realizar en caso de que se produzcan errores en cada comando.
Esta utiliza los siguientes comandos:
• BEGIN TRANSACTION: Marca el punto de inicio de una transacción.
• ROLLBACK TRANSACTION: Repone los datos con los valores y estados como estaban antes de iniciar la transacción. Liberar los objetos que hayan sido bloqueados durante la transacción.
• COMMIT TRANSACTION: Finaliza una transacción si no se producen errores, aplicando los cambios de manera permanentes y liberando los objetos que hayan sido bloqueados.
• SAVE TRANSACTION: Marca un punto de retorno dentro de una transacción, el cual permite definir una ubicación para que la transacción pueda retornar en caso de que sea cancelada. Una transacción debe ser reversada o aplicada inmediatamente después de regresar a un punto de retorno.
• @@TRANCOUNT: Indica el número de transacciones activas que existen en una sesión.
No hay comentarios:
Publicar un comentario