Les bases de données avec JAVA plutôt que SQL !

toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024 - 16 janv. 2024 à 10:46
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 - 24 mars 2024 à 16:26

Bonjour, quel est l’intérêt à gérer les bases de données avec JAVA plutôt qu'avec SQL.

Via JAVA un préalable est nécessaire (enregistrement d'une base de données dans ODBC & chargement explicite du pilote via Class.forName ...) et ensuite il faut du code bien plus long pour le même résultat :

 requete = "INSERT INTO client VALUES ('valeur 1', 'valeur 2', ...)";
    try {
       Statement stmt = con.createStatement();
       ResultSet resultats = stmt.executeQuery(requete);
    } catch (SQLException e) {
       e.printStackTrace();
    }

A ce même exemple d'insertion de valeur avec SQL une ligne suffit :

INSERT INTO table VALUES ('valeur 1', 'valeur 2', ...)

Mon amis qui fut étudiant avec moi est un fan de JAVA et il code en JAVA a son travail, aucun de ses arguments ne m'a convaincu, SQL est pour moi bien mieux que JAVA coté requête sur les base de données.

Peut être que parmi les nombreux inscrit à commentcamarche il y en aurait quelque un proposant des arguments sérieux pour JAVA. Je suis curieux de lire ses arguments.


Linux / Firefox 118.0

A voir également:

8 réponses

yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
16 janv. 2024 à 10:54

bonjour,

Moi, je suis curieux de lire comment ta requête SQL sera exécutée.

Je me demande aussi, par curiosité, ce que tu as étudié.

1
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
16 janv. 2024 à 21:18

Bonjour,

SQL est une roue, une très bonne roue, qui roule très bien, y a rien à redire, mais ce n'est qu'une roue.

Java est une voiture, pas vraiment la voiture de course, mais plutôt la voiture familiale que tout le monde va pouvoir s'offrir, elle tient bien la route pour les trajets du quotidien et c'est largement suffisant pour la plupart des utilisateurs.

Une voiture sans roue, ça ne sert pas à grand chose, c'est pour ça que Java sait utiliser les bases de données SQL.

Notons au passage qu'une voiture a 4 roues, tout comme un programme Java pourra manipuler plusieurs base de données.

Mais Java c'est très vaste, ça pourrait être une voiture, mais aussi une moto ou un camion.

En revanche une roue toute seule, on a vite fait le tour...


1
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 4 667
16 janv. 2024 à 22:54

Bonjour,

Comment peut-on comparer les deux ??

Java est un langage de programmation .....  Sql .. un langage de requêtage !!

Quoi qu'il arrive .. si java veut manipuler une base de données Mysql .. il devra obligatoirement faire appel à du SQL.

A contrario .. si tu as besoin de développer un logiciel .... le sql ne pourra rien pour toi.

Donc bon .. à moins d'avoir besoin, de façon occasionnelle, de manipuler ta bdd  (pour y ajouter des données manuellement pour des tests par exemple).. tu peux le faire directement en sql .  Si, par contre, tu dois automatiser des choses (ou les faire de façons répétitive ...) passer par un langage de programmation ( java ou autre... ) devient une évidence.

.

Au passage .. ta requête SQL elle ne va pas s'exécuter toute seul ( comme l'a souligné Ygbe )...

