Está en la página 1de 9

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE TIJUANA

SUBDIRECCIÓN ACADÉMICA
DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

SEMESTRE:
Enero - Junio 2023

CARRERA:
Ingeniería en Sistemas Computacionales

MATERIA:
Taller de Base de datos

TÍTULO ACTIVIDAD:
T7

UNIDAD A EVALUAR:
1

NOMBRE Y NÚMERO DE CONTROL DEL ALUMNO:


Herrera Aguilar José Manuel - 20212410

NOMBRE DEL MAESTRO (A):


MARGARITA RAMIREZ RAMIREZ
Índice
Actividad............................................................................................................................... 3

2
Actividad

Código de la base de datos


/* HERRERA AGUILAR JOSE MANUEL */

-- Creacion de base de datos.


CREATE DATABASE PracticaOficinas
GO
USE PracticaOficinas
GO
-- Creacion de tablas
CREATE TABLE OFICINAS
(
OFICINA int PRIMARY KEY
, CIUDAD varchar(15)
, REGION varchar(5)
, OBJETIVO money
, VENTAS money
);
GO
CREATE TABLE CLIENTES
(
NUM_CLIE int PRIMARY KEY
, EMPRESA varchar(MAX)
, REP_CLIENTE int
, LIMITE_CREDITO money
);
GO
CREATE TABLE PEDIDOS
(
NUM_PEDIDO int PRIMARY KEY
, CLIE int REFERENCES CLIENTES (NUM_CLIE)
, PRODUCTO varchar(MAX)
, CANT int
, IMPORTE money
);
GO
CREATE TABLE REPVENTAS
(
NOMBRE varchar(MAX)
, OFICINA_REP int REFERENCES OFICINAS (OFICINA)
, CUOTA money
, VENTAS money
);
GO
-- Insercion de registros.
-- Tabla OFICINAS

3
INSERT INTO OFICINAS (OFICINA, CIUDAD, REGION, OBJETIVO, VENTAS)
VALUES
(22, 'Denver', 'Oeste', 300000.00, 786042.00)
, (11, 'New York', 'Este', 375000.00, 692637.00)
, (12, 'Chicago','Este', 800000.00, 735042.00)
, (13, 'Atlanta', 'Este', 350000.00, 367911.00)
, (21, 'Los Angeles', 'Oeste', 725000.00, 335915.00);
GO
-- Tabla REPVENTAS
INSERT INTO REPVENTAS (NOMBRE, OFICINA_REP, CUOTA, VENTAS) VALUES
('Bill Adams', 13, 350000.00, 367911.00)
, ('Hary Jones', 11, 300000.00, 392725.00)
, ('Sue Smith', 21, 350000.00, 474050.00)
, ('Sam Clark', 11, 275000.00, 299912.00)
, ('Bob Smith', 12, 200000.00, 142594.00)
, ('Dan Roberts', 12, 300000.00, 305673.00)
, ('Tony Snider', NULL, NULL, 75985.00)
, ('Larry Fitch', 21, 350000.00, 361865.00)
, ('Paul Cruz', 12, 275000.00, 286775.00)
, ('Nancy Angelli', 22, 300000.00, 186042.00);
GO
-- Tabla CLIENTES
INSERT INTO CLIENTES (NUM_CLIE, EMPRESA, REP_CLIENTE,
LIMITE_CREDITO) VALUES
(2111,'JCP Inc.', 103, 50000.00)
, (2102, 'First Corp.', 101, 45000.00)
, (2103, 'Acme Mfg.', 105, 50000.00)
, (2123, 'Carter & Sons', 102, 40000.00)
, (2107, 'Ace International', 110, 35000.00)
, (2115, 'Smithson Corp.', 101, 20000.00)
, (2101, 'Jones Mfg.', 106, 65000.00)
, (2112, 'Zetacorp', 108, 50000.00)
, (2121, 'QMA Assoc.', 103, 45000.00)
, (2114, 'Orion Corp.', 102, 20000.00)
, (2124, 'Peter Brothers', 107, 40000.00)
, (2108, 'Hola & Landis', 109, 55000.00)
, (2117, 'J. P. Sinclair', 106, 35000.00)
, (2122, 'Three-Way Lines', 105, 30000.00)
, (2120, 'Rico Enterprises', 102, 30000.00)
, (2106, 'Fred Lewis Corp.', 102, 65000.00)
, (2119, 'Solomon Inc.', 109, 25000.00)
, (2118, 'Midwest Systems', 108, 60000.00)
, (2113, 'Ian & Schmidt', 104, 20000.00)
, (2109, 'Chen Associates', 107, 25000.00)
, (2105, 'AAA Investments', 101, 45000.00);
GO
-- Tabla PEDIDOS
INSERT INTO PEDIDOS (NUM_PEDIDO, CLIE, PRODUCTO, CANT, IMPORTE)
VALUES

