powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Документирование базы данных для последующего использования аналитиками
25 сообщений из 26, страница 1 из 2
Документирование базы данных для последующего использования аналитиками
    #39882156
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите, как правильно документировать базу данных? Так, чтобы потом эту документацию можно было бы отдать аналитикам, которые строят запросы к базе данных и "желают странного...". Да и самим при принятии нового сотрудника-разработчика можно было бы отдать ему на изучение для ознакомления со структурой.

Сейчас есть описание таблиц и полей. Но это не избавляет нас от запросов аналитиков "А где взять то-то и то-то". И даже если есть описание таблицы и описание нужных полей, то бывает необходимо дополнительно рассказать, как их правильно использовать ("если-то", или, например, что "надо учесть еще данные из этой таблицы").

В каком инструменте и в каком виде это все описывать?
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882158
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ERD, IDEF1x.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882182
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиамВ каком инструменте и в каком виде это все описывать?
PowerDesigner, например.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882192
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диам,

мне хватает диаграмм, нарисованных в бесплатном yEd и текстового описания.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882196
Андрей Юниор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать автодокументирование по коду БД?
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882293
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёДиам,

мне хватает диаграмм, нарисованных в бесплатном yEd и текстового описания.
Мне бы тоже хватило. Проблема в передаче знаний новым сотрудникам. Им этого не хватает
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882304
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ЮниорКак сделать автодокументирование по коду БД?Никак. Давайте понятные имена объектам по единым правилам. Пишите каменты в коде.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882306
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиамПроблема в передаче знаний новым сотрудникам. Им этого не хватает

Ну так и выясняйте у этих сотрудников чего именно им не хватает. А то вдруг им не хватает
мозгов...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882311
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ЮниорКак сделать автодокументирование по коду БД?

ErWin, power designer
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882385
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivErWin, power designer
Это не есть "документирование" ) Это полноценное проектирование )
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882426
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диам,

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

Где и как - зависит от природы самих данных. И от требований к примеру хранить их версионность на любой срез времени.

Можешь попробовать хранить мету в реляционной бд.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882437
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О таблицах можно рассказать много чего интересного.
Например:
1 обязательно в БД должны храниться комментарии к самой таблице и всем её полям.
Эти комментарии должны предоставляться при выгрузке схемы таблицы. Если этого нет, комментарии надо документировать;
2 надо указывать максимальное допустимое кол-во записей таблицы и действия, которые будут выполняться при её переполнении: выдаваться ошибка, новые записи будут размещаться на место самых старых записей (циклическая таблица) или др.;
3 есть ли ограничение на размер файлов, хранящих собственно данные таблицы;
4 в каких разделах памяти рекомендуется размещать таблицу (например. в быстрых);
5 является ли таблица постоянной или временной;
6 является ли таблица таблицей “в памяти”;
7 является ли таблица предварительно загружаемой (т. е. автоматически загружается в оперативную память при запуске СУБД самой СУБД);
8 указать первичный ключ (если есть);
9 описать все составные ключи;
10 описать, если есть, все внешние ключи и порядок действия с ними при удалении первичного ключа, на который они ссылаются (выдавать ошибку, заменять NULL-значением, оставлять неопределенную ссылку и др.);
11 если числовое поле не является непрерывным (состоит из диапазонов значений), описать все диапазоны значений;
12 если поля имеют значения по умолчанию, описать;
13 если поля (да и сама таблица) имеют ограничения целостности, описать все правила ограничения;
14 если таблица имеет триггеры, описать все триггеры (BEFORE, AFTER, INSTEAD).Если на одну операцию создано несколько триггеров, указать очередность их выполнения;
15 если в БД есть хранимые процедуры, выполняющие манипуляции с данными таблицы,
описать все;
16 доступ к таблице имеет только её создатель или он может предоставлять доступ другим пользователям (каким?);
17 разделить таблицы по группам и указать принадлежность таблицы к группе (справочник, оперативная таблица, таблица для хранения итоговых данных по периодам, таблица хранения данных для аналитических отчетов и т. п.);
18 если к таблице применяется мандатный контроль доступа (поля имею метки ДСП, “Секретно” и т. п.), то описать все такие поля;
19 рекомендации по архивированию таблицы (редко в составе всей БД или часто отдльно т. к. таблица очень динамичная);
и др.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882476
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЮВ19 рекомендации по архивированию таблицы (редко в составе всей БД или часто отдльно т. к. таблица очень динамичная);
и др.
Вы аналитику эту информацию отдаёте или DBA?
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882582
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМожешь попробовать хранить мету в реляционной бд.

