AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

Ein Thema von Helmi · begonnen am 24. Mai 2015 · letzter Beitrag vom 9. Mai 2016
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#1

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 19:03
Erst mal recht herzlichen Dank für Eure teilweise recht umfangreichen Antworten. Das hat mir auf jeden Fall schon mal mehr Orientierung verschafft.

Einige kurze Rückmeldungen:

Ich finde SQLite zwar nicht toll, aber warum fängst Du nicht einfach mal hier an:
http://docwiki.embarcadero.com/RADSt...nk_mit_FireDAC

und erweiterst das dann nach und nach - und für konkrete Fragen gibt es ein gutes Forum
Das werde ich auf jeden Fall mal ausprobieren, Danke.

englisch scheidet aber glaube ich bei dir aus? Sonst würde ich dir das Buch über ClientDataset von Carry Jensen empfehlen. wobei das halt speziell ClientDataset behandelt und sich nicht der Datenbankproblematik widmet.
Nö, wie kommst Du darauf. War gestern Abend per Zufall auf das Buch gestoßen, habe ich mir direkt bestellt, sollte morgen da sein.


Konkrete Systeme
- SQLite, besonders wenn man Mobile Systeme im Blick hat
- Firebird, besonders nach der V 3.0, die nun endlich da ist. Interessant wegen der lokalen Server Engine. Programme können damit standalone betrieben werden oder als client/server.
Da diese mehrfach genannt wurden und von der Leistungsbeschreibung interessant sind, werde ich mir diese mal näher ansehen. Gibt es irgendwo Beispiele für FireBird? Bei den Delphi-Demos scheint nichts dabei zu sein.

Wie einige Vorredner schon empfahlen könntest Du als Datenbank Firebid einsetzen, da Dir diese Software eben gewährleistet,
dass Du je nach Einsatzzweck die lokale (heißt hier embedded) oder die C/S-Engine einsetzt. Helen Borrie hat dazu (Firebird) mindestens drei gute Bücher geschrieben. Hier sind
wirklich alle Bereiche der Administration und Entwicklung abgehandelt. Ab Version 2 is Firebird empfehlenswert, in der 3.0 sind viele gute Dinge hinzugekommen.
Das sind 3 Bücher, alle so um die 500 Seiten. Gibt es auch etwas kompakteres?
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 08:29
Zu dem leeren Formular:
Entweder, es sind keine Daten drin oder es fehlt eine Aktivierung/ Öffnen der Datenmenge oder es ist beim Öffnen ein Fehler aufgetreten, der irgendwie unterschlagen wird.
Nimm einen Datenbankexplorer und schau in die Tabellen rein oder trag damit gleich selbst Datensätze ein.

Konkrete Systeme
- SQLite, besonders wenn man Mobile Systeme im Blick hat
- Firebird, besonders nach der V 3.0, die nun endlich da ist. Interessant wegen der lokalen Server Engine. Programme können damit standalone betrieben werden oder als client/server.
Da diese mehrfach genannt wurden und von der Leistungsbeschreibung interessant sind, werde ich mir diese mal näher ansehen. Gibt es irgendwo Beispiele für FireBird? Bei den Delphi-Demos scheint nichts dabei zu sein.
Firebird sollte sehr kompatibel zu Interbase sein. Und nochmal, egal welches Relationale Database Management System RDBMS Du verwendest, die Handhabung(!) in Delphi ist haezu identisch*1. Die Entscheidung für ein RDBMS ist verwoben mit der Frage, welche Zugriffskomponenten in D verwendet werden (sollen), einschließlich der Zukunftsperspektive dieser Komponenten und ggF der DLL Frage, die Du gestellt hast.
Wirkliche Unterschiede gibt es dann höchstens bei der Definition der Connection. Abhängig von der Technologie werden hier mal Dateien angegeben, bei anderen dann benannte DB, ..
Das ist ja (u.a) genau ein Punkt, womit D mal angetreten ist, die (immergleichen) Datenbankkomponenten als Abstraktionsschicht zu beliebigen DB. Siehe auch ODBC, JDBC, ...
Ein Code und eine beliebige DB dahinter.

*1Und zuletzt: So zu programmieren, dass die DB austauschbar ist, wäre eine Strategie oder Vorgehensweise, da die verschiedenen Systeme zwar einen Standard unterstützen (nie zu 100%), am Ende aber doch auch eigene Wege gehen und unterschiedliche Anforderungen bedienen, wird mit dem Moment der Nutzung spezifischer SQL Funktionen aus der austauschbaren DB ein Zwang oder eine "Ehe" oder wie man das auch immer nennen möchte.
DLL spielen dabei auch eine Rolle, das könnte man so zusammenfassen. Jedes System braucht eine Clientkomponente in Form einer oder mehrerer DLL. Die wird entweder mitgeliefert/verschenkt, gekauft, durch den Kunden selbst installiert oder ist das gleiche wie der Server (besonders SQLite, so ähnlich auch bei Firebird).

