Bases de Datos - Base de datos enrrevesada

   
Vista:

Base de datos enrrevesada

Publicado por Ana (4 intervenciones) el 28/07/2010 13:27:25
He aqui un ejercicio de examen que no consegui resolver con exito. a simple vista me parecio bastante facil, pero luego cuando se corrigio me di cuenta de que no lo era. en la parte a) lo mas dificil es calcular los puntos TOTALES retirados, es decir, los de todas las sanionces que haya tenido ese infractor. Si alguien me pudiera escribir la solucion se lo agradeceria.
1 saludo.
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

RE:Base de datos enrrevesada

Publicado por luishoracio (8 intervenciones) el 28/07/2010 14:32:27
Buenos días,

Pdodrías especificar lo que quieres decir con Base de datos enrrevesada, para poderte ayudar.

Saludos!
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

RE:Base de datos enrrevesada

Publicado por ana (4 intervenciones) el 28/07/2010 17:37:31
pues veras el ejercicio pide lo que dice en el enunciado (puedes ver el ejercicio completo pinchando en http://hosting.deimagenes.com/?v=imgkck.jpg)

la cosa esta en que se hacerlo mas o menos pero no se la forma exacta de hacerlo.
se que hay que comparar dos vectores (en uno Contribuyentes y en otro Sanciones) pero no se como, una vez que encuentras a uno que tenga menos de 4 puntos, buscas el resto de sanciones que tenga. esa es mi duda
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

RE:Base de datos enrrevesada

Publicado por Franklin Gamboa (188 intervenciones) el 28/07/2010 16:58:36
Si entendí bien la pregunta, la solución sería algo así:

select a.nombre, a.apellidos, a.telefono, a.puntosrestantes,
(select sum(puntosretirados)
from sanciones b
where a.NIF = b.NIF) puntosretirados
from contribuyente a
where a.puntosrestantes < 4
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

RE:Base de datos enrrevesada

Publicado por Ana (4 intervenciones) el 28/07/2010 17:35:17
seria comparar un vector (Contribuyentes) con otro (Sanciones)
pero la forma exacta no se como seria, podrias escribirme eso en lenguaje java? o un poco mas desarrollado?.
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

RE:Base de datos enrrevesada

Publicado por Franklin Gamboa (188 intervenciones) el 28/07/2010 21:38:38
Lo que posteé era el SQL para realizar esa consulta, con tu aclaración me parece que esta bien.

SQL es el lenguaje estandar para los sistemas gestores de bases de datos, si lo quieres en Java y reutilizando el codigo que te he dado, tendras que usar JDBC para establecer una conexion a la fuente de datos, luego crear un objeto conexion, uno statement y luego correr el codigo que te facilité mas temprano, eso te devolverá un recordset con los datos que cumplen la especificación, mucho mas rapido y sencillo que cualquier implementacion en capa de negocios (osea, hecha en Java).

Si definitivamente tienes que comparar cada conjunto y filtrar a nivel de aplicacion (esto ya no se hace, porque el motor de base de datos es increiblemente eficiente haciendo esto, pero bueno, quiza lo piden con fines didacticos, como lo hicieron conmigo en su momento.....) tienes igual que utilizar JDBC para conectarte a la fuente de datos, obtener los datos de las dos tablas, hacer la union de conjuntos a pie, filtrar los datos (puntosrestantes < 4) y luego separar los valores que quieres mostrar en un arraylist para su despliegue.

Por motivos de tiempo y espacio, no comento mas que los pasos que debe seguir el método para llevar a cabo la tarea, el metodo correrá en dos segundos para una tabla de aproximadamente 100 registros, tablas mayores demorarán mas por que son mas registros que no encesariamente estan desordenados, si quieres mas velocidad en este proceso, ocuparías implementar sistemas de indexacion en memoria usando tablas de hash y sub listas
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

RE:Base de datos enrrevesada

Publicado por Ana (4 intervenciones) el 29/07/2010 12:14:03
Muchas gracias por tu respuestas. en mis proyectos de clase suelo usar siempre un puente JDBC:ODBC.

1 saludo y gracias de nuevo
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

RE:Base de datos enrrevesada

Publicado por Franklin Gamboa (188 intervenciones) el 29/07/2010 14:40:42
Si, eso es por que seguramente estas usando access, que no tiene conectores JDBC, pero JDBC tiene el puente hacia ODBC para ese tipo de escenarios.

Lo que debes hacer es lo mismo que en clase, nada mas que en el statement lo pones a ejecutar el códgio que te di y con eso deberías estar bien.

Saludos.
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

RE:Base de datos enrrevesada

Publicado por Jose Antonio (7 intervenciones) el 16/08/2010 10:03:07
Hola Ana,

¿Ya se te resolvio la duda?
Si necesitas a alguien para que te ayude a completar las practicas
contacta conmigo.

josean.ciudad.soto arroba gmail.com
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