До сих пор редко встречаю, когда так делают.
И недоумеваю.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882686
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я сделал у себя (все описания хранятся на корпоративном вики):
1. Общее описание всех баз -какая для чего используется, какая информация в какой лежит.
2. Общее описание всех таблиц всех баз - какая информация в какой лежит.
3. Схема связей таблиц.
4. Для каждой таблицы в идеале иметь актуальное описание всех используемых столбцов.
5. Описание всех хранимых процедур - что какая делает. В добавок к этому комментарии в коде процедур.
6. Отдельное описание для всех ETL процессов: графические схемы + текстом.
7. Ещё отдельно описание задач, для которых что делалось - чтобы были понятны предпосылки проекта, что пытались делать и от чего отказались, как делать не надо. В идеале хочу ещё UML освоить - но пока не до этого.

Хорошо что в компании выделяют время на причёсывание кода и документирование - удаётся так много описаний писать.
На прошлом месте, например, всё гораздо скромнее было и не всегда поддерживалось в актуальном состоянии.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39882697
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вики и конфлуенсы хороши до тех пор пока есть ответсвтенное лицо которое их синхронизирует с кодом.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39883007
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЮВ19 рекомендации по архивированию таблицы (редко в составе всей БД или часто отдльно т. к. таблица очень динамичная);
и др.
Вы аналитику эту информацию отдаёте или DBA?


Информацию о характеристике данных таблицы (говоря по-научному, о “сущности” таблицы) аналитик передает проектировщикам, DBA и другим заинтересованным лицам.
Эта информация позволяет DBA оптимально организовать надежное хранение и восстановление данных.
Примеры.
1 Пусть таблица высокодинамичная: например, ежесуточно добавляется несколько тысяч заявок на бронирование чего-то – товаров, билетов, номеров в отеле и т. п.). Это кратковременные, с точки зрения использования, данные (заявки быстро выполняются или отклоняются). Архивировать всю таблицу смысла нет.
Если СУБД поддерживает режим нарастающего архивирования (т. е. архивируются только накопленные изменения после предыдущего архивирования), то можно использовать эту возможность.
Либо (если это возможность не предоставляется) надо разработать процедуру, которая будет отбирать новые записи, записывать их в отдельную таблицу и уже её архивировать. Конечно, в этом случае надо будет разработать и собственный алгоритм восстановления.
2 Есть редко обновляемые таблицы (например, с нормативно-справочной информацией), которые могут обновляться 1-2 раза в год. Постоянно архивировать их нет смысла (например, нарастающее архивирование будет порождать пустые архивы).
Обновление таких справочников обычно выполняет клиентское приложение и оно обязано уведомить DBA (через sms-сообщение, e-mail, личным визитом пользователя или иным способом) о необходимости разового архивирования такого справочника.
3 Eсть временные (рабочие) таблицы, в которых хранятся вычисляемые или накопительные данные для создания сложных аналитических отчетов. Данные в них обновляются при запуске клиентского приложение и архивировать их нет смысла
и др
Имхо, если аналитик (проектировщик) предоставить информацию о сущности таблицы, то DBA сможет более рационально организовать надежное хранение данных без больших временных затрат.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39883024
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЮВ, вы что? Автор топика?
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884695
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) описание таблиц и полей в метаданных;
2) ввод и поддержка дополнительных тэгов в метаданных, например, тэг "функциональный блок" или "разработано/доработано по задаче:...";
3) для основных функциональных блоков - упрощенные ER-модели в не важно какой программе проектирования, хоть в Визио;
4) сервис для аналитиков, который работает с метаданными, например, вводим там "счёт" - он возвращает все таблицы/поля, где в описании есть слово "счёт";
5) база знаний на основе Confluence или любой вики-системы (хоть в шарепоин);
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884696
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЮВО таблицах можно рассказать много чего интересного.
Например:
1 обязательно в БД должны храниться комментарии к самой таблице и всем её полям.
Эти комментарии должны предоставляться при выгрузке схемы таблицы. Если этого нет, комментарии надо документировать;
2 надо указывать максимальное допустимое кол-во записей таблицы и действия, которые будут выполняться при её переполнении: выдаваться ошибка, новые записи будут размещаться на место самых старых записей (циклическая таблица) или др.;
3 есть ли ограничение на размер файлов, хранящих собственно данные таблицы;
4 в каких разделах памяти рекомендуется размещать таблицу (например. в быстрых);
5 является ли таблица постоянной или временной;
6 является ли таблица таблицей “в памяти”;
7 является ли таблица предварительно загружаемой (т. е. автоматически загружается в оперативную память при запуске СУБД самой СУБД);
8 указать первичный ключ (если есть);
9 описать все составные ключи;
10 описать, если есть, все внешние ключи и порядок действия с ними при удалении первичного ключа, на который они ссылаются (выдавать ошибку, заменять NULL-значением, оставлять неопределенную ссылку и др.);
11 если числовое поле не является непрерывным (состоит из диапазонов значений), описать все диапазоны значений;
12 если поля имеют значения по умолчанию, описать;
13 если поля (да и сама таблица) имеют ограничения целостности, описать все правила ограничения;
14 если таблица имеет триггеры, описать все триггеры (BEFORE, AFTER, INSTEAD).Если на одну операцию создано несколько триггеров, указать очередность их выполнения;
15 если в БД есть хранимые процедуры, выполняющие манипуляции с данными таблицы,
описать все;
16 доступ к таблице имеет только её создатель или он может предоставлять доступ другим пользователям (каким?);
17 разделить таблицы по группам и указать принадлежность таблицы к группе (справочник, оперативная таблица, таблица для хранения итоговых данных по периодам, таблица хранения данных для аналитических отчетов и т. п.);
18 если к таблице применяется мандатный контроль доступа (поля имею метки ДСП, “Секретно” и т. п.), то описать все такие поля;
19 рекомендации по архивированию таблицы (редко в составе всей БД или часто отдльно т. к. таблица очень динамичная);
и др.