Zu allerletzt zu den Firebird Beispielen. Wenn Du irgendein Datenbankbeispiel nimmst und es ist nicht für Firebird, kannst Du es dennoch mit großer Wahrscheinlichkeit in Firebird umsetzen.
Z.B.
Code:
CREATE TABLE Employee (
    Employee_ID int NOT NULL,
    NAME       varchar (50) NOT NULL,
    DESCRIPTION varchar (250) NOT NULL
)
Kannst Du in vielen verschiedenen DB verwenden. Nimm ein SQL Tool Deiner Wahl, erzeuge damit eine DB, lass das Script laufen und Du kannst mit dem Tutorial loslegen. Manchmal gibt es unterschiedliche Namen für die Typen, aber es wird Dir sicher nicht schwer fallen, ein INT gegen INTEGER oder NUMBER auszutauschen. Auf die Art kannst Du "beliebige" Tutorials verwenden. Es gibt natürlich einen Haufen anderer, kleiner Gemeinheiten, die dürften sich aber spätestens hier im Forum schnell und einfach lösen lassen. SQLite hat zum Beispeil eine recht ungewöhnliche Art der Spaltentypisierung. AutoInc Felder sind auch gern überall etwas anders, alles aber halb so wilrd...
Gruß, Jo

Geändert von jobo ( 7. Mai 2016 um 08:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 08:54
@jobo

Solche austauschbaren Daten-Layer, die mit x Systemen sprechen können muss man natürlich abstrahieren. Eine gute Abstraktion wäre z.B. ein REST Server und JSON als Austauschformat.

Mit dem REST Server muss die Anwendung aber nicht direkt sprechen, sondern ich kann das auch in eine DLL auslagern. Ob diese DLL dann wirklich mit einem REST Server spricht oder mit einer lokalen SQlite oder MySQL oder whatever ist der Anwendung schnurz.

Die Zugriffsspezialitäten der Systeme liegen jetzt in der DLL und die Anwendung ist völlig losgelöst davon.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 09:06
Richtig, ich hab ja schon anfangs angedeutet, dass man heute vlt. nicht mehr die klassische Delphi Komponententechnik einsetzt. Meine Beschreibung diente auch eher der angefragten Problematik "Beispiel für Firebird". Wenn man ein gewisses Verständnis entwickelt hat, müsste einem klar sein, dass man kein Beispiel für "ein bestimmtes System" braucht.
Ich vermute aber, dass Harry Stahl erstmal diesen Weg gehen möchte. Zumindest hat er zu REST und Co nichts nachgefragt. Am Ende spielen bei solchen Architekturfragen auch immer Dinge wie ich sag mal "Kopierschutz" mit rein. Gestattet man architektonisch den direkten Zugriff auf die DB, wie setzt man das um, für Standalone Lösungen, für Cloud, für beides, ..
Kann ja alles noch hier aufgedröselt werden.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 10:56
Zu dem leeren Formular:
Entweder, es sind keine Daten drin oder es fehlt eine Aktivierung/ Öffnen der Datenmenge oder es ist beim Öffnen ein Fehler aufgetreten, der irgendwie unterschlagen wird.
da die "ID" zurück gegeben wird, vermute ich das Namensproblem. Und nichts böses wie ein fehlgeschlagenes .Open.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 12:27
Ich hab mir den Code nicht angesehen. Ich würde als erstes in die DB selbst reinschauen. Z.b. mit einem SQLite Mozilla FF Plugin.
Dort kann man notfalls alles so anlegen, wie man es haben möchte, falls die Beispiel DB leer oder kaputt ist. Mit etwas debuggen, würde man ja auch sehen, woran es hapert.
Gruß, Jo
  Mit Zitat antworten Zitat
PC-John

Registriert seit: 20. Aug 2005
Ort: Meilen
12 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 8. Mai 2016, 16:25
Ich hatte mich früher mal zu Thema Datenbank geäussert:

http://www.delphipraxis.net/182226-l...b-gesucht.html

Absolute-Database ist eine schöne kleine Sache, mit allem drin, drum und dran.
Braucht keinerlei Installation, nicht mal eine .DLL irgendwo muss mitgeliefert werden.

Es sind ein paar entsprechende Zugriffs-Komponenten einzupflanzen, welche praktisch identisch sind mit der bekannten BDE-Version.

Den Source-Code gegenüber der BDE musste ich kaum anpassen, lediglich das anziehen der richtigen Database ist etwas anders. Auch eine In-Memory-Database ist möglich, diese ist natürlich entsprechend schnell.

Und für nicht-kommerziellen Gebrauch ist die Absolute-Database sogar gratis.
Wer hingegen mal hinter die Kulissen schauen will, bekommt (nicht ganz gratis) auch die Entwickler-Version mit dem gesamten Code.

PC-John
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
195 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 9. Mai 2016, 12:32
@Harry Stahl:

Ja, es sind 3 Bücher, aber erstens brauchst Du zum Programmieren wohl nur Band 1 & 2 und zweitens finde ich sie kompakt, denn sonst bekommst Du meistens Wälzer mit >800 Seiten
Thomas Forget
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz