Python - Ayuda base de datos

 
Vista:
sin imagen de perfil

Ayuda base de datos

Publicado por Jose Luis (12 intervenciones) el 30/01/2015 00:24:38
Mi duda es la siguiente, partiendo de la base de datos con las siguientes entidades:

CONDUCTOR(DNI, NOMBRE, DIREC,PROV)
VEHICULO(MATRICULA, CARGAMAX, FECHACOMPRA)
RUTA(RUTA#, CIUDADSAL,CIUDADLLEG, KM)
VIAJE_PROGRAMADO(VIAJE#, RUTA#, FECHASAL, HORASAL, FECHALLEG, HORALLEG) primero los viajes se programan y posteriormente se asignan
VIAJE_ASIGNADO(VIAJE#, DNI, MATRICULA) los viajes son asignados a una persona, DNI, que llevará un vehículo, MATRICULA
(Las llaves principales son el primer dato de cada entidad y las almohadillas representan llave externa)
Pues quiero realizar las siguientes consultas:


Ciudades entre las que se haya programado el viaje de mayor duración junto con el vehículo y dni del conductor que lo hizo,
DNI y nombre de los conductores que hayan llevado todos los camiones de la empresa y número de rutas realizados por él con la empresa.
Dias de la semana que se hayan hecho viajes entre Granada y Sevilla por la mañana (salida y llegada antes de las 13 h) de un mismo dia.
Rutas en las que hayan hecho viajes de más de dos días.
Matriculas de todos los vehiculos en la que tambien aparezcan los datos del viaje de mayor duracion en dias realizado por ese vehiculo y el conductor que lo hizo.
Conductores que hayan realizado todos los trayectos de la tabla RUTA.
Conductores que hayan realizado el mayor numero de kilometros y días totales de trabajo de cada uno de esos conductores.
Camiones que hayan sido conducidos por un unico conductor.

Y las siguentes funciones o procedimientos:


Define una función esDNI para comprobar que una cadena es de la forma 'dddddddd'.
Define una función esMatricula para comprobar que una cadena es de la forma 'ddddccc'.
Define una función esFecha para comprobar que una cadena representa una fecha.
Define una función esHora para comprobar que una cadena representa una hora (con sus minutos y sus segundos).
Crea un procedimiento llamado "insConductor" para insertar un conductor nuevo en la base de datos y que compruebe que ningún atributo es nulo, que el atributo "DNI" es de la forma "dddddddd" donde las d pueden tomar los valores '0' ... '9'. Además se ha de comprobar que la provinca sea igual a uno de los códigos que aparece en la siguiente tabla https://www.dropbox.com/s/qo0pwt5ipk8t3wt/provincias.txt?dl=0, para ello se creará una nueva tabla con los datos del fichero y se comprobará que el código introducido corresponde con el de una provincia.
Crea un procedimiento llamado "insVehiculo" para insertar un vehículo nuevo en la base de datos y que compruebe que 'matricula' es de la forma 'dddccc', que la cadena 'fechadecompra' representa una fecha y que 'cargamax' es un número natural mayor que cero.
Crea un procedimiento insRuta que haga todas las comprobaciones necesarias.
Crea un procedimiento insVProgramado que haga todas las comprobaciones necesarias.
Crea un procedimiento insVAsignado que haga todas las comprobaciones necesarias.
Para los anteriores procedimientos poner en el fichero transporte.sql un ejemplo de uso de cada uno de ellos.

Os agradeceria algo de ayuda, soy primerizo, tengo que entregar la practica y a todo esto se le suma que me hago un lio con los SELECT y que apenas se hacer funciones en sql.
Muchas gracias de antemano, cualquier ayuda es buena por minima que sea
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
sin imagen de perfil

Ayuda base de datos

Publicado por Jose Luis (12 intervenciones) el 30/01/2015 13:26:28
¿Alguna ayuda?
Tengo la base creada, y los datos insertados
Agradeceria indicaciones para formular los SELECT, funciones y procedimeintos
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar