MSSQL: Dokumentation von Datenbanken

Hallo zusammen,

jeder Programmierer weiß, dass eine gute Dokumentation sehr wichtig ist. Nur die wenigsten Leute machen das aber vernünftig, entweder weil es lästig ist oder die notwendige Zeit einfach nicht da ist.

Aktuell programmiere ich viel auf einem MSSQL-Server 2008 mit dem Management Studio. Dabei erstelle ich, zu Auswertungszwecken, viele kleinere Datenbanken. In diesen laufen regelmäßig Prozeduren, welche bestimmte Tabellen bearbeiten (Delete, Insert, Update). Viele dieser Prozeduren, bzw. teilweise auch die Tabellen, sind nicht mehr im Ursprungszustand, weil sich die Anforderungen im Nachhinein geändert haben. Da wie immer keine Zeit da war, um komplett neu zu programmieren, wurde halt solange „rumgefrickelt“ bis alle Wünsche irgendwie erfüllt werden konnten. Leider blickt nun niemand mehr durch.

Ich schreibe mir zwar bei komplizierte Sachen, immer ein paar Wörter als Kommentar in den Code (z.B. von Sichten, Funktionen oder gespeicherten Prozeduren). Leider verstehe ich im Nachhinein, also ein paar Wochen/Monate später, oft nix mehr und muss mich erst wieder langwierig durch die ganze Datenbank „kämpfen“, um zu kapieren was die ganzen Prozeduren denn da überhaupt machen und warum. Einfach nur Ätzend, weil meine Doku anscheinend nix taugt.
Als Problematisch empfinde ich in der Dokumentation zu beschreiben, warum etwas genau so oder so gemacht werden muss. Dann frage ich mich manchmal, wie kann ich denn die Tabellen bzw. deren Aufbau dokumentieren, weil dort gibt es ja keinen Code wo ich Kommentare hinterlegen könnte.

Vielleicht könnt Ihr mir ja helfen:

  • Gibt es sowas wie Richtlinien bzw. kann man das richtige Dokumentieren lernen?
  • Wie dokumentiere ich am besten die Tabellen in der Datenbank?
  • Welche Unterstützung bietet mir das Management-Studio bei der Doku?
  • Gibt es im Management-Studio sowas wie ein Versionskontrolle/-verwaltung?

Vielen Dank.

MfG
Stephan

Hallo,
ohne diese Tools gehe ich nicht mehr aus dem Haus:

http://www.red-gate.com/products/sql-development/sql…

Kostet was, aber nur ein Bruchteil von dem was man an Zeit spart.

Für deine Fragen dürften folgende Produkte richtig sein:
http://www.red-gate.com/products/sql-development/sql…
http://www.red-gate.com/products/sql-development/sql…

Gruss
Joey