Bases de Datos - Ayuda con unos procedimientos de una base de datos de un taller de reparacion de vehiculos

   
Vista:

Ayuda con unos procedimientos de una base de datos de un taller de reparacion de vehiculos

Publicado por carlostaky (1 intervención) el 25/05/2015 22:01:56
hola amigos en la unioversidad me colocaron un taller de procedimientos y funciones con cursores y algunas de las preguntas no pude resolverlas les agradeceria mucho si me echaran una mano porfavor, abajo dejo es scrip de la base de datos y las preguntas que no pude resolver.


create table cliente (
idcliente number(10) not null,
nit number(15) not null,
direccion Varchar(80) not null,
email varchar(50) not null,
telefono varchar(10) null,
celular varchar(10) null,
CONSTRAINT PK_CLIENTE PRIMARY KEY (IDCLIENTE));

INSERT INTO CLIENTE VALUES(101,1234556990,'calle 34 # 12-4','jvelez@hotmail.com','6665778','3104456789');
INSERT INTO CLIENTE VALUES(102,7686996969,'calle 90 # 100-34','kprilot@hotmail.com','7775789','3108767654');
INSERT INTO CLIENTE VALUES(103,9080987676,'cra 5 con calle 56 # 17-41','keru12@gmail.com','9007788','3103542433');
INSERT INTO CLIENTE VALUES(104,4534565333,'calle 14 # 54-44','kosh300@gmail.com','7755432','3108987687');
INSERT INTO CLIENTE VALUES(105,4545332122,'calle 60 # 100 B-33','josg@hotmail.com','6654399','3104338689');
INSERT INTO CLIENTE VALUES(106,8877990006,'calle 70N # 37-56','jolugo@hotmail.com','987543','3117653211');
INSERT INTO CLIENTE VALUES(107,1243342311,'calle 66# 20-12','er23jht@hotmail.com','9908762','3100980982');
INSERT INTO CLIENTE VALUES(108,7766554432,'calle 100# 12BN40','sdf45@gmail.com','6543111','3107656543');
**********************************************
CREATE TABLE VEHICULO (
IDVEHICULO NUMBER(10) NOT NULL,
MODELO VARCHAR(15) NOT NULL,
VIN NUMBER(15) NOT NULL,
PLACA VARCHAR(30) NOT NULL,
CONSTRAINT PK_VEHICULO PRIMARY KEY (IDVEHICULO));


INSERT INTO VEHICULO VALUES(201,'sigma',2324,'VTU103');
INSERT INTO VEHICULO VALUES(203,'volvo',2637,'TUT987');
INSERT INTO VEHICULO VALUES(204,'toyota',4893,'COW647');
INSERT INTO VEHICULO VALUES(205,'ford',6676,'PEN877');
INSERT INTO VEHICULO VALUES(206,'audi',9899,'TIT559');
INSERT INTO VEHICULO VALUES(207,'chevrolet',3744,'ASS465');

*********************************************
CREATE TABLE CLIENTE_VEHICULO (
IDCLIENTE NUMBER(10) NOT NULL,
IDVEHICULO NUMBER(10) NOT NULL,
FECHA_INGRESO DATE NOT NULL,
FECHA_SALIDA DATE NOT NULL,
KM NUMBER(15) NOT NULL,
CONSTRAINT PK_CLIE_VEHI PRIMARY KEY (IDCLIENTE,IDVEHICULO));

ALTER TABLE CLIENTE_VEHICULO
ADD CONSTRAINT FK_CLIEN_CLIENVEHI
FOREIGN KEY (IDCLIENTE) REFERENCES CLIENTE (IDCLIENTE);

ALTER TABLE CLIENTE_VEHICULO
ADD CONSTRAINT FK_VEHICULO_CLIENVEHI
FOREIGN KEY (IDVEHICULO) REFERENCES VEHICULO (IDVEHICULO);

INSERT INTO CLIENTE_VEHICULO VALUES(101, 201,TO_DATE('2008/12/17','YYYY/MM/DD'),TO_DATE('2008/12/18','YYYY/MM/DD'), 10000);
INSERT INTO CLIENTE_VEHICULO VALUES(103, 204,TO_DATE('2009/07/20','YYYY/MM/DD'),TO_DATE('2009/07/23','YYYY/MM/DD'), 15000);
INSERT INTO CLIENTE_VEHICULO VALUES(105, 203,TO_DATE('2010/06/19','YYYY/MM/DD'),TO_DATE('2006/06/24','YYYY/MM/DD'), 17899);

