Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Всем привет!

Я разрабатываю утилиту для документирования баз данных SQL Server.
Эта программа использует Extended Properties для сохранения описания объектов базы данных и предоставляет возможность генеририрования Word-документа.
Подобные утилиты есть на рынке, но они стОят как правило от 100$.

У меня уже есть несколько рабочих прототипов, которые я задействую в своих проектах и бесплатно предоставляю для использования другим программистам.

Мне бы хотелось обсудить тему документиции баз в этом топике.
Кто и как документирует базы и есть-ли интерес к такой программе?
28 янв 12, 14:47    [11988981]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
exclusive lock
Guest
Юрий Ивченко,

У меня велосипед. В начале каждой процедуры/функции идет длинный комментарий с датой создания кто создал, историей изменений, кратким описанием и парой тест-кейсов
28 янв 12, 14:53    [11988988]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Cпасибо за ответ.
Требуется ли Вам быстрый доступ к исходному коду процедур и их описанию в теле самой процедуры?
Если функционал процедуры неявен из имени, то Вы открываете процедуру с SQL Server (CREATE/MODIFY) или из файла *.sql?
28 янв 12, 15:08    [11989010]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
exclusive lock
Guest
Юрий Ивченко,

Да, конечно требуется. Делаем Modify. Описание само по себе не очень нужно, название как правило говорит само за себя. Важнее примеры вызовов, особенно для новых членов команды и случаев когда надо быстро проверить работоспособность.
28 янв 12, 15:20    [11989022]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
Юрий Ивченко
Я разрабатываю утилиту для документирования баз данных SQL Server.
Это будет отдельная программа и/или плагин для SSMS?
Юрий Ивченко
Если функционал процедуры неявен из имени, то Вы открываете процедуру с SQL Server (CREATE/MODIFY) или из файла *.sql?
Или команда "показать скрипт процедуры" в SSMS, или просто открываю процедуру в проекте.
28 янв 12, 15:36    [11989047]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
alexeyvg
Это будет отдельная программа и/или плагин для SSMS?

Прототип разрабатывается как отдельный клиент с Object Explorer, редактором и дополнительными features.
Интеграция с SSMS в принципе тоже возможна, так как все компоненты отделены друг от друга и размещены каждый в своем проекте. Не смотря на это, утилита опубликовывается как один выполняемый (ехе) файл.

Если программа "приживется" и Интеграция с SSMS будет целесообразной, то после релиза первой полноценной версии можно будет подумать на эту тему.
28 янв 12, 19:09    [11989559]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
exclusive lock
Да, конечно требуется. Делаем Modify. Описание само по себе не очень нужно, название как правило говорит само за себя.

В программе есть Overview mode, в котором отображается описание и исходный код процедур и функций.
exclusive lock
Важнее примеры вызовов, особенно для новых членов команды и случаев когда надо быстро проверить работоспособность.

Спасибо за идею, у меня уже есть функционал генерирующий параметризированный вызов SP.
Вполне возможно, что я влючу эту feature в следующий прототип.
28 янв 12, 19:26    [11989606]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Я подготовлю Download и вскоре дам ссылку на первые прототипы, что-бы, при желании, вы смогли опробовать утилиту.
28 янв 12, 19:29    [11989612]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
Юрий Ивченко
Эта программа использует Extended Properties для сохранения описания объектов базы данных и предоставляет возможность генеририрования Word-документа.
Лучше Excel, в нём очень мощные средства для работы со списками: сортировка, фильтрация, поиск.

Мне бы хотелось обсудить тему документиции баз в этом топике.
Кто и как документирует базы и есть-ли интерес к такой программе?

Extended propertyes не придумывал, а просто использовал MS_description. Был написан простой макрос, который синхронизировал то что в MS_Description и то что в XLS книге. Подумываю прикрутить загрузку описания из коментариев в CSV, чтоб иметь и список изменений в одном месте. XML-ники из описаний ещё думается вытаскивать, правда я слышал MS сделал к студии AddIn подобный, и обычно столько чужого, и никто xml-коментариями обычно не пользуется, так что не уверен что это можно реализовать для всего.
28 янв 12, 22:45    [11990021]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
ZOOKABAKODER
Лучше Excel, в нём очень мощные средства для работы со списками: сортировка, фильтрация, поиск.

Поиск объектов и свойств хорошая feature, она пока не реализована в первых прототипах, но обязательно войдет в первую полную версию программы.
ZOOKABAKODER
Extended propertyes не придумывал, а просто использовал MS_description.

MS_Description и есть Extended Property используемая Microsoft для документирования объектов базы.
ZOOKABAKODER
Был написан простой макрос, который синхронизировал то что в MS_Description и то что в XLS книге. Подумываю прикрутить загрузку описания из коментариев в CSV, чтоб иметь и список изменений в одном месте. XML-ники из описаний ещё думается вытаскивать, правда я слышал MS сделал к студии AddIn подобный, и обычно столько чужого, и никто xml-коментариями обычно не пользуется, так что не уверен что это можно реализовать для всего.

Моя программа генерирует DDL скрипт, для переноса описания базы от одного экземпляра к другому.

Пожалуйста посмотрите прототип моей программы, если Вам будет нехватать каких-то feature, то просто отправьте мне Email на адрес указанный в диалоге программы About.
Мне будет очень интересно Ваше мнение и опыт документирования баз.
29 янв 12, 02:55    [11990732]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Как и обещал подготовил последний рабочий прототип для скачивания.
Описываемую утилиту с рабочим названием ExPEditor можете скачать с моего сайта.

Буду благодарен за любые идеи и комментарии к программе.
29 янв 12, 03:02    [11990748]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Чего хочется:

Разбиение системы на функциональный блоки, модули. Лучше в виде структуры с произвольным числом уровней.

Перечень объектов сервера (таблицы, вью, ф-ии, процедуры), отнесенных к одному или нескольким узлам классификации. Краткое и подробное описание каждого объекта.

Список объектов-предков, используемых в текущем объекте и объектов, в которых используется текущий (потомков). В виде графической схемы. Возможность перехода к объекту предку или объекту-потомку.

При отображении полей объекта показывать историю происхождения поля в виде цепочки источников этого поля по ф-иям, вью до исходный таблицы. Если поле вычисляемое, то показывать все объекты и поля, используемые для его вычисления.

Ну и находясь в контексте любого объекта или поля иметь возможность "провалиться" в исходный код или конструктор таблицы. В исходном коде, находясь курсором на имени объекта или поля - наоборот - получить его описание.

Что есть - велоспед.

Двухуровневое разбиение объектов по функциональным блокам и модулям, в одном длинном скл файле находятся drop и create всех вью, ф-ий, процедур, относящихся к одному блоку/модулю. При каждой - описание. Наверху файла - описание блока/модуля в целом, перечень всех объектов с кратким описанием каждого.
29 янв 12, 10:11    [11990880]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Программист-Любитель,

cпасибо за столь подробный и полезный пост.
Действительно в ExPEditor надо еще включить Вычисляемые столбцы и Зависимости SQL.
29 янв 12, 11:31    [11990946]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
Юрий Ивченко
Описываемую утилиту с рабочим названием ExPEditor можете скачать с моего сайта.
Спасибо, очень информативно!

http://www.yury-iwtschenko.de/ru/
ExPEditor - Editor for SQL Server Extended Properties

ExPEditor - �то программа дл� работы � Extended Properties (ра�ширенные �вой�тва) объектов базы данных SQL Server. С помощью ExPEditor можно редактировать и перено�ить Extended Properties от одного �кземл�ра базы данных к другому или �генерировать опи�ание базы в формате Word. Так-же е�ть возможно�ть бы�трого про�мотра опи�ани� объектов и �одержимого таблиц.
29 янв 12, 11:32    [11990950]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
alexeyvg,

спасибо, сменил charset c utf-8 на windows-1251
29 янв 12, 11:47    [11990963]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Если под рукой нет базы с заполненными Extended Properties, то для тестирования ExPEditor можно скачать базуданных AdventureWorks от Microsoft.

