¡Bases de datos con JAVA en lugar de SQL!

toyo2020 Mensajes publicados 75 Estado Miembro -  
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   -

Hola, ¿cuál es el interés de gestionar bases de datos con JAVA en lugar de con SQL?

A través de JAVA hay un requisito previo (registro de una base de datos en ODBC y carga explícita del controlador mediante Class.forName ...) y luego se necesita un código mucho más largo para el mismo resultado:

 requerimiento = "INSERT INTO cliente VALUES ('valor 1', 'valor 2', ...)"; try { Statement stmt = con.createStatement(); ResultSet resultados = stmt.executeQuery(requerimiento); } catch (SQLException e) { e.printStackTrace(); }

En este mismo ejemplo de inserción de valor con SQL, basta con una línea:

INSERT INTO tabla VALUES ('valor 1', 'valor 2', ...)

Mi amigo, que fue estudiante conmigo, es un fan de JAVA y programa en JAVA en su trabajo, ninguno de sus argumentos me ha convencido, SQL es para mí mucho mejor que JAVA en cuanto a consultas sobre bases de datos.

Quizás entre los muchos inscritos en commentcamarche haya alguno que proponga argumentos serios a favor de JAVA. Tengo curiosidad por leer sus argumentos.


8 respuestas

yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
 

hola,

Yo, tengo curiosidad por leer cómo se ejecutará tu consulta SQL.

También me pregunto, por curiosidad, qué has estudiado.

1
KX Mensajes publicados 19031 Estado Moderador 3 020
 

Hola,

SQL es una rueda, una muy buena rueda, que rueda muy bien, no hay nada que reprochar, pero no es más que una rueda.

Java es un coche, no realmente un coche de carreras, sino más bien el coche familiar que todo el mundo podrá permitirse, aguanta bien la carretera para los trayectos diarios y es más que suficiente para la mayoría de los usuarios.

Un coche sin ruedas no sirve de mucho, por eso Java sabe utilizar las bases de datos SQL.

Notemos al pasar que un coche tiene 4 ruedas, así como un programa Java podrá manipular varias bases de datos.

Pero Java es muy amplio, podría ser un coche, pero también una moto o un camión.

En cambio, una rueda sola, se acaba pronto...


1
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 

Hola,

¿Cómo se pueden comparar los dos ??

Java es un lenguaje de programación ..... Sql .. un lenguaje de consulta !!

Sea como sea .. si Java quiere manipular una base de datos Mysql .. tendrá que recurrir obligatoriamente a SQL.

A la inversa .. si necesitas desarrollar un software .... SQL no podrá hacer nada por ti.

Así que bueno .. a menos que necesites, de forma ocasional, manipular tu base de datos (para añadir datos manualmente para pruebas por ejemplo).. puedes hacerlo directamente en SQL. Si, por otro lado, necesitas automatizar cosas (o hacerlas de forma repetitiva ...) pasar por un lenguaje de programación (Java u otro...) se convierte en una evidencia.

.

Por cierto .. tu consulta SQL no se va a ejecutar por sí sola (como señaló Ygbe)...

Para "lanzarla".. necesitarás o bien utilizar la línea de comandos (y por lo tanto debes abrir una conexión a la base de datos ... luego escribir tu consulta para ejecutarla.. o recurrir a un software (phpmyadmin, heidisql, dbeaver ....) que (no lo ves.. hace lo mismo que tu amigo en diferentes lenguajes de programación según el software elegido...).

En resumen... no hay comparaciones que hacer ... SQL es una "herramienta" que puede ser utilizada por lenguajes de programación...


.
Cordialmente,
Jordane

0
toyo2020 Mensajes publicados 75 Estado Miembro
 

Estoy de acuerdo con ustedes dos KX y jordane45 en que SQL no permite crear un software y se asemeja más a una rueda que a un coche, ya que he realizado consultas SQL con heidisql, también las he integrado en VisualBasic.

Sin embargo, no conozco JAVA, tengo la impresión de que el código JAVA es muy pesado, el registro de una base de datos o la carga de controladores ... me parece más largo que con otros lenguajes como VisualBasic o DELPHI.

¿Cuál es la realidad, la complejidad del código JAVA permitiría hacer más que con el código VisualBasic o DELPHI? No me hago esta pregunta de manera general (en esta discusión, al menos) sino sobre un tema específico, es decir, su relación con las bases de datos.

0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 

Java no permite nada más ni menos que otros lenguajes (en su relación con las bases de datos)


.
Saludos,
Jordane

0
KX Mensajes publicados 19031 Estado Moderador 3 020
 

Hola,

Tengo la impresión de que el código JAVA es muy pesado, la grabación de una base de datos o la carga de un controlador

Primero que todo, la carga del controlador (Class.forName) ya no es necesaria desde Java 6 (salido en 2006), por lo que a menos que tengas un controlador muy antiguo, la carga es automática al añadir el controlador al classpath.

Así que la creación de una conexión se resume a una sola línea (ejemplo con MySql)

Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "password");

Difícil hacer algo más simple... Incluso si para estar limpio (y Java es bastante estricto al respecto), también habrá que escribir código para cerrar la conexión, manejar los casos de error, etc.


0
toyo2020 Mensajes publicados 75 Estado Miembro
 

¡Qué chido KX, este código está ligero!

0
mariam-j Mensajes publicados 45 Fecha de registro   Estado Miembro Última intervención   37
 

Hola,
Me gustaría que me explicaran la necesidad y la pertinencia de las bases de datos.
Me parece que al poner los datos en un simple archivo y cargar el archivo, podemos hacer lo que queramos con los datos, y eso con cualquier lenguaje.
Gracias por la aclaración.

0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 

un simple archivo de texto podría considerarse como una base de datos....

ahora, vamos a hablar más bien de los SGBD como mySQL, sqlserver, Oracle, postgresql, access...etc.....

es más que el almacenamiento de datos... también son métodos de ordenación, búsqueda y filtrado... funciones que permiten relacionar / cruzar varios datos juntos, buscarlos fácilmente y sobre todo rápidamente... con la ayuda de un lenguaje de consulta..

pd: y tú, ¿puedes explicarme qué tiene que ver tu pregunta aquí si no tiene ninguna relación con la pregunta inicial?

0
mariam-j Mensajes publicados 45 Fecha de registro   Estado Miembro Última intervención   37 > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 

Pregunta inicial: Base de datos con Java vs SQL.
Mi pregunta: ¿Por qué "base de datos"?
¿No hay una pequeña relación?
Los métodos de ordenación, etcétera, también se pueden hacer con código.
Si metemos datos desordenados en una base de datos, ¿no se estructuran solos, verdad?

0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > mariam-j Mensajes publicados 45 Fecha de registro   Estado Miembro Última intervención  
 

Pregunta inicial: Base de datos con Java vs Sql.
Mi pregunta: ¿Por qué "base de datos"?
¿No hay una pequeña relación?

Es costumbre abrir tus propias preguntas ... y no contaminar las de los demás...

Y además... partiendo de ahí ... podrías haberlo puesto en cualquier pregunta de informática.... ya que al final... todo es informática, ¿no?

Fuera de broma,

Los métodos de ordenamiento, etc... Se pueden hacer tanto con código.

sí, pero he precisado fácilmente y sobre todo rápidamente... de la misma manera que puedes ir a Japón caminando y nadando... o utilizar un medio de transporte más adecuado como el avión...

Si echamos datos desordenados en una base de datos, ¿no se estructuran solas, verdad?

Bueno, no... por eso hay que pensar un mínimo en la concepción de su bdd ... y para quedarnos en lo absurdo ... te devuelvo la pregunta: Si pones trozos de código desordenados.. ¿se convierten mágicamente en un software?

Francamente, no sé qué vienes a hacer en los foros de "programación"... aparte de trollear...

0
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
 

Una base de datos es un software escrito con código, es una herramienta.

Para algunos proyectos, esta herramienta no es ni necesaria ni útil.

Para algunos proyectos, esta herramienta es útil, facilita el trabajo.

Para algunos proyectos, esta herramienta es indispensable; el proyecto no sería realizable, o no a tiempo, o no dentro del presupuesto, sin esta herramienta.

0