Kleines Datenbanksystem aufsetzen, aber welches ?

JJB

Cogito ergo brumm
Hallo zusammen,

ich möchte in privatem Umfeld (also gratis), aber für gewerblichen Nutzen ein kleines Datenbanksystem aufsetzen.
Von der Dimension handelt es sich um den klassischen Fall einer Videothek: Eine kleine Standalone C# Anwendung auf einem einzelnen Laptop (vielleicht auch auf einem zweiten) mit einem einzelnen User (wirklich nur einer) und einer zugehörigen Datenbank für ein 2-Mann Unternehmen.
Da sind vielleicht 10 bis max. 15 Tabellen ohne komplexe Abfragen.

An sich dachte ich an eine einfache MS Access Lösung. Schnell die Tabellen reinklatschen, mit ADO.Net die Abfragen setzen und fertig.
Jedoch gibt es dazu viel Kritik. Und da es gewerblich genutzt werden soll, bin ich verunsichert.
Da wird zwar mit einem Nutzer, einer einzigen Anwendung, auf einem oder zwei Rechnern gearbeitet, aber wenn da >500 Artikel >10.000 Buchungen und > 250.000 Käufe verwaltet werden, möchte ich ungern korrupte oder defekte und im dümmsten Fall nicht mehr wartbare DB Dateien, Performance Einbusen, eingefrorene Bildschirme, Datenverlust oder andere Probleme im laufenden Betrieb.

Sollte ich nun auf einen SQL Server Express umsteigen und mir den auf localhost installieren ?

Denn auf der anderen Seite habe ich keine Zeit dicke Bücher zu SQL Server Verwaltungstools durch zu lesen, chinesisch-russische (und morgen nicht mehr unterstützte) DB Tools zu installieren, komplexe DB Architekturen zu warten oder mich überhaupt in ein überdimensioniertes Themenumfeld einlesen (mit DBs hatte ich zwar schon beruflich zu tun, bin aber kein Microsoft Certified DB Dingens).

Schieße ich mit Kanonen auf Spatzen und bin mit MDBs besser dran oder ist das eine tickende Zeitbombe ?

Eine SQL Server Lösung müsste mit einem einzelnen, unkomplizierten und langfristig unterstützten (>5-10 Jahre) Tool wartbar sein und über eine kostenfreie, ebenso unkomplizierte Lösung auf dem Rechner installiert werden können.
Ein anderes Problem ist, dass ich privat nur über ein VS 2003 verfüge und mir keine Rakete mit VS 2013 inkl. Resharper leisten kann.

Kann mir jemand einen Rat geben ?
Im Netz gibt es zwar eine Tendenz zu SQL aber keine klare Aussage wie einfach oder angemessen das in diesem Fall wäre.

Schon mal, danke hierfür.

JJB
 
Hallo ComFreek,

darüber bin ich auch schon gestolpert. Es beantwortet mir aber nicht meine Fragen.
Soll ich einen lokalen SQL Server nutzen ? Muss ich mich in dicke Literatur einlesen ? Ist das langfristig wartbar ? Stehen einfache ergonomische Tools zur Verfügung ? Schieße ich mit Kanonen auf Spatzen ? Reicht mir für die Anbindung ein VS 2003 mit .Net 1.1 ? Wie realistisch ist eine kompakte Umsetzung ohne Hintergrundkenntnisse zur Technologie (Wir sprechen von gewerblicher DB Administration) ?

Und wie sinnvoll ist eine Access MDB für den Fall ?
 
Hi,

Microsoft Access würde ich nicht als Datenbank bezeichnen, würde keinem dazu raten irgendwas mit dem zu machen...

Zu deinen Fragen:
- Soll ich einen lokalen SQL Server nutzen?
Sobald mehr als zwei Geräte / Anwendungen auf die selben Daten zugreifen sollen wirst du um eine zentrale Datenbank mit Netzwerkanbindung kaum rumkommen, ausser du implementiert eine Serveranwendung die die Zugriffe nach aussen kapselt. (Spricht eigentlich eher zu MySQL als für SQLite)

- Muss ich mich in dicke Literatur einlesen?
Für SQLite sicherlich nicht. Ist eine sehr abgespeckte, datei-basierende Datenbank die du per normalen SQL ansprechen kannst. DLL einbinden ins Projekt und los gehts. Gibt genügend Tutorials dafür.

- Ist das langfristig wartbar?
Definiere wartbar. SQLite kann auch mit größeren Datenbeständen (soweit ich den Umfang deines Projekts richtig umrissen habe) umgehen.

- Stehen einfache ergonomische Tools zur Verfügung?
Grafische Programme zur Administration der Datenbank? Zum Beispiel: http://sourceforge.net/projects/sqlitebrowser/

- Schieße ich mit Kanonen auf Spatzen?
Mit SQLite sicherlich nicht, wäre sogar vor MySQL auch meine Wahl für solch eine Anwendung.

- Reicht mir für die Anbindung ein VS 2003 mit .Net 1.1?
Keine Ahnung, kenne mich mit .Net überhaupt nicht aus. Aber da SQLite nur eine DLL ist wirst du das schon irgendwie einbinden können. Auf die Schnelle: https://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers
Warum eigentlich so eine alte Version von .Net?

- Wie realistisch ist eine kompakte Umsetzung ohne Hintergrundkenntnisse zur Technologie?
Solange du ein bisschen SQL kannst und Grundkenntnisse in Datenbankdesign hast, dürfte SQLite kein Problem sein.

Grüße,
BK
 

Neue Beiträge

Zurück