Está en la página 1de 4

Actividad virtual

Alumna: Nolasco Hurtado


PARTE A
i. Enviar imagen de base datos creada y diagrama de base de datos
ii. Crear un script SQL que permita agregar datos a las tablas: Cliente, Tarjeta, Pedido y

PedidoDetalle. No menos de cinco registros por tabla.


select*from cliente
go

SET IDENTITY_INSERT [dbo].[Cliente] ON


GO
INSERT [dbo].[Cliente] ([Id], [Nombres], [Apellidos],[Dni],[Telefono],[Correo],
[Direccion])
VALUES (1, 'Patricia','Nolasco
Reyes','43356545','4503490','patnol@hotmail.com','Av. Los Lirios 276')
GO
INSERT [dbo].[Cliente] ([Id], [Nombres], [Apellidos],[Dni],[Telefono],[Correo],
[Direccion])
VALUES (2,
'Luis','Trigueros','53852549','2767541','lTrigueros1290@gmail.com','Av. Los
Proceres 1135')
GO
INSERT [dbo].[Cliente] ([Id], [Nombres], [Apellidos],[Dni],[Telefono],[Correo],
[Direccion])
VALUES (3, 'Sonia','Moreno
Tenorio','45332266','2749076','sony280@gmail.com','Calle las Amapolas 234')
GO
INSERT [dbo].[Cliente] ([Id], [Nombres], [Apellidos],[Dni],[Telefono],[Correo],
[Direccion])
VALUES (4, 'Rodrigo','Sotomayor
Rios','10653977','2763487','RodrigoSR@gmail.com','Av. El Sol 799')
GO
INSERT [dbo].[Cliente] ([Id], [Nombres], [Apellidos],[Dni],[Telefono],[Correo],
[Direccion])
VALUES (5, 'Carlos','Arrue Perez','40594869','4503890','CarArrPe@gmail.com','Av.
Pedro Miotta 3298')
GO
SET IDENTITY_INSERT [dbo].[Cliente] OFF
GO
select * from tarjeta
go
SET IDENTITY_INSERT [dbo].[Tarjeta] ON
GO
INSERT [dbo].[Tarjeta] ([Id], [Marca], [Numero])
VALUES (1, 'Visa','2345-6678-8765-4567')
GO
INSERT [dbo].[Tarjeta] ([Id], [Marca], [Numero])
VALUES (2, 'Visa','3399-4512-8809-5554')
GO
INSERT [dbo].[Tarjeta] ([Id], [Marca], [Numero])
VALUES (3, 'Master Card','2234-1234-6578-3456')
GO
INSERT [dbo].[Tarjeta] ([Id], [Marca], [Numero])
VALUES (4, 'Visa','6578-4903-4531-3456')
GO
INSERT [dbo].[Tarjeta] ([Id], [Marca], [Numero])
VALUES (5, 'Master Card','3456-2292-4343-8161')
GO
SET IDENTITY_INSERT [dbo].[Tarjeta] OFF
GO

SELECT*FROM PEDIDO
GO
SET IDENTITY_INSERT [dbo].[Pedido] ON
GO
INSERT [dbo].[Pedido] ([Id], [IdCliente], [IdTarjeta],[FechaHora],[Estado],
[Total])
VALUES (1, 1,3,'2007-05-08 12:35:29','Entregado',537.50)
GO
INSERT [dbo].[Pedido] ([Id], [IdCliente], [IdTarjeta],[FechaHora],[Estado],
[Total])
VALUES (2,3,1,'2020-09-11 14:20:11.123','Entregado',1000.00)
GO
INSERT [dbo].[Pedido] ([Id], [IdCliente], [IdTarjeta],[FechaHora],[Estado],
[Total])
VALUES (3, 4,2,'2021-03-10 13:12:15','Entregado',325)
GO
INSERT [dbo].[Pedido] ([Id], [IdCliente], [IdTarjeta],[FechaHora],[Estado],
[Total])
VALUES (4,3,4,'2021-01-06 14:20:11.123','Entregado',250.25)
GO
INSERT [dbo].[Pedido] ([Id], [IdCliente], [IdTarjeta],[FechaHora],[Estado],
[Total])
VALUES (5,5,1,'2021-30-09 10:15:45.567','Entregado',250.25)
GO
SET IDENTITY_INSERT [dbo].[Pedido] OFF
GO

SELECT*FROM PedidoDetalle
GO
SET IDENTITY_INSERT [dbo].[PedidoDetalle] ON
GO
INSERT [dbo].[PedidoDetalle] ([Id], [IdPedido], [IdProducto],[Cantidad],
[PrecioUnitario],[SubTotal])
VALUES(1,2,1,2,256.50,513)
INSERT [dbo].[PedidoDetalle] ([Id], [IdPedido], [IdProducto],[Cantidad],
[PrecioUnitario],[SubTotal])
VALUES(2,2,2,2,449,898)
INSERT [dbo].[PedidoDetalle] ([Id], [IdPedido], [IdProducto],[Cantidad],
[PrecioUnitario],[SubTotal])
VALUES(3,3,3,3,109,327)
INSERT [dbo].[PedidoDetalle] ([Id], [IdPedido], [IdProducto],[Cantidad],
[PrecioUnitario],[SubTotal])
VALUES(4,4,1,1,256.50,256.50)
INSERT [dbo].[PedidoDetalle] ([Id], [IdPedido], [IdProducto],[Cantidad],
[PrecioUnitario],[SubTotal])
VALUES(5,5,3,2,109,218)
SET IDENTITY_INSERT [dbo].[PedidoDetalle] OFF
GO

iii. Crear un script SQL que permita consultar los pedidos existentes en la BD, debe tener las

siguientes columnas:  Id del Pedido

 Fecha (sin hora) del Pedido

 Estado del Pedido

 Monto total del Pedido

 Nombres y apellidos del Cliente

 Marca de la Tarjeta

 Número de la Tarjeta
Ordenar ascendentemente por Nombre del Cliente y luego por Fecha del Pedido.
select p.Id,convert (date,p.FechaHora) as Fecha
,p.Estado,p.Total,c.Nombres,c.Apellidos,t.Marca,t.Numero
from Pedido p
inner join Cliente c on p.Id=c.Id
inner join Tarjeta t on t.Id=p.IdTarjeta
order by Nombres asc

ordenar luego por fecha usaría order by Fecha asc

PARTE B

Tomando en cuneta la actividad virtual anterior

i. Crear un procedimiento almacenado por cada uno de los dos últimos scripts de
consultas creados anteriormente, indicar cual de ellos debe recibir un parámetro

Sin parámetro
create procedure ConsultaCategoriaProd
as
select a.idcategoria,b.nombre as categoria, a.nombre ,c.nombre as marca
from producto a
inner join categoria b on a.idcategoria=b.id
inner join Marca C on a.idmarca=c.id
order by b.Nombre asc
go

con parámetro
Create procedure ListaProducto
@destaca bit
as
SELECT P.Id, P.Nombre AS [Producto],
P.Precio, M.Nombre AS [Marca],
C.Nombre AS [Categoria],
IIF(P.Destacado > 0, 'SI', 'NO') AS [Destacado],
IIF(P.Activo > 0, 'SI', 'NO') AS [Activo]
FROM Producto P
INNER JOIN Marca M ON P.IdMarca = M.Id
INNER JOIN Categoria C ON P.IdCategoria = C.Id
where Destacado=@destaca

go

execute ListaProducto 1

ii. Investigar el procedimiento correcto a seguir para actualizar el Modelo si se agrega


una nueva columna a alguna de las tablas, por ejemplo, si se va agregar la columna
Activo (de tipo bit) a la tabla Marca

También podría gustarte