Вы находитесь на странице: 1из 33

Fundamentos

de Base de
Datos
S EMANA 1 4

S E L E C T, A G R U PA M I E N T O, V I S TA S –
I NT RODUCCI ÓN A T RANSACT S QL
Logro
Crea vistas usando Transact SQL para el desarrollo de
consultas.
Contenido
1) Agrupamiento y Funciones
2) Vistas
3) Introducción a Transact SQL
4) Conclusiones
SELECT – Mostrar información
La sintaxis del comando SELECT es la siguiente:

SELECT [*], lista_de_campos


[ FROM tabla ] [ WHERE condicion ]
[ GROUP BY expression_de_grupo ]
[ HAVING condition_de_grupo ]
[ ORDER BY campo [ ASC | DESC ] ]
Ejemplo: SELECT
Group by y Having
Observa y analiza
GROUP BY
Ejemplo 01: # PRODUCTOSx CATEGORIA
GROUP BY / HAVING
Ejemplo 02: # PRODUCTOSx CATEGORIA
cuando el Nro de productos sea >4
Ejercicio propuesto
Calcular el total de cada boleta
Que es una vista?
a) Es una tabla virtual o una consulta almacenada, donde los datos
accesibles no están almacenados en la vista
b) Lo que se almacena es una instrucción SELECT y el resultado forma
la tabla virtual
c) El usuario puede utilizar dicha tabla virtual haciendo referencia al
nombre de la vista en instrucciones SQL
d) Restringe el acceso a filas y columnas
e) Combina columnas de varias tablas en una sola tabla
f) Agrega información en lugar de presentar los detalles
Razones para usar vistas
•Seguridad, nos pueden interesar que los usuarios tengan acceso a una
parte de la información que hay en una tabla, pero no a toda la tabla.
•Comodidad, como hemos dicho el modelo relacional no es el más
cómodo para visualizar los datos, lo que nos puede llevar a tener que
escribir complejas sentencias SQL, tener una vista nos simplifica esta
tarea.
VISTA en un tabla
Cod Nom Ape Direc FecNac Estado Ruc Telef FecIng Sueldo
Como creamos una vista
Para crear una vista utilice la sentencia CREATE VIEW,
proporcionando un nombre a la vista y una sentencia SQL
SELECT válida.

CREATE VIEW <nombre_vista>


AS
(<sentencia_select>);
Ejemplo 01 - Vistas
Crear una vista sobre la tabla Productos, en la que se nos
muestre los datos de los productos y el nombre de categoría
en lugar de su código.
Como ejecutar una vista
SELECT * FROM <Nombre_Vista>

Ejemplo:

Procederemos a ejecutar la vista creada en el Ejemplo 01

SELECT * FROM VI_LISTA1


Programación en SQL SERVER
¿Transact SQL?
Transact SQL proporciona palabras clave especiales
llamadas lenguaje de control de flujo que permiten controlar el flujo de
ejecución de las instrucciones.

El lenguaje de control de flujo se puede utilizar en instrucciones sencillas,


lotes, procedimientos almacenados y disparadores.
T-SQL que es una variable?
Una variable es un espacio de memoria a la que se asigna un determinado valor. Este
valor puede cambiar durante el lote o el procedimiento almacenado donde se utiliza la
variable:
SQL SERVER

Proporciana Definidas por el


Locales
usuario
2 tipos de variables
Suministra el sistema,
Globales
solo se invoca
Que tener en cuenta de las variables
• Las variables locales se declaran, nombran y escriben
mediante la palabra clave DECLARE, y reciben un
valor inicial mediante una instrucción SELECT o SET.

• Los nombres de las variables locales deben empezar


con el símbolo “@”.

• A cada variable local se le debe asignar un tipo de


dato definido por el usuario.
Declaración de variables
DECLARE @VARIABLE TIPO_DATOS.

Asignando valores a las variables


SET @VARIABLE = VALOR O SENTENCIA

SELECT @VARIABLE = VALOR O SENTENCIA


Programación en SQL SERVER
Ejemplo 01
Declarar la variable edad de tipo entero, asignarle un
valor y mostrarlo mediante la sentencia SELECT
declare @edad int
set @edad = 18
select @edad
Otra Forma:
declare @edad int=18
select @edad
Ampliación
Nota: Se puede declarar y asignar en una misma línea; si
necesita realizar más declaraciones y asignaciones será cuestión
de separarlos por comas

declare @edad int = 10


print @edad
Ejemplo 02
Si la impresión está acompañada de un texto representativo del valor se
debe tener en cuenta que los valores sean de tipo Char o Varchar, de
otra manera tendríamos que aplicar la sentencia CAST o CONVERT.

CAST(VARIABLE O VALOR AS TIPO_DATOS)


CONVERT(TIPO_DATOS, VARIABLE O VALOR)

declare @edad int = 18


select 'El numero es: '+CAST(@edad as varchar(10))
Ejemplo 03
Script que permita calcular el promedio de un determinado alumno, el
cual cuenta con cuatro notas y estas son de tipo entero:

DECLARE @NOMBRE VARCHAR (30) =‘INGRID CHUNG', @N1 INT = 10,


@N2 INT = 16, @N3 INT = 15,
@N4 INT =20, @PROM DECIMAL (5, 2)
SET @PROM = (@N1 + @N2 + @N3 + @N4)/4.0
SELECT @NOMBRE AS ALUMNO, @PROM AS PROMEDIO
Procedimiento Almacenado
Procedimiento Almacenado
características
1. Se almacenan en la propia Base de Datos y constituyen un objeto
más dentro de ésta.

2. Tienden a mejorar el rendimiento de los sistemas producto a que


reducen en intercambio entre cliente y servidor.

3. Los procedimientos almacenados son reutilizables, de manera


que los usuarios mediante la aplicación cliente no necesitan relanzar
los comandos individuales, sino que pueden llamar el procedimiento
para ejecutarlo en el servidor tantas veces como sea necesario.
Que puede incluir los Procedimientos
Almacenados
• Incluir parámetros
• Llamar a otros procedimientos
• Devolver un valor de estado a un procedimiento de llamada o lote para indicar el
éxito o el fracaso del mismo y la razón de dicho fallo.
• Devolver valores de parámetros a un procedimiento de llamada o lote
• Ejecutarse en SQL Server remotos
Sintaxis para crear Procedimientos
Almacenados
PRIMERA FORMA: SEGUNDA FORMA:

CREATE PROCEDURE NOMBRE CREATE PROCEDURE NOMBRE


AS AS
SENTENCIAS BEGIN
GO SENTENCIAS
END
GO

TERCERA FORMA:

IF OBJECT_ID('SP_LISTA') IS NOT NULL


DROP PROCEDURE NOMBRE
GO
CREATE PROCEDURE NOMBRE
AS
SENTENCIA
GO
Sintaxis para ejecución
Procedimientos Almacenados
¿Cómo se ejecuta un P.A.?

EXECUTE Nombre del procedimiento

NOTA: Se puede colocar las cuatro primeras letras:

EXEC Nombre del procedimiento

Si necesitamos visualizar el bloque de sentencias que compone


el procedimiento almacenado puede usar la siguiente sentencia:

EXEC SP_HELPTEXT 'NOMBRE DEL PROCEDIMIENTO‘


Procedimientos Almacenados
1. Listar boletas y el Total de c/boleta
Conclusiones
▪ Agrupamientos y Funciones agregadas
▪ Vistas
▪ Introducción a Transact-SQL

Вам также может понравиться