0% encontró este documento útil (0 votos)
18 vistas7 páginas

Proyecto Final - 2

El documento detalla un proyecto final de base de datos para la Universidad Metropolitana de Educación Ciencia y Tecnología, que incluye la creación de la base de datos 'CARS_PTY' y sus tablas, así como la inserción de datos de productos, clientes y pedidos. También se presentan consultas SQL para extraer información relevante y la creación de vistas y procedimientos almacenados para facilitar la gestión de datos. Finalmente, se menciona la necesidad de realizar un backup de la base de datos.

Cargado por

Pé Pé
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas7 páginas

Proyecto Final - 2

El documento detalla un proyecto final de base de datos para la Universidad Metropolitana de Educación Ciencia y Tecnología, que incluye la creación de la base de datos 'CARS_PTY' y sus tablas, así como la inserción de datos de productos, clientes y pedidos. También se presentan consultas SQL para extraer información relevante y la creación de vistas y procedimientos almacenados para facilitar la gestión de datos. Finalmente, se menciona la necesidad de realizar un backup de la base de datos.

Cargado por

Pé Pé
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Metropolitana de educación

Ciencia y Tecnología

Proyecto Final:
Base de Datos II

Integrantes:
Whitney Ifill 3-376-372
Marcos Zepeda 8-889-1892
Daniel Anaya 8-968-1568

Profesor:
ING. MANUEL BEIRO C.
Parte I – Confeccione la base de datos y tablas (20 puntos)

1. La base de datos se debe llamar CARS_PTY

2. Confeccione las tablas según el diagrama de entidad relación (Create Table)

CREATE TABLE PRODUCTOS


(COD_PRODUCTO INT NOT NULL PRIMARY KEY,
DESCRIPCION VARCHAR(50),
PRECIO NUMERIC(12,2),
MARCA VARCHAR(30)
)

CREATE TABLE CLIENTES


(COD_CLIENTE INT NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(30),
APELLIDO VARCHAR(30),
CEDULA VARCHAR(30),
TELEFONO VARCHAR(30),
FEC_NACIMIENTO DATE,
DIRECCION VARCHAR(40),
CORREO VARCHAR(30)
)

CREATE TABLE PEDIDOS


(ID_PEDIDO INT NOT NULL PRIMARY KEY,
FECHA DATE,
COD_CLIENTEINT NOT NULL,
foreign key (COD_CLIENTE) REFERENCES CLIENTES(COD_CLIENTE)
)

CREATE TABLE PEDIDO_DETALLE


(ID_PEDIDO INT NOT NULL,
foreign key (ID_PEDIDO) REFERENCES PEDIDOS(ID_PEDIDO),
COD_PRODUCTO INT NOT NULL,
foreign key (COD_PRODUCTO) REFERENCES PRODUCTOS(COD_PRODUCTO),
CANTIDAD INT,
TOTAL NUMERIC(12,2)
)

Parte II – Inserción de Datos - (15 puntos)

Insertar los registros en las tablas utilizando los datos proporcionados en los cuadros de datos.

INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)


VALUES (1, 'CITY LDX', 18500, 'HONDA');

INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)


VALUES (2, 'CRV 2D', 26800, 'HONDA');
INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)
VALUES (3, 'HI-LUX', 24000, 'TOYOTA');
INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)
VALUES (4, 'RUSH', 20000, 'TOYOTA');
INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)
VALUES (5, 'CS35 PLUS', 17500, 'CHANGAN');
INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)
VALUES (6, 'ALVIS V3', 18000, 'CHANGAN');
INSERT INTO PRODUCTOS (COD_PRODUCTO, DESCRIPCION, PRECIO, MARCA)
VALUES (7, 'SWIFT SPORT', 15400, 'SUZUKI');

SELECT * FROM PRODUCTOS;

INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,


FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (1, 'JUAN', 'REYES', '2-587-487', '233-2525', '1998-01-15', 'SAN FRANCISCO',
'[email protected]');

INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,


FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (2, 'YOHANA', 'PEREZ', '3-58-122', '255-8852', '1997-08-24', 'BETHANIA',
'[email protected]');
INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,
FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (3, 'CRISTEL', 'VILLAREAL', '8-758-965', '241-8212', '1992-04-02', 'EL CANGREJO',
'[email protected]');
INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,
FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (4, 'ANA PATRICIA', 'BUSTAMANTE', '3-75-454', '212-8744', '1989-07-08', 'EL PAICAL',
'[email protected]');
INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,
FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (5, 'MARIO', 'RODRIGUEZ', '8-755-413', '212-8746', '1990-09-25', 'LOS ROBLES',
'[email protected]');
INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,
FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (6, 'VANESSA', 'ESCUDERO', '3-58-968', '241-8215', '2000-11-15', 'BETHANIA',
'[email protected]');
INSERT INTO CLIENTES(COD_CLIENTE, NOMBRE, APELLIDO, CEDULA, TELEFONO,
FEC_NACIMIENTO, DIRECCION, CORREO)
VALUES (7, 'DAVID', 'CARDENAS', '4-75-414', '212-8747', '1995-10-28', 'SAN ANTONIO',
'[email protected]');

SELECT * FROM CLIENTES;


INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (150, '2020-11-15', 1);

INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)


VALUES (151, '2020-11-15', 6);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (152, '2020-11-17', 5);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (153, '2020-11-17', 3);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (154, '2020-11-17', 5);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (155, '2020-11-23', 7);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (156, '2020-11-24', 1);
INSERT INTO PEDIDOS(ID_PEDIDO, FECHA, COD_CLIENTE)
VALUES (157, '2020-11-25', 3);
UPDATE PEDIDOS
SET FECHA = '2020-11-17'
WHERE ID_PEDIDO = 153;

UPDATE PEDIDOS
SET FECHA = '2020-11-17'
WHERE ID_PEDIDO = 154;

SELECT * FROM PEDIDOS;

INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)


VALUES (150, 1, 1, 18500.00);

INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)


