10
votes

Quelle est la meilleure base de données à utiliser avec un programme Java?

J'ai du mal à obtenir un programme Java pour vous connecter à MS SQL Server, et je commence à me demander si MySQL serait un meilleur choix pour mon projet (apprentissage).

Les tutoriels de Sun se rapportent à Java DB, mais je n'ai jamais entendu parler de cela dans aucun autre contexte, il ne semble donc pas que la base de données la plus utile d'apprendre.

J'apprécie tout aperçu de la manière la plus naturelle de connecter Java à une base de données couramment utilisée.


0 commentaires

11 Réponses :


9
votes

Vous pourriez peut-être décrire les problèmes que vous avez rencontrés avec la connexion à MS SQL. Bien sûr, c'est possible, il est donc probable que quelque chose de petit que vous ayez ou n'a pas fait cela empêchant la connexion de travailler.

Il existe de nombreux serveurs de base de données open source avec des pilotes JDBC. Celui que vous pourriez envisager est HSQLDB qui a un mode complètement en mémoire, vous n'avez même pas à penser à la définition up d'un serveur. C'est probablement un excellent moyen d'apprendre les bases de SQL.


1 commentaires

À côté de HSQLDB, H2 ( H2DATABASE.COM ) peut également être un bon choix pour apprendre la programmation de la base de données. Personnellement, je préfère H2 à HSQLDB en raison de sa bonne interface graphique Web et d'une meilleure isolation des transactions.



5
votes

Le type ou le nom de la base de données n'affectera pas votre processus d'éducation, car vous travaillerez avec JDBC.

Je pense que vous pouvez aller avec n'importe quel. Il suffit de la configurer de manière appropriée sur votre machine et de vous connecter à la chaîne de connexion appropriée.


0 commentaires

3
votes

Vous pouvez essayer soit postgreSQL ou mysql


1 commentaires

Mais MySQL ne prend pas en charge de nombreuses fonctionnalités comme dans SQL comme la contrainte de chèque et de nombreuses autres ... y a-t-il SQL autre que Microsoft SQL à utiliser en Java



1
votes

Tout avec un pilote JDBC devrait fonctionner correctement. Je ne pense pas que vous trouverez une réponse définitive à ce qui est "meilleur" c'est une question très subjective. Nous utilisons Interbase à mon travail et n'a pas de problèmes.


0 commentaires

2
votes

Je recommande MySQL ou Oracle. De Oracle, vous pouvez également obtenir une base de données gratuite, mais la taille de la base de données est limitée.

raisonnement pour cela est que ce sont des bases de données les plus utilisées et il est bon d'obtenir une certaine visibilité pour ceux-ci. Utilisez JDBC et une interface similaire, mais faites du code sur la base de données et il y a d'autres choses que vous devez apprendre également. Surtout si vous faites une application peu complexe. Mettez également des mains sales avec les opérations de base avec la base de données est toujours bonne.


1 commentaires

Oracle n'est que libre tant que vous ne le mettez pas en production.



1
votes

Microsoft a même une documentation sur son site Web. Les mots-clés Google étaient "JDBC SQL Server".

http://msdn.microsoft.com/en-us/data /aa937724.aspx


0 commentaires

0
votes

Si vous voulez rester en Java, une option est Berkeley DB Java Edition . C'est le même logiciel BDB qui venait de SleepCat, qui avait une réputation sterling sur le marché de la base de données intégré.


0 commentaires

0
votes

Choisissez une base de données que vous pouvez déterminer comment installer. La plupart sont assez faciles et cela vous donnera une bonne idée de ce que l'utilisation d'une base de données est comme. Une fois que vous avez une application de travail, essayez de le porter dans une autre base de données. Je recommanderais d'utiliser Javadb pour le premier, puis l'un des autres dB - Oracle, MySQL, Postgres, etc.


0 commentaires

0
votes

La principale question que j'ai eue avec l'utilisation de MSSQL est lorsque vous utilisez les pilotes de pont antiquités JDBC -> ODBC; Celles-ci font un wrapper Java à demi-cul autour des appels ODBC, qui sont floconnants et fragiles. Si vous utilisez le pont JDBC ODBC, remplacez-les avec les derniers pilotes JDBC native de Microsoft, ils fonctionnent un million de fois mieux.


0 commentaires

5
votes

Java DB est Apache Derby rebrandé et inclus dans le JDK. C'est bon, et il est beaucoup plus facile d'installer que de fonctionnement de bases de données de manière native.

Il est très important d'utiliser un bon pilote de la base de données! Cela pourrait résoudre tous vos problèmes de connexion.

Notez également que si vous changez de base de données, vous devez également modifier votre SQL à moins que vous n'utilisiez une couche comme Hibernate ou JPA.


2 commentaires

Derby n'est probablement pas un excellent SGBD à apprendre avec. C'est douloureusement lent et manque beaucoup dans la zone SQL. Je l'ai utilisé pour la dernière fois (il y a 6 mois), cela comprenait l'instruction DML de la "fusion" / "sur la touche DUPLIGLE" et les options de limite / décalage sur les requêtes. Parmi de nombreuses autres caractéristiques manquantes.


J'apprécierais les liens vers de bonnes pages décrivant la partie "douloureusement lente". Les limites / compensation sont dépendantes de la base de données, il est donc probablement appelé autre chose.



1
votes

Le moyen le plus simple de se connecter à une base de données relationnelle externe (par opposition à une base de données en mémoire comme Berkeley DB) est via JDBC. Vous devriez vous familiariser avec JDBC avant de progresser sur toutes les autres méthodes de stockage. Pour la plupart des projets, vous allez bien utiliser MySQL ou PostgreSQL. Ne vous inquiétez pas de décider d'un sur l'autre, pour des projets plus petits, les différences ne sont pas pertinentes. Tant que vous utilisez JDBC, vous risquez de basculer entre les deux plus tard si vous avez vraiment besoin.

Pour commencer, je téléchargerais MySQL et suivriez le tutoriel JDBC sur le site Sun http://java.sun.com/docs/books/tatudial/jdbc/index.html ).

À une date ultérieure, vous pouvez décider que vous devez utiliser un outil de cartographie d'objet-relation, comme Hibernate, mais je ne m'inquiéterais pas à ce sujet maintenant, vous connaîtez simplement JDBC et MySQL ou PostgreSQL.


0 commentaires