28 Stimmen

Was ist wichtiger? DB-Design oder Kodierung?

Was ist wichtiger: Der Entwurf der Datenbank? Oder das Design des Anwendungscodes?

Es gibt eine Menge Informationen über wiederverwendbaren Code (von Carl Franklin bei dnrtv.de , CSLA.net et. al.), aber ich sehe nicht allzu viele Informationen über das Datenbankdesign und seine Auswirkungen auf die Lebensdauer einer Anwendung (insbesondere, wie sich schlechte Designentscheidungen in der Anfangsphase auf die Anwendung in ihrem späteren "Leben" auswirken).

3 Stimmen

Subjektiv und argumentativ, Sie müssen wahrscheinlich zwei Fragen stellen, und zwar getrennt nach den Gründen für die jeweilige Bedeutung, nach den Vor- und Nachteilen des jeweiligen Ansatzes usw.

11 Stimmen

Ich denke, die Frage ist in Ordnung.

3 Stimmen

Ich stimme zu, ich denke, die Frage ist in Ordnung, da es sich um eine vergleichende Frage handelt.

0voto

Jay Godse Punkte 14753

Das Verständnis des Bereichs ist am wichtigsten. Sie müssen verstehen, was Sie mit Ihrer Anwendung erreichen wollen. Ausgehend vom Verständnis des Bereichs müssen Sie die Arten von Informationen, die Sie speichern wollen, und die Beziehungen zwischen den Informationseinheiten verstehen. Sie müssen auch die Anwendungsfälle verstehen.

Danach ist das Datenbankdesign am wichtigsten. Eine Datenbank ist der beste Ort, um die Informationen aus Ihrer Bereichsanalyse zu kodifizieren. Sobald Sie die benötigten Daten haben, sollten Sie die Daten so weit wie möglich normalisieren. Dann müssen Sie den Bereich der zulässigen Werte für jedes Feld verstehen und Datenvalidierungsprozeduren für jedes Feld schreiben (in Form von Prüfbeschränkungen, gespeicherten Prozeduren, Regexes oder was immer sonst sinnvoll ist).

Ich habe die Erfahrung gemacht, dass bei hochgradig normalisierten Daten das für die Fertigstellung der Anwendung erforderliche Codevolumen aus mehreren Gründen deutlich sinkt:

  • Sie schreiben keinen Code zum Suchen, Sortieren, Indizieren, Verknüpfen und Gruppieren von Daten. SQL erledigt vieles davon für Sie.
  • Normalisierte Daten werden nicht dupliziert. Das bedeutet, dass jede Aktualisierung nur an einer einzigen Stelle stattfindet. Wenn Sie Code schreiben müssen, um die Daten an vielen Stellen zu synchronisieren, wird der Code aufgebläht und fehleranfällig.
  • Sie müssen nicht so viel Code für die Fehlerbehandlung schreiben, da ein Großteil davon in Ihrem Datenvalidierungscode enthalten ist.
  • Wenn Ihr Codevolumen sinkt, benötigen Sie weniger Entwickler für die Pflege des Codes. Das bedeutet, dass Module, die verschiedenen Personen gehören, weniger wahrscheinlich von der Gesamtabsicht des Programms abweichen.

Code ist immer noch wichtig, aber man muss jetzt nur viel weniger davon schreiben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X