4
(112961, 2117, '2A44L', 7, 31500.00)
, (113012, 2111, '41003', 35, 3745.00)
, (112989, 2101, '116', 6, 1458.00)
, (113051, 2118, 'XK67', 4, 1420.00)
, (112968, 2102, '41004', 34, 3978.00)
, (113036, 2107, '4100Z', 9, 22500.00)
, (113045, 2112, '2A4GR', 10, 45000.00)
, (112963, 2103, '41004', 28, 3276.00)
, (113013, 2118, '41003', 1, 652.00)
, (113058, 2108, '112', 10, 1480.00)
, (112997, 2124, '41003', 1, 652.00)
, (112983, 2103, '41004', 6, 702.00)
, (113024, 2114, 'XK47', 20, 7100.00)
, (113062, 2124, '114', 10, 2430.00)
, (112979, 2114, '4100Z', 6, 15000.00)
, (113027, 2103, '41002', 54, 4104.00)
, (113007, 2112, '773C', 3, 2925.00)
, (113069, 2109, '77SC', 22, 31350.00)
, (113034, 2107, '2A45C', 8, 632.00)
, (112992, 2118, '41002', 10, 730.00)
, (112975, 2111, '2A445', 6, 2100.00)
, (113050, 2108, '41D0X', 6, 150.00)
, (113048, 2120, '779C', 2, 3750.00)
, (112993, 2106, '2A45C', 24, 1896.00)
, (113065, 2106, 'XK47', 6, 2130.00)
, (113003, 2108, '779C', 3, 5625.00)
, (113049, 2118, 'XK47', 2, 776.00)
, (112987, 2103, '4100X', 11, 27500.00)
, (113057, 2111, '4100X', 24, 600.00)
, (113042, 2113, '2A44R', 5, 22500.00);
GO

-- 1. Lista las oficinas con sus objetivos y ventas reales.


CREATE VIEW VistaObjetivosVentas
AS
SELECT OBJETIVO, VENTAS FROM OFICINAS

-- 2. Lista las oficinas con sus objetivos y ventas reales de la


region Oeste
CREATE VIEW VistaRegionOeste
AS
SELECT OBJETIVO, VENTAS, REGION FROM OFICINAS WHERE REGION = 'Oeste'

-- 3. Lista las oficinas con sus objetivos y ventas reales de la


region Oeste, de
-- aquellas cuyas ventas exceden a sus objetivos, ordenadas en orden
alfabetico por ciudad.
CREATE VIEW VistaRegionOesteExcedenteOrdenAlfabetico
AS

5
SELECT CIUDAD, OBJETIVO, VENTAS, REGION FROM OFICINAS WHERE REGION =
'Oeste' AND VENTAS > OBJETIVO

SELECT * FROM VistaRegionOesteExcedenteOrdenAlfabetico ORDER BY


CIUDAD

-- 4. Cuales son los objetivos y ventas promedio para las oficinas


de la region Este.
CREATE VIEW VistaRegionEstePromedio
AS
SELECT OBJETIVO, VENTAS, REGION FROM OFICINAS WHERE REGION = 'Este'

SELECT AVG(ALL VENTAS) FROM VistaRegionEstePromedio

SELECT AVG(ALL OBJETIVO) FROM VistaRegionEstePromedio

-- 5. Lista los nombres, oficinas y fechas de contrato de todos los


vendedores.
CREATE VIEW VistaContratosVendedores
AS
SELECT NOMBRE, OFICINA_REP FROM REPVENTAS

-- 6. Cuales son las ventas promedio de los vendedores.


CREATE VIEW VistaPromedioVendedores
AS
SELECT NOMBRE, OFICINA_REP, VENTAS FROM REPVENTAS

SELECT AVG(ALL VENTAS) FROM VistaPromedioVendedores

-- 7. Lista el nombre y fecha de contrato de cualquier vendedor


cuyas ventas
-- sean superiores a 500,00
CREATE VIEW VistaSuperiorQuinientos
AS
SELECT NOMBRE, OFICINA_REP, VENTAS FROM REPVENTAS WHERE VENTAS >
50000.00

-- 8. Lista de los vendedores, sus cuotas y sus direcciones.


CREATE VIEW VistaListaVendedores
AS
SELECT NOMBRE, OFICINA_REP, CUOTA FROM REPVENTAS

-- 9. Lista la poblacion, region y ventas de cada oficina de ventas.


CREATE VIEW VistaListaPoblacion
AS
SELECT CIUDAD, REGION, VENTAS FROM OFICINAS

-- 10. Lista la ciudad, region y el importe de las ventas menos el


objetivo, para cada oficina.

6
CREATE VIEW VistaImportesOficinas
AS
SELECT CIUDAD, REGION, VENTAS, OBJETIVO, VENTAS - OBJETIVO AS
NUEVA_VENTA FROM OFICINAS

-- 11. Despliega que sucedera si se eleva la cuota de cada vendedor


