Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I. VISTAS
Podemos definirlas como tablas virtuales que son creadas o generadas a partir de las
tablas de la base de datos y con el uso del T_SQL, aunque los DBMS, también nos
dan la posibilidad de implementarlas mediante entornos gráficos y con el uso de
asistentes. En realidad, la implementación de las vistas surge por la necesidad de
contar con estructuras que permitan visualizar los datos de una forma diferente a
como están almacenadas en las tablas, las mismas que por razones de normalización
tienen que ser fraccionadas para mantener la integridad de los datos, pero cuando se
quiere presentar la información al usuario se deben juntar, para que este tenga una
mejor apreciación de la información.
Las vistas en MySQL (VIEWS) son tablas virtuales. Es decir, tablas que no
guardan ningún dato propiamente dentro de ellas. Solo muestran los datos que están
almacenados en otras tablas (que sí son reales). Siendo así, crear vistas en MySQL
significa mostrar información de una fuente de origen sin necesidad de mostrar ni
exponer a la fuente en sí. En lenguaje técnico, las VIEWS no son más que
SELECT Queries.
Sintaxis general:
Create View Nombre_Vista
As
Consulta del tipo Select
Una vista es un objeto persistente, por lo tanto, para eliminarla del catálogo, hay que
ejecutar:
DROP VIEW nombrevista
Sintaxis general:
DELIMITER//
CREATE PROCEDURE NOMBREPROCEDIMIENTO ([Argumentos])
Begin
Instrucciones;
End//
DELIMITER;
Parámetros
Los parámetros se definen separados por una coma. Los parámetros de los
procedimientos almacenados de MySQL pueden ser de tres tipos:
• IN: Es el tipo de parámetro que se usa por defecto. La aplicación o código que
invoque al procedimiento tendrá que pasar un argumento para este parámetro. El
procedimiento trabajará con una copia de su valor, teniendo el parámetro su valor
original al terminar la ejecución del procedimiento.
• OUT: El valor de este parámetro pude ser cambiado en el procedimiento, y
además su valor modificado será enviado de vuelta al código o programa que
invoca el procedimiento.
• INOUT: Es una mezcla de los dos conceptos anteriores. La aplicación o código
que invoca al procedimiento puede pasarle un valor a éste, devolviendo el valor
modificado al terminar la ejecución.
Ventajas
Inconveniente
Un posible problema puede ocurrir con las migraciones. No todos los sistemas
gestores de bases de datos usan los procedimientos del mismo modo, por lo que se
reduce la portabilidad del código.
III. FUNCIONES
Son similares a los procedimientos almacenados con la diferencia de que estas
siempre retornan un valor y al momento de pasar los parámetros, no se necesita
indicarles si es del tipo input u output, esta característica es propia del MySQL.
Sintaxis General:
Delimiter//
Create function Nombre_funcion([Argumentos]) as Returns TipoDatoDevueve
Begin
Instrucciones;
Return valor_devolver;
End//
Delimiter;
Una función en MySQL es una rutina creada para tomar unos parámetros, procesarlos
y retornar en una salida.
Se diferencian de los procedimientos en las siguientes características:
MySQL viene incluido con una serie de funciones integradas. Las funciones
integradas son simplemente funciones que ya vienen implementadas en el servidor
MySQL. Estas funciones nos permiten realizar diferentes tipos de manipulaciones en
los datos. Las funciones integradas se pueden clasificar básicamente en las siguientes
categorías más utilizadas.
➢ Funciones de cadenas – operan en tipos de datos de cadena.
➢ Funciones numéricas: operan en tipos de datos numéricos.
➢ Funciones de fecha: operan en tipos de datos de fecha.
➢ Funciones agregadas: operan en todos los tipos de datos anteriores y produzca
conjuntos de resultados resumidos.
➢ Otras funciones: MySQL también admite otros tipos de funciones
incorporadas.
IV. TRIGGERS
Son objetos relacionados con tablas y almacenados en la base de datos, que se
ejecutan o se muestran cuando sucede un evento sobre sus tablas asociadas.
Consideraciones:
➢ Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE; que
modifican los datos de una tabla.
➢ Se pueden ejecutar antes (BEFORE) y/o después (AFTER) de que sean
ejecutados los datos.
➢ Tienen dos palabras clave, OLD y NEW; que se refieren a los valores que
tienen las columnas antes y después de la modificación; los INSERT permiten
NEW, los DELETE OLD y UPDATE permiten ambos.
➢ Para nombrar un triggers se debe seguir una convención a fin de reconocer de
manera más fácil sobre que tabla y evento.
Sintaxis general
MSc. Ing. Wilfredo M. Trejo Flores 8
UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad De Ciencias – Escuela Profesional De Ingeniería De Sistemas E Informática
V. GESTIÓN DE USUARIOS
MySQL es un sistema de gestión de bases de datos claramente orientado escritorio y
web, y una de los síntomas en su arquitectura ha venido siendo que la creación de los
usuarios se realiza en la misma sentencia que el permiso (grant) de acceso a una o
varias bases de datos. La orientación de MySQL va cambiando con el tiempo y el
uso que se les da a las bases de datos cada vez trasciende más el entorno web,
actualmente hay tres formas de crear un usuario:
✓ Con la sentencia SELECT current_user(), podemos ver todos los usuarios que
están asignados con una base de datos.
✓ Para asignar privilegios a bases de datos específicas o tablas específicas, se debe
usar GRANT. Utilizando este método, tenemos que forzar que se refresquen las
tablas de permisos usando FLUSH PRIVILEGES.
✓ Con algunos privilegios:
- La forma clásica, con la sentencia GRANT.
- Utilizando la sentencia GRANT podemos crear un usuario a la par que
otorgarle uno o varios privilegios sobre los objetos de una base de datos, o
la base de datos completa.
✓ Quitar privilegios:
- Revoke select on bdejemplo.* from 'manuel'@'localhost' identified by
'trejo';
- REVOKE all ON *.* from ‘trejo’ @'localhost' identified by 'tr';
✓ Eliminar usuarios
- drop user 'trejo'@'localhost'