Entwickler-Ecke
Datenbanken - Plane neues Projekt und brauche Rat für Datenbankauswahl
Shaky - Di 15.03.05 11:54
Titel: Plane neues Projekt und brauche Rat für Datenbankauswahl
Hi.
Ich mache jetzt gerade Praktikum und soll nun mit Delphi ein Rechnungsprogramm schreiben.
Dazu brauche ich eine lokale Datenbank. Halt am besten eine die man nicht vorinstallieren muss. Aber ka wie sowas läuft. Oder ob die bei anderen Programmen dann halt erst gestartet werden. Ansonsten Programmieren ich nur PHP und MYSQL.
Also wäre schön wenn mir jemand ne gute DB empfehlen könnte. Am besten mit Tutorial oder so.
ich fange Montag erst mit Delphi an.
Aber hab schon so ziemlich viele anderen Sprachen mal programmiert.
Achja wenns geht halt kostengünstig.
Dankesehr
Christian S. - Di 15.03.05 12:05
Hallo!
Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:
Richtlinien: |
1.2 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
|
Einfach oben bei Deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!
Grüße
Christian :-)
hansa - Mi 16.03.05 01:21
Nimm Firebird embedded und fertig !
wdbee - Mi 16.03.05 08:55
Wenn dir da einer was zu sagen soll, mustt du ihm noch ein paar Infos geben.
Weche Delphi-Version setzt du ein?
Soll das ein Funktionsdemo werden oder ein dauerhaft genutztes System.
Wenn es eine lokale Datenbank sein soll, braucht du keinen Multiuser-Zugriff, richtig?
Spielt der Zugriffsschutz eine Rolle?
usw.
Erst dann kann man dir da Hinweise geben.
Shaky - Mi 16.03.05 10:32
Sorry.
Also ich nehme Delphi 5 professional.
Das Programm soll jetzt nicht wie nen Server dauerhaft laufen.
Es soll ein Rechnungsprogramm werden. Man hat seine Kunden DB seine Rechnungs DB usw.
Die sollen lokal gespeichert werden. (Schon ziemlich viele Einträge)
Ausserdem will ich eine update funktion mit der DB aus dem Internet einbauen.
Das ist ne mysql DB.
Am Anfang wält man sich über einen User und Passwort ein und bekommt dann die Firmen zugewiesen wo man Zugang hat.
Reicht das? Oder noch mehr infos?
Danke
wdbee - Mi 16.03.05 11:20
Also wenn es auf nur einem PC laufen soll, dann frage ich mich, warum du nicht einfach die BDE und damit Paradox-Tabellen nimmst. Da hast du mit Delphi alles an Bord. Die Erstellung der Tabelle kannst du mit der Datenbankoberfläche machen. Alles andere vom Programm aus. Das ist in meinen Augen die schnellste Lösung, denn dazu findest du in der Delphi-Hilfe alles was du brauchst.
Ich hatte bisher nur einmal Probleme mit der BDE. Das war als der freie Festplattenplatz zu groß war. Die BDE berechnet das dann falsch und meldet kein Platz mehr. Aber die Lösung war einfach, eine kleinere Partition für die Tabellen, und alles lief wie immer problemlos.
hansa - Mi 16.03.05 13:09
Das hier :
Shaky hat folgendes geschrieben: |
Man hat seine Kunden DB seine Rechnungs DB usw.
Die sollen lokal gespeichert werden. (Schon ziemlich viele Einträge)
|
gibt mir zu denken. 8) Jetzt nur nicht beleidigt sein ! :mrgreen: Aber Deine Denkweise ist verkehrt. Was du als "DB" bezeichnest sind Tabellen. Und die Datenbank ist
eine Datei ! In dieser befinden sich allerdings diverse Daten-Tabellen. Auch gibt es keine separaten Index-Dateien wie bei dBase oder Paradox. Die Frage : "welche Datenbank ?" ist eine der am meisten gestellten Fragen in einem Programmierer Forum. Allerdings sollte der Fragesteller zumindest wissen wovon er überhaupt spricht.
Der Vorschlag, die mehr oder weniger abgeschaffte BDE einzusetzen ist allerdings auch nicht sehr gut. Wie wäre es mit dBase ? :lol:
wdbee - Mi 16.03.05 13:15
@hansa: Was hast du gegen Paradox/BDE. Nur weil es etwas älter ist und sich sehr bequem handhaben lässt? Ich habe schon verschiedene Projekte mit Paradox und BDE realisiert und dann als der Kunde alles abgesegnet hat, wurde auf eine SQL-Datenbank umgestellt. Dafür gibt es ja auch sehr bequeme Tools.
jasocul - Mi 16.03.05 13:22
Ob eine DB ihre Tabellen in einer Datei oder in mehreren verwaltet ist egal. Deswegen ist es immer noch eine DB.
Paradox würde ich aus zwei Gründen nicht empfehlen:
1. Wenn das Programm oder der Rechner mal abschmiert, kann es schon ziemlich schwierig werden, die Daten zu rekonstruieren. Das Argument Datensicherung lasse ich jetzt mal nicht gelten. Wenn ich das richtig interpretiere reden wir bei den Anwendern über DAU. Trotzdem sollte auf regelmäßige Datensicherung hingewiesen werden. Egal, was du im Endeffekt verwendest.
2. BDE. Das kommentiere ich jetzt mal nicht weiter.
Ich denke Firebird Embedded dürfte die eleganteste Lösung sein.
firus1983 - Mi 16.03.05 13:57
Tach !
Auch ich habe bisher ganz gute Erfahrung mit der BDE und Paradox-Tabellen gemacht...
Ich hab's zwar eher für kleinere Projekte gemacht (CD-Archiv, Kundenverwaltung in einem kleinerem Betrieb u.ä.) un daher weiss ich nicht inwieweit du bei größeren Datenbeständen mit Paradox kommen würdest.
Ich hab in einem anderen Forum schon mal eine ganz gängige Übersicht über DB's gefunden... Wenn ich's wieder finde poste ich den entsprechenden Link.
SchelmVomElm - Mi 16.03.05 14:53
hansa hat folgendes geschrieben: |
gibt mir zu denken. 8) Jetzt nur nicht beleidigt sein ! :mrgreen: Aber Deine Denkweise ist verkehrt. Was du als "DB" bezeichnest sind Tabellen. Und die Datenbank ist eine Datei ! In dieser befinden sich allerdings diverse Daten-Tabellen. Auch gibt es keine separaten Index-Dateien wie bei dBase oder Paradox. Die Frage : "welche Datenbank ?" ist eine der am meisten gestellten Fragen in einem Programmierer Forum. Allerdings sollte der Fragesteller zumindest wissen wovon er überhaupt spricht.
|
Es gab Zeiten in denen bestand eine
Datenbank aus einer grossen Anzahl an Lochkarten. Ich weiß nicht ob man die alle in
einer Datei hatte... Insofern sollte
insbesondere der Antwortgeber wissen wovon er überhaupt spricht...
neojones - Mi 16.03.05 15:17
firus1983 hat folgendes geschrieben: |
Tach !
Auch ich habe bisher ganz gute Erfahrung mit der BDE und Paradox-Tabellen gemacht...
Ich hab's zwar eher für kleinere Projekte gemacht (CD-Archiv, Kundenverwaltung in einem kleinerem Betrieb u.ä.) un daher weiss ich nicht inwieweit du bei größeren Datenbeständen mit Paradox kommen würdest. |
Die Entwicklung an der BDE wurde eingestellt. Wenn er damit jetzt entwickeln würde wäre das so, als würde er sich einen Volvo Amazon als Alltagsfahrzeug kaufen nur um dann festzustellen, dass es keine Ersatzteile mehr gibt und er die Kiste einstampfen kann wenn was kaputt geht.
Die BDE ist hier völlig sinnlos.
Wie bereits geschrieben: Interbase, mySQL (gibts beide als embedded), TurboDB von Dataweb oder mylittlebase (Freeware). Das kommt halt massgeblich auf die Anzahl der zu erwartenden Transaktionen an.
Viele Grüße,
Matthias
hansa - Mi 16.03.05 17:45
neojones hat folgendes geschrieben: |
...Die Entwicklung an der BDE wurde eingestellt. Wenn er damit jetzt entwickeln würde wäre das so, als würde er sich einen Volvo Amazon als Alltagsfahrzeug kaufen nur um dann festzustellen, dass es keine Ersatzteile mehr gibt und er die Kiste einstampfen kann wenn was kaputt geht.
Die BDE ist hier völlig sinnlos.
... |
So kann man es auch sagen. Und Lochkarten sind mittlerweile out. :lol:
wdbee - Mi 16.03.05 19:14
Also das überzeugt alles nicht wirklich. Die BDE (über)lebt solange, bis wir alle auf .NET umstellen. Vorher gibt es keinen Grund auf dieses gute Stück zu verzichten. Wenn man verfolgt hat, wie Delphi den Markt abgeräumt hat, dann weiß man, dass es die Kombination Delphi/BDE war, die hier den Ausschlag gegeben hat.
Natürlich gibt es Gründe eine SQL-Datenbank einzusetzen. Und es gibt Gründe eine bestimmte SQL-Datenbank einzusetzen. Aber SQL-Datenbanken sind mengenorientiert. Viele Anwendungen sind dagegen funktionsorientiert. Da ist eine funktionsorientierte Datenbank unschlagbar was Umsetzung und Geschwindigkeit angeht. Das ist keine Frage der Anzahl der Datensätze, sondern der Anforderungen. Paradox ist die letzte funktionsorientierte Datenbank, die noch gebräuchlich ist. Aber die BDE kann ja sowohl mit Querys als auch mit SQL-Querys umgehen. Das das Ding stabil ist, hat es bewiesen.
In der Phase der Entwicklung lassen sich mit der Datenbankoberfläche sehr bequem Änderungen oder Erweiterungen machen. Steht dann fest, dass alles implementiert wurde, was gebraucht wird (und vorher niemand gesagt hat), dann kann das ganze mit dem DataPumpExpert sehr einfach inklusive Daten auf eine andere Zielplatform (SQL-Datenbank) portiert werden.
Rechnerabstürze überlebt keine Datenbank ungeschoren. Und so einfach, wie ein Datenbankverzeichnis mit Paradoxtabellen, lässt sich keine SQL-Datenbank sichern.
In diesem Fall würde ich sagen: Stell fest wieviel Zeit du hast (Dauer des Praktikums), legt fest was du erreichen willst (Funktionierenden Prototypen trotz unscharfer Berschreibung durch den Auftraggeber), schau dir die verfügbaren Hilfsmittel an (Delphi, DB-Komponenten und deren Einbindung in Delphi, Delphi-Kilfe, Treiber), Vorwissen (MySQL) und dann legt los.
Viel Erfolg
jasocul - Mi 16.03.05 19:30
Die Zielsetzung ist sicher ein wichtiger Punkt.
Ich würde immer von der BDE abraten. Ich habe nur kurz damit gearbeitet und bin immer wieder auf Probleme und Grenzen gestoßen.
Dass ein Absturz für eine Datenbank nicht zuträglich ist, dürfte jedem klar sein. Aber wenn diese schon korrupt ist, wenn einem die IDE absemmelt, ist nicht akzeptabel. Aber da kann man lange drüber diskutieren. Ich würde auf jeden Fall immer eine DB mit Transaktionsmanagement bevorzugen.
wdbee - Mi 16.03.05 19:40
@jasocul: Ich habe viele Projekte mit Datenbank-Anbindung hinter mir. Anwendungen von der Einzelplatz-DB bis zur verteilten DB, von ein paar Datensätzen bis zu mehreren 100.000, die BDE war nie das Problem. Und die IDE ist mir dabei auch nie abgestürzt. Was machst du da für Sachen?
// Edit: Alle Projekte wurden unter NT / NT Server oder XP mit max. D5 bearbeitet. Ist das evt. der Unterschied in unseren Erfahrungen?
hansa - Mi 16.03.05 20:09
wdbee hat folgendes geschrieben: |
... Was machst du da für Sachen? |
Was soll er denn machen ? Zumindest keine "Datenbankoberfläche" in einem "neuen Projekt" benutzen, die vom Hersteller bereits für tot erklärt wurde. 8)
wdbee - Mi 16.03.05 21:13
@hansa: Du hast ihm oben deine Empfehlung gegeben, ohne genauer zu wissen, was seine Anforderungen tatsächlich sind. Daraus schließe ich, das dieses Produkt für dich universell das Beste in allen Lebenslagen ist.
Ich habe da andere Erfahrungen gesammelt, und bevorzuge es auch dicke Bretter an den dünnen Stellen zu bohren. Warum soll ich mit einen tollen Lastwagen um die Ecken düsen, wenn es ein gebrauchter Kleinwagen genauso tut.
Mir geht dabei im Kopf rum, wonach wird er nacher beurteilt? Wenn das Programm die wesentlichen Funktionen bietet und funktioniert, also das Projekt zu einem Abschluss gebracht wurde, steht er sicher besser da, als wenn er nicht fertig wird.
hansa - Mi 16.03.05 21:24
Genau so ist es ! Nur: warum empfiehlst Du dann den Lastwagen namens BDE ? Für den gibts nicht mal mehr Sprit. :shock:
jasocul - Do 17.03.05 09:05
wdbee hat folgendes geschrieben: |
@jasocul: Ich habe viele Projekte mit Datenbank-Anbindung hinter mir. Anwendungen von der Einzelplatz-DB bis zur verteilten DB, von ein paar Datensätzen bis zu mehreren 100.000, die BDE war nie das Problem. Und die IDE ist mir dabei auch nie abgestürzt. Was machst du da für Sachen?
// Edit: Alle Projekte wurden unter NT / NT Server oder XP mit max. D5 bearbeitet. Ist das evt. der Unterschied in unseren Erfahrungen? |
Die Konfiguration ist bei uns genauso.
Da ich aber grundsätzlich mit SQL (TQuery o.ä.) arbeite, stößt man mit der BDE und Paradox sehr schnell an Grenzen. "Komplizierte" SQL-Statements (z.B. Sub-Selects) können zu unerwünschten (z.T. falschen) Egebnissen führen. BLOB-Felder ab einer gewissen Größe führen zu Fehlern. Die BDE wird seit Jahren nicht mehr weiter entwickelt. Das heißt, dass die vorhandenen Fehler und Unzulänglickkeiten nicht behoben werden, Dabei habe ich nur die mir bekannten Fehler aufgeführt. Ich war einfach nicht bereit, noch mehr Probleme zu haben und auf weitere Fehler zu stoßen. Paradox selbst hat kein vernünftiges Transaktionsmanagement. Das ist für eine professionelle DB-Anwendung imho aber notwendig.
Wir könnten jetzt noch darüber diskutieren, was professionell bedeutet, dass wäre dann aber OT und macht vermutlich auch keinen Sinn.
Die oben aufgeführten Punkte sind imao jedenfalls KO-Kriterien für BDE und Paradox.
wdbee - Do 17.03.05 09:36
@jasocul: Ich habe von solchen Problemen gehört, aber da wurde dann SQL-Local verwendet, statt die SQL-Anweisungen vom Server bearbeiten zu lassen. Hattet Ihr tatsächlich Probleme mit durchgereichten SQL-Abfragen? BLOBS sind hier ja nicht zu erwarten.
Viele Projekte die wir umgesetzt haben, sind funktionsorientiert wesentlich einfacher und schneller umzusetzen gewesen und laufen auch schneller. Ausnahmen waren hier natürlich Anwendungen, bei denen die DB auf einem Server im Netzwerk liegt und dort ein SQL-Server wie Oracle, Interbase oder auch MS_SQL verfügbar war. Der Umgang mit TTables statt TQuerys ist natürlich in der BDE noch besser realisert.
Mit dem Transaktionsmanagement gebe ich dir recht. Wenn einem die DB das abnimmt ist das eine feine Sache und bei Mehrplatz-Systemen mit konkurrierendem Zugriff unverzichtbar. Aber bei einer Single-User-Lösung und wenn nur über die eigene Anwendung mit der Datenbank gearbeitet wird, kann man das auch recht leicht selbst realiseren.
Das die BDE für .NET nicht mehr zur Verfügung stehen wird, ist wohl richtig (oder wird das auch mal OpenSouce, so wie Firebird aus Interbase entstanden ist?). Aber wenn er mit Delphi 5 programmieren soll, dann ist das auch kein Thema. Das was ER tatsächlicht braucht, hat er mit der BDE schon heute.
jasocul - Do 17.03.05 09:42
@wdbee:
Vermutlich denke ich nur zu kompliziert. Ich habe nur Client-Server-Anwendungen mit Multi-User-Zugriff. Mit Local-SQL komme ich da nicht weit. Meine Erfahrungen damit haben dann zu einer grundsätzlichen Ablehnung von BDE und Paradox geführt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!