Software entwickeln mit DB

wjmw89

Lt. Junior Grade
Registriert
Mai 2014
Beiträge
336
Hallo

Meine Frau sammelt Briefmarken, sie hätte gerne ein Programm das so ähnlich funktioniert wie die von Michelsoft.

Also:
Datenbank öffnen und bearbeiten.
Es soll auch alle Bilder einer bestimmten Sorte anzeigen mit allen Farben die diese Marke hat
Vorschau bzw Vergrößerung der Bilder mit Informationen dazu
Suche nach Gebiet, Nr. und Bezeichnung
Programm soll aktuell nur offline am PC funktionieren, vielleicht irgendwann mal auch Mobile

Michel und auch andere Anbieter nutzen Access als Datenbank.

Da ich mich schon länger mehr mit Programmieren beschäftigen möchte dachte ich es wäre ja ein gutes Projekt um meine Kenntnisse zu erweitern.
Leider habe ich nie etwas mit Datenbank Zugriff entwickelt , daher die Frage sollte ich Access verwenden oder lieber MySQL, MS SQL oder was ganz anderes?
Zumindest las ich das MySQL und MS SQL auch offline genutzt werden können.

Meine Programmier Fähigkeiten würde ich aktuell nur bei Grundkenntnissen einordnen, habe mich vor Jahren mal mit diversen Sprachen beschäftigt (Java, VB.NET, HTML, CSS, JavaScript). Und möchte jetzt aber richtig durchstarten und meine Kenntnisse auffrischen bzw verbessern.

Dachte an Java oder C#. Anderseits kann man mit Electron ja auch Desktop Apps mit HTML, CSS und JavaScript entwickeln.

Vielleicht kann mir jemand von euch Tipps geben.

Lg
 
MySQL bzw MariaDB und MS SQL sind kostenfrei, wobei MySQL als Serverdienst genutzt werden kann und dann bspw per VPN oder so zugegriffen werden kann. Als Beispiel auf dem NAS.

Erstell erstmal ein ERM oder RM, dann Normalform 3 und danach ran an den Speck.
 
Ich wrüde, sofern MS Access verwendet wird, mit SQL Server Express arbeiten da die Kompatibilität mit den Datentypen besser ist. Zumindest so mein Kenntnissstand.
 
Du kannst auch SQLLite nutzen, da hast du nicht gleich ein riesiges DBMS bei dir auf dem Rechner laufen, von dem du sowieso nur 10% wenn überhaupt nutzen möchtest. Lässt sich auch in manche Projekte direkt mit einbinden, so das du es auf einem weiteren Rechner nicht installieren musst.
 
  • Gefällt mir
Reaktionen: e_Lap und BeBur
Ja mit dem SQL Server Express kannst du Datenbanken mit bis 10GB betreiben.
Wenn du mit VS programmierst die MS SQL in meinen Augen ist einfachste Wahl.
Sonst für kleine Sachen vll SQLite wenn du nicht mit komplexen Abfragen und Sichten arbeitest.
 
SQLLite gibts auch als Portable, also für den USB-Stick ^^
 
Als Einstieg würde ich es an Deiner Stelle 1:1 in MS Access umsetzen.
Ich weiß jetzt nicht wie gut Deine Frau am PC ist - aber hier scheint es mir nicht nur um Datenstruktur, sondern auch um ein Userinterface zu gehen.
Da ist selbst die Umsetzung in Access mit praktisch keinen Kenntnissen (HTML und CSS zählen eh nicht) und ohne Hilfe wahrscheinlich schwer genug. Zumindest kann man sich damit auf Zusammenhänge konzentrieren um erstmal zu verstehen, was man macht oder machen muss.

In der Perspektive könnte man zuerst das Backend nach MySQL o.ä. auslagern und dann schauen, wie man das Frontend ohne Access umsetzt.
 
Das zielt wahrscheinlich jetzt weit über das Ziel hinaus und entspricht nicht "ganz" den Anforderungen (online, statt offline usw.). Aber wäre mit den Wunschkriterien deiner Frau nicht auch ein DAM (Beispiel: pimcore DAM als Webanwendung) eine Option? Zwecks deinem Wunsch zur Programmierung könntest du Module entwickeln.

Wie gesagt, ist wohl etwas zu overpowered und (eher) anspruchsvoll, aber die Option dazu wollte ich dennoch aufzeigen.
 
Hab dir was kleines zusamengebastelt. Derzeit nur als Klickdummy ohne Tabellen.
Falls es dir gefällt kannst du die Buttonicons ersetzen und die Beschriftungen und durch deine Bildchen und Funktionen ersetzen.
 

Anhänge

  • Briefmarken.accdb.zip
    229,1 KB · Aufrufe: 265