INSERT INTO CLIENTE_VEHICULO VALUES(107, 206,TO_DATE('2008/09/23','YYYY/MM/DD'),TO_DATE('2006/09/26','YYYY/MM/DD'), 19887);
INSERT INTO CLIENTE_VEHICULO VALUES(106, 207,TO_DATE('2008/08/20','YYYY/MM/DD'),TO_DATE('2006/08/25','YYYY/MM/DD'), 18966);
*********************************************


CREATE TABLE TIPO_REPARACION (
IDTIPO_REPARACION NUMBER(15) NOT NULL,
DESCRIPCION VARCHAR(100) NOT NULL,
CONSTRAINT PK_TIPOREPARACION PRIMARY KEY (IDTIPO_REPARACION));

INSERT INTO TIPO_REPARACION VALUES(301, 'CORREA PODRIDA');
INSERT INTO TIPO_REPARACION VALUES(302, 'EXOSTO DESCINTEGRADO');
INSERT INTO TIPO_REPARACION VALUES(303, 'SIN MOTOR');
INSERT INTO TIPO_REPARACION VALUES(304, 'ACEITE DE COCINA EN EL MOTOR');
INSERT INTO TIPO_REPARACION VALUES(305, 'DISCO DE FRENO DAÑADO');
INSERT INTO TIPO_REPARACION VALUES(306, 'PARABRISAS ROTO');

*********************************************
CREATE TABLE TRABAJADOR (
IDTRABAJADOR NUMBER(10) NOT NULL,
NOMBRE VARCHAR(20) NOT NULL,
APELLIDO VARCHAR(20) NOT NULL,
TELEFONO VARCHAR(10) NOT NULL,
CONSTRAINT PK_TRABAJADOR PRIMARY KEY (IDTRABAJADOR));

INSERT INTO TRABAJADOR VALUES(401, 'DIEGO', 'GUTIERREZ', 3245687);
INSERT INTO TRABAJADOR VALUES(402, 'JUAN', 'PEREZ', 3849587);
INSERT INTO TRABAJADOR VALUES(403, 'CAMILO', 'TORREZ', 4857663);


*********************************************
CREATE TABLE REPARACION(
IDREPARACION NUMBER(15) NOT NULL,
IDTRABAJADOR NUMBER(10) NOT NULL,
IDTIPO_REPARACION NUMBER(15) NOT NULL,
IDCLIENTE NUMBER(15) NOT NULL,
IDVEHICULO NUMBER(10) NOT NULL,
CONSTRAINT PK_REPARACION PRIMARY KEY (IDREPARACION));

INSERT INTO REPARACION VALUES(501, 401,301, 101, 201);
INSERT INTO REPARACION VALUES(502,402,302, 103, 204);
INSERT INTO REPARACION VALUES(503, 403,303, 105, 203);
INSERT INTO REPARACION VALUES(504, 401,301, 107, 206);
INSERT INTO REPARACION VALUES(505, 402,305, 106, 207);

ALTER TABLE REPARACION
ADD CONSTRAINT FK_TIPOREPA_REPARACION
FOREIGN KEY (IDTIPO_REPARACION) REFERENCES TIPO_REPARACION (IDTIPO_REPARACION);

ALTER TABLE REPARACION
ADD CONSTRAINT FK_TRABAJADOR_REPARACION
FOREIGN KEY (IDTRABAJADOR) REFERENCES TRABAJADOR (IDTRABAJADOR);


ALTER TABLE REPARACION
ADD CONSTRAINT FK_CLIENTEVEHI_REPARACION
FOREIGN KEY (IDCLIENTE, IDVEHICULO) REFERENCES CLIENTE_VEHICULO (IDCLIENTE, IDVEHICULO);


Taller

Implemente mediante funciones, procedimientos o cursores las siguientes consultas, teniendo en cuenta el modelo anterios.
1. Muestre cuantos empleados tiene la empresa y que trabajos ha realizado cada uno de ellos.
2. Muestre el formato de la factura en pantalla, con información relacionada.
Ej: Un cliente con su vehículo y sus respectivos trabajos realizados al mismo.
3. Mostrar en un rango de fechas los valores de cada una de las facturas.
4. Mostrar las ventas totales par un día específico y por mes.
5. Mostrar de manera ordenada los clientes y sus vehículos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder