Está en la página 1de 4

create database BDEXAMEN1

USE BDEXAMEN1
/* ALUMNO: RAUL ADRIAN SANTOS GUTIERREZ */

CREATE TABLE PAISES(


IDPAIS INTEGER PRIMARY KEY (IDPAIS) NOT NULL,
NOMBREPAIS VARCHAR(45) NOT NULL)
GO

CREATE TABLE CLIENTES(


IDCLIENTE INTEGER PRIMARY KEY (IDCLIENTE) NOT NULL,
NOMCLIENTE VARCHAR(40) NOT NULL,
DIRCLIENTE VARCHAR(40) NOT NULL,
IDPAIS INTEGER FOREIGN KEY (IDPAIS) REFERENCES PAISES (IDPAIS) NOT NULL,
FONOCLIENTE VARCHAR(15) NOT NULL)
GO

CREATE TABLE CATEGORIAS(


IDCATEGORIA INTEGER PRIMARY KEY (IDCATEGORIA) NOT NULL,
NOMCATEGORIA VARCHAR(50) NOT NULL,
DESCRIPCION VARCHAR(50) NOT NULL)
GO

CREATE TABLE PRODUCTOS(


IDPRODUCTO INTEGER PRIMARY KEY (IDPRODUCTO) NOT NULL,
NOMPRODUCTO VARCHAR (80) NOT NULL,
IDCATEGORIA INTEGER FOREIGN KEY (IDCATEGORIA) REFERENCES CATEGORIAS (IDCATEGORIA) NOT NULL,
CANTXUNIDAD INTEGER NOT NULL,
PRECIOUNIDAD DECIMAL (8,2) NOT NULL,
UNIEXISTENCIA SMALLINT NOT NULL,
UNIENPEDIDO SMALLINT NOT NULL)
GO

CREATE TABLE CARGOS(


IDCARGO INTEGER PRIMARY KEY (IDCARGO) NOT NULL,
DESCARGO VARCHAR (30) NOT NULL)
GO

CREATE TABLE EMPLEADOS(


IDEMPLEADO INTEGER PRIMARY KEY (IDEMPLEADO) NOT NULL,
NOMEMPLEADO VARCHAR(50) NOT NULL,
APEEMPLEADO VARCHAR(50) NOT NULL,
FECNAC DATE NOT NULL,
DIREMPLEADO VARCHAR(80) NOT NULL,
FONOEMPLEADO VARCHAR(15) NOT NULL,
IDCARGO INTEGER FOREIGN KEY (IDCARGO) REFERENCES CARGOS (IDCARGO))
GO

CREATE TABLE PEDIDODETALLE(


IDPEDIDO INTEGER PRIMARY KEY (IDPEDIDO) NOT NULL,
IDPRODUCTO INTEGER FOREIGN KEY (IDPRODUCTO) REFERENCES PRODUCTOS (IDPRODUCTO),
IDCLIENTE INTEGER FOREIGN KEY (IDCLIENTE) REFERENCES CLIENTES (IDCLIENTE),
IDEMPLEADO INTEGER FOREIGN KEY (IDEMPLEADO) REFERENCES EMPLEADOS (IDEMPLEADO),
PRECIOUNIDAD DECIMAL(8,2) NOT NULL,
CANTIDAD SMALLINT NOT NULL,
DESCUENTO DECIMAL(8,2) NOT NULL)
GO

/*DATOS TABLA PAISES*/

SELECT * FROM PAISES


INSERT INTO PAISES VALUES (51, 'PERU')
INSERT INTO PAISES VALUES (52, 'MEXICO')
INSERT INTO PAISES VALUES (53, 'CUBA')
INSERT INTO PAISES VALUES (54, 'ARGENTINA')
INSERT INTO PAISES VALUES (55, 'BRASIL')

SELECT * FROM CLIENTES


INSERT INTO CLIENTES VALUES (102011, 'MARICIELO GUERRERO', 'AV. LOS FAROS 456', 51, 4579818)
INSERT INTO CLIENTES VALUES (102012, 'JOSE ROMERO', 'AV. LAS PALMAS 789', 51, 5879614)
INSERT INTO CLIENTES VALUES (102013, 'ELVIRA ZAPATA', 'AV. INDEPENDENCIA 234', 51, 4857894)
INSERT INTO CLIENTES VALUES (102014, 'CARLOS HUAYTAN', 'AV. CASTRO REY 678', 53, 4571892)

SELECT * FROM CATEGORIAS


INSERT INTO CATEGORIAS VALUES (105001, 'COMPUTO', 'MOUSE', WEB CAM, TECLADO')
INSERT INTO CATEGORIAS VALUES (105002, 'ELECTRICO', 'SUPRESOR DE PICO')
INSERT INTO CATEGORIAS VALUES (105003, 'IMPRESORAS', 'A COLOR', LASER')
INSERT INTO CATEGORIAS VALUES (105004, 'ESTABILIZADORES', 'SOLIDOS', HIBRIDOS')
SELECT * FROM PRODUCTOS
INSERT INTO PRODUCTOS VALUES (104001, 'TECLADO', 105001,200,50.00,100,20)
INSERT INTO PRODUCTOS VALUES (104002, 'MONITORES', 105001,500,75.00,200,100)
INSERT INTO PRODUCTOS VALUES (104003, 'MOUSE', 105001,200,1000.00,100,20)
INSERT INTO PRODUCTOS VALUES (104004, 'CAMARA WEB', 105001,150,50.00,200,100)
INSERT INTO PRODUCTOS VALUES (104005, 'MEMORIA RAM', 105001,220,45.00,100,20)

SELECT * FROM CARGOS


INSERT INTO CARGOS VALUES (107001, 'GERENTE')
INSERT INTO CARGOS VALUES (107002, 'SECRETARIA')
INSERT INTO CARGOS VALUES (107003, 'CONSERJE')
INSERT INTO CARGOS VALUES (107004, 'ADMINISTRADOR')
INSERT INTO CARGOS VALUES (107005, 'CONTADOR')

SELECT * FROM EMPLEADOS


INSERT INTO EMPLEADOS VALUES (101001, 'JUANA', 'JARA', '1990-07-14', 'AV. LOS PROCERES 345', 4568925, 107001)
INSERT INTO EMPLEADOS VALUES (101002, 'ROBERTO', 'ZAPATA', '1995-01-15', 'AV. LAS AZUCENAS 567', 456879, 107003)
INSERT INTO EMPLEADOS VALUES (101003, 'MARIA', 'ALCALA', '2000-09-16', 'AV. GAMARRA 234', 7894564, 107002)
INSERT INTO EMPLEADOS VALUES (101004, 'CECILIA', 'SIALER', '1998-03-17', 'AV. CARABAYLLO 545', 547895, 107002)

SELECT * FROM PEDIDODETALLE


INSERT INTO PEDIDODETALLE VALUES (106001, 104001, 102011,101001,20.00,100,20.00)
INSERT INTO PEDIDODETALLE VALUES (106002, 104002, 102012,101002,50.00,200,10.00)
INSERT INTO PEDIDODETALLE VALUES (106003, 104003, 102013,101003,80.00,500,50.00)
INSERT INTO PEDIDODETALLE VALUES (106004, 104004, 102014,101004,90.00,200,10.00)

ALTER TABLE CLIENTES


ADD FOREIGN KEY (IDPAIS) REFERENCES PAISES (IDPAIS),

ALTER TABLE PRODUCTOS


ADD FOREIGN KEY (IDCATEGORIA) REFERENCES CATEGORIAS (IDCATEGORIA),

ALTER TABLE EMPLEADOS


ADD FOREIGN KEY (IDCARGO) REFERENCES CARGOS (IDCARGO),

ALTER TABLE PEDIDODETALLE


ADD FOREIGN KEY (IDPRODUCTO) REFERENCES PRODUCTOS (IDPRODUCTO),
ADD FOREIGN KEY (IDCLIENTE) REFERENCES CLIENTES (IDCLIENTE),
ADD FOREIGN KEY (IDEMPLEADO) REFERENCES EMPLEADOS (IDEMPLEADO),

/*PREGUNTAS*/
SELECT P.NOMPRODUCTO 'PRODUCTO', P.PRECIOUNIDAD, C.NOMBRECATEGORIA'CATEGORIA'
FROM PRODUCTOS P JOIN CATEGORIAS C ON P.IDCATEGORIA=C.IDCATEGORIA
WHERE P.PRECIOUNIDAD BETWEEN 40 AND 50
ORDER BY P.PRECIOUNIDAD

UPDATE PRODUCTOS
SET PRECIOUNIDAD=500, UNIEXISTENCIA *= 1.50
GO

UPDATE PRODUCTOS
SET PRECIOUNIDAD *= 2.00
WHERE NOMPRODUCTO LIKE 'M%' AND UNIEXISTENCIA >250; GO

CREATE VIEW EMPLEADOS11


AS (
SELECT NOMEMPLEADO, APEEMPLEADO, DIREEMPLEADO FROM EMPLEADOS)
GO

INSERT INTO CLIENTES (IDCLIENTE,NOMCLIENTE, DIRCLIENTE, IDPAIS,FONOCLIENTE)


VALUES ('102016','MARIO SALAS','AV. CANADA 234','51','545488') GO

SELECT COUNT (*) AS 'CANTIDAD DE EMPLEADOS' FROM EMPLEADOS


WHERE DATEPART(yy, FECNAC)=2000
GO

SELECT C.IDCLIENTE, C.NOMCLIENTE,C.DIRCLIENTE, P.NOMBREPAIS FROM CLIENTES C INNER JOIN PAISES P ON C.IDPAIS=P.IDPAIS
GO

SELECT E.IDEMPLEADO, E.APEEMPLEADO, CAR.IDCARGO, CAR.DESCARGO


FROM EMPLEADOS E INNER JOIN CARGOS CAR ON E.IDCARGO=CAR.IDCARGO
GO

SELECT E.IDEMPLEADO, E.APEEMPLEADO, CAR.IDCARGO, CAR.DESCARGO


FROM EMPLEADOS E INNER JOIN CARGOS CAR ON E.IDCARGO=CAR.IDCARGO
WHERE CAR.IDCARGO=107003
GO

SELECT C.NOMCLIENTE AS 'CLIENTE BUENOS', COUNT (*) AS CANTIDAD,


SUM (PRECIOUNIDAD * CANTIDAD) AS 'SUMA POR CLIENTE' FROM PEDIDODETALLE PD JOIN PEDIDOCABECERA PC
ON PD.IDPEDIDO=PC. IDPEDIDO JOIN CLIENTES C ON C.IDCLIENTE= PC.IDCLIENTE
GROUP BY C.NOMCLIENTE GO