Welches Datenbanksystem?

DerStauner

Erfahrenes Mitglied
Hallo,

seit einiger Zeit beschäftige ich mich mit der Entwicklung einer Datenbankanwendung. Bisher habe ich den Treiber Microsoft Jet Engine benutzt und die Datenbanken habe ich in MS Acces 2003 erstellt.

Meine Anwendung wird insgesamt ca. 40-60 Tausend Datensätze in verschiedenen Tabellen haben und ich möchte nicht, dass es meiner Anwendung an Performance mangelt.

So, meine Frage wäre: welches Datenbanksystem oder welche Datenzugriffmethode empfehlt ihr, damit ich das Beste aus meiner Anwendung herausholen kann?
 
Da fehlt es für eine Antwort an Daten.

Welche Art Anwendung ist es?
Wieviele Nutzer sollen darauf zugreifen? Wie? (Netzwerk/lokal)
Wie groß sind die Datensätze -> Wie groß wird die Datenbank?
 
Gabs das Thema nicht erst vor wenigen WOchen? :confused:
Das DBMS ist hier weniger entscheidend. Dem Benutzer ist es egal, ob das DBMS 0,1 oder 0,11 Milisekunden braucht. Das entscheidende ist die Architektur und Verarbeitung der Daten innerhalb deiner Anwendung und das ER Modell. Mit diesen beiden Punkten steht und fällt die Sache.

Als Zugriff kann ich dir aber das Entity Framework empfehlen. Aber beschäftige dich auch hier vorher damit und schau wie es funktioniert, sonst kannst du auch damit ein Bottleneck bauen
 
Die Sache sieht so aus:

Bisher, wenn ich an einer Datenbankanwendung gearbeitet habe, habe ich immer an den Microsoft JET Treiber gedacht, da ich andere nur vom Hörensagen kannte. Und das Buch, aus dem ich das Arbeiten mit einer Datenbank erlernte, beschäftigte sich mit dem Microsoft JET Treiber.

Die Anwendung wird eine Accounting Software sein, mit ganz vielen Möglichkeiten. Die Zahl der Benutzer würde nicht grösser als 10 sein und sie sollten die Datenbanken auf einem Netzwerk erreichen.

Die Datenstruktur sieht so aus, dass jede Firma ihre eigenen Datebanken (und Tabellen) hat. Es gibt eine Musterdatenbank, wo alle nötigen Tabellen und Datenbanken gespeichert sind, und wenn eine neue Firma hinzukommt, dann erstellt die Anwendung einen separaten Ordner für diese Firma und kopiert die Datenbanken in diesen Ordner. Bisher läuft alles lokal, auf meinem Computer. Aber am Ende möchte ich dies natürlich ausbreiten (ein Server und Clients).

Wie gross wird die Datenbank? Nun, es gibt Datentypen von byte, integer, single, string, und date. Bisher sind alle Tabellendefinitionen unter 400kb und einige enthalten schon Datensätze. Aber das grösste Teil der Daten werden nicht diese Tabellen geben, sondern natürlich die Buchungen. Jede Buchung ist ein Datensatz, wo vieles gespeichert werden muss.

Die Datenbearbeitung mache ich bisher so, dass wenn ich von einer Tabelle Daten brauche, dann ganz einfach: connection öffnen, command setzen, command durchführen, evtl. datareader abfangen, connection schliessen, evtl. datareader schliessen.

Das ER Modell denke ich sorgfältig durch und überarbeite immer, wenn ich meine Anwendung erweitere.
 
Hat ein bißchen gedauert bis ich das mitgekriegt habe. Sorry.

Access - und damit JET - solltest du für mehrere Nutzer nicht verwenden,ansonsten bist du recht frei wie Nico Graichen schreib. MS SQL Server, PostgreSQL, ... deine Entscheidung.

Das ER Modell sollte von Anfang an auf Erweiterbarkeit ausgelegt sein, 3. Normalform und so weiter. Sonst kann das böse Arbeit machen, ist mir mal passiert, zumGlück bei einem privaten Projekt.
 

Neue Beiträge

Zurück