Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RELACION
Que es una vista
• Una vista es una tabla virtual generada a partir de la ejecución
de varias consultas sobre una o más tablas. Los datos que se
recuperan mediante una consulta a una vista se presentarán
igual que los de una tabla.
Finalidad
• Las vistas suelen usarse para centrar, simplificar y personalizar
la percepción de la base de datos para cada usuario.
• Las vistas pueden emplearse como mecanismos de seguridad,
que permiten a los usuarios obtener acceso a los datos por
medio de la vista.
Como se crea una vista
• La sentencia CREATE VIEW permite crear una vista. Asigna a
la vista un nombre y especifica la consulta que define la vista.
La creación de una vista implica el tener permiso de acceso a
todas las tablas referenciadas en la consulta.
• Ejemplo
CREATE VIEW vista AS
SELECT campo1, campo2, ... , campoN
FROM tabla
WHERE campo1=valor AND campo2='texto'
Normalización
• La normalización es el proceso de organizar los datos de una base de
datos. Se incluye la creación de tablas y el establecimiento de relaciones
entre ellas según reglas diseñadas tanto para proteger los datos como
para hacer que la base de datos sea más flexible al eliminar la
redundancia y las dependencias incoherentes.
• Los datos redundantes desperdician el espacio de disco y crean
problemas de mantenimiento. Si hay que cambiar datos que existen en
más de un lugar, se deben cambiar de la misma forma exactamente en
todas sus ubicaciones. Un cambio en la dirección de un cliente es
mucho más fácil de implementar si los datos sólo se almacenan en la
tabla Clientes y no en algún otro lugar de la base de datos.
1ra Forma Normal
• Elimine los grupos repetidos de las tablas individuales.
• Cree una tabla independiente para cada conjunto de datos
relacionados.
• Identifique cada conjunto de datos relacionados con una clave
principal.
• No use varios campos en una sola tabla para almacenar datos
similares.
2da Forma Normal
• Cree tablas independientes para conjuntos de valores que se apliquen
a varios registros.
• Relacione estas tablas con una clave externa.
• Los registros no deben depender de nada que no sea una clave
principal de una tabla, una clave compuesta si es necesario
3ra Forma Normal
• Elimine los campos que no dependan de la clave.
• Los valores de un registro que no sean parte de la clave de ese
registro no pertenecen a la tabla. En general, siempre que el
contenido de un grupo de campos pueda aplicarse a más de un único
registro de la tabla, considere colocar estos campos en una tabla
independiente.
Que es un Trigger?
• Un trigger, también conocido como disparador (Por su traducción al
español) es un conjunto de sentencias SQL las cuales se ejecutan de
forma automática cuando ocurre algún evento que modifique a una
tabla. Pero no me refiero a una modificación de estructura, no, me
refiero a una modificación en cuando a los datos almacenados, es
decir, cuando se ejecute una sentencia INSERT, UPDATE o DELETE.
• Lo interesante aquí es que podemos programar los triggers de tal
manera que se ejecuten antes o después, de dichas sentencias;
Dando como resultado seis combinaciones de eventos.
Combinaciones
• BEFORE INSERT Acciones a realizar antes de insertar uno más o registros en una tabla.
• AFTER INSERT Acciones a realizar después de insertar uno más o registros en una
tabla.
• BEFORE UPDATE Acciones a realizar antes de actualizar uno más o registros en una
tabla.
• AFTER UPDATE Acciones a realizar después de actualizar uno más o registros en una
tabla.
• BEFORE DELETE Acciones a realizar antes de eliminar uno más o registros en una tabla.
• AFTER DELETE Acciones a realizar después de eliminar uno más o registros en una
tabla.
Ventajas
• Con los triggers seremos capaces validar todos aquellos valores los
cuales no pudieron ser validados mediante un constraints,
asegurando así la integridad de los datos.
• Los triggers nos permitirán ejecutar reglas de negocios.
• Utilizando la combinación de eventos nosotros podemos realizar
acciones sumamente complejas.
• Los trigger nos permitirán llevar un control de los cambios realizados
en una tabla. Para esto nos debemos de apoyar de una segunda tabla
(Comúnmente una tabla log).
Desventajas
• Los triggers al ejecutarse de forma automática puede dificultar llevar
un control sobre qué sentencias SQL fueron ejecutadas.
• Los triggers incrementa la sobrecarga del servidor. Un mal uso de
triggers puede tornarse en respuestas lentas por parte del servidor.
Como se crea un Trigger
• CREATE TRIGGER NTABLA_(A/B)(I/D/U)
• EJECUTAR ACCION ON NTABLA
• FOR EACH ROW/STATEMENT
• INSERT INTO REG_TABLA(DATO) VALUES (NEW.DATO)
• START TRANSACTION;
• UPDATE users SET name='jane' WHERE id=1;
• UPDATE users SET name='jhona' WHERE id=2;
• COMMIT; / ROLLBACK;
• En este caso tenemos dos sentencias, cada una de ellas para editar un registro,
MySQL las evalúa y las guarda en un estado temporal y posteriormente son
ejecutadas o desechadas con los comandos COMMIT o ROLLBACK.
Los pasos para usar transacciones en
MySQL son:
• Iniciar una transacción con el uso de la sentencia BEGIN.