Pop

35.Aplicaciones web.SQL Parte 3.Curso de C# con Visual Studio 2017.

35- . Aplicaciones web. SQL Parte 3

   - En este capítulo del curso de programación en c# con visual studio 2017,continuamos con un poco de SQL SERVER. Para ello debéis tener instalado SQL Express. En entradas anteriores del blog tenéis el enlace de descarga.

-  En  nuestra base de datos de prueba teníamos hasta ahora definidas dos tablas: una tabla Usuarios donde tenemos almacenados los usuarios dados de alta en la aplicación y una tabla Paises donde almacenamos los distintos paíes que admite nuestro sistema.

- En este capítulo del blog hemos añadido tres tablas nuevas: Pedidos,Pedidos_Lineas y Productos. El objetivo es crear una estructura de tablas que nos permita almacenar diferentes pedidos que el usuario haga desde la aplicación.En esta imagen podéis ver el diagrama:



- En la tabla Pedidos almacenaremos los pedidos que cada usuario haga en la web.Está relaccionada con la tabla Usuarios por el campo idUsuario para poder obtener de una manera fácil los 1 o n pedidos que los usuario hagan. A su vez la tabla Pedidos la relaccionamos con la tabla Productos a traves de la tabla Pedidos_lineas , de esta forma identificamos a través del campo idpedido todos los productos que tenga asociados.



- Os propongo un ejemplo para que entendáis para que hacer esta estrutura de tablas. Supongamos que queremos saber cuantos pedidos del produtco X ha hecho el usuario Y. Al estar la tablas relacionadas podemos obtener los datos fácilmente con una consulta como por ejemplo la siguiente:

SELECT count(*) FROM Usuarios
INNER JOIN PEDIDOS ON PEDIDOS.IdUsuario = Usuarios.IdUsuarios
INNER JOIN Pedido_Lineas ON Pedido_Lineas.IdPedido = Pedidos.IdPedido
INNER JOIN Productos ON Pedido_Lineas.IdProducto = Productos.IdProducto
WHERE email='el que sea' and Productos.Sku='SKU QUE SEA'


No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...