Basededatos 3
Basededatos 3
Basededatos 3
Diplomado en Programación
Bases de Datos Relacionales
SQL (MySQL – MariaDB)
Parte 3
@ingenieriadigitalsc
FACILITADOR: ING. ESP. VIDERMID SÁNCHEZ
+584147464801
DML
Data Manipulation Language
- Los procedimientos pueden retornar varios parámetros de salida y las funciones solo
retornan una sola variable.
- Las funciones se pueden llamar en cualquier sentencia de SQL y los procedimientos solo se
pueden llamar mediante call. Incluso se puede llamar una funcion dentro de un
procedimiento.
DML
Data Manipulation Language
Ejemplo de Procedimiento:
delimiter //
create procedure calcular_p(in v1 int,in v2 int,out res_sum int,out res_mul int)
begin
select v1+v2,v1*v2 into res_sum,res_mul;
end//
delimiter ;
Ejecución:
set @suma=0;
set @multi=0;
call calcular_p(4,4,@suma,@multi);
select @suma,@multi;
DML
Data Manipulation Language
Ejemplo de Función:
delimiter //
create function calcularSuma_f(n1 int,n2 int) returns int
begin
set @rSuma=0;
select n1+n2 into @rSuma;
return @rSuma;
end//
delimiter ;
Ejecución:
select calcularSuma_f(6,5);
DML
Data Manipulation Language
delimiter //
create procedure calcular_p(in v1 int,in v2 int,out res_sum int,out res_mul int)
begin
select calcularSuma_f(v1,v2),v1*v2 into res_sum,res_mul;
end//
delimiter ;
Ejecución:
set @suma=0;
set @multi=0;
call calcular_p(6,5,@suma,@multi);
select @suma,@multi;
DDL
Lenguaje de definición de datos
Creando una nueva tabla para registrar la auditoria del sistema:
Ejemplo:
Ejemplo:
delimiter //
create trigger visor after insert on actor
for each row
begin
insert into auditoria (novedad)
value (concat('Se ha registrado un nuevo actor con el nombre de: ',new.nombre,
' con el Id: ',new.id_actor));
end//
delimiter ;
DML
Data Manipulation Language
Ejemplo:
INSERT INTO actor (id_actor,nombre,pais,sexo,fecha_nacimiento,comision) VALUES
('000333','VIN DIESEL','USA','M','1978-07-18',9999.99),
('000339','MICHELLE RODRIGUEZ','USA','F','1978-07-12',8888.99);
DCL
Data Control Language
Es un lenguaje que incluye una serie de comandos SQL. Como los anteriores, es
proporcionado por los sistemas gestores de bases de datos. Sus siglas son DCL por su
nombre en inglés, Data Control Language.
• Los privilegios de los Usuarios son los permisos que tiene para actualizar, insertar,
eliminar e incluso consultar los datos de la Base de Datos, además, se contemplan
permisos de administras Bases de Datos y Tablas.
• Hasta este momento hemos utilizado el usuario ”root”, quien tiene la mayor
jerarquía, para gestionar nuestras Bases de Datos y Tablas en MySQL, pero se
recomienda que para trabajo profesional se creen Usuarios con perfiles específicos y
limitados para evitar comprometer la información almacenada en nuestro Servidor
de producción.
Crear Usuario
grant usage on db.tabla to usuario@servidor identified by “pass”;
Crear Usuario para una base de datos especificas y todas sus tablas
grant usage on movies.* to administrador identified by '12345678';
grant usage on movies.* to administrador@127.0.0.1 identified by '12345678';
Eliminar Usuario
drop user administrador@127.0.0.1;
Quitar permisos
revoke all privileges on *.* from administrador@127.0.0.1;
Actualizar permisos
flush privileges;
Consultar permisos
show grants for administrador@127.0.0.1;
DCL
Data Control Language
Migración de un SGBD a otro
https://www.dbsofts.com/es/