Está en la página 1de 9

UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO

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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20
SESIÓN SEMANAL DE CLASES

IMPLEMENTACIÓN DE VISTAS Y PROCEDIMIENTOS ALMACENADOS EN


SQL SERVER

En la presente sesión trabajaremos la implementación de vistas y procedimientos


almacenados en SQL Server, con la finalidad de determinar las capacidades de
administración de base de datos bajo el entorno de SQL Server, teniendo en cuenta el
siguiente modelo:

I. VISTAS
Una vista es una tabla virtual cuyo contenido se define mediante una consulta. Al igual
que una tabla, una vista consta de un conjunto de columnas y filas de datos con nombre.
Las filas y columnas de datos provienen de tablas a las que se hace referencia en la
consulta que define la vista y se producen dinámicamente cuando se hace referencia a la
vista.

MSc. Ing. Wilfredo M. Trejo F. 1


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20

Una vista actúa como un filtro en las tablas subyacentes a las que se hace referencia en
la vista. La consulta que define la vista puede ser de una o más tablas o de otras vistas
en la base de datos actual o en otras.

Las vistas generalmente se usan para enfocar, simplificar y personalizar la percepción


que cada usuario tiene de la base de datos. Las vistas se pueden usar como mecanismos
de seguridad al permitir que los usuarios accedan a los datos a través de la vista, sin
otorgarles permisos para acceder directamente a las tablas base subyacentes de la vista.
Las vistas se pueden usar para proporcionar una interfaz compatible con versiones
anteriores para emular una tabla que solía existir, pero cuyo esquema ha cambiado. Las
vistas también se pueden usar cuando copia datos hacia y desde SQL Server para mejorar
el rendimiento y particionar datos.
Consultas en SQL:

Vistas en SQL:

MSc. Ing. Wilfredo M. Trejo F. 2


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20

OBJECT_ID, es una de las funciones más utilizadas y nos permite prevenir errores como
en TRY .. CATCH. Uno de sus usos es principalmente para ver la existencia de objetos.
Podemos comprobar:
AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
PK = PRIMARY KEY constraint
P = SQL stored procedure
PC = Assembly (CLR) stored procedure
FN = SQL scalar function
FS = Assembly (CLR) scalar function
FT = Assembly (CLR) table-valued function
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SQ = Service queue
TA = Assembly (CLR) DML trigger
TR = SQL DML trigger
IF = SQL inline table-valued function
TF = SQL table-valued-function
U = Table (user-defined)

MSc. Ing. Wilfredo M. Trejo F. 3


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20
UQ = UNIQUE constraint
V = View
X = Extended stored procedure
IT = Internal table

II. PROCEDIMIENTO ALMACENADO

Un procedimiento almacenado (STORE PROCEDURE) está formado por un conjunto


de instrucciones Transact-SQL que definen un determinado proceso a ejecutar, puede
aceptar parámetros de entrada y devolver un valor o conjunto de resultados. Este
procedimiento se guarda en el servidor y puede ser ejecutado en cualquier momento.

Los procedimientos almacenados se crean mediante la sentencia CREATE


PROCEDURE y se ejecutan con EXEC (o EXECUTE).

Para ejecutarlo también se puede utilizar el nombre del procedimiento almacenado sólo,
siempre que sea la primera palabra del lote. Para eliminar un procedimiento almacenado
utilizamos la sentencia DROP PROCEDURE.

Un procedimiento almacenado es un conjunto de instrucciones de T-SQL que SQL


Server compila, en un único plan de ejecución, los llamados "store procedures" se
encuentran almacenados en la base de datos, los cuales pueden ser ejecutados en
cualquier momento.

Se pueden emplear cuatro métodos para crear procedimientos almacenados, utilizando:


• El Transact-SQL (T-SQL).
• El Administrador Corporativo de SQL Server.
• El asistente para La Creación de Procedimientos Almacenados (Create Store
Procedure Wizard).

MSc. Ing. Wilfredo M. Trejo F. 4


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20
• Los objetos de Administración distribuida de SQL (SQL Distributed Management

Objects, SQL-DMO).

Los procedimientos almacenados se utilizan para agrupar las instrucciones de T-SQL y


cualquier lógica asociada necesaria para llevar a cabo una tarea.

Cuando un procedimiento almacenado es ejecutado por primera vez se compila, se crea


y se guarda en memoria su plan de ejecución., luego SQL utiliza ese plan de ejecución
cuando se vuelve a llamar al procedimiento sin volver a compilarlo nuevamente.

Nos proporcionan a nosotros los usuarios un acceso fácil a la base de datos, se puede
tener acceso a la base de datos sin tener que conocer los detalles de la arquitectura de
tablas, simplemente se ejecutan los procedimientos almacenados que llevan a cabo las
tareas solicitadas. Los procedimientos almacenados pueden aceptar datos de entrada,
utilizar variables locales y devolver datos.

Tipos de Procedimientos Almacenados:


• Procedimientos Almacenados del sistema, se utilizan para administrar el SQL
Server y para mostrar información sobre base de datos y sobre usuarios.
• Procedimientos almacenados Extendidos, son bibliotecas de vínculos dinámicos
(dynamic-link libraries, DLLs) que SQL puede cargar y ejecutar de manera
dinámica.
• Procedimientos Almacenados sencillos definidos por el usuario, son los
procedimientos creados por los usuarios y están personalizados para llevar a cabo
la tarea deseada por el usuario.

Los procedimientos almacenados ofrecen ventajas importantes:


• Rendimiento: al ser ejecutados por el motor de base de datos ofrecen un
rendimiento inmejorable ya que no es necesario transportar datos a ninguna parte.

MSc. Ing. Wilfredo M. Trejo F. 5


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20
Cualquier proceso externo tiene una penalidad de tiempo adicional dada por el
transporte de datos.
• Potencia: el lenguaje para procedimientos almacenados es muy potente. Permiten
ejecutar operaciones complejas en pocos pasos ya que poseen un conjunto de
instrucciones avanzado.
• Centralización: al formar parte de la base de datos los procedimientos
almacenados están en un lugar centralizado y pueden ser ejecutados por cualquier
aplicación que tenga acceso a la misma.

Los procedimientos almacenados de SQL se pueden usar en SQL Server, Azure SQL
Database, Azure Synapse Analytics (SQL DW) y en Almacenamiento de datos paralelos.
Para crear un procedimiento almacenado en Transact-SQL se puede usar el SQL Server
Management Studio o el editor de consultas de Transact-SQL.

Los procedimientos almacenados de SQL pueden ser instrucciones de tipo Transact-SQL


o referencias a un método de Common Runtime Language (CLR) de .NET. Dichas
instrucciones se encuentran almacenadas de forma física con un nombre dentro de la
base de datos.

Los procedimientos almacenados de SQL sirven para:


• Recibir parámetros de entrada y devolver valores de salida como resultado a un
programa que realice una llamada.
• Ejecutar instrucciones de programación que ejecutan acciones dentro de la base
de datos.
• Devolver valores de estados que permiten saber si la operación de un programa
se ha realizado de forma exitosa o no.

MSc. Ing. Wilfredo M. Trejo F. 6


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20

MSc. Ing. Wilfredo M. Trejo F. 7


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20

MSc. Ing. Wilfredo M. Trejo F. 8


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

ADMINISTRACIÓN DE BASE DE DATOS SEMESTRE 2022-I


Semana 10 – Sesión 19-20

MSc. Ing. Wilfredo M. Trejo F. 9

También podría gustarte