Абсолютно ничего из этого отдельно в документации описывать не нужно, иначе бюрократия убьет разработку. Это либо есть сразу в коде (причем, в очевидном, то есть разбираться не нужно), либо в системе именования объектов.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884705
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЮВ,

Вы в принципе не понимаете что есть аналитик, проектировщик, дба, ... - что они должны делать. Видимо от того и такой бред пишете.

"Смешались в кучу кони, люди." (с) ...
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884724
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрЮВ,

Вы в принципе не понимаете что есть аналитик, проектировщик, дба, ... - что они должны делать. Видимо от того и такой бред пишете.


Вы в принципе не поняли суть вопроса автора топика:
автор… при принятии нового сотрудника-разработчика можно было бы отдать ему на изучение для ознакомления со структурой.

Сейчас есть описание таблиц и полей. Но это не избавляет нас от запросов аналитиков "А где взять то-то и то-то". И даже если есть описание таблицы и описание нужных полей, то бывает необходимо дополнительно рассказать, как их правильно использовать ("если-то", или, например, что "надо учесть еще данные из этой таблицы").

Эта документация не для проектировщика, DBA, аналитика – это документация для этапа сопровождения системы.

авторАбсолютно ничего из этого отдельно в документации описывать не нужноЭто ваше личное мнение.
Отечественные и зарубежные нормативные документы предусматривают разработку необходимых документов по информационному обеспечению.
Например, ГОСТ серии “Информационные технологии” требуют разработку документов “Описание информационного обеспечения” и “Описание организации информационной базы”.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884965
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отечественные и зарубежные нормативные документы предусматривают разработку необходимых документов по информационному обеспечению.
Например, ГОСТ серии “Информационные технологии” требуют разработку документов “Описание информационного обеспечения” и “Описание организации информационной базы”. Это утраивает стоимость проекта. А реальной пользы мало.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884985
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предлагаю подождать комментариев автора.
...
Рейтинг: 0 / 0
Документирование базы данных для последующего использования аналитиками
    #39884995
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
maytonМожешь попробовать хранить мету в реляционной бд.


До сих пор редко встречаю, когда так делают.
И недоумеваю.
Кстати, интересует, можно ли как-нибудь мету БД смотреть в красивом виде (тулза какая-нибудь или т.п.)?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Документирование базы данных для последующего использования аналитиками
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]