"Benutzer können ihre eigenen Datensätze bearbeiten" Was bedeutet das für dich? Eine Datenbank, in der Datensätze nicht bearbeitbar sind, also eine Read-Only-Datenbank, ist nicht sehr verbreitet.
Sie müssen über die allgemeine Architektur Ihrer Software nachdenken. Man wählt eine Datenbank nicht einfach wie ein neues Auto aus. Ich würde vorschlagen, dass Sie sich nicht auf die Wahl der Datenbank konzentrieren, sondern das gesamte Bild betrachten.
Hier sind einige Ratschläge:
-
Trennen Sie Ihren Datenbankspeicher, die Benutzeroberfläche und Ihre Softwarelogik. Dies wird als 3-Tier bezeichnet und ist definitiv eine gute Idee, wenn Sie 2010 ein neues Projekt starten. Es wird Ihnen in Zukunft viel Zeit sparen. Wir verwenden eine solche Architektur in unserem http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework
-
Verwenden Sie eine Datenbankverbindung, die nicht an eine Datenbank-Engine gebunden ist. Delphi wird mit DBX geliefert, und es gibt kostenlose oder nicht so teure Alternativen. Sehen Sie sich http://edn.embarcadero.com/article/39500 für dbx und http://www.torry.net/pages.php?id=552 für Alternativen an
-
Dneken Sie an die Zukunft: Versuchen Sie zu erraten, welche Funktionen Ihre Anwendung nach einiger Zeit haben wird, und seien Sie bereit, diese in Ihren heutigen Architekturwahlen zu implementieren.
In jedem Fall ist es richtig, um Rat und Feedback zu bitten. Die Zeit, die Sie jetzt vor dem Codieren verbringen, wird Ihnen Zeit bei zukünftigen Wartungsarbeiten sparen.
Zum Beispiel, wenn einer Ihrer Anforderungen ist, dass "Alle Datensätze String sein werden", mit einigen BLOB, wird die Größe Ihrer Datenbank nie größer als ein paar GB sein. SQLite3 könnte ausreichen für Sie sein, und es gibt keine Größenbeschränkung in den TEXT-Feldern in dieser Datenbank.