2349 - Base de Datos - CL3 - T2GN - 01 - Walter Napan

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

INSTITUTO DE EDUCACIÓN SUPERIOR CIBERTEC

DIRECCIÓN ACADÉMICA
CARRERAS PROFESIONALES

CURSO : Base de Datos


PROFESOR : Walter Javier Napán Tarmeño
SEMESTRE : 2020-II
CICLO : Segundo
SECCIÓN : T2GN_01
FECHA : Diciembre del 2020
DURACIÓN : 48 horas.

ALUMNO (A) :LOYOLA ZERRILLO CRISTOPHER

EVALUACION DE LABORATORIO (CL3)

LOGRO
Tenga presente que, al término del curso, usted, diseña, crea e implementa una base de datos
para un proceso de negocio que contenga la implementación de reglas de negocio, vistas
(view), agrupamientos de datos (Group By) y procedimientos almacenados (stored procedure),
haciendo uso del lenguaje de programación Transact – SQL y el gestor de base de datos SQL
SERVER 2016

Consolidado

Puntaje Llenar solo en caso de Recalificación justificada


Pregunta
Máximo Obtenido Sustento Puntaje
1 3
2 4
3 3
4 5
5 5

Nota Recalificada
Parte I

CASO: Empresa “NEPTUNO”

La empresa NEPTUNO desea llevar el control de los productos a partir de la categoría y


proveedor.

Se ha creado una base de datos donde se almacenan los siguientes datos:

- Categorías: Id de categoría, nombre y descripción.

- Proveedor: Id de proveedor, nombre de la compañía, contacto, cargo, dirección,


ciudad

- Producto: Id de producto, nombre, proveedor, categoría, precio unitario, unidades en


existencia.

- Clientes: Id del cliente, nombre, contacto, dirección, ciudad, región.

- Empleados: Id del empleado, apellidos, nombres, cargo, fecha de nacimiento, fecha de


contratación, ciudad, región, país.

- Pedidos: Id del pedido, cliente, empleado, fecha de pedido, fecha de entrega,


destinatario, ciudad, región país destinatario.

- Detalles de Pedido: Id del pedido, id del Producto, precio unidad, cantidad, descuento

Se cuenta con el siguiente modelo relacional:

Ejecute un script de creación y de la estructura de la base de datos, así como del


ingreso de datos para cada tabla proporcionando por el profesor.
Parte II
A partir del caso propuesto y de lo ejecutado, resuelva las preguntas que se le proponen a
continuación.

1. Liste el Id del producto, descripción, precio por unidad, dónde los precios sean menores al
precio promedio de productos. Además, considere que la lista debe visualizar los cinco
primeros productos con los precios más caros.

select top 5 idproducto, categoriaProducto, precioUnidad


from productos
where precioUnidad<(select avg(precioUnidad) from productos)
go

2. Cree una vista que liste Id de pedido, fecha de pedido, destinatario, Id de producto,
nombre, precio unidad, cantidad pedida y descuento. A continuación, realice una consulta
usando la vista para mostrar los pedidos cuyo destinatario contenga la letra
“B”,”A”,”N”,”T”, con fecha de pedido a partir de 2011, con una cantidad pedida entre 4 y
40.

CREATE VIEW V_PEDIDO


AS
SELECT
P.IdPedido AS 'ID DE PEDIDO',
P.FechaPedido AS 'FECHA',
P.Destinatario AS 'DESTINATARIO',

D.idproducto AS 'ID DEL PRODUCTO',


D.preciounidad AS 'PRECIO UNIDAD',
D.cantidad AS 'CANTIDAD PEDIDA',
D.descuento AS 'DESCUENTO'

FROM Pedidos P INNER JOIN detallesdepedidos D


ON P.IdPedido = D.idproducto INNER JOIN detallesdepedidos PD ON D.preciounidad =
PD.preciounidad
GROUP BY P.IdPedido, P.FechaPedido, P.Destinatario, D.preciounidad, D.cantidad,
D.cantidad

SELECT V.[ID DE PEDIDO],


V.FECHA,
V.DESTINATARIO,
V.[CANTIDAD PEDIDA]
FROM V_PEDIDO V
WHERE V.DESTINATARIO LIKE '[BANT]%' AND
YEAR(V.FECHA) >=2011 AND
V.[CANTIDAD PEDIDA] IN(SELECT V.[CANTIDAD PEDIDA] FROM V_PEDIDO DI WHERE DI.
[CANTIDAD PEDIDA] BETWEEN 4 AND 40)

Rúbrica
Excelente: Bueno: Regular: Deficiente:
Puntos
4 puntos 3 puntos 1.5 punto 0 puntos
4 puntos Crea correctamente Crea la vista con todos Crea la No desarrolla o
la vista con todos los los campos solicitados vista con tiene errores.
campos solicitados de tres tablas. todos los
de tres tablas. campos
Utiliza una consulta solicitado
Utiliza una consulta para ejecutar la vista
s de las
para ejecutar la vista creada, haciendo uso
creada, haciendo uso de la selección de tres
de la selección de datos (filtros). tablas.
datos (filtros).
Utiliza comparación de
Utiliza comparación cadenas con LIKE y la
de cadenas con LIKE, función YEAR.
función YEAR y rango
de valores con
BETWEEN.

3. Cree el procedimiento almacenado que reciba como parámetro el Id de proveedor y


devuelva todos los datos de los productos de dicho proveedor.

CREATE PROCEDURE PRO_PROOVE


@IDPRO CHAR(30)
AS
BEGIN
SELECT
idProveedor,
nombreCompañia,
nombrecontacto,
cargocontacto,
direccion,
ciudad,
region,
codPostal,
pais,
telefono,
fax,
paginaprincipal
FROM proveedores
Where idProveedor = @IDPRO
END
EXECUTE PRO_PROOVE '1'

Rúbrica
Excelente: Bueno: Regular: Deficiente:
Puntos
3 puntos 2 puntos 1 punto 0 puntos
3 Crea correctamente el Crea el procedimiento Crea el No
puntos procedimiento almacenado utilizando procedimient desarrolla
almacenado utilizando dos tablas y con todas o o tiene
dos tablas y con todas las condiciones almacenado errores.
las condiciones solicitadas. utilizando
solicitadas. dos tablas,
Pasa el parámetro de sin
Pasa el parámetro de forma correcta. considerar
forma correcta. las
condiciones.
Prueba el
procedimiento
almacenado.

4. Cree un procedimiento almacenado que actualice la dirección de un proveedor. La nueva


dirección se debe enviar como parámetro, así como, el id de proveedor a actualizar. Valida
que el código de proveedor exista, de lo contrario, envía un mensaje de error.

CREATE PROCEDURE ACTUALIZAR


@DIREPROVE VARCHAR(150),
@IDPROVE CHAR(50)
AS
BEGIN
UPDATE
proveedores SET
direccion = @DIREPROVE
WHERE idProveedor = @IDPROVE
IF EXISTS(SELECT*FROM proveedores P WHERE P.idProveedor = @DIREPROVE)
BEGIN
SELECT*FROM proveedores P
where P.direccion = @DIREPROVE
END
ELSE
BEGIN
SELECT 'ERROR'
END
END

EXEC ACTUALIZAR 'Asc Prop. MZ G LT5 Puente piedra','589'

Rúbrica
Excelente: Bueno: Regular: Deficiente:
Puntos
5 puntos 3.5 puntos 2 puntos 0 puntos
Crea correctamente el Crea el Crea el No desarrolla
procedimiento procedimiento procedimiento o tiene
almacenado para la almacenado almacenado con errores.
actualización de registros. para la inconsistencias.
Pasa los parámetros de actualización de
forma correcta. registros.
5
puntos Valida que el código Pasa los
exista, de lo contrario, parámetros de
envía un mensaje de forma correcta.
error.
Prueba el
Prueba el procedimiento procedimiento
almacenado. almacenado.
5. Cree una vista que muestre el Id del producto, nombre, nombre de la compañía del
proveedor, Id de categoría, nombre de la categoría. Luego, utilizando la vista, cree un
procedimiento almacenado que reciba como parámetro el Id de categoría y devuelva su
nombre y la cantidad de productos de esa categoría. Utilice alias para los títulos de los
campos al crear la vista.

CREATE VIEW VISTA_PRODUCTO


AS
SELECT
D.idproducto AS 'IDPROD',
D.nombreProducto AS 'NOMPRO',

P.nombreCompañia AS 'NAMECOM',

C.idcategoria AS 'IDCAT',
C.nombrecategoria AS 'NAMECAT'

FROM categorias C,proveedores P, productos D

Rúbrica
Excelente: Bueno: Regular: Deficiente:
Puntos
5 puntos 4 puntos 2.5 puntos 1 punto
Crea correctamente Crea la vista Crea la vista Crea la vista
la vista utilizando tres utilizando tres utilizando tres utilizando dos
tablas y considerando tablas. tablas. tablas.
el alias para los Crea el
títulos de los campos. Crea el procedimiento
procedimiento almacenado
Crea el almacenado utilizando la
procedimiento utilizando la vista, pero no
5
almacenado vista y considera
punto
utilizando la vista y empleando agrupamiento
s empleando agrupamiento de de datos ni la
agrupamiento de datos y función función
datos y función agregada. agregada.
agregada.

Prueba el
procedimiento
almacenado.

También podría gustarte