Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment documenter une base de données

D'après mon expérience, les diagrammes ER (ou UML) ne sont pas l'artefact le plus utile - avec un grand nombre de tables, les diagrammes (en particulier ceux qui ont fait l'objet d'une ingénierie inverse) sont souvent un gros gâchis alambiqué dont personne n'apprend rien.

Pour mon argent, une bonne documentation lisible par l'homme (éventuellement complétée par des diagrammes de petites parties du système) vous donnera le plus de kilométrage. Cela comprendra, pour chaque table :

  • Descriptions de la signification du tableau et de son utilisation fonctionnelle (dans l'interface utilisateur, etc.)
  • Descriptions de la signification de chaque attribut, si ce n'est pas évident
  • Explications des relations (clés étrangères) de cette table à d'autres, et vice-versa
  • Explications des contraintes et/ou déclencheurs supplémentaires
  • Explication supplémentaire des principales vues et procédures qui touchent le tableau, si elles ne sont pas déjà bien documentées

Avec tout ce qui précède, ne documentez pas pour le plaisir de documenter - la documentation qui réaffirme l'évidence ne fait que gêner les gens. Au lieu de cela, concentrez-vous sur les choses qui vous ont dérouté au début et passez quelques minutes à écrire des explications vraiment claires et concises. Cela vous aidera à réfléchir, et cela massivement aider les autres développeurs qui rencontrent ces tableaux pour la première fois.

Comme d'autres l'ont mentionné, il existe une grande variété d'outils pour vous aider à gérer cela, comme Enterprise Architect, Red Gate SQL Doc et les outils intégrés de divers fournisseurs. Mais bien que la prise en charge des outils soit utile (et même essentielle, dans les bases de données plus volumineuses), faire le dur travail de compréhension et expliquer le modèle conceptuel de la base de données est la vraie victoire. De ce point de vue, vous pouvez même le faire dans un fichier texte (bien que le faire sous forme de wiki permettrait à plusieurs personnes de collaborer pour ajouter progressivement à cette documentation - ainsi, chaque fois que quelqu'un comprend quelque chose, il peut l'ajouter au corps en pleine croissance de la documentation instantanément).