DBMS für lokale Datenbanken

SQL, Dateimanagement - Sprachunabhängige Datenhaltung
xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

DBMS für lokale Datenbanken

Beitrag von xerion21 » Fr Mär 21, 2014 12:06 pm

Hallo zusammen,

ich habe mal eine Frage bezüglich der Auswahl eines DBMS.
Ich habe mich mal ein wenig in SQL eingearbeitet ( EInführung ins SQL, Oreilly ) und stelle mir nun die Frage, was für ein DBMS für eine Lokale Datenbank am besten ist.

Folgende Situation herscht gerade:

Ich habe eine Anwendung (C#) geschrieben, welche aus einer Datenbank Informationen ziehen soll und diese dann auch bearbeiten darf.
Nun möchte ich das Programm gerne an andere Personen ausrollen, dies kann man ja unter C# relativ einfach über "Veröffentlichen"(Click-Once).
Nun würde ich aber gerne ein Setup haben, bei dem auch automatisch eine Datenbank erstellt wird und diese dann von dem Programm angesprochen wird. Desweiteren soll bei einem Update die Datenbank nicht überschrieben werden. Da ich davon keine Ahnung habe, dachte ich ich frage mal bei euch nach ;)

Erschwerend kommt hinzu, dass die Datenbank auch ohne Internet erreichbar seien soll.

Gruß

Philip

P.S. Bin ich mit den vielen Fragen überhaupt in der richtigen Kategorie?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: DBMS für lokale Datenbanken

Beitrag von cloidnerux » Fr Mär 21, 2014 12:18 pm

Nun würde ich aber gerne ein Setup haben, bei dem auch automatisch eine Datenbank erstellt wird und diese dann von dem Programm angesprochen wird. Desweiteren soll bei einem Update die Datenbank nicht überschrieben werden. Da ich davon keine Ahnung habe, dachte ich ich frage mal bei euch nach ;)
Das erfordert einen Installer, der selbstständig mit der Datenbank kommuniziert. Das wird wohl kaum mit dem One-Click installer von VS möglich sein.
Alternativ kannst du auch mit dem Programmstart überprüfen, ob eine Datenbank existiert und diese, falls dem nicht der Fall sein sollte, anlegen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: DBMS für lokale Datenbanken

Beitrag von xerion21 » Fr Mär 21, 2014 12:27 pm

cloidnerux hat geschrieben: Das erfordert einen Installer, der selbstständig mit der Datenbank kommuniziert. Das wird wohl kaum mit dem One-Click installer von VS möglich sein.
Alternativ kannst du auch mit dem Programmstart überprüfen, ob eine Datenbank existiert und diese, falls dem nicht der Fall sein sollte, anlegen.
Ja einen Installer müsste ich dann wohl benutzten, iregendwelche Vorschläge?
Die Frage ist halt, was für ein DBMS? Was ist für lokale Anwendungen gut geeignet?

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: DBMS für lokale Datenbanken

Beitrag von nufan » Fr Mär 21, 2014 1:35 pm

xerion21 hat geschrieben:Ich habe eine Anwendung (C#) geschrieben, welche aus einer Datenbank Informationen ziehen soll und diese dann auch bearbeiten darf.
Nun möchte ich das Programm gerne an andere Personen ausrollen, dies kann man ja unter C# relativ einfach über "Veröffentlichen"(Click-Once).
Nun würde ich aber gerne ein Setup haben, bei dem auch automatisch eine Datenbank erstellt wird und diese dann von dem Programm angesprochen wird. Desweiteren soll bei einem Update die Datenbank nicht überschrieben werden. Da ich davon keine Ahnung habe, dachte ich ich frage mal bei euch nach ;)

Erschwerend kommt hinzu, dass die Datenbank auch ohne Internet erreichbar seien soll.
Nur damit ich das richtig verstehe: Du willst für eine C#-Applikation eine lokale Datenbank haben. Die Daten kommen jetzt aus einer anderen Datenbank oder wird das alles von deinem Programm generiert?

Ich würde dir aber zu SQLite raten, dafür scheint es auch C#-Bindings zu geben. Du kannst damit ohne eigenen Server-Prozess eine Datenbank im Arbeitsspeicher (Daten gehen beim Beenden verloren!) oder in einer Datei anlegen. Bei einem Update deiner Anwendung würde die Datei dann auch so erhalten bleiben. Bei Änderungen des Datenbankschemas durch ein Update müsstest du halt etwas nachhelfen.
xerion21 hat geschrieben:P.S. Bin ich mit den vielen Fragen überhaupt in der richtigen Kategorie?
Ja du bis schon richtig hier :) Alternative wäre auch das C#-Unterforum gewesen, aber ich finde das passt hier sogar noch besser.

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: DBMS für lokale Datenbanken

Beitrag von xerion21 » Fr Mär 21, 2014 2:25 pm


