Database programma voor java ontwikkeling
virusbeatbox op 04 juli 2011 #
Beste mensen,
ik ben op zoek naar een degelijk en liefst gratis programma die ik kan installeren op mijn iMac.
Ik zou deze gebruiken voor applicaties te maken uit eclipse (JAVA).
Ik wens een programma te hebben die me in staat stelt zelf tabellen, relaties, records, queries enz... aan te maken.
Van zodra de database op punt staat, wens ik deze, met een database connection class in Java, te connecteren met mijn applicatie binnen eclipse.
Hebben jullie enige suggesties welke programma's die mijn eisen die ik hierboven heb gesteld, verwezenlijken?
Alvast bedankt!
Melgior op 04 juli 2011 #
Heb je al bedacht welke database je wilt gaan gebruiken? In principe kun je de meeste bekende 'merken' wel gebruiken vanuit Java. Op de Mac gebruik ik bijvoorbeeld Sequel Pro om te werken met MySQL en Base als ik werk met SQLite.
Bonkie op 04 juli 2011 #
Je zou ook DbVisualizer kunnen gebruiken, heeft ook een gratis versie... Werkt met alle versies DB via een Java driver
virusbeatbox op 04 juli 2011 #
En kan je bij deze programma's dan effectief zelf database aanmaken, de datatypes wijzigen, de kolomnamen aanmaken ed? of moeten deze worden aangemaakt via sql statements zoals CREATE TABLE ... ?
Het is vooral om de applicatie eerst lokaal te testen. Het zijn geen applicaties die op een website of dergelijke moeten draaien.
johnkeates op 04 juli 2011 #
Als programmeur kan je toch wel SQL?
Verder kan je met JDBC en ODBC prima met ALLE databasesystemen verbinding maken die daar ondersteuning voor bieden, en dat zijn er VEEL.
Heb je ook al naar SQLite gekeken? Of anders JavaDB?
Qua interfaces heb je altijd wel goede CLI applicaties.
virusbeatbox op 04 juli 2011 #
Ja kan inderdaad met SQL werken maar als de database te complex begint te worden, wil ik gewoon snel kunnen zien waar de fout zich bevindt.
Ik ben momenteel sequel pro aan het uittesten, die presteert goed volgens mijn eerste indruk.
Ben wel al een paar uur aan het zoeken op het internet, hoe ik een database van uit Sequel Pro kan connecteren met mijn databaseclass in java Eclipse
johnkeates op 04 juli 2011 #
Met SQL natuurlijk, Unix socket of TCP socket, en gaan! Je hebt gewoon libs om met databases te communiceren hoor... Op welk niveau programmeer je?
Om visueel te werken met databases kan je PHPmyAdmin voor MySQL proberen, of PHPpgAdmin voor PostgresQL. Moet wel i.c.m. Apache2 en PHP5+ (installeer bijv. XAMPP)
virusbeatbox op 04 juli 2011 #
Euhm, ik heb een database nodig die lokaal aanwezig is op de pc? ik heb geen apache server of wat dan ook nodig.
In windows heb je gewoon een MS access of een SQL Database op je pc staan waarnaar je connectie maakt in je java databaseconnection class .. hier op mac vind je enkel servers? :s
virusbeatbox op 04 juli 2011 #
En qua niveau, ik ben 2ejaarsstudent informatica die zich wil verdiepen in java programming
johnkeates op 04 juli 2011 #
Apache2 zit op Mac OS X ingebouwd, PHP ook. Of je ze nodig hebt of niet is een ander verhaal; je geeft aan visuele gereedschappen nodig te hebben om een abstracte database te gebruiken.
phpmyadmin en phppgadmin zijn visuele database beheer interfaces, voor mysql en postgesql.
In windows heb je wel meer dingen 'gewoon', daarom is de performance ook zo laag
Verder is MS Access of MSSQL ook gewoon een server, dat je API's gebruikt die abstractie tot op connectie niveau regelen is een ander verhaal. Maar dat doet er niet toe. Als je java gaat gebruiken, ga ik er van uit dat je dat doet om dat je cross platform wil draaien. Afhankelijk van de reden van je databasegebruik kan je dan misschien het beste SQLite gebruiken, dan is de engine of 'server' gewoon een Java class.
Als je OS-specifiek aan de slag wil kan je MSAccess gebruiken (maar dat vereist dan Office als je het Access pakket wil gebruiken ipv slechts databases), of MSSQL, maar dat kost weer flink geld als je dat echt gaat inzetten. Voor Mac OS X kan je ook de CoreData bridges gebruiken, maar ook SQLite is gewoon aanwezig.
Het beste is om je niet te binden aan wat dan ook, stel dat je opeens moet veranderen van backend of OS, dan is je code niet echt portable en dan zit je met de gebakken peren (ofwel veel werk, of hoge kosten, of klanten die weglopen, of combinaties). Als je niet superveel IOPS verwacht en netwerk ondersteuning niet van belang is (bijv. Desktop applicatie/client met slechts een lokale store) zou je JavaDB of SQLite of zelfs een zelfbedacht XML formaat kunnen gebruiken. Mocht je wat meer performance zoeken, dan is PostgresQL aan te raden met JDBC, of als je MySQL liever hebt kan je die uiteraard gebruiken, maar dan wel met InnoDB natuurlijk (want een applicatie die data opslaat zonder transacties.. nouja, dat kan echt niet meer).
Het kan natuurlijk ook overkill zijn, Adobe Reader heeft op Mac OS X (of had) altijd een MySQL database server ingebouwd, die elke keer startte op het moment dat je de reader open deed... niet echt goed voor een 'lezer'. SQLite, XML of een binary object in een file opslaan was beter geweest.
Om nog terug te komen op servers vs windows-style: Unix en BSD en Linux zijn vooral op 'losse' delen gebaseerd, in plaats van een paar lompe dingen die alles maar moeten opknappen. Meestal heb je servers en clients, die meestal via IPC communiceren, of soms lokale sockets of zelfs TCP. Pipes zijn ook niet ongebruikelijk. Het voordeel is dat je alle onderdelen op totaal andere systemen zou kunnen draaien die fysiek duizenden kilometers van elkaar verwijderd zijn, en het werkt dan nog steeds. Of je kan bepaalde clients of servers meervoudig draaien, voor extra performance of redundantie, of gewoon om dat je meerdere clients op een server wil hebben, of een client wil die met meerdere servers kan werken, maar zonder dat ze aan elkaar gebonden zijn als dependency. Windows kan dat niet, behalve als er specifieke componenten of protocollen voor bedacht worden. Je hebt wel RPC, maar dat is ook niet echt je-van-het (misschien in 1995). Als je in je software er van uit gaat dat je met 'een server' verbinding maakt , kan je die server overal waar je maar wil neerzetten. Je software hoeft alleen maar een IP adres (dat bijv. ook loopback kan zijn) te hebben, en je kan werken. Als je applicatie om wat voor reden dan ook druk gebruikt gaat worden, kan de databaseserver op andere hardware dan de frontend gebruikt worden. Dan krijg je dat je je performance beter kan regelen. Een databaseserver kan bijvoorbeeld ingericht zijn op een manier waar Java of je specifieke applicatie er weinig performance op haalt, maar de database wel. (Een databaseserver zonder videokaart gaat je bijv. niet helpen als je een lokale GUI wil draaien) Je kan dan gewoon een lokale server gebruiken of een externe, zonder dat het extra werk is qua code kloppen.
Advertentie
Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.
Inloggen
Over dit topic
Gestart op 04 juli 2011 door virusbeatbox
Laatste reactie door johnkeates
Reageer op dit topic