ubuntuusers.de

Datenbankprogrammierung

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

ubuntist

Anmeldungsdatum:
22. August 2010

Beiträge: 215

Es gibt sie schon zuhauf, Fragen nach der (perfekten) Programmiersprache. Ich muß sie dennoch nochmal stellen. Ich habe auf meinem Windowsrechner einige Proggis zur Abrechnung meiner Betriebskosten, zu Erstellung von Unterlagen für den Steuerberater, und ähnlicher Datenbankanwendungen am Laufen. Ich hatte zu diesem Zweck lange noch dBase laufen, es war eeinfach zu bedienen und sehr übersichtlich. Auch waren Berechnungen sehr einfach möglich. Grafisch und vom Komfort her war es aber nicht mehr auf der Höhe der Zeit. Ich habe auch einiges in Pascal (später Delphi gemacht).

Nun suche ich unter Linux eine Programmiersprache, mit der ich weitermachenkann. Ist Java hier geeignet? der Vorteil wäre ggf. die verwendung unter Windows. Meine einzelnen Datendateien könnten über excel-ähnliche Tabellen portiert werden.

Trigger_Hurt

Anmeldungsdatum:
2. August 2008

Beiträge: 302

Ich würd mal sagen, so ziemlich jede (Skript-) Sprache, die was auf sich hält, hat die wichtigsten Datenbank-Systeme (irgendwie) implementiert. Gegen Java hab ich persönlich was, nämlich dass Sie relativ langsam ist. Gut ein Aspekt den man unter Umständen bei dir vernachlässigen kann.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7792

Verwendung unter Windows geht auch mit vielen anderen Scriptsprachen, du kannst dir in Windows auch Perl, Ruby, Python, und andere installieren. Das alleine ist also kein Argument.

Für Datenbanksachen nehme ich Python und SQLAlchemy, und sqlite (Datenbank als einfache Datei statt Datenbankserver). Eine schöne grafische Darstellung kann man dann mit PyQt4 hinbekommen.

Aber das ist, wie immer, Geschmackssache.

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Hi,

die Antworten hier werden so gut sein wie deine Beschreibungen. Wenn du so eine Frage stellst, musst du wahrscheinlich schon sehr viel genauer beschreiben, was du machen willst; etl. verwendest du dBase, wo auch ein einfaches Tabellen-Kalkulations-Sheet reicht (wir wissen es ja nicht)

Fanatics

Avatar von Fanatics

Anmeldungsdatum:
25. August 2010

Beiträge: 1032

Ich habe Datenbankanwendungen in Java geschrieben. Vorteil für mich war dabei, dass ich damit wirklich plattformunabhängig war, nämlich sowohl programmtechnisch, als auch datenbanktechnisch. Ich hatte meine SQL-Statements in einen Resourcepool ausgelagert und konnte mich mit Hilfe des dynamisch ladbaren Datenbanktreibers und der entsprechenden SQL-Statement-Dialekt-Ressource völlig frei innerhalb der Datenbanken bewegen (z.B. zum Testen eine MSAccess mdb, später SQL-Server, Oracle oder mysql...oder was auch immer...)

Grüßle

Fanatics

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Trigger Hurt schrieb:

Ich würd mal sagen, so ziemlich jede (Skript-) Sprache, die was auf sich hält, hat die wichtigsten Datenbank-Systeme (irgendwie) implementiert. Gegen Java hab ich persönlich was, nämlich dass Sie relativ langsam ist.

Weil Dir Java zu langsam ist, rätst Du zu Scriptsprachen? 😉 Den kannte ich noch nicht. ☺

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Wobei die Unterscheidung zwischen Script- und nativer Sprache eh künstlich und quasi ohne Relevanz ist. Und Java ist nicht langsam, sondern allerhöchstens die VM 😉 (Zudem muss ist langsam nur im vergleichenden Kontext sinnvoll; ansonsten sagt er gar nichts aus)

Datenbankabstraktionslayer gibt es auch nicht nur in Java, sondern in vielen Sprachen. Aufgrund der schicken Metaprogrammierungsmöglichkeiten gibt es z.B. in Python mit SQLAlchemy eine herorragende Bibliothek.

theinlein hat da vollkommen recht; ohne genauere Beschreibung kann man Dir nicht wirklich zu etwas raten. Man weiß dann nicht, ob Du wirklich eine relationale DB benötigst, oder bereits CSV als Datenbasis ausreichen und die Berechnungen und deren Aggregation der kasus knacktus sind.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

am besten schaust du dir mal für verschiedene Programmiersprachen, die für die in Frage kommen, an, für welche DBs eine API gibt.

Für Python gibt's ziemliche viele DB-APIs und auch eine Spezifikation, welche das Design der API regelt. Damit ist es ziemlich einfach, die DB zu wechseln ohne groß am Quellcode schrauben zu müssen (sofern das DB-Modul der Spez folgt).

Gruß, noisefloor

jerik

Avatar von jerik

Anmeldungsdatum:
19. August 2006

Beiträge: 425

ruby mit activerecord. Da du aber *sicherlich* auch noch eine Art GUI haben willst versuchs mit RubyOnRails. Falls shell ausreicht, kann dir Rake noch gute dienste leisten.

cheers – jerik

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

@jerik Du schlägst ihm ernsthaft vor, sich mit Web-Programmierung zu befassen, obwohl er das zum einen nicht angedeutet hat und zu anderen dieses Thema eine Unzahl an Fallstricken und zusätzlichen Lernaufwand bedeutet? Für ein Anfängerprojekt ist das auf gar keinen Fall etwas! Auch wenn er eine gewisse Programmiererfahrung hat, so sollte er sich zunächst auf reine Konsolen-Apps beschränken und kann später den Schritt in Richtung GUI unternehmen. Und wenn man da die Wahl hat, dann ist eine rein Client-seitige GUI (z.B. über Qt) gegenüber einer Weblösung immer einfacher zu programmieren.

ubuntist

(Themenstarter)

Anmeldungsdatum:
22. August 2010

Beiträge: 215

Vielen Dank für die vielen Antworten. Bei dbase war es nicht nötig, die Datenbank(en) einzubinden, die Sprache hatte sie recht einfach dabei, dennoch war es eine relationale Datenbank. Web-Programmierung ist für mich nicht interessant - noch nicht. Ich merke schon, so einfach wird das nicht. Ich muß mich mit zwei Dingen befassen, zum einen die Datenbank an sich, zum anderen die Programmiersprache zum manipulieren. War eben bei dbase einfach, jede Datendatei war eine Datei (*.dbf) und hatte dann noch einige Indexdateien. Und je nachdem was ich brauchte, konnte ich die eben benötigten Dateien einbinden. Datensicherheit ist ja für mich kaum ein Thema. Und so habe ich eben für die Betriebskostenabrechnung bestimmte Dateien aufgerufen, für andere Verwendungen war eben nur eine Datei interessant (Ausdruck der Mieteinnahmen für den Steuerberater beispielsweise). Nun muß alles in eine Datenbank.

Was ist CSV?

Christofer

Avatar von Christofer

Anmeldungsdatum:
2. Februar 2007

Beiträge: 185

CSV steht für Character Separated Values und ist ein universelles Austauschformat für Daten. CSV-Dateien kannst du in einem Texteditor öffnen und lesen. Die erste Zeile enthält die Bezeichnung der Spalten(Attribute), ab der 2. folgen die Daten. Die Datensätze sind mit einem Trennzeichen (meist , oder 😉 getrennt. Dieses Trennzeichen muss man beim Import in einer anderen Datenbank meist richtig auswählen, sofern es nicht schon automatisch erkannt wird.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

@ubuntist Dann schau Dir doch mal zunächst unabhängig von einer Programmiersprache SQLite an! Ich verwende gerne den SQLiteManager, was ein Fierfox-Plugin ist. Sehr einfach zu bedienen und leicht zu installieren. Es gibt unter Linux natürlich auch ein Kommandozeilen-Tool, aber bei DBs finde ich GUIs zum Testen praktischer. Gibt auch noch ein Standalone Programm namens SQLiteman iirc. Das sieht richtig gut aus; ist halt nur nicht Plattform unabhängig.

Ich würde mir also erst einmal mit solch einem Tool versuchen, eine geeignete DB-Struktur zu erstellen, Testeinträge vorzunehmen und dann zu gucken, wie man da geschickt die benötigten Daten mittels Abfragen herausfinden kann. Evtl. reicht Dir das dann sogar schon aus, um mit Hilfe eine kleinen Shell-Scriptes diese Abfragen aufzurufen und daraus eine CSV-Datei zu erzeugen, die Du dann z.B. in einer Tabellenkalkulation weiterbearbeiten kannst.

Ansonsten kannst Du dann auch mittels einer lingua franca die DB ansprechen. Aber zunächst hat die Einarbeitung in eine moderne SQL-DB imho Priorität. (Sofern Du überhaupt eine relationale DB benötigst; das konnten wir ja anhand der dürftigen Infos immer noch nicht abschließend klären)

Trigger_Hurt

Anmeldungsdatum:
2. August 2008

Beiträge: 302

user unknown schrieb:

Trigger Hurt schrieb:

Ich würd mal sagen, so ziemlich jede (Skript-) Sprache, die was auf sich hält, hat die wichtigsten Datenbank-Systeme (irgendwie) implementiert. Gegen Java hab ich persönlich was, nämlich dass Sie relativ langsam ist.

Weil Dir Java zu langsam ist, rätst Du zu Scriptsprachen? 😉 Den kannte ich noch nicht. ☺

Lern mal lesen. Ich empfehle keine Skriptsprache.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Trigger Hurt schrieb:

user unknown schrieb:

Trigger Hurt schrieb:

Ich würd mal sagen, so ziemlich jede (Skript-) Sprache, die was auf sich hält, hat die wichtigsten Datenbank-Systeme (irgendwie) implementiert. Gegen Java hab ich persönlich was, nämlich dass Sie relativ langsam ist.

Weil Dir Java zu langsam ist, rätst Du zu Scriptsprachen? 😉 Den kannte ich noch nicht. ☺

Lern mal lesen. Ich empfehle keine Skriptsprache.

Klang aber so! Nur der kausale Nexus, den user unknown da hinein interpretiert hat, sehe ich auch nicht unbedingt. Davon abgesehen hättest Du lieber mein Posting darauf kommentieren sollen 😛

Antworten |