0% encontró este documento útil (0 votos)
7 vistas7 páginas

BD - Semana 11 - S31-S33

Cargado por

Vladimir Rios
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas7 páginas

BD - Semana 11 - S31-S33

Cargado por

Vladimir Rios
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO

Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas de Informática

BASE DE DATOS SEMESTRE 2024-I


Semana 11– Sesión 29-30-31
SESIÓN SEMANAL DE CLASES

LENGUAJE T_SQL: CREACIÓN DE VISTAS Y PROCEDIMIENTOS


ALMACENADOS

En la presente sesión trabajaremos la implementación de comandos en MySQL:


implementación de vistas y procedimientos almacenado, con la finalidad de determinar
las capacidades de manejo de registros en una base de datos.

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.

Algunas de las ventajas de MySQL y su opción de crear vistas son:


• Control de accesos: de una tabla real, se puede escoger qué información
específicamente se desea compartir con otros usuarios. De este modo, ellos no
tendrán acceso al resto de los datos de la tabla, solo a las VIEWS.

MSc. Ing. Walter J. Medina Lopez 1


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas de Informática

BASE DE DATOS SEMESTRE 2024-I

• Mejora del rendimiento: se pueden crear queries (consultas) a partir de vistas


que han sido extraídas de SELECT complejas. Esto evita tener que
ejecutar queries
• Pruebas seguras: las vistas ofrecen un entorno de tablas de prueba para que los
desarrolladores no afecten la información real.
• Reusabilidad de consultas: gracias a las vistas, no se deben crear consultas
complejas que requieran uniones de manera repetida.
• Mantenimiento de la integridad: al crear aplicaciones y usar las VIEWS en vez
de las tablas reales se garantiza que dichas aplicaciones no se rompan cuando se
realicen cambios en la estructura de la base de datos.

Algunos recursos de información técnica para crear vistas en MySQL en su versión


más reciente son:
• Uso de las sentencias CREATE VIEW y OR REPLACE para crear vistas o
reemplazar una existente.

• Restricciones sobre las VIEWS.


El número máximo de tablas a las que se puede hacer referencia en la
definición de una vista es 61. No es posible crear un índice en una vista.

Crear vistas en MySQL es un método que ofrece seguridad y alto rendimiento


en todo tipo de desarrollo basado en este motor de base de datos. Su
implementación técnica es sencilla. Sin embargo, requiere de personal
capacitado tanto para la creación de las VIEWS como para el desarrollo en conjunto.
Sintaxis general:
Create View Nombre_Vista
As
Consulta del tipo Select

Para consultar la información guardada en la vista se tiene que realizar la consulta:

Select * from nombrevista;

MSc. Ing. Walter J. Medina Lopez 2


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas de Informática

BASE DE DATOS SEMESTRE 2024-I

Una vista es un objeto persistente, por lo tanto, para eliminarla del catálogo, hay que
ejecutar:
DROP VIEW nombrevista

También se puede consultar la definición de una vista ya definida (aunque esto ya es


particular de MySQL, en otros gestores tienen sus propios métodos):
SHOW CREATE VIEW nombrevista

MSc. Ing. Walter J. Medina Lopez 3


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas de Informática

BASE DE DATOS SEMESTRE 2024-I


II. PROCEDIMIENTOS ALMACENADOS

Vienen a ser un conjunto de instrucciones que se guarda en un archivo generalmente


de texto, en el cual se puede realizar diferentes cálculos, búsquedas y visualizaciones
de la información que esta almacenada en la base de datos. Nos permiten generar y
visualizar la información de una manera más dinámica en comparación con otras
formas y además cuando se implementan aplicaciones, nos facilitan la separación de
la lógica de la aplicación en diferentes capas.

Un procedimiento almacenado MySQL no es más que una porción de código que


puedes guardar y reutilizar. Es útil cuando repites la misma tarea repetidas veces,
siendo un buen método para encapsular el código. Al igual que ocurre con las
funciones, también puede aceptar datos como parámetros, de modo que actúa en base
a éstos. Para poder crear un procedimiento almacenado es necesario que tengas
permisos INSERT y DELETE sobre la base de datos.

Sintaxis general:
DELIMITER//
CREATE PROCEDURE NOMBREPROCEDIMIENTO ([Argumentos])
Begin
Instrucciones;
End//
DELIMITER;

Luego de creado el procedimiento quedara formando parte de la base de datos como


un objeto más de la misma. Posteriormente podremos utilizar el procedimiento para
lo cual lo llamaremos siguiendo la siguiente sintaxis.
Call nombreprocedimiento([Valores de los argumentos]);

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:

MSc. Ing. Walter J. Medina Lopez 4


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas e Informática

BASE DE DATOS SEMESTRE 2022-II


Semana 10– Sesión 29-30
• 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.

Procedimientos sin parámetros de entrada: Son aquellos procedimientos que entre


los paréntesis no llevan ningún argumento.

Procedimientos con parámetros de entrada: Para enviarle un argumento de


entrada a un procedimiento debemos anteponerle al nombre del argumento la palabra
reservada IN; pero si no le ponemos nada MySQL lo interpreta por defecto como un
parámetro de entrada.

MSc. Ing. Walter J. Medina Lopez. 5


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas e Informática

BASE DE DATOS SEMESTRE 2022-II


Semana 10– Sesión 29-30

MSc. Ing. Walter J. Medina Lopez. 6


UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
Facultad de Ciencias – Escuela Profesional de Ingeniería de Sistemas e Informática

BASE DE DATOS SEMESTRE 2022-II


Semana 10– Sesión 29-30

Ventajas
Al reducir la carga en las capas superiores a la aplicación, se reduce el tráfico de
red y, si el uso de los procedimientos almacenados es el correcto, puede mejorar el
rendimiento.
Al encapsular las operaciones en el propio código SQL, nos aseguramos de que el
acceso a los datos es consistente entre todas las aplicaciones que hagan uso de ellos.
En cuanto a seguridad, es posible limitar los permisos de acceso de usuario a los
procedimientos almacenados y no a las tablas directamente. De este modo evitamos
problemas derivados de una aplicación mal programada que haga un mal uso de las
tablas.

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.

MSc. Ing. Walter J. Medina Lopez. 7

También podría gustarte