ER Architect / Как пользоваться
Как пользоваться редактором
Написано для всех, кто открывает диаграмму: и для архитектора, который её проектирует, и для аналитика, которому нужно её прочитать и сказать, где она врёт.
PKfirst_modelПервая модель
Три входа. Выбирайте тот, что подходит к тому, что у вас уже есть.
-
Начать с базы, которая уже работает
Выберите сохранённое подключение и схему — редактор прочитает таблицы, колонки, первичные и внешние ключи и индексы прямо в диаграмму. Обратно ничего не пишется. Если в списке пусто, подключение должен добавить администратор: пароли хранятся на сервере и вам не показываются.
-
Начать с файла
Импортируйте файл
.sqlс командамиCREATE TABLEили файл DBML. Пригодится, когда схема существует миграцией в репозитории, но ещё не существует тем, на что можно посмотреть. -
Начать с нуля
Откройте пример, чтобы увидеть готовую модель — семь таблиц книжного магазина в двух областях, — или создайте пустой проект и двойным щелчком по холсту добавьте первую таблицу.
FKcanvasТаблицы, колонки и связи
Двойной щелчок по пустому холсту создаёт таблицу. Внутри таблицы строка + добавляет колонку. Всё правится на месте — щёлкните по имени, чтобы изменить его.
Связи создаются перетаскиванием. Потяните от порта рядом с колонкой к таблице, на которую хотите сослаться, — ER Architect сам добавит колонку внешнего ключа и назовёт её по той, на которую она указывает. Нотация — «воронья лапка», поэтому сторона «многие» видна сразу.
Области группируют таблицы, которые относятся к одному — предметная область, витрина, ограниченный контекст. Перетащите таблицу в область, и она унаследует её цвет. В примере с книжным магазином области — «Каталог» и «Продажи».
Любая правка отменяется через Ctrl+Z — поэтому редактор почти ничего не переспрашивает. Подтверждение остаётся только там, где отменить уже нельзя.
FKnamingДва имени у всего
Это тот механизм, благодаря которому одна модель обслуживает две аудитории. Разобраться стоит сразу.
У каждой таблицы и колонки есть кодовое имя — то, как она называется в базе: order_items, unit_price — и бизнес-имя, то, как её называют люди: «Позиции заказа», «Цена за единицу».
Что показывать — выбираете вы: кодовые имена, бизнес-имена или оба. На концептуальном уровне всегда показываются бизнес-имена, и именно это делает диаграмму читаемой для того, кто ни разу не открывал редактор запросов.
Бизнес-имена путешествуют. Они уходят в сгенерированный DDL как COMMENT ON COLUMN, в выгружаемую документацию и в контекст, который получает ИИ-ассистент.
NlevelsDetail levels
Одна модель, два способа её прочитать. Ничего не дублируется, и второго документа для синхронизации нет.
| Уровень | Что видно | Для кого |
|---|---|---|
| Концептуальный | Сущности и связи между ними под бизнес-именами. Ни типов, ни ключей, ни технического шума. | Аналитики, продакты и любой разговор про бизнес, а не про базу. |
| Физический | Всё: кодовые имена, типы, ключи, индексы, ограничения. | Те, кто будет это строить и запрашивать. |
PKversionsСохранение и версии
Сохранение — явное. Пока вы не нажали «Сохранить», правки живут только в вашей сессии: отменяйте сколько нужно, никто их не видит. Поэтому в шапке и показано, есть ли несохранённое.
Каждое сохранение — версия, с сообщением, если вы его напишете. Хранятся последние пятьдесят: любые две можно сравнить, а старую — восстановить в сессию и посмотреть, прежде чем решать, оставлять ли её.
Если двое сохраняют из одной точки, второе сохранение отклоняется, а не затирает первое молча. Вы перезагружаете и применяете заново либо перезаписываете осознанно. Автоматического слияния схем нет: неверно слитая схема хуже конфликта, который надо разрешить руками.
FKdiffСравнить модель с базой
Проверка, которая отвечает, правда ли диаграмма ещё верна.
Выберите подключение и схему — ER Architect сравнит вашу модель с тем, что там на самом деле. Вы получите список расхождений: какие таблицы создать, какие колонки добавить, где разошлись типы, — и SQL, который закрыл бы разрыв.
Прочитайте, скопируйте или скачайте. ER Architect его не выполняет. Применять изменения к базе вы будете своими инструментами и по своему решению.
NexportВыгрузить модель
| Формат | Когда нужен |
|---|---|
| DDL | Передать схему тому, кто будет её создавать. Диалект выбирается в момент выгрузки; выгрузить можно весь проект, одну таблицу или одну область. |
| DBML | Перенести модель в другой инструмент или держать в репозитории текстом, который аккуратно сравнивается. |
| PNG, SVG | Вставить диаграмму в документ или слайд. |
| HTML, Markdown | Документация по каждой таблице и колонке, с бизнес-именами и описаниями — для вики или как результат работы. |
При выгрузке части модели внешние ключи, ведущие за пределы выбранного, не включаются. Они перечисляются в результате, а не пропадают молча.
PKteamВаша команда
Три роли, и любому на инстансе можно выдать одну из них.
| Роль | Может |
|---|---|
| Viewer | Открыть модель, читать любой уровень, выгружать. Менять не может ничего. |
| Editor | Всё, что viewer, плюс править модель и сохранять версии. |
| Owner | Всё, что editor, плюс управлять участниками и настройками проекта. Не больше двух владельцев на проект, чтобы ответственность оставалась персональной. |
Добавляйте тех, кто уже есть на инстансе, или отправьте копируемую ссылку-приглашение. Кто без доступа — оставляет заявку с обоснованием, а владелец согласует или отклоняет, тоже с причиной: ответом никогда не бывает молчание.
NassistantИИ-ассистент
Опционален, выключен, пока его не включат, и работает на вашем ключе.
«Спросить» отвечает на вопросы о схеме и ничего не меняет. «Изменить» применяет правки, описанные обычными словами, одним отменяемым шагом, предварительно сохранив версию, — вернуться можно всегда.
Модель возвращает ограниченный список операций редактирования, а не переписанную схему, — поэтому не может тихо перестроить то, о чём её не просили.
Передаются только метаданные схемы: имена таблиц и колонок, типы, ключи и комментарии. Данные строк не читаются и не передаются никогда.
Можно пользоваться корпоративным ключом, который выдал администратор, или своим личным. Если есть оба — выбираете, какой тратить на каждый запрос.
NfaqВопросы
Нужно ли знать SQL, чтобы этим пользоваться?
Нет. На концептуальном уровне вы читаете бизнес-имена и связи, без типов и ключей. Знание SQL нужно, чтобы править физическую структуру; чтобы читать модель — нет.
Могут ли двое править одну диаграмму одновременно?
Открыть её могут несколько человек и видеть, кто ещё здесь. У каждого браузера свой несохранённый черновик, на диск пишет только «Сохранить». Если двое сохраняют из одной ревизии, второе сохранение отклоняется с конфликтом, а не затирает первое.
Изменит ли он мою базу?
Нет. Обратная разработка только читает. Diff формирует SQL для чтения, копирования или выгрузки; отсюда на вашей базе не выполняется ничего.
Почему я вижу подключения, которые не могу править?
Подключения создаёт администратор, и они общие на инстансе. Вы можете выбрать одно и прочитать структуру базы за ним, но пароль хранится на сервере и вам не показывается.
Я случайно что-то удалил.
Ctrl+Z, пока вы ещё работаете. Если уже сохранили — откройте «Версии» и восстановите предыдущую: восстановление поднимает её в сессию, так что можно посмотреть, прежде чем оставлять.