VALUES (151, 4, 1, 20000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (151, 7, 1, 15400.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (152, 4, 1, 20000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (153, 6, 1, 18000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (154, 2, 1, 26800.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (155, 3, 1, 24000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (155, 7, 1, 15400.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (156, 6, 1, 18000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (157, 4, 1, 20000.00);
INSERT INTO PEDIDO_DETALLE(ID_PEDIDO, COD_PRODUCTO, CANTIDAD, TOTAL)
VALUES (157, 5, 1, 17500.00);

SELECT * FROM PEDIDO_DETALLE;

Parte III – Consultas (15 Puntos)

Crear las siguientes consultas de la base de datos:

1. Consulta donde se presente el nombre, apellido, teléfono y Fecha de nacimiento de


todos los clientes
SELECT NOMBRE, APELLIDO, TELEFONO, FEC_NACIMIENTO
FROM CLIENTES

2. Consulta donde se presente los productos con pedido mayor o igual a 25,000 dólares,
ordenados ascendente
o Producto, Marca, id_pedido, monto total_pedido
SELECT PRODUCTOS.DESCRIPCION, PRODUCTOS.MARCA,
PEDIDO_DETALLE.ID_PEDIDO, PEDIDO_DETALLE.TOTAL
FROM PRODUCTOS, PEDIDO_DETALLE
WHERE PRODUCTOS.COD_PRODUCTO = PEDIDO_DETALLE.COD_PRODUCTO
AND PEDIDO_DETALLE.TOTAL >= 25000;
3. Consulta que presente los pedidos generados en la fecha 17/11/2020 con los siguientes
datos:
o id_pedido, Nombre cliente, producto, cantidad, precio
SELECT PEDIDOS.ID_PEDIDO, CLIENTES.NOMBRE, PRODUCTOS.DESCRIPCION,
PEDIDO_DETALLE.CANTIDAD, PRODUCTOS.PRECIO
FROM CLIENTES, PRODUCTOS, PEDIDO_DETALLE, PEDIDOS
WHERE PEDIDOS.ID_PEDIDO = PEDIDO_DETALLE.ID_PEDIDO
AND PEDIDOS.ID_PEDIDO >= '2020-11-17' AND PEDIDOS.ID_PEDIDO <=
'2020-11-17';

4. Consulta que presente el nombre del cliente, la cantidad y monto total pedido.
o nombre, apellido, cantidad y monto total
SELECT CLIENTES.NOMBRE, CLIENTES.APELLIDO, PEDIDO_DETALLE.CANTIDAD,
PEDIDO_DETALLE.TOTAL
FROM CLIENTES, PEDIDO_DETALLE, PRODUCTOS
WHERE PRODUCTOS.COD_PRODUCTO = PEDIDO_DETALLE.COD_PRODUCTO

5. Consulta que presente el total pedido por marca: (Agrupado por Marca)
o Marca, cantidad total , monto total
SELECT MARCA, SUM(CANTIDAD), SUM(TOTAL)
FROM PRODUCTOS, PEDIDO_DETALLE
GROUP BY MARCA

Parte IV - Vistas (20 puntos)

Crear las siguientes vistas

5.1 Vista vw_pedidos

Con la siguiente salida:

 Cod_producto, Nombre_producto, marca, cantidad total por producto,

Total del pedido por producto

CREATE VIEW vw_pedidos

AS

SELECT P.COD_PRODUCTO, P.DESCRIPCION, P.MARCA, PD.CANTIDAD, PD.TOTAL

FROM PRODUCTOS P, PEDIDO_DETALLE PD

WHERE P.COD_PRODUCTO = PD.COD_PRODUCTO;

5.2 Vista vw_produccion_marca

Con la siguiente salida:

 Marca, cantidad total por marca, total del pedido por marca

CREATE VIEW vw_produccion_marca


AS

SELECT P.MARCA, SUM(PD.CANTIDAD) AS TOTAL_CANTIDAD, SUM(PD.TOTAL) AS


TOTAL_PEDIDO

FROM PRODUCTOS P, PEDIDO_DETALLE PD

WHERE P.COD_PRODUCTO = PD.COD_PRODUCTO GROUP BY MARCA

5.3 Vista vw_clientes

La vista debe presentar los datos de los clientes que tengan pedidos en la base de datos.

Con la siguiente salida:

 Nombre del cliente, apellido, cantidad total, Total del pedido

CREATE VIEW vw_clientes

AS

SELECT NOMBRE, APELLIDO, SUM(PD.CANTIDAD) AS CANTIDAD_TOTAL,

SUM(PD.TOTAL) AS MONTO_TOTAL

FROM PEDIDO_DETALLE PD, PEDIDOS P, CLIENTES C

WHERE P.ID_PEDIDO = PD.ID_PEDIDO

AND C.COD_CLIENTE = P.COD_CLIENTE

GROUP BY NOMBRE, APELLIDO;

SELECT * FROM vw_pedidos;

SELECT * FROM vw_produccion_marca;

SELECT * FROM vw_clientes;

Parte V - Store Procedure (20 puntos)

6.1 Confeccione un Store Procedure con dos parámetros de entrada:

 - Fecha inicial
 - Fecha Final

Y el Store Procedure debe presentar sólo los datos de los Pedidos realizados en ese periodo de
tiempo

La salida del Store Procedure será:


--> Fecha, Nombre del producto, Nombre y apellido del cliente, cantidad, Total

6.2. Se desea poder aumentarles el precio a los productos fácilmente. Por eso solicita un programa
para aumentar un porcentaje de incremento a un producto en especial. Para ello se debe realizar
las siguientes operaciones:

Confeccione un Store Procedure que tenga como parámetros:

 cod_producto
 pje_incremento

Y la salida del Store Procedure será el producto afectado con su precio anterior y nuevo precio:

--> Código de producto, Nombre del producto, precio anterior, nuevo precio

Parte VI - Backup (10 puntos)

 Confeccione un backup de la base de datos CARS_PTY

"C:\Users\WHITNEY\OneDrive\Documentos\CLASES WHITNEY\BASE DE DATOS II\backup


PROYECTO FINAL.sql"

También podría gustarte