stareagle: Wie "plant" ihr eure Datenbanken - wie erstellt ihr DB-Modelle?

Beitrag lesen

Moin,

Ich möchte ein eigenes Forum schreiben. Es ist aber wesentlich komplexer als ein normales und bevor ich nun einfach drauf lostippe, möchte ich mir um die Datenbank Gedanken machen.

Du solltest dir nicht nur um die Datenbank, sondern gleichzeitig oder noch vor der Datenbank Gedanken um die Architektur deiner Software machen.

Bisher ging das bei mir mit DIN A4 Blättern (vielen) und einem Kugelschreiber.

Ich nutze zwar einen Bleistift... Papier und Bleistift/Kugelschreiber sind meiner Meinung nach eines der wichtigsten, wenn nicht das wichtigste Arbeitsmittel für die Softwareentwicklung - vor den ganzen tollen Tools, die versprechen einem die Arbeit zu erleichtern.

Wie macht ihr das? Nutzt ihr bestimmte Programme die paralell den SQl-Code erzeugen? Es wird eine MySQL-Datenbank - eventuell wird daraus später PostGreSQL. Naja SQL aufjedenfall.

Das kommt auf das Projekt an. Zuerst einmal würde ich versuchen, das ganze so weit wie möglich unabhängig von einer konkreten Programmiersprache oder Datenbank zu planen. Zu empfehlen ist die Verwendung eines objektorientierten Softwaredesigns.

Wenn das grundsätzliche Design steht (Klassen etc.) geht es an die Technologieauswahl (natürlich kann es sein das aufgrund vorhandener Kenntnisse, Vorgaben "von oben", etc. die Auswahl hier nicht ganz frei ist). Dabei wäre dann z.B. zu prüfen, ob es notwendig ist, das ganze speziell auf eine Datenbank abzustimmen. Wenn möglich würde ich hier Technologien wie z.B. PDO verwenden, die die verwendete Datenbank abstrahieren. Ob man die SQL-Statements selbst schreibt, ist eine weitere Entscheidung, die man treffen muss. Wenn das Projekt z.B. in Java umgesetzt werden soll. würde ich die Verwendung der JPA in Erwägung ziehen.

Das sind natürlich alles nur Beispiele.

Also wie plant ihr eure größeren Projekte?

Wie oben bereits zu Anfang gesagt geht es normalerweise mit Papier und Bleistift los. Später kommen dann eventuell UML-Diagramme und/oder ERM-Diagramme hinzu. Dazu gesellen sich eventuell einige kleine Prototypen, in denen man verschiedene Technologien ausprobiert.

Gruß

Stareagle