Cargando



Herramietas y estructura de MYSQL 5

MYSQL 5, incorporo grandes cambios para volverse la base de datos mas popular y competir con las bases de datos empresariales de alto rendimiento.


mar 17 2014 23:04
Profesional
mar 18 2014 09:57

stored.jpg


MYSQL 5, incorporo grandes cambios para volverse la base de datos mas popular y competir con las bases de datos empresariales de alto rendimiento.

Trataremos algunos conceptos como vistas (VIEW), como consultas almacenadas sobre las cuales luego podremos realizar consultas como si fuesen tablas de registros y también TRIGGER, que son como procedimientos que se asocian a un evento en las tablas, funciones almacenadas y procedimientos almacenados.

Vistas


Se definen para facilitar y restringir el acceso a los datos de las tablas a usuarios limitados.
La estructura es estática y se hace en tiempo de creación: los futuros campos / cambios sobre las tablas no se reflejan en la vista.

Entonces si una vista tiene un SELECT * FROM tabla y después de definirla añadimos un campo a la tabla original, no lo veremos en la vista.
Si después cambiamos la definición de algún campo de la tabla original entonces se generará un error/warning al utilizarla pues seguramente tendrá que truncar valores: los campos eliminados los pasará a NULL.

Un ejemplo de una vista para ver las ventas por vendedor
:

CREATE VIEW Ventasporvendedor AS
SELECT idvendedor
SUM (cantidad * precio) total
FROM pedidos
GROUP by idvendedor
***** BY total DESC

Trigger

Son procedimientos almacenados asociados a una tabla concreta que se ejecutan en un momento anterior o posterior a una transacción explícita, y que ejecutan su código por cada registro afectado por la transación. No se pueden invocar explícitamente, porque su ejecución está asociada a una tabla/transacción/tiempo.

También se conocen como desencadenadores, disparadores o procedimientos almacenados especiales.

Ejemplo antes de insertar una venta verifico si el producto esta disponible en stock, el evento insert dispara el trigger verstock automáticamente.


CREATE TRIGGER verstock BEFORE INSERT ON Ventas
FOR EACH ROW
BEGIN
DECLARE idproducto INT;
IF (idproducto) THEN
SELECT stock FROM productos where id=idproducto;
END IF;
END
;

Procedimientos almacenados

Los procedimientos almacenados y funciones son nuevas funcionalidades de la versión de MySQL 5.0.

Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el servidor. Una vez que se hace, los clientes no necesitan relanzar los comandos individuales pero pueden en su lugar referirse al procedimiento almacenado.


CREATE PROCEDURE Graba_Venta (IN tipoventa INTEGER)
BEGIN
DECLARE tipo CHAR(10);
IF tipoventa = 1 THEN
SET tipo = Minorista';
ELSE
SET tipo = 'Mayorista';
END IF;
INSERT INTO ventas (tipo) VALUES (tipo);
END

Luego se invoca de la siguiente manera
CALL Graba_venta(1)

Otro ejemplo de procedimiento almacenados

CREATE PROCEDURE ProcedimientoInsertar
(
in Nombre varchar(50),
in Telefono varchar(50)
)
BEGIN
insert into contactos(nombre,telefono) values(Nombre,Telefono);
END

Funciones

las funciones almacenadas de mysql son similares a los procedimientos almacenados: son conjunto de comandos que pueden almacenarse en un servidor.

Las funciones están pensadas para devolver parámetros, las funciones pueden ser llamadas dentro de sentencias sql como select, insert, etc. Las funciones no pueden devolver consultas sql, solo sirven para realizar tareas donde necesitemos realizar algún tratamiento de datos, calculo o conversiones.

Por ejemplo
:

CREATE FUNCTION descuento(precio, procentaje FLOAT)
RETURNS FLOAT DETERMINISTIC
BEGIN
DECLARE importedescuento FLOAT;
SET importedescuento = precio*porcentaje/100;
RETURN importedescuento;
END $$

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X