Kannst dir für das Backend auch mal XAMPP angucken. Da ist einiges in einem Paket gebunden. Unter anderem php und MySQL. Damit kannst du verschiedene APIs in php schreiben und per Apache oder Tomcat (eingebaut!) hosten. Ebenfalls kannst du die DB hosten.

Kurzum: Sehr praktisches Tool. Ich empfehle es gerade für kleinere Systeme.

Für das Frontend finde ich Angular sehr gut. Aber aufgrund der Mächtigkeit ist es nicht besonders Einsteigerfreundlich. Dann müsstest du dich bisschen durchbeißen.
 
Wow das ging schnell.
Werde mir gleich mal eure Vorschläge genauer ansehen
Vielen Dank 🙂
 
  • Gefällt mir
Reaktionen: bart0rn
Wenn ein fertiges DB-System, dann wäre ich auch bei Sqlite. Ich reduziere aber gedanklich nochmal weiter, im Prinzip könnte man je nach Datenmengen auch gut ganz ohne fertiges Datenbanksystem auskommen indem man das als Tabelle in einer csv-Datei umsetzt die vom Programm gelesen/geschrieben wird. Neben den Parametern(Spalten) der jeweiligen Briefmarken(Zeilen) noch die Bildverknüpfung dazu (für GUI) und fertig.
Anzeigen, suchen, umsortieren, klassifizieren usw kann je nach Datenmengen alles im Programm/RAM stattfinden. Vorteil ist auch man kann sich eine csv mit anderen beliebigen Programmen wie Excel anschauen und man spart sich die ganze DB-Syntax SQL...
Ein GUI-Programm mit Tabelle+Bildanzeige ist schon ausreichend viel Arbeit, da würde ich mir nicht noch mit einem Datenbanksystem das Leben schwerer machen wenn es nicht unbedingt nötig ist und man so etwas noch nie gemacht hat. Außer du benötigst wirklich diese ganzen Funktionen. Am Ende entscheiden die genauen Anforderung was am ehesten Sinn macht. Oft reicht eben eine csv völlig aus. (bei Sqlite ist eine DB übrigens auch einfach eine einzige Datei).
 
also den einzigen Vorteil den ich von einer csv "DB" zu einer sqlite DB erkenne ist, dass man eine csv sich tatsächlich im Notepad öffnen kann. Aber ob man nun Excel startet oder eine sqlite DB mit bspw. sqlite Browser macht für mich keinen Unterschied mehr.

sqlite ist schneller, flexibler, und hat gefühlt 10 weitere Vorteile die den einen einzigen Vorteil der csv Datei aus meiner Sicht vollständig relativiert. Der Vorteil, dass die Daten im RAM vorab geladen werden können... naja... 1 Millionen Arrayelemente und dann den richtigen Datensatz filtern? Es bleibt eine Textdatei und kein SAPHANA System o.ä.
 
Es ist komplexer eine eigene Datenmodellierung für ein Flatfile basiertes System zu schreiben als einfach eine fertige Middleware für Datenbanken auf das Problem zu kippen. Muss ja nicht gleich HANA sein, sqlite reicht ja oder halt Access, wenn man es klicken können muss (ist halt Proprietär und deswegen doof).
Kompliziert ist daran jedenfalls nichts, das kann man sich als PWA irgend wo hin konstruieren, dann sieht es auch in mehreren Jahren noch schön aus und ist nicht von irgendwelchen Drittanbietern abhängig und zur Not kann man die Seite dann auch mal mit dem Kühlschrank ansurfen.
 
  • Gefällt mir
Reaktionen: DubZ
Vielen Dank nochmal für eure Antworten. :)

Hatte leider gerade etwas Stress da ich wegen meiner Arbeit zwei Führerscheine machen musste. Und meine Frau wird leider wieder operiert

Jetzt weiß ich aber mittlerweile alles was die Software können muss.

Es muss per Suche auf alle einzelnen Einträge zugreifen und diese auch bearbeiten können
Es müssen alle Marken auch als Bild dargestellt werden in allen vorhandenen Farben.
Es muss eine Druckvorschau verfügbar sein.
Bilder der Marken müssen vergrößerbar sein.
Es müssen alle Gebiete und Teilgebiete extra auswählbar sein.
Es muss eine einfache und detaillierte Suche geben. *


*Zb sie sucht nach der Marke mit Michel nr 5 von einem ihrer Gebiete und will jedoch nur eine bestimmte Farbe der Marke angezeigt bekommen und auch nur die mit Wiener Stempel und die geprüft sind oder nur postfrische mit Plattenfehlern. Usw

Es gibt auf jedenfall extrem viele verschiedene Suchkriterieren und über 1000 Marken.

Hoffe aufjedenfall ich kann ihre Wünsche noch erfüllen.
 
Zurück
Oben