un 3% de su valor.
CREATE VIEW VistaAumentoCuota
AS
SELECT NOMBRE, OFICINA_REP, CUOTA, CUOTA * 1.03 AS NUEVA_CUOTA FROM
REPVENTAS

-- 12. Muestra todos los datos de la tabla oficinas.


CREATE VIEW VistaCompletaOficina
AS
SELECT * FROM OFICINAS

-- 13. Lista las oficinas cuyas ventas estan por debajo del 80% del
objetivo.
CREATE VIEW VistaMenosOchenta
AS
SELECT NOMBRE, VENTAS FROM REPVENTAS WHERE VENTAS NOT IN (CUOTA
* .80)

-- 14. Encuentra los pedidos cuyo importe esta entre 30,000.00 y


39999.99.
CREATE VIEW VistaPedidos
AS
SELECT NUM_PEDIDO, IMPORTE FROM PEDIDOS WHERE IMPORTE > 29999.99 AND
IMPORTE < 40000.00

-- 15. Lista los vendedores cuyas ventas no estan entre el 80% y el


120% de su cuota.
CREATE VIEW VistaMenosOchentayCVeinte
AS
SELECT NOMBRE, VENTAS FROM REPVENTAS WHERE VENTAS NOT IN (CUOTA
* .80, CUOTA * 1.20)

-- 16. Lista los vendedores que trabajan en New York, Atlanta o


Denver.
CREATE VIEW VistaVendedoresTrabajos
AS
SELECT NOMBRE, OFICINA_REP, VENTAS FROM REPVENTAS WHERE OFICINA_REP
= 'New York' AND OFICINA_REP = 'Atlanta' AND OFICINA_REP = 'Denver'

-- 17. Encuentra los vendedores que estan por debajo de la cuota o


con ventas inferiores a 300,000.
CREATE VIEW VistaVentasBajas
AS

7
SELECT NOMBRE, OFICINA_REP, VENTAS, CUOTA FROM REPVENTAS WHERE
VENTAS < CUOTA AND VENTAS < 300000

-- 18 Muestra las ventas de cada oficina, ordenadas en orden


alfabetico por region y
-- dentro de cada region por ciudad.
CREATE VIEW VistaListaOficinaAlfabetico
AS
SELECT OFICINA, CIUDAD, REGION, VENTAS FROM OFICINAS ORDER BY
REGION, CIUDAD

-- 19. Lista las oficinas, clasificadas en orden descendente de


ventas, de modo que las
-- oficinas con mejor rendimiento aparezcan primero.
CREATE VIEW VistaListaDescendente
AS
SELECT OFICINA, CIUDAD, REGION, VENTAS FROM OFICINAS ORDER BY
REGION, CIUDAD

-- 20. Cuales son las cuotas asignadas minima y maxima.


CREATE VIEW VistaCuotasMin
AS
SELECT NOMBRE, CUOTA, CAST(MIN(CUOTA)) MINIMO FROM REPVENTAS

CREATE VIEW VistaCuotasMax


AS
SELECT NOMBRE, CUOTA, CAST(MAX(CUOTA)) MAXIMO FROM REPVENTAS

-- 21. Cual es el promedio de pedido ordenado por Acme Mfg.


CREATE VIEW VistaPromedioAcme
AS
SELECT CLIE, PRODUCTO, CANT, CAST(AVG(CANT)) PROMEDIO FROM PEDIDOS
WHERE CLIE = 2103

-- 22. Cuantos vendedores superan su cuota.


CREATE VIEW VistaSuperaCuotas
AS
SELECT NOMBRE, OFICINA_REP, CUOTA, VENTAS FROM REPVENTAS WHERE
VENTAS > CUOTA

-- 23. Cuanto pedido de mas de $25,000 hay en los registros.


CREATE VIEW VistaSuperaPedidos
AS
SELECT NUM_PEDIDO, CLIE, PRODUCTO, CANT, IMPORTE FROM PEDIDOS WHERE
IMPORTE > 25000

-- 24. Cual es el promedio de pedido para cada cliente.


CREATE VIEW VistaPromedioClientes

8
AS
SELECT CLIE, PRODUCTO, CANT, CAST(AVG(CANT)) PROMEDIO FROM PEDIDOS

-- 25. Cual es el rango de cuotas asignadas en cada oficina.


CREATE VIEW VistaRangoCuotas
AS
SELECT NOMBRE, OFICINA_REP, CUOTA, RANK() OVER(PARTITION BY CUOTA
ORDER BY OFINICA_REP DESC) AS RANGO FROM REPVENTAS
WHERE CUOTA BETWEEN 200000.00 AND 350000.00 ORDER BY OFICINA_REP

-- 26. Calcula los pedidos totales para cada cliente


CREATE VIEW VistaPedidosTotales
AS
SELECT NUM_PEDIDO, CLIE, PRODUCTO, CANT, CAST(COUNT(CANT) OVER
(PARTITION BY CLIE)) AS PEDIDOSTOTALES FROM PEDIDOS

También podría gustarte