Nur damit ich das richtig verstehe: Du willst für eine C#-Applikation eine lokale Datenbank haben. Die Daten kommen jetzt aus einer anderen Datenbank oder wird das alles von deinem Programm generiert?
ja ich will eine lokale Anwendung haben. Dieses Programm benötigt eine Datenbank. In der das Programm die einzugebenden Informationen speichert.
Die Datenbanken kann auch schon vorher erstellt sein. Oder das Programm erstellt diese. das ist mir eigentlich gleich.

Ich würde dir aber zu SQLite raten, dafür scheint es auch C#-Bindings zu geben. Du kannst damit ohne eigenen Server-Prozess eine Datenbank im Arbeitsspeicher (Daten gehen beim Beenden verloren!) oder in einer Datei anlegen. Bei einem Update deiner Anwendung würde die Datei dann auch so erhalten bleiben. Bei Änderungen des Datenbankschemas durch ein Update müsstest du halt etwas nachhelfen.
Ja SQLite habe ich auch schon dran gedacht. Muss ich mal schauen. Ja gut, die Daten sollen dann in einer Datei angelegt werden. Dann muss ich bei der Installation lediglich eine sq3l-Datenbank anlegen lassen.
Kann ich eigentlich auch ggf. einfach durch das Programm eine Access-Datenbank erstellen, ohne dass ich selbst Access auf dem Rechner habe?
VS liefert doch auch die Möglichkeit ein M$-Datenbank mitzugeben?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: DBMS für lokale Datenbanken

Beitrag von cloidnerux » Fr Mär 21, 2014 2:31 pm

Ja gut, die Daten sollen dann in einer Datei angelegt werden.
Du solltest vlt auch mal überlegen, ob überhaupt eine Datenbank notwendig ist.
Es könnte sogar einfacher sein, deine Daten in einem Objekt(Liste, Array, was auch immer) zu speichern und dieses einfach in eine Datei zu serialisieren.
Kann ich eigentlich auch ggf. einfach durch das Programm eine Access-Datenbank erstellen, ohne dass ich selbst Access auf dem Rechner habe?
Ich bezweifle es stark.
Redundanz macht wiederholen unnötig.
quod erat expectandum

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: DBMS für lokale Datenbanken

Beitrag von xerion21 » Fr Mär 21, 2014 9:54 pm

Du solltest vlt auch mal überlegen, ob überhaupt eine Datenbank notwendig ist.
Es könnte sogar einfacher sein, deine Daten in einem Objekt(Liste, Array, was auch immer) zu speichern und dieses einfach in eine Datei zu serialisieren.
Ja eigentlich wollte ich schon eine Datenbank nehmen, da ich sonst extrem viele Dateien anlegen muss, welche im Laufe der Zeit sehr viele Datensätze beinhaltet.

Ich schätze mal, dass die Datenbank jede Woche um ca 200 Datensätze wächst ( in verschiedenen Tabellen )

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: DBMS für lokale Datenbanken

Beitrag von canlot » Sa Mär 22, 2014 11:05 am

Ich habe mal für ein C# Verwaltungsprogramm mysql verwendet, hat ganz gut funktioniert. Man muss wahlweise eine 2.0 oder 4.0 Connector-dll runterladen und einbinden. Der Gebrauch ist ganz einfach, die Datenbank lief bei mir sogar auf einem xampp-server. Ich denke Mariadb könnte man damit auch verwenden, habe ich aber nicht ausprobiert.
Unwissenheit ist ein Segen

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: DBMS für lokale Datenbanken

Beitrag von xerion21 » Mi Mär 26, 2014 2:54 pm

So nun bin ich soweit, dass ich meine MySQL-Lektüre durchgearbeitet habe.

Nun habe ich für mein Programm folgende 2 Varianten. Da mein Programm erstmal nur lokal Verwendung finden soll ( es dauert noch, bis eine WEBfähige Version entsteht ), werde ich auch erstmal eine lokale Datenbank benutzten. Da ich das Programm auch ohne Netzanwendung verwenden möchte... Auf meinem Rechner ist schon der MySQL-Server installiert, somit würde sich dies anbieten.
Wenn ich jedoch mein Programm an andere Personen weitergebe, müssten diese sich zuerst den MySQL-Server installieren, bevor diese das Programm verwenden können. Das ist sehr unpraktisch... Vor allem wegen einer Datenbank einen lokalen Server aufzusetzen lohnt sich nicht :/
Daher habe ich an SQLite gedacht.

Ich kenne mich aber mit SQLite gar nicht aus und was für Verweise benötige ich für C#?

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: DBMS für lokale Datenbanken

Beitrag von canlot » Mi Mär 26, 2014 7:45 pm

Wie gesagt ein xampp Server würde völlig ausreichen.
Unwissenheit ist ein Segen

Antworten