Datenbank planen

Kampfgummibaerlie

Datenbank-Guru
Beiträge
743
Hallo meine werten Leser!

Mich würde interessieren, wie man eine Datenbank möglichst gut im Voraus planen kann.
Ich habe bisher immer das Prinzip von einfach tabellarisch aufschreiben gegangen, haber aber heute das Prinzip einer "Mind-Map" erfahren, und mich würde interessieren, ob andere in solchen Dingen schon ein wenig mehr Erfahrung haben.

Mein Problem denke ich ist, dass ich, wenn ich eine gut funktionierende Datenbank erstellt habe, das Ganze gerne auf ein Minimum an Rechenleistung sowie einem Schutz vor diversen anderen Fehlern, die bei der Datenbank entstehen könnten, vorzubeheben.

Also, wenn ich einmal wieder ein neues "Projekt" zur Hand hätte, würde ich diese gerne enorm langsam angehen, sprich meine Vorgehensweise wäre wie folgt:
1.: Eine oder mehrere Mind-Maps erstellen
2.: Das Prinzip der Mind-Map auf Karteikarten schreiben (Tabellenname, Spaltenname, Spaltentyp, etc)
3.: Die Karteikarten in den richtigen Ablauf sortieren, damit ich zB nicht die Tabelle "Maschinen", welche sich auf "Maschinentypen" bezieht erstelle
4.: Ein Diagramm für den Ablauf in einem Programm oder auf einer Homepage aufschreiben (damit ich den benötigten Code einfach in diversen Sprachen schreiben kann)
5.: Die Datenbank nach Planung (Karteikarten) erstellen
6.: Das Programm nach Planung (Diagramm) erstellen

Wobei ich mir nicht sicher bin, ob das schreiben auf Karteikarten von Vorteil wäre, weil ich die Bezüge zueinander sowie Constraints auf extra Zettel schreiben müsste.
Sollte ich also anstatt Karteikarten einfach A4-Papier verwenden?

Evtl. die Karteikarten für Funktionen nutzen, die ich entsprechend zu den A4 Zetteln mit den Tabellen lege, klebe, oder so, damit die Funktion erstellt wird, wenn alles, was dazu benötigt wird, vorhanden ist?

Wäre natürlich dankbar über eine Konstruktive Diskussion darüber, wie ich, falls sich ein weiteres Projekt für mich findet, ich dieses möglichst optimal erarbeite.

Danke, das Kampfgummibaerlie ;D
 
Zuletzt bearbeitet:
Werbung:
Mindmap find ich nett, um Zusammenhänge zu "entdecken", Brainstorming oder so was ..

Ich weiß aber nicht, ob es systematisch genug ist, "alles" aufzudecken.

Mindmap erstellen ist für mich auch eher ein Event (von mehreren Leuten), der kurz und hoffentlich heftig und ergiebig ist.

Wenn man es iterativ macht (hab ich noch nie) und sich dabei mit den vorhandenen Karten durch einen oder alle Arbeitsprozesse hangelt, könnte es auch Lücken aufdecken.

Reale Arbeitsprozesse sind aber u.U. nicht das, was man 1:1 abbilden möchte, könnte ja sein, dass die EDV reale Arbeitsabläufe vereinfacht.

Und vielleicht will man gar nicht alles modellieren, nur Kernfunktionen und dafür wasserdicht und was am meisten gebraucht wird. Irgendwann die nächste Stufe als Erweiterung und Verbesserung der 1. Stufe.

Ob Mindmap bei Kernfunktionen und größtem Bedarf hilft, würde ich bezweifeln.

Also Erfassung eines Istzustandes und auch Erweiterungswünsche, aber nicht so, dass es „gleichzeitig“ das neue Modell wird. Das wäre m.E. ein separater Schritt (wahrscheinlich ohne Mindmap)
 
Verstehe ich es richtig?

Eine funktionstüchtige Datenbank soll bestehen und mittels MindMaps unter Umständen erweitern?

Ich weiß die Basisdatenbank schon auswendig xD (Mimoso)

Meine Mutter ist bereits nahe der Rente, ich möchte aber an meinem Projekt weiterarbeiten, selbst wenn es offenbar nie in eine aktive Verwendung kommen soll.

Ich kam auf die Idee, weil ich derzeit im Deutsch-Unterricht die Argumentation mit Pro und Kontra mache, und uns das Prinzip einer Mindmap erklärt wurde.

Wie häufig denkst du wäre sinnvoll? Sollte ich Backups von jedem Teil der Datenbank erstellen und am Ende zusammenführen? In Informatik wiederum hantieren wir mit Diagrammen, welche, weshalb ich gerne eines erstellen möchte, vollständig unabhängig von den Programmiersprachen sind. (Beispiel Php und Python oder Java die gleichen Schritte machen müssen, nur der Code schreibt sich anders)

Danke für deinen Kommentar ;)
 
Mindmaps sind für mich ein eher kreativer, schneller Prozess.
Gut für Überraschungen, den Tellerrand, usw.. auch in Gruppen, falls die Teilnehmer nicht zu stoisch sind.
Die Ergebnisse taugen für sich wahrscheinlich nicht, daraus ein Modell zu bauen. Aber sie liefern wahrscheinlich guten Input.

Ich weiß nicht, wie groß Dein Modell ist und wenn Du es eh im Kopf hast, ist der Bedarf dafür vielleicht auch fraglich.

Ich mache größere Sachen manchmal einfach in einem Spreadsheettool, womit ich gleich die Formeln für SQL parat habe. Mich würde der (Hand)Schriftprozess stören.
Wenn man ein Modell malt (grafisch darstellt), muss auch die Bedeutung klar sein, besonders bei einem logischen Modell, das nicht auf eine konkrete DB zielt.

Deine Backupfrage habe ich nicht ganz verstanden. Du kannst (und sollst) natürlich ältere Versionen und Datenstände einer DB sichern. Als Entwickler hast Du bei einem Start von nicht Null natürlich dann einen Sript Bedarf, der den Altstand mit Alter Statements ggf. anpasst und neue Objekte mit Create Skripten schafft.

Oft macht man aber auch einfach komplette, neue, leere Systeme und überträgt die Altdaten (Migration).

Modell Tools und verschiedene Representationen davon (Grafik, Tool, Skript) werden umso nützlicher, je größer sie werden, je mehr Entwickler und Designer daran rumhantieren und je häufiger sie geändert werden.

Ein grafisches Modell ist für mich eher sowas wie eine Landkarte oder Stadtplan. Im Stadtdickicht für viele Neulinge hilfreich, für Ureinwohner (der Stadt) unnötig.
 
Werbung:
Für Mindmaps gibt es ja auch Tools, ich kenne ein wenig den Mindmanager von Mindjet in einer alten Version. Das ist sicher einfacher editiert als physische Karteikarten.

Den Bezug zur Datenbank kann ich da nicht wirklich herstellen weil hier Relationen eine tragende Rolle haben. Mit etwas Erfahrung in Sachen Datenbankaufbau sehe ich kein Problem damit das direkt als ERD zu zeichnen - zumindest ich für meinen Teil brauche keine Normalisierung sondern kann eigentlich direkt ins ERD einsteigen. Bei großen Projekten müsste man das ERD dann eventuell in Teilbereiche zerlegen.

Es gibt viele Tools die echt komplexe ERDs erstellen können. Von den Möglichkeiten her fand ich Software Ideas Modeler immer gut, die Haptik ist etwas gewöhnungsbedürftig. Aber damit kann man sehr umfangreiche Modelle abbilden.
 
Zurück
Oben