6 Stimmen

Erstellen Sie Ihr Datenwörterbuch?

Erstellen Sie Ihr Datenwörterbuch? Wenn ja, wie?

Ich verwende erweiterte Prozeduren in SQL Server 2005, um Tabellen- und Feldinformationen zu speichern. Ich habe einige Abfragen, die ein Wörterbuch aus ihnen erstellen, aber das ist ... öde. Haben Sie eine bestimmte Abfrage oder ein bestimmtes Tool, das Sie verwenden? Erzeugen Sie sie aus Ihren Datenbankdiagrammen?

Wenn man nach "data dictionary sql server" googelt, erhält man viele Abfragen, die aber alle ungefähr gleich attraktiv sind. Das heißt, sie sind gute Ausgangspunkte, aber nicht produktionsreif.

0 Stimmen

Sie können ein Datenwörterbuch mit Hilfe einfacher SQL-Anweisungen erstellen. Ein Beispiel finden Sie hier csharpalley.com/

0 Stimmen

Sie können hier nach einem Werkzeug suchen: tools.dataedo.com . Eine recht umfangreiche Liste von Datenwörterbuch-Tools.

0voto

Philippe Grondier Punkte 10636

Wir generieren das Wörterbuch der Datenbank auf der Seite des Entwicklers der Anwendung. Wir haben eine schöne Prozedur, die eine ADODB-Verbindung + ADOX-Objekte und Sammlungen verwendet. Diese Prozedur wird alle Tabellen in der Datenbank durchsuchen. Die folgenden Hauptdaten werden gesammelt:

  1. Tabellenname
  2. Spaltenname
  3. SpalteTyp
  4. SpalteGröße
  5. bool_SpalteIstDerPrimärSchlüssel
  6. bool_ColumnHasReferentialIntegrityConstraint

Sie können auch die Standardwerte von Feldern usw. nachverfolgen.

Es ist dann zum Beispiel möglich, :

  • prüfen, in wie vielen Tabellen mein Feld currency_id (Primärschlüssel der Tbl_currency Tabelle) wird referenziert, und wenn die referenzielle Integrität jedes Mal korrekt implementiert ist (wir erstellen erstellen das Feld oft ohne ohne die entsprechenden Regeln zu implementieren ...).
  • Stellen Sie sicher, dass Felder mit ähnlichen logischen Typs (wie " description " Felder) sind von ähnlichem Datentyp Typ/Größe. Nichts ist so frustrierend als die Tatsache, dass ein item_Description nvarchar(50) Feld in einer Tabelle, und ein document_Description ntext in einem anderen Tabelle!
  • usw.

Alle durch das Verfahren extrahierten Daten werden in eine lokale Tabelle (z. B. eine XML-Datei) eingefügt und zur weiteren Verwendung gespeichert.

Aus diesen Daten kann ein Spaltenwörterbuch/Bericht erstellt werden durch

SELECT DISTINT columnName FROM Tbl_Column

0voto

Frank V Punkte 24349

Ich persönlich ziehe es vor, das Data Dictionary zu erstellen, während die Datenbank entworfen wird. Natürlich ist das nicht immer eine Option...

Ich denke, die Antwort hängt vom aktuellen Stand der Datenbank ab? Ist sie fertig und in Produktion? Müssen Sie noch damit anfangen? (usw.)

In der Vergangenheit habe ich, wie Cade Roux, die Informationen aus INFORMATION_SCHEMA in eine Access-Datenbank gezogen. Zur Zeit haben wir Entwickler, die gelegentlich Informationen über die verschiedenen Tabellen, Spalten, gespeicherten Prozeduren, Funktionen usw. in die Access-Datenbank eingeben. In der Access-Datenbank haben wir Berichte erstellt, um ein ordentlich aussehendes "Data Dictionary" auszudrucken.

Es ist nicht die effizienteste Art, ein Datenwörterbuch zu erstellen, aber da das Projekt drei Jahre lang ohne jegliche Anzeichen eines Datenwörterbuchs lief, mussten wir dies tun.

Letztendlich hängt die Antwort auf diese Frage also vom Zustand Ihrer Datenbank ab.

Mit freundlichen Grüßen,
Frank

0voto

Wir haben unser eigenes Dienstprogramm für Datenwörterbücher geschrieben, das erweiterte Eigenschaften verwendet, aber als wir das Tool von Redgate fanden, haben wir es zugunsten dieses Tools aufgegeben. Für uns hat es hervorragend funktioniert! Ich schätze, es hat geholfen, dass wir bereits Feld- und Tabellenbeschreibungen in den erweiterten Eigenschaften zur Verfügung hatten. Ich möchte nicht für ein Unternehmen werben, aber Redgate bietet eine 14-tägige kostenlose Testversion an. Es lohnt sich, einen Blick darauf zu werfen. http://www.red-gate.com/products/SQL_Doc/index.htm

0voto

Bruce Dunwiddie Punkte 2798

Ich hatte viel Glück mit SQL-Datenwörterbuch .

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