ErdDocs

Генератор словаря данных

ErdDocs строит словарь данных по SQL-дампу, схеме Prisma или моделям фреймворка. Все таблицы, колонки, типы, значения по умолчанию, индексы и связи собраны в одном справочном документе. Его можно сохранить в PDF через печать браузера, а рядом будет ER-диаграмма. Регистрация и установка не нужны, схема разбирается в браузере.

Ваша схема

В схеме ниже комментарии на русском. Откройте вкладку «Словарь данных», и они появятся в колонке описаний.

От базы данных к словарю за три шага

  1. 01Выгрузите схему: pg_dump --schema-only mydb > schema.sql для PostgreSQL, mysqldump --no-data mydb > schema.sql для MySQL. Файл schema.prisma из Prisma подойдёт как есть.
  2. 02Вставьте её выше или перетащите файл на панель. Словарь появится, как только схема будет прочитана.
  3. 03Нажмите Сохранить в PDF, и окно печати браузера создаст документ. На сервер он тоже не попадает.

Описания берутся из вашей схемы

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

  • PostgreSQL: COMMENT ON TABLE orders IS '…' и COMMENT ON COLUMN orders.status IS '…'. pg_dump выгружает их вместе со схемой сам.
  • MySQL: конструкция COMMENT '…' у колонок и таблиц прямо в CREATE TABLE. mysqldump её сохраняет.
  • Prisma: комментарии /// над моделями и полями попадают в словарь как описания.

Все такие комментарии попадают в колонку «Описание». Если комментариев в схеме нет, этой колонки не будет вовсе, и пустых ячеек в документе не появится.

Всё остальное читается из самого DDL: типы в том виде, как они записаны, допустимость NULL, значения по умолчанию, ключи, индексы и партиции, свёрнутые в родительскую таблицу. В некоторых дампах внешних ключей нет совсем (в Rails и Django их объявляют редко). Тогда связи восстанавливаются по именам колонок и помечаются как выведенные. Так аудитор всегда отличит объявленные ключи от выведенных.

Кому нужен словарь данных

  • Аудит и проверки. «Пришлите словарь данных» – обычная просьба. ErdDocs отвечает на неё за минуты по вставленному дампу схемы, а собрать такой документ вручную по работающей базе – дело нескольких дней.
  • Сдача проекта заказчику. Агентства закрывают проекты документацией. ErdDocs делает её в виде документа, который заказчик может распечатать и оставить у себя.
  • Новые сотрудники. Новичок читает один документ, а не выясняет по information_schema таблицу за таблицей.

Что такое словарь данных

Это документ, который описывает базу данных таблица за таблицей. Для каждого поля в нём указаны имя, тип, допустим ли NULL и значение по умолчанию. Там же перечислены первичные и внешние ключи, индексы и пояснения, что где хранится. Его требуют в курсовых и дипломах, при аудите и при сдаче системы заказчику.

Лучше шаблона в Excel или Word

Шаблон заполняют вручную, и он перестаёт совпадать с базой, как только кто-то меняет таблицу. Здесь достаточно заново вставить дамп, и словарь снова актуален. Его можно пересобирать к каждой сдаче.

Частые вопросы

Что входит в словарь данных?

ErdDocs описывает каждую таблицу. Для каждой перечислены колонки с типами данных ровно в том виде, как они объявлены, допустимость NULL и значения по умолчанию. Добавлены первичные и внешние ключи с колонками, на которые они ссылаются, ограничения уникальности, индексы и обе стороны каждой связи. Комментарии к таблицам и колонкам из схемы становятся описаниями. Секционированная таблица указана один раз, а её партиции перечислены под ней.

Как сделать словарь данных по существующей базе?

Выгрузите схему в SQL. Для PostgreSQL это pg_dump --schema-only, для MySQL – mysqldump --no-data, в SQL Server – «Создать скрипты». Вставьте результат выше и откройте вкладку «Словарь данных». Если распечатать страницу из браузера, получится PDF. Ничего не нужно устанавливать, и SQL не покидает ваш компьютер.

Откуда в словаре берутся описания?

Из самой схемы. В колонку «Описание» попадают COMMENT ON TABLE и COMMENT ON COLUMN из PostgreSQL, конструкция COMMENT 'текст' из MySQL и комментарии /// из Prisma. Если комментариев в схеме нет, ErdDocs убирает колонку «Описание» целиком, а не печатает её пустой.

Это бесплатно?

Диаграмма бесплатно показывает до 25 таблиц. Словарь бесплатно описывает целиком три самые связанные таблицы. Следующие видны как рамки с именами на тех местах, где они стояли бы в документе, а остальные просто посчитаны. Этого достаточно, чтобы увидеть, какой документ вы получите. Разовый платёж $9 открывает весь словарь и всю диаграмму. Подписки, продления и аккаунта нет.

Схема куда-то загружается?

Нет. Разбор, диаграмма и словарь строятся в браузере, а PDF создаёт сам браузер при печати страницы. Схема не попадает ни на какой сервер, потому что загружать её некуда.

Ещё по теме