Buscar en este blog

lunes, 18 de diciembre de 2017

PROGRAMACION SQL + ACCESS

Se desea crear una Base de Datos para una tienda online de videojuegos. Con el uso de esta base de datos, la tienda debe ser capaz de hacer lo siguiente:
1. Registrar los datos de los videojuegos que vende la tienda. Debe conocer, como mínimo:
a. Nombre del videojuego
b. Edad recomendada
c. Género
d. Precio


 2. Registrar los datos de posibles clientes. Debe conocer, como mínimo:
a. DNI
b. Nombre y apellidos
c. Edad
d. Tiempo de socio

3. Registro de ventas de videojuegos a clientes

4. Además, la tienda posee un sistema de descuentos, entre los que se encuentran:
 a. Descuento para cada cliente
b. Descuento por género
c. Descuento por videojuego

 Es importante tener en cuenta que los descuentos se aplican sobre el precio final y no son excluyentes. Crear en Access la base de datos explicada y rellenar la misma con datos a elección del alumno. Una vez creada, añadir las siguientes consultas sobre esta base de datos:

1. Mostrar los videojuegos más vendidos por la tienda, ordenados de mayores a menores ventas.
2. Mostrar los datos de los videojuegos recomendados para un cliente menor de edad.
3. Mostrar los datos de los videojuegos recomendados para un cliente menor de edad y que tiene un límite de presupuesto de 30€.
4. Mostrar los datos de los clientes más fieles, que son aquellos cuyo total de ventas es superior a 200€.
5. Mostrar, para cada una de las ventas, el precio real del videojuego, teniendo en cuenta todos los descuentos que se le pueden aplicar a la misma.


PUEDES USAR TANTO MICROSOFT OFFICE ACCESS COMO LIBRE ACCESS

TABLA1:
VIDEOJUEGOS







TABLA 2:
VENTAS
















TABLA3:
GENERO












TABLA4:
CLIENTES








CONSULTA1:

SELECT VIDEOJUEGOS.id, Sum(VENTAS.[NUMERO DE VENTAS]) AS [SumaDeNUMERO DE VENTAS]
FROM (GENERO INNER JOIN VIDEOJUEGOS ON GENERO.id = VIDEOJUEGOS.GENERO) INNER JOIN (CLIENTES INNER JOIN VENTAS ON CLIENTES.DNI = VENTAS.DNI) ON VIDEOJUEGOS.id = VENTAS.id
GROUP BY VIDEOJUEGOS.id
ORDER BY Sum(VENTAS.[NUMERO DE VENTAS]) DESC;


CONSULTA2:


SELECT DISTINCT VIDEOJUEGOS.EDAD, VIDEOJUEGOS.NOMBRE
FROM (GENERO INNER JOIN VIDEOJUEGOS ON GENERO.id = VIDEOJUEGOS.GENERO) INNER JOIN (CLIENTES INNER JOIN VENTAS ON CLIENTES.DNI = VENTAS.DNI) ON VIDEOJUEGOS.id = VENTAS.id
WHERE (((VIDEOJUEGOS.EDAD)<18))
ORDER BY VIDEOJUEGOS.EDAD DESC , VIDEOJUEGOS.NOMBRE DESC;

CONSULTA3:

SELECT VIDEOJUEGOS.EDAD, VIDEOJUEGOS.PRECIO
FROM (GENERO INNER JOIN VIDEOJUEGOS ON GENERO.id = VIDEOJUEGOS.GENERO) INNER JOIN (CLIENTES INNER JOIN VENTAS ON CLIENTES.DNI = VENTAS.DNI) ON VIDEOJUEGOS.id = VENTAS.id
WHERE (((VIDEOJUEGOS.EDAD)<18) AND ((VIDEOJUEGOS.PRECIO)<30));



CONSULTA4:

SELECT CLIENTES.DNI, CLIENTES.NOMBRE, Consulta5.[precio final]*VENTAS.[NUMERO DE VENTAS] AS [precio total], VENTAS.[NUMERO DE VENTAS]
FROM (CLIENTES INNER JOIN Consulta5 ON CLIENTES.[DNI] = Consulta5.[DNI]) INNER JOIN (VIDEOJUEGOS INNER JOIN VENTAS ON VIDEOJUEGOS.[id] = VENTAS.[id]) ON CLIENTES.[DNI] = VENTAS.[DNI]
WHERE ((([Consulta5].[precio final]*[VENTAS].[NUMERO DE VENTAS])>200));


CONSULTA5:

SELECT GENERO.DESCUENTO, [VIDEOJUEGOS].[PRECIO]-[VIDEOJUEGOS].[PRECIO]*[CLIENTES].[DESCUENTO CLIENTE]-[VIDEOJUEGOS].[PRECIO]*[GENERO].[DESCUENTO] AS [precio final], VENTAS.DNI, CLIENTES.[DESCUENTO CLIENTE], CLIENTES.NOMBRE, GENERO.NOMBRE
FROM CLIENTES INNER JOIN ((GENERO INNER JOIN VIDEOJUEGOS ON GENERO.[id] = VIDEOJUEGOS.[GENERO]) INNER JOIN VENTAS ON VIDEOJUEGOS.[id] = VENTAS.[id]) ON CLIENTES.DNI = VENTAS.DNI;



DESCARGA EL PROGRAMA AQUÍ:

http://www.rapidshare.com.cn/6suJ0E5

















No hay comentarios:

Publicar un comentario