Seite 1 von 1

Projektmanagement-Programm - (Datenbank)

Verfasst: Montag 16. November 2020, 14:48
von Medicode
Hallo zusammen,

nach einer erfolglosen, kurzen Google-Recherche.

Ich möchte gerne ein Projektmanagement-Programm programmieren.

Über Nutzeroberflächen sollen Datenbankinhalte bearbeitet werden (Filtern, Hinzufügen, Löschen, Bearbeiten).
Ich werde ca. 5 verschiedene Datenbanken haben oder eben 5 Klassen in einer Datenbank. (Ich habe keine Ahnung was besser ist.)

Ich schätze, dass jede Datenbank Maximal 5 - 10 MB groß sein wird.

Das soll die Basis des Programmes sein.
Später sollen noch Gant- Diagramme, Kalkulationoberflächen und co. hinzukommen.


Ich würde so Anfagen:

1. Testdatenbank erstellen.
2. Zugriff- und Bearbeitungsbefehle heraussuchen.
3. Oberflächen in Tkinter erstellen.

Nun zu meinen Fragen:

a ) Gibt es fertig Codes, die ich verwenden könnte? (Vorbilder)
b ) Welche Datenbankformart ist hierfür ein Passendes?
c ) Als GUI wollte ich Tkinter nehmen, gute Idee?
d) Kennt Ihr passenden Tutorials bzw. Lektüre ?


Schöne Grüße
Medicode

Re: Projektmanagement-Programm - (Datenbank)

Verfasst: Montag 16. November 2020, 18:12
von noisefloor
Hallo,

die Informationslage ist noch ein bisschen dünn...

Da du nicht beschreibst, _welche_ Daten gespeichert werden sollen und wie diese Zusammenhängen kann man nicht wirklich sagen, welche Art von DB die beste ist - RDBMS, dokumentenorientierte DB, KV-Store, Column Store, ...

Bei der Auswahl der DB Art und dem Anlegen der Datenstruktur sollte man sich schon Gedanken gemacht haben, was wie zusammen hängt und was man wie abfragen will.

Als Benutzeroberfläche würde ich hier noch HTML in den Raum werfen wollen, also dass du das ganze als Webanwendung erstellst. "Webanwendung" kann auch heißen, dass der Server einfach auf einem lokalen Rechner läuft.

Gruß, noisefloor

Re: Projektmanagement-Programm - (Datenbank)

Verfasst: Dienstag 17. November 2020, 08:28
von Medicode
Hallo,

Cool, danke für die Hilfe.

es werden Column Store Daten gespeichert. - Lagerbestand, Personal, Aufträge, Kunden, Verkäufe etc.

Welches Datenbankformart würdet Ihr mir dann empfehlen?

Bei der Datenstruktur bin ich stark verunsichert. Ich würde bisher für jede Kasse eine Datenbank anlegen.
Sorgen bereitet es mir, dass ich später verkettet bzw. Schnittmengen abfragen starten möchte.
Also zum Beispiel: Wer vom Personal hat zuletzt Produkt A, an welchen Kunden in welcher Menge verkauft.

Habt Ihr Tipps oder Anregungen zur Datenstruktur?

HTML, da die Auswahl an Knöpfen und Schalter größer ist als bei Tkinter?
- HTML hat natürlich auch den großen Vorteil einer eventuellen Webanwendung.

Vielleicht möchte ich später auch Graphen oder Animationen darstellen, da sehe ich Tkinter im Vorteil.
Tkinter lässt sich auch in HTML darstellen oder?



Schöne Grüße
Medicode

Re: Projektmanagement-Programm - (Datenbank)

Verfasst: Dienstag 17. November 2020, 09:02
von sparrow
Der Weg von einem "Projekt-Management-Programm" hin zu "Kassen" ist aber sehr weit. Deshalb ist es schwer bis unmöglich, dir bei der Datenstruktur weiter zu helfen.
Auch die Aussage "es werden Column Store Daten gespeichert" gefolgt von "welches Datenbankformat wird verwendet" ist schwierig. "Column Store Daten" _ist_ ein Datenbankformat.

Du musst für dich definieren, was dein Programm für Daten speichert.
Wenn du uns das sagst, können wir dir sagen, ob es eine offensichtliche Lösung gibt.
Bisher lässt sich das nicht ableiten. In der Regel ist die Antwort: "Nimm ein Relationales Datenbanksystem und beschäftige dich dringend mit Normalisierung".

Re: Projektmanagement-Programm - (Datenbank)

Verfasst: Dienstag 17. November 2020, 09:20
von noisefloor
Hallo,
es werden Column Store Daten gespeichert. - Lagerbestand, Personal, Aufträge, Kunden, Verkäufe etc.
??? - wo siehst du denn da den Zusammenhang? Ein Column Store _ist_ ein Datenbanktyp, wo Daten spaltenorientiert statt wie in einer relationalen Datenbank reihenorientiert oder einen einer Dokumentendatenbank pro Dokument gespeichert werden.
Ich würde bisher für jede Kasse eine Datenbank anlegen.
Nee. Ein Projekt => eine Datenbank. Die Datenbank hat dann so viele Tabellen (im Falle einer relationalen Datenbank) wie man braucht.
Und wieso Kasse? Lt. Ausgangspost willst du doch ein Projektmanagement Tool programmieren?
Habt Ihr Tipps oder Anregungen zur Datenstruktur?
Nochmal: wir wissen weder, welche Daten du speichern willst noch wie diese zusammenhängen. Ohne die Info kann dir niemand einen Tipp zur Datenstruktur geben.
HTML, da die Auswahl an Knöpfen und Schalter größer ist als bei Tkinter?
Ich sage mal so: wenn die Auswahl der graphischen Benutzeroberfläche bei dir alleine von der Auswahl der Knöpfe und Schalter abhängt, dann hast du ein echtes Luxusproblem...
Vielleicht möchte ich später auch Graphen oder Animationen darstellen, da sehe ich Tkinter im Vorteil.
Weil...? Ich sehe da eher bei Webseiten Vorteile, weil man da alles möglich clientseitig mittels diverser JavaScript Bibliotheken, SVG-Grafiken etc. umsetzen kann.
Tkinter lässt sich auch in HTML darstellen oder?
Nein. Ist dir klar, was Tkinter und was HTML ist?

Generell ist das alles ziemlich unstrukturiert, was du schreibst und auch sonst ist da viel Halbwissen unterwegs. Was ja an sich nicht schlimm ist, kann man ja alles lernen.
Aber ich würde mal behaupten, dass das Projekt im Moment in dem Umfang zu groß für dich ist. Von daher der Tipp: vergiß' erstmal die graphische Benutzeroberfläche und schreib' dir dein Programm erst mal für die Kommandozeile. Wenn dann die Applikationslogik steht, kannst du eine wie auch immer geartet GUI davor setzen. Da man grundsätzlich Oberfläche und Programmlogik trennt, ist das so oder so sinnvoll.

Gruß, noisefloor