Для тех у кого нет времени на тестирование, сейчас загружу пару скриншотов.

К сообщению приложен файл. Размер - 140Kb
29 янв 12, 12:00    [11990984]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Overview объектов базы:

К сообщению приложен файл. Размер - 115Kb
29 янв 12, 12:02    [11990988]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Table sample and Word generator:

К сообщению приложен файл. Размер - 113Kb
29 янв 12, 12:07    [11990997]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
Юрий Ивченко
alexeyvg,

спасибо, сменил charset c utf-8 на windows-1251
Разве правильно установить charset=windows-1251 и оставить содержмое в кодировке UTF-8 ???

http://www.yury-iwtschenko.de/ru/
ExPEditor - Editor for SQL Server Extended Properties

ExPEditor - Ñ�то программа длÑ� работы Ñ� Extended Properties (раÑ�ширенные Ñ�войÑ�тва) объектов базы дÐ
29 янв 12, 12:16    [11991028]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Extended Properties можно редактировать как в табличном виде, так и в отдельном диалоге, поддердивающем перевод строки.
Пока можно редактирвать только Description или MS_Description, в следующих прототипах будет реализована возможность создания новых свойств.

К сообщению приложен файл. Размер - 108Kb
29 янв 12, 12:18    [11991033]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
alexeyvg,

посыпаю голову пеплом, давно не работал с кириллицей, сейчас попробую найти решение.
Большое спасибо за сообщение.
29 янв 12, 12:22    [11991046]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Оставил UTF-8 и перенастроил хостинг, теперь и в Mozilla должно всё отображаться как UTF-8.
Еще раз спасибо за инфу.

У кого будет возможность потестируйте ExPEditor.
Буду благодарен за любые идеи и комментарии к программе.

А я пока займусь рефакторингом.

По теме: у нас есть несколько баз, которые мы должны 100% документировать, так как документация была затребована клиентами. Все объекты базы документируются с помощью вышеуказанной программы и к каждому релизу прилагается сгенерированный Word документ. Кроме того я использую MS Visio для создания ER диаграмм.
29 янв 12, 15:46    [11991686]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6203
Юрий Ивченко
Буду благодарен за любые идеи и комментарии к программе.

А я пока займусь рефакторингом.

Сделайте взимодействие с библиотекой типов ворда на позднем связывании - это избавит программу от привязки к строго определенной версии ворда (если, конечно, вы не используете какие-то фичи, специфичные исключительно для оговоренной версии).
Хотя я бы вообще не завязывался на формат ворда, а генерировал документ в тот же xml. К которому при необходимости можно применить xslt (тот же XSL-FO), и на выходе получить документ с фактически любым форматированием.
Почему xml: когда в моей практике вставала описанная задача, имелось требование к строгой типизации информации об объектах, причем требования к типизации выходили за рамки того, что мог предоставить сервер: например, требовались, помимо описания, дата последнего изменения, автор изменения, указание области применения, указание степени критичности объекта. Xml очень хорошо обеспечивает структурирование типизированной описанным образом информации.
29 янв 12, 17:51    [11992125]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Юрий Ивченко
Member

Откуда:
Сообщений: 32
Сон Веры Павловны,

спасибо за совет, отличная идея!
Действительно, мне надо разобраться с XML-схемой документа Word.
29 янв 12, 20:34    [11992725]     Ответить | Цитировать Сообщить модератору
 Re: Документирование баз SQL Server  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Попутно с текстовым велосипедом в sql файлах я тоже использую визио, но по-другому.

В качестве ER диаграммы используется штатный редактор диаграмм сервера. Вкупе с описанием всех таблиц, всех столбцов (описания столбцов включены для всех таблиц) и дополнительными подписями там и сям он дает достаточно полное представление о физической модели БД.

В визио же по модулям рисуются большие деревья/графы на которые вытаскиваются объекты всех типов (таблицы, вью, ф-ии, процедуры) и взаимосвязи между ними.
30 янв 12, 09:37    [11994069]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить