Zitat von
ferby:
Ich habe eine eigene Datenbank zusammengebasstelt die eigentlich sehr groß ist, in der Daten von 100 Kunden & 100 Lieferanten und & Professionisten gespeichert werden, von Persöhnlichen Daten, Rechungen, was wer will, lieferzeiten, konditionen, gespräche etc gespeichert werden
Ich will Dich ja nicht enttäuschen, aber Deine Datenbank wird nicht "sehr groß" sein.
Ich gehe mal davon aus, das Du (wie oben beschrieben) 100 Kunden hast, wenn jeder Kunde 100 Rechnungen hat, ergibt das ca. 10.000 Datensätze in der Rechnungstabelle. Je Rechnung 5 Positionen ergibt dann ca. 50.000 Datensetze in der RechPos Tabelle.
Das mag vieleicht viel klingen, ist aber durchaus noch mit lokalen Tabellen (z.B.
Paradox via
BDE) zu machen.
Ich habe früher mal ein Projekt (damals noch Delphi 1) gehabt, da haben ca. 30 Leute gleichzeitig auf einer "
Paradox-Datenbank" (also Dateibasiert auf dem Server) mit ca. 120 Tabellen gearbeitet. Das hat eigentlich gut funktioniert. Als die Tabellen zu voll wurden (ca. 100.000 Datensätze) haben wir auf Sybase
SQL Server (bzw danach auf MS-
SQL Server) portiert. Damit war wieder eine angenehme Geschwindigkeit für die 30 Benutzer hergestellt. (damals schon ca. 250.000 Datensätze)
Von sehr Großen Datenbanken würde ich sprechen bei hunderten von Tabellen mit jeweils ein paar Mio (>1.000.000) Datensätzen.
Das ist aber dann nicht mehr ohne "richtigen" Datenbank Server (z.B. Oracle oder auch MS
SQL) zu schaffen.
Zitat von
ferby:
ich habe dabei nur txt und ini dateien verwendet ohne irgendeinen datenbank komponenten, ich wusste nicht das es die schon gibt, habe vorher das programm geschrieben und dann nach datenbanken im forum gesucht....
Du hast Recht das sind zu viele Daten ohne Datenbank
Wenn ich Dir einen Tipp geben darf.
Versuche Deine Datenbankzugriffe zu kapseln.
Das heißt:
Mach Dir eine
Unit (z.B. ein Datenmodul / TDataModule) in der Du alle Datenbankzugriffe programmierst.
Du musst ja jetzt Dein Programm überarbeiten um die Zugriffe auf die Text / ini Dateien durch Datenbankzugriffe zu ersetzen. Fügen in den Code "nur" Funktionen ein die in Deiner Datenbank
Unit definiert sind.
Delphi-Quellcode:
...
KundenName := getKundenName(KundenNr);
...
So fällt es Dir leichter, später Änderungen an der Datenbank vorzu nehmen.
Das nennt sich DAL (Data
Access Layer)
(
Powepoint Vortrag von Ralf Westphal beschreibt DAL in einen C# Beispiel)