Pour la "lancer".. il va te falloir soit passer en ligne de commandes ( et donc tu dois ouvrir une connexion à la bdd ... puis écrire ta requête pour l'exécuter..  ou passer par un logiciel ( phpmyadmin , heidisql, dbeaver .... ) qui ( tu ne le vois pas.. fait la même chose que ton pote  dans différents langages de programmation selon le logiciel choisi... ).

Bref... il n'y a pas de comparaisons à faire ...  sql est un "outil" qui peut être utilisé par des langages de programmation... 


0
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
18 janv. 2024 à 08:44

Je suis d'accord avec vous deux KX et jordane45 que SQL ne permet pas de réaliser un logiciel et s'apparente a une roue et non une voiture puisque j'ai réalisé des requêtes SQL avec heidisql, j'en ai aussi intégré a VisualBasic.

Par contre je ne connais pas JAVA, j'ai l’impression que le code JAVA est très lourd, l'enregistrement d'une base de données ou le chargement de pilote ... me semble plus long qu'avec d'autres langages comme VisualBasic ou DELPHI.

Qu'en est-il réellement, la complexité du code JAVA permettrait de faire plus qu'avec du code VisualBasic ou DELPHI ? Je ne me pose pas cette question de façon générale (dans cette discutions en tout cas) mais à propos d'un sujet précis soit de sa relation aux bases de données.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 4 667
18 janv. 2024 à 09:20

Java ne permet rien de plus ou de moins que les autres langages (dans sa relation aux bases de données)


0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 janv. 2024 à 18:00

Bonjour,

j'ai l’impression que le code JAVA est très lourd, l'enregistrement d'une base de données ou le chargement de pilote

Tout d'abord le chargement de pilote (Class.forName) n'est plus utile depuis Java 6 (sorti en 2006), donc à part avoir un très vieux driver, le chargement est automatique lors de l'ajout du driver au clasdpath.

Du coup la création d'une connexion se résume à une seule ligne (exemple avec MySql)

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

Difficile de faire plus simple... Même si pour être propre (et Java est assez strict là dessus), il va falloir aussi du code pour fermer la connexion, gérer les cas d'erreurs etc.


0
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
24 mars 2024 à 11:38

sympas KX ce code est alégé !

0
mariam-j Messages postés 1069 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 14 mai 2024
24 mars 2024 à 11:47

Bonjour,
Moi je voudrais qu'on m'explique la nécessité, la pertinence des bases de données.
Il me semble qu'en mettant les données dans un simple fichier et en chargeant le fichier, on fait ce qu'on veut des données, et cela avec n'importe quel langage.
Merci pour la lumière.

0
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 4 667
24 mars 2024 à 11:58

un simple fichier texte pourrait être considéré comme une base de données....

maintenant, on va parler plus tôt des SGBD tel que mySQL, sqlserver, Oracle. postgresql, access...etc.....

c'est plus que le stockage des données... c'est également des méthodes de tri de recherche de filtrage... des fonctions qui permettent de relier / croiser plusieurs données ensemble de les rechercher facilement et surtout rapidement...a l'aide d'un langage de requetage..

ps: et toi peux-tu m'expliquer que viens faire ta question ici alors qu'elle n'a aucun rapport avec la question initiale ? 

0
mariam-j Messages postés 1069 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 14 mai 2024 > jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024
24 mars 2024 à 13:33

Question initiale: Base de données avec Java vs Sql.
Ma question: Pourquoi "base de données" ?
Y a pas un petit rapport ?
Les méthode de tri, et ect... Peuvent se faire aussi bien avec du code.
Si on met des données en vrac dans une base de données, elles ne vont pas se structurer toutes seules, si ?

0
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 4 667 > mariam-j Messages postés 1069 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 14 mai 2024
24 mars 2024 à 14:45

Question initiale: Base de données avec Java vs Sql.
Ma question: Pourquoi "base de données" ?
Y a pas un petit rapport ?

Il est de coutume d'ouvrir ses propres questions ... et non de polluer celles des autres...

Et puis.. en partant par là ...  tu aurais pu la mettre dans n'importe quelle question d'informatique.... puisque finalement... tout est de l'informatique non ?!

Blague à part,  

Les méthode de tri, et ect... Peuvent se faire aussi bien avec du code.

oui,  mais j'ai précisé  facilement et surtout rapidement..  de la même manière que tu peux te rendre au Japon en marchant puis en nageant ...  ou utiliser un moyen de locomotion plus adapté tel que l'avion...

Si on met des données en vrac dans une base de données, elles ne vont pas se structurer toutes seules, si ?

Ben non..   c'est pour ça qu'il faut un minimum réfléchir à la conception de sa bdd ...  et pour rester dans l'absurde ... je te retourne la question : Si tu mets de bouts de code en vrac .. est ce que ça veut devenir comme par magie un logiciel ??

Franchement,  je ne sais pas ce que tu viens faire dans les forum "programmation"... à par troller...

0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
24 mars 2024 à 16:26

Une base de donnée, c'est un logiciel écrit avec du code, c'est un outil.

Pour certains projets, cet outil n'est ni nécessaire, ni utile.

Pour certains projets, cet outil est utile, il facilite le travail.

Pour certains projets, cet outil est indispensable, le projet ne serait pas réalisable, ou pas à temps, ou pas dans le budget, sans cet outil.

0