Создание документации для базы данных MS SQL

    Предлагаю вашему вниманию небольшой проект для разработчика баз данных. Начиналось это как изучение возможностей построения отчетов для SQL Server Management Studio, а закончилось как:
    Database Documentation Reports, адрес проекта: http://DbDocReports.CodePlex.com.

    Database Objects Report
    Это набор отчетов для MS SQL Management Studio и MS SQL Reporting Services для создания документации базы данных с использованием описаний из Extended Properties. Отчеты содержат детальную информацию об объектах базы данных, таких как таблицы, представления и хранимые процедуры.

    Поддерживается SQL Server Management Studio 2005/2008 и SQL Server Reporting Services 2005/2008. Использование движка отчетов позволяет с легкостью экспортировать полученные отчеты в Excel, Word, PDF и др. форматы.

    Варианты использования:
    • Быстрый просмотр/печать информации по объектам базы данных в удобной форме в Management Studio или Reporting Services.
    • Создание документации по базе данных для вашего проекта в формате Word/Excel/PDF через экспорт отчетов.
    • Использование отчетов в Reporting Services в качестве сайта, всегда содержащего актуальное описание структуры базы данных.
    Пример отчета с информацией о таблице:
    Table Details Report

    Описание функциональности


    Текущая версия (0.9 Beta) содержит следующие отчеты и возможности:
    1. Database Objects Report — общая информация об объектах базы данных (их количество и список с описанием). При выборе в отчете любого из этих объектов будет открыт соответствующий отчет с детальной информацией об объекте.
    2. Table Details Report — детальная информация о таблице:
      • Описание таблицы.
      • Имена колонок, их тип, длину и признак nullable.
      • Описание ограничений таблицы.
      • Описание индексов таблицы.
      • Список таблиц, ссылающихся на эту таблицу по внешнему ключу
    3. View Details Report — детальная информация о представлении
      • Описание представления.
      • Имена колонок, их тип, длину.
      • Текст представления.
    4. Stored Procedure Details Report — детальная информация о хранимой процедуре:
      • Описание хранимой процедуры.
      • Имена параметров, их тип и длина.
      • Текст хранимой процедуры.

    Установка


    Отчеты представляют собой *.rdl файлы. Для их подключения в SQL Management Studio используется меню Reports/Custom Reports (SQL 2005 SP2/SQL 2008). Для Reporting Services следует загрузить эти файлы на сервер и подключить к источнику данных, либо можно использовать Report Viewer (2005/2008).
    Подробно все шаги установки описаны в инструкции: на русском/английском.

    SQL процедуры для облегчения документирования объектов базы данных


    В дополнение, хотел бы поделиться процедурами для удобных манипуляций со свойством «MS_Description» для документирования объектов базы данных из TSQL. Скачать SQL скрипт sp_addDescXXX_install.sql.

    В текущей реализации написаны хранимые процедуры для работы со следующими объектами:
    • Таблицы (колонки, ограничения, индексы);
    • Представления (колонки);
    • Функции (параметры);
    • Процедуры (параметры);
    Сделано это было для того, что бы облегчить использование громоздких конструкций: sp_addextendedproperty/sp_updateextendedproperty:

    sp_addextendedproperty/sp_updateextendedproperty

    Т.е. вместо sp_XXXextendedproperty, теперь можно использовать:

    sp_addDesc_table_col

    Планы

    1. Расширить список документируемых объектов (схемы, триггеры).
    2. Исправление ошибок.
    3. Пожелания и предложения.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 10

      0
      Полезная тема.
        +2
        Только хотелось бы видеть также вариант с экспортом в MS Help 2.0 или HTMLHelp.

        Для унификации.
          +1
          да, инструменты документирования — то, чего так не хватает базам
          будем надеятся, что увидев такое для мс, народ придумает и под другие платформы

          зы: а добавьте опцию дампа со всем этими комментариями и описаниями?
            +1
            Все это замечательно (особенно идея с интеграций отчетов в MS), однако таких средств немало. Сказал бы огромное спасибо тому, кто сделал бы средство типа SandCastle для создания документации по коду продедур, функций и пр. (неважно по исходным скриптам или по базе). Чтобы как в .NET или Java — использовать XML-like комментарии, напустить «документатор» и получить красивый HTML\Help\CHM, в котором не только название и краткое описание, а все, что ты хотел бы донести для других. В отличие от extended properties такой подход не завязан на используемую СУБД.
              0
              Полностью с вами согласен, для SandCastle этого функционала очень не хватает. Если в плане автодокументирования кода все достаточно прозрачно и реализовано, то в автодокументировании структур БД пока мало что есть :-(
              0
              Спасибо за наводку. А то самому как-то все руки не доходили до такого.
                0
                работал в одном проекте, где была сложная логика БД (mysql)
                и появилась у меня идея создать аналог phpDoc для БД
                идея умерла, как впрочем и много других из-за нехватки времени.
                наверно была бы полезная утилита. Возможно можно было бы и пхпДок (Доксиген) настроить как-то на это. Через плагины.
                  0
                  Вещь очень симпатичная, всю эту информацию можна получить и без отчетов, но так намного быстее/удобнее. Хуже всего то, что для того чтобы получить от нее эффект нужно чтобы программисты предшественники писали коментарии :)
                    0
                    посмотрите на Documento. демо здесь. над экпортом структуры базы данных в pdf/excel/text работают многие ребята, а вот с документированием косяк. я ушёл с высокооплачивоемой работы и решил покончить с проблемой документации баз данных. :-) пока боремся с таблицами, но скоро возьмёмся за процедуры и функции. Идея тэгов очень даже нравится, только с таблицами такого не сделаешь. Жду коментариев и заказов на фичи.
                      –1
                      Визуально очень напоминает документацию, которую генерит IB expert по базе — может используется один и тот же код?

                      Only users with full accounts can post comments. Log in, please.