Работа с таблицами
Все действия с уже существующими таблицами и заметками — выделение, перемещение, копирование, удаление, назначение цвета и выбор того, что отображается на холсте, — а также элементы управления холстом вокруг них.
Сначала идут команды для таблиц и заметок; затем свойства таблицы, фокус на таблицах, индексы и альтернативные ключи, автоматическое размещение и СУБД; затем сам холст: панель инструментов холста, масштаб, перемещение вида и то, куда ведет переход, а также просмотр различий; и в конце то, что от всего этого сохраняет редактор только для чтения.
Группам таблиц, то есть рамкам, объединяющим таблицы, посвящена отдельная страница — см. Группы таблиц.
Отдельная страница есть и у логических имен и режима отображения имен, который определяет, какие имена показывают таблицы, — см. Логические имена.
Множественное выделение
Поддерживаются три способа:
Ctrl + drag(Windows/Linux) или⌘ + drag(Mac)Ctrl + click(Windows/Linux) или⌘ + click(Mac)Ctrl + AилиCtrl + Alt + A(Windows/Linux),⌘ + Aили⌘ + ⌥ + A(Mac)
Заметки выделяются так же, и любое из двух сочетаний клавиш для выделения всего захватывает сразу все таблицы и заметки. Заметки, скрытые через View Option → Memos, не попадают ни в выделение всего, ни в рамку выделения — см. Параметры вида таблиц.
Группы таблиц добавляются к выделению с помощью Ctrl + click (Windows/Linux) или ⌘ + click (Mac) по их строке заголовка, но выделение всего никогда их не захватывает.
Ctrl + A уступает курсору ввода, поэтому во время редактирования ячейки это сочетание выделяет текст, а не диаграмму.
Рамка выделения отмечает таблицу или заметку, когда накрывает ее середину, а не когда просто касается края. Группу таблиц она захватывает, только если охватывает всю рамку группы, поэтому рамка, нарисованная внутри группы, выделяет таблицы без самой группы.
Щелчок правой кнопкой мыши по уже выделенному элементу сохраняет все выделение, поэтому пункты меню, например Color, Group selected tables и Delete selected, применяются ко всему выделению. Щелчок правой кнопкой мыши по любой другой таблице, заметке или группе таблиц выделяет только ее, даже при зажатой клавише Ctrl или ⌘, а щелчок правой кнопкой мыши по связи или по пустой области холста снимает выделение.
Клавиша Escape снимает выделение. Пока открыто поле редактирования ячейки, заметки или имени группы таблиц либо идет рисование связи или группы через New Table Group, первое нажатие Escape завершает это действие, а второе снимает выделение.
В редакторе только для чтения ни одного из этих способов выделения нет: там выделяет только переход — см. Режим только для чтения.

В сеансе совместного редактирования выделение, ячейка в фокусе и рамка выделения каждого участника отображаются на холсте цветом этого участника — см. Совместное редактирование.
Если участник просматривает диаграмму в другом режиме отображения имен, его ячейка в фокусе рисуется на ячейке, которую ваш режим рисует на ее месте, например его ячейка имени — на вашей ячейке логического имени, — см. Соавторы.
Перемещение нескольких таблиц
Перетащите любую таблицу или заметку, которая уже входит в выделение, и вместе с ней переместится все выделение — клавиша-модификатор не нужна.
Таблицу можно перетаскивать за заголовок или за любую из строк ее столбцов, поэтому перетаскивание, начатое на строке столбца, перемещает таблицу, а не столбец. Столбцы же перемещаются за маркер перетаскивания рядом со строкой в фокусе — см. Перестановка и перемещение столбцов.
На ячейке заголовка или строке столбца таблица начинает двигаться только после того, как указатель пройдет небольшое расстояние, поэтому щелчок там по-прежнему переводит фокус на ячейку, а двойной щелчок по-прежнему открывает ее поле редактирования. Перетаскивание никогда не начинается с цветного края таблицы, который открывает окно выбора цвета, с кнопок + и x на ее заголовке или с кнопки x строки столбца.
Перетаскивание элемента вне выделения сужает выделение до этого элемента и перемещает только его. Ctrl + drag (Windows/Linux) или ⌘ + drag (Mac) в обоих случаях сохраняет выделение.
Таблицы и заметки перемещаются только левой кнопкой мыши. Щелчок правой кнопкой мыши выбирает то, к чему применяется контекстное меню, и ничего не перемещает, а перетаскивание средней кнопкой мыши вместо этого перемещает холст — см. Навигация по холсту.

Выделенная группа таблиц тоже перемещается вместе со своими таблицами, а таблица, которая одновременно выделена и входит в перемещаемую группу, перемещается один раз.
От того, куда отпущена таблица, зависит, попадет ли она в группу или выйдет из нее, — см. Добавление и исключение таблиц.
У таблиц и заметок общий порядок наложения. Нажатие на таблицу или заметку левой или правой кнопкой мыши переносит ее на передний план перед всеми остальными таблицами и заметками, а нажатие на строку заголовка группы таблиц или щелчок правой кнопкой мыши по ее телу переносит на передний план ее таблицы.
Этот порядок не сохраняется: в повторно открытой диаграмме таблицы накладываются в том порядке, в каком они перечислены в файле, а все заметки располагаются над ними.
Копирование и вставка таблиц и заметок
Копирует выделенные таблицы и заметки и вставляет их обратно как новые.
Сочетания клавиш: Ctrl + C (Windows/Linux) или ⌘ + C (Mac), Ctrl + V (Windows/Linux) или ⌘ + V (Mac)
Скопированная таблица сохраняет имя, логическое имя, комментарий, столбцы и цвет; скопированная заметка сохраняет текст, размер и цвет.
Каждый скопированный столбец сохраняет свое логическое имя, а каждое имя таблицы и столбца сохраняет признак того, сформировано ли оно словарями, — см. Формирование физических имен.
Вставленный столбец сохраняет привязку к домену, только если выполнены два условия: в диаграмме, куда он вставляется, есть именно этот домен, а не просто домен с тем же именем, и у домена по-прежнему тот тип данных, с которым столбец был скопирован. Иначе столбец вставляется без домена и сохраняет тип, с которым был скопирован, — см. Привязка столбца.
Индексы и связи тоже копируются: индекс целиком переносится в скопированную таблицу, а связь копируется вместе со своим типом и действиями ON DELETE и ON UPDATE, если обе соединяемые ею таблицы входят в копируемый набор. Связь, попавшая в копию лишь наполовину, отбрасывается, а не продолжает указывать на оригинал.
Вставленные копии становятся новым выделением, а каждая повторная вставка той же копии смещает ее еще на 50px, поэтому повторные вставки не ложатся друг на друга.
Копия не сохраняет группу таблиц: вставленная таблица не входит ни в одну группу, даже если оказывается внутри рамки группы, а выделенная группа не копируется.
Пока View Option → Memos скрывает заметки, вставка все равно добавляет содержащиеся в ней заметки — скрытыми и невыделенными, поэтому новым выделением становятся только вставленные таблицы.

Если внутри таблицы в фокусе выделены столбцы, то же сочетание клавиш копирует вместо таблиц эти столбцы — см. Редактирование таблиц.
Дублирование таблиц и заметок
Удерживая клавишу Alt, перетащите таблицу или заметку левой кнопкой мыши.
Таблицу можно захватить за заголовок или за любую строку столбца, поэтому Alt + drag по строке столбца дублирует таблицу и не меняет порядок столбцов. Удерживание клавиши Alt на маркере перетаскивания столбца ничего не дублирует: столбец перемещается так же, как при обычном перетаскивании за маркер, — см. Перестановка и перемещение столбцов.
За указателем следует полупрозрачный предпросмотр, и при отпускании кнопки копия появляется там, где находится предпросмотр.
Если захваченный элемент уже входит в выделение, дублируется все выделение. Иначе выделение заменяется сущностью под указателем.
Alt + click без перемещения помещает копию на 50px ниже и правее, сдвигая ее еще дальше всякий раз, когда это место уже занято.
Дубликат переносит то же, что и вставка: имена и логические имена, комментарии, столбцы, цвета, размеры заметок, а также индексы и связи, целиком относящиеся к скопированному. Поскольку он остается в той же диаграмме, он сохраняет привязку каждого столбца к домену без изменений. Как и вставка, он не попадает ни в одну группу таблиц.
Alt + drag по строке заголовка группы таблиц перемещает группу так же, как обычное перетаскивание; группа никогда не дублируется.

Удаление таблиц и заметок
Удаляет выделенные таблицы, заметки и группы таблиц.
Сочетания клавиш:
DeleteилиBackspace. Они удаляют все выделение, кроме случая, когда выделена только таблица, в которой выделена часть столбцов, а масштаб больше70%: тогда вместо этого они удаляют эти столбцы — см. Удаление столбцов.Ctrl + BackspaceилиCtrl + Delete(Windows/Linux),⌘ + Backspaceили⌘ + Delete(Mac). Они всегда удаляют выделенные таблицы, заметки и группы таблиц, даже когда выделены столбцы.

Удалять можно и через контекстные меню. Последний пункт меню таблицы или заметки называется Delete selected, когда эта таблица или заметка — один из двух или более выделенных элементов, и удаляет все выделение. В противном случае он называется Delete и удаляет только эту таблицу или заметку. Если меню таблицы открыто над строкой выделенного столбца, пункт вместо этого называется Delete column или Delete columns, как описано в разделе Удаление столбцов.
Вместе с таблицей удаляются ее связи и индексы. При удалении группы таблиц ее таблицы сохраняются, но уже вне группы — см. Удаление группы.
Подтверждение не запрашивается, каждое удаление составляет один шаг отмены, а в редакторе с атрибутом readonly ничего не удаляется.
При удержании Delete и Backspace удаляют только один раз и никогда не удаляют связь — см. Редактирование связей. Пока вы вводите текст в ячейке, заметке или любом другом текстовом поле, они вместо этого редактируют текст.
В Настройках эти две клавиши указаны как Delete Selection — см. Сочетания клавиш.
Цвет таблиц и заметок
Можно назначать цвета, чтобы различать элементы по категориям.
Цвет таблицы отображается вдоль ее левого края, а цвет заметки — полосой вдоль верхнего края. Щелкните этот край или полосу левой кнопкой мыши либо выберите Color в контекстном меню таблицы или заметки, чтобы открыть окно выбора цвета у указателя. Цвет применяется ко всем выделенным таблицам, заметкам и группам таблиц, а не только к тому элементу, по которому вы щелкнули.
Цвет группы таблиц задается пунктом Color в ее собственном меню, а таблица в окрашенной группе показывает цвет группы на своем заголовке, сохраняя собственный цвет на левом крае, — см. Цвет группы.

Окно выбора цвета содержит сверху вниз:
- Область насыщенности и яркости, затем ползунок оттенка с предпросмотром цвета рядом с ним. Если браузер поддерживает пипетку, кнопка с пипеткой перед ползунком,
Pick a color from the screen, берет цвет из любой точки экрана. - Поля
Hex,R,GиB. ПолеHexпринимает 3, 4, 6 или 8 шестнадцатеричных цифр с#или без него, а также вставленное значениеrgb(),hsl()или имя цвета CSS. Полное 6- или 8-значное значение применяется по мере ввода, а все остальное — по нажатиюEnterили при выходе из поля. ПоляR,GиBпринимают целые числа, считая любое значение больше255равным255, и применяются по нажатиюEnterили при выходе из поля. Текст, который окно выбора цвета не может распознать, отбрасывается. - Шестнадцать образцов стандартных цветов в два ряда по восемь: Red, Orange, Amber, Yellow, Lime, Green, Teal, Cyan, Blue, Indigo, Violet, Purple, Pink, Crimson, Brown и Gray. При наведении указателя на образец цвета отображается его шестнадцатеричный код.
Document colors: до восьми цветов, которые уже используются в таблицах, заметках и группах таблиц документа, начиная с самых частых. Этот ряд отображается, только если такие цвета есть.No color.
Цвет всегда непрозрачный: в окне выбора цвета нет управления прозрачностью, и любая прозрачность во введенном или вставленном значении отбрасывается.
Открытие окна выбора цвета ничего не изменяет, а выбор цвета, который уже есть у выделения, не добавляет шаг отмены.
Кнопка No color убирает цвет у всех выделенных таблиц, заметок и групп таблиц за один шаг отмены и закрывает окно выбора цвета. Пункт Remove color, который находится сразу под Color в контекстных меню таблицы, заметки и группы таблиц, пока у какого-либо выделенного элемента есть цвет, делает то же самое, не открывая окно выбора цвета.
При открытии окно выбора цвета получает фокус клавиатуры, а Tab и Shift + Tab переходят по кругу между его элементами управления. Клавиши со стрелками сдвигают область и ползунок оттенка на 1, или на 10 с зажатой клавишей Shift, и переходят от образца к образцу, сразу применяя каждый из них.
Пока фокус клавиатуры в окне выбора цвета, отмена и повтор, сочетания клавиш масштаба, Search и Toggle Explorer по-прежнему доходят до редактора, а остальные сочетания клавиш редактора — нет: сочетания клавиш удаления ничего не удаляют, а Delete и Backspace только редактируют текст полей Hex, R, G и B.
Escape закрывает окно выбора цвета, как и нажатие на холст за его пределами.
Нажатие в Обозревателе не считается нажатием на холст, поэтому окно выбора цвета остается открытым. Строка, выбранная там, меняет выделение, и следующий выбранный цвет применяется к новому выделению.
Параметры вида таблиц
Доступны следующие параметры вида:
- Table Comment
- Column Comment
- DataType
- Domain
- Default
- Not Null
- Unique
- Alternate Key
- Auto Increment
- Relationship
- Referential Actions
- Table Groups
- Memos
Параметры Domain, Unique, Alternate Key и Auto Increment выключены по умолчанию, а остальные включены.
То, какие имена показывают таблицы, не является параметром вида: пункт Name View, который идет сразу после View Option в контекстном меню холста, выбирает физические имена, логические имена или и те и другие — см. Переключение режима отображения.
Параметр Domain добавляет каждому столбцу ячейку с именем домена, к которому привязан столбец; ее место задает порядок столбцов. Столбец, не привязанный ни к одному домену с листа Domains, показывает в ней приглушенный заполнитель domain. Ячейка отображается в любом режиме отображения имен. Пока параметр Domain выключен, режим Logical Names вместо этого показывает имя привязанного домена в ячейке типа — см. Ячейка домена.
Параметр Alternate Key ставит на столбцах каждого альтернативного ключа метки, например AK1.1, — см. Альтернативные ключи.
Параметр Referential Actions показывает метки D: и U:, которые действия ON DELETE и ON UPDATE связи ставят у дочернего конца ее линии связи, — см. Как читать линию связи. Его выключение скрывает только эти метки и не сдвигает ни таблицы, ни линии связи.
Параметр Table Groups показывает группы таблиц и цвета групп на заголовках их таблиц. Его выключение скрывает их на холсте, мини-карте и в экспортированных изображениях, не сдвигает ни одной таблицы и оставляет каждую таблицу в ее группе — см. Скрытие групп. Кроме того, из Обозревателя исчезает папка Table Groups, с панели инструментов холста — кнопка New Table Group, а поиск в Обозревателе перестает находить имена групп.
Параметр Memos показывает заметки. Его выключение скрывает все заметки на холсте, мини-карте и в экспортированных изображениях и не сдвигает ни таблицы, ни линии связи. Скрытые заметки не занимают места, поэтому полосы прокрутки, мини-карта и компас Go to content их не учитывают.
Скрытие заметок снимает с них выделение и закрывает открытое поле редактирования заметки. Обозреватель убирает свою папку Memos, а его Поиск и замена и префикс : быстрого поиска по ним не ищут. Пока заметки скрыты, пункт New Memo исчезает из контекстного меню, с панели инструментов холста, из быстрого поиска и с экрана приветствия, а Alt + M не добавляет заметку. Вставка или Импорт с добавлением все равно добавляет содержащиеся в них заметки — скрытыми и невыделенными.
В редакторе только для чтения переключатели по-прежнему работают, но только на этом экране: они не сохраняются, не записываются в историю изменений и не передаются, а когда редактор снова становится доступным для записи, они возвращаются к значениям файла — см. Режим только для чтения в разделе «Настройки».

Карточки режима Flow на вкладке «Визуализация» не следуют этим параметрам, включая Domain: у них свое отображение строк, и они рисуют линии связи, даже когда параметр Relationship выключен. То, какие ячейки располагает карточка, зависит только от режима отображения имен — см. Имена на карточках.
Свойства таблицы
Открывает окно свойств таблицы.
Выберите Table Properties в контекстном меню таблицы — окно откроется для той таблицы, по которой вы щелкнули правой кнопкой мыши, — или выделите таблицу и нажмите Alt + Space.
Окно открывается посередине затемненного холста. Затемняется только холст, поэтому открытый Обозреватель остается открытым и доступным рядом с окном. В заголовке окна находятся надпись Table Properties, пять последних открытых таблиц в виде плашек с подсвеченной текущей и кнопка закрытия. Каждая плашка называет свою таблицу так, как ее называет режим отображения имен. Щелкните плашку, чтобы перейти к этой таблице, не открывая окно заново.
Под заголовком расположены три вкладки: Indexes, Schema SQL и Code Generator. Размер окна одинаков для всех трех, поэтому при переключении вкладок оно не сдвигается и не меняет размер.
Закройте окно кнопкой закрытия, клавишей Escape или щелчком по холсту за его пределами.
Выбор в Обозревателе любой строки, кроме папки, или переход к совпадению его поиска закрывает окно «Свойства таблицы» перед переходом. То же делает сочетание Ctrl + F (Windows/Linux) или ⌘ + F (Mac), которое открывает поиск Обозревателя или, если Обозреватель уже открыт, ставит курсор ввода в его поле поиска. Любой другой щелчок в Обозревателе, в том числе по строке папки, или по кнопке Explorer на панели инструментов оставляет окно «Свойства таблицы» открытым. Нажатие Escape, пока фокус клавиатуры в Обозревателе, только возвращает фокус клавиатуры холсту, поэтому, чтобы закрыть окно «Свойства таблицы», нужно нажать Escape второй раз.
Вкладка Indexes описана в разделе Индексы.
Вкладка Schema SQL показывает DDL таблицы для выбранной базы данных: ее CREATE TABLE, отдельные ограничения, которые некоторые базы данных записывают для ее уникальных столбцов, и ее индексы. Она всегда выводит простые операторы CREATE, без заголовка, без скриптов перед таблицами и после них и без логических имен в пустых комментариях, как бы ни была настроена вкладка «Схема SQL» на панели инструментов, — см. Логические имена в комментариях. Панели параметров у нее нет, а ее контекстное меню предлагает только Database и Bracket.
Вкладка Code Generator генерирует код только для этой таблицы — см. Генератор кода.
В редакторе только для чтения окно все равно открывается — из пункта Table Properties, единственного в контекстном меню таблицы там, или сочетанием Alt + Space для таблицы, выделенной переходом. Оно показывает метку Read only рядом с заголовком, а на его вкладке Indexes правки недоступны.
Окно, открытое, когда редактор переходит в режим только для чтения, остается открытым и переходит в режим только для чтения вместе с ним — см. Режим только для чтения.
Фокус на таблицах
Открывает вкладку «Визуализация» в режиме Flow с видом, суженным до выбранных таблиц и всех таблиц на расстоянии одной связи от них.
Выберите Focus on this table в контекстном меню таблицы или выделите одну или несколько таблиц и нажмите Alt + F.
Если таблица, по которой вы щелкнули правой кнопкой мыши, — одна из нескольких выделенных таблиц, пункт называется Focus on selected tables и включает фокус на всем выделении. Щелчок правой кнопкой мыши по таблице вне выделения включает фокус только на этой таблице.
Сочетание клавиш берет выделенные таблицы, не учитывает заметки и ничего не делает, если ни одна таблица не выделена. В меню таблицы редактора только для чтения нет пункта Focus on this table, а сочетание берет таблицу, выделенную там переходом, — см. Режим только для чтения.
Выделенная группа таблиц здесь ничего не значит — ни для сочетания клавиш, ни для пункта меню: ее таблицы учитываются, только если выделены сами, а это делает пункт Select tables в меню группы.
Что показывает суженный вид и как вернуться ко всей диаграмме, описано на странице Визуализация, а как шагать назад и вперед по тому, что Flow показывал раньше, — в разделе Предыдущая и следующая таблица.
Индексы
Индексы задаются на вкладке Indexes окна свойств таблицы и включаются в экспортируемую Схему SQL.
Слева перечислены ключи и индексы таблицы, разделенные на две группы.
Группа Keys, которая отображается, если у таблицы есть ключи, перечисляет ключи, объявленные ее столбцами: PK_<table name> по столбцам с меткой PK, затем UQ_<table name>_<column name> для каждого столбца, отмеченного как Уникальный, в порядке столбцов. Это физические имена, которые записывает Схема SQL выбранной базы данных, независимо от режима отображения имен, поэтому, когда параметр Bracket имеет значение None, для таблицы с указанием схемы, например sales.users, отображается PK_users при любой базе данных, кроме Databricks и Snowflake, — см. Имена таблиц с указанием схемы. Каждый ключ помечен как PK или UQ и отмечен значком замка. Здесь они доступны только для чтения и меняются только вместе с флагами PK и Уникальный столбцов.
Группа Indexes перечисляет индексы таблицы в порядке их добавления. У каждого индекса есть переключатель UQ, который делает его уникальным, поле имени и кнопка x, которая его удаляет. Индекс, являющийся альтернативным ключом, также показывает свой номер, например AK1. Добавьте индекс кнопкой Add Index внизу списка.
Справа под заголовком Columns перечислены столбцы таблицы, у каждого — флажок. Каждая строка показывает те же ячейки, что и строка столбца на холсте, следуя порядку столбцов, Параметрам вида и режиму отображения имен. Пока слева не выбран индекс, ничего изменить нельзя.
Установите флажок столбца, чтобы добавить его в выбранный индекс, и снимите флажок, чтобы убрать его. При выборе ключа его столбцы отображаются с установленными флажками, но флажки остаются недоступными.
Столбцы выбранного индекса перечислены ниже под заголовком Index order, и каждый назван так, как его называет режим отображения имен, а в режиме Both Names имя стоит в скобках после логического имени, например Member Number (member_no). Перетаскивайте их за маркер перетаскивания, чтобы изменить порядок, и щелкните плашку ASC или DESC в строке, чтобы сменить порядок сортировки на противоположный. В альтернативном ключе каждая строка заканчивается меткой AK<n>.<m>. В списке одновременно видны три строки, остальные прокручиваются.
В редакторе только для чтения при выборе ключа или индекса его столбцы по-прежнему отображаются, но кнопок Add Index и x нет, и ничего другого на вкладке изменить нельзя: имена не принимают ввод, все флажки отключены, а строки Index order нельзя ни перетаскивать, ни переключать в них порядок сортировки.
Обозреватель перечисляет индексы каждой таблицы в ее папке Indexes, и выбор индекса там выполняет переход к его таблице. Поиск Обозревателя находит и имена индексов и может их переименовывать — см. Что охватывает поиск.

Альтернативные ключи
Альтернативный ключ — это уникальный индекс по двум или более столбцам: индекс на вкладке Indexes с включенным переключателем UQ и как минимум двумя отмеченными столбцами таблицы.
Уникальный индекс по одному столбцу говорит не больше, чем флаг «Уникальный» этого столбца, поэтому он не считается альтернативным ключом, как и обычный индекс, первичный ключ или столбец, отмеченный как Уникальный.
Когда в параметрах вида включен параметр Alternate Key, диаграмма помечает столбцы каждого альтернативного ключа так, как их записывают erwin и IDEF1X: AK1.1, AK1.2 и т. д. По умолчанию этот параметр выключен.
Ключи нумеруются по положению их столбцов в таблице, а не по порядку добавления индексов. Ключ, у которого первый столбец в списке Index order стоит в таблице выше всех, получает номер AK1. При равенстве решает следующий столбец каждого ключа, а ключ, который является начальной частью более длинного ключа, идет перед ним.
Перемещение столбца внутри таблицы или изменение порядка в списке Index order ключа может изменить нумерацию ключей. Отмена удаления ключа возвращает ему прежний номер, и все соавторы видят одинаковые номера.
Каждый столбец ключа помечается как AK<n>.<m>, где n — номер ключа, а m — место столбца в списке Index order ключа. Столбец, входящий в несколько ключей, несет все метки через запятую.
Например, в таблице со столбцами a, b и c уникальные индексы по (c, a) и (b, a) становятся AK1 = (b, a) и AK2 = (c, a), потому что b стоит выше c. Поэтому у b отображается AK1.1, у c — AK2.1, а у a — AK1.2,AK2.2.
Метка рисуется в конце строки, после той ячейки, которую порядок столбцов ставит последней. Она не является ячейкой, поэтому никогда не получает фокус, не редактируется и не копируется — см. Редактирование таблиц.
Столбец первичного или внешнего ключа тоже может нести метку AK, поскольку метка ничего не заменяет: значок ключа в начале строки по-прежнему показывает PK и FK, а ячейка «Уникальный» сохраняет свою метку UQ.
Таблица с альтернативным ключом оставляет после последней ячейки каждой строки место для своей самой длинной метки; таблица без альтернативного ключа сохраняет свою ширину.
Метки отображаются на холсте ERD, где таблица, свернутая до имени при масштабе 70% и меньше, их не показывает, и при экспорте изображения, который рисует каждую таблицу полностью при любом масштабе. Предпросмотр при наведении в режиме Graph на вкладке «Визуализация» тоже их показывает; карточки Flow никогда их не показывают.
Вкладка Indexes показывает номера при любом состоянии этого параметра — см. Индексы.
Автоматическое размещение
Автоматически расставляет все таблицы на холсте.
Откройте Auto Layout из контекстного меню холста или из быстрого поиска и выберите одно из четырех размещений:
| Размещение | Что получается |
|---|---|
Force | Симуляция: связи притягивают таблицы друг к другу, соседние таблицы отталкиваются, а перекрывающиеся таблицы расходятся. |
Flow | Слева направо вдоль связей, причем каждая линия связи получает на таблице собственную точку привязки. Размещение старается свести пересечения к минимуму, но может оставить некоторые из них, которых другое размещение избежало бы. |
Tree - vertical | Уровнями сверху вниз: родительская таблица располагается над таблицами, у которых есть внешний ключ на нее. |
Tree - horizontal | Те же уровни, но слева направо. |
Размещение Force открывает предварительный просмотр на время, пока размещение стабилизируется, с кнопками Apply и Cancel в уведомлении, которое оно показывает.
Кадр предварительного просмотра строится по диаграмме в том виде, в каком она была на момент запуска размещения, поэтому по мере стабилизации таблицы могут уходить за пределы кадра. Предварительный просмотр отображается при масштабе 70% или меньше, поэтому таблицы в нем свернуты до имени и цветного края. Он открывается в вашем текущем режиме отображения имен, какой бы режим ни был сохранен в файле, — см. За пределами холста.
Кнопка Apply сохраняет положения таблиц такими, какие они в этот момент, а когда размещение останавливается, оно применяется само. Кнопка Cancel или клавиша Escape оставляет диаграмму в прежнем виде.
Остальные три рассчитываются за один раз вне основного потока, поэтому наблюдать не за чем: пока размещение вычисляется, отображается уведомление, а готовое расположение центрируется по области, которую диаграмма уже занимает. Кнопка Cancel или клавиша Escape отменяет размещение, которого вы больше не ждете, а на хосте, который не запускает общий воркер, размещение завершается уведомлением Could not place tables — см. Web Worker. Размещение, не вернувшее результат в течение 60 секунд, завершается так же.
Какое бы размещение вы ни выбрали, перемещаются таблицы и группы таблиц, а заметки остаются на месте. Таблицы размещаются с той шириной, которую они имеют в вашем текущем режиме отображения имен. Связь таблицы с самой собой не учитывается, а несколько связей между одними и теми же двумя таблицами считаются за одну.
Каждое размещение держит таблицы каждой группы вместе, независимо от того, показаны ли группы, и подгоняет каждую группу, содержащую таблицы, под эти таблицы — см. Группы таблиц.
Результат попадает в историю как одна запись, поэтому одна отмена возвращает все таблицы и группы на прежние места.
Редактор только для чтения не предлагает Auto Layout. Размещение, еще выполняющееся, когда редактор переходит в режим только для чтения, там завершается: окно предварительного просмотра Force закрывается вместе со своим уведомлением и не сохраняет ни одной из своих позиций, а размещение, которое еще вычисляется, отбрасывается вместе с уведомлением, поэтому ни одна таблица не перемещается ни тогда, ни после того, как редактор снова станет доступным для записи.

Базы данных
Поддерживаемые базы данных:
- Databricks
- MSSQL
- MariaDB
- MySQL
- Oracle
- PostgreSQL
- Snowflake
- SQLite
Выберите базу данных в пункте Database контекстного меню холста, на панели параметров или в контекстном меню вкладок «Схема SQL» и «Генератор кода» либо в быстром поиске. Все они меняют одну и ту же настройку. В меню холста редактора только для чтения нет пункта Database, а выбор в остальных меняет только этот экран — см. Режим только для чтения.
Этот выбор определяет синтаксис Схемы SQL при экспорте, автодополнение типа данных и типы, в которые разрешаются сгенерированный код и импортированные схемы.
От него зависит, какие варианты Statements и Header может выводить вкладка «Схема SQL». Вариант, которого нет у базы данных, остается на панели параметров, но приглушенным, а SQL переходит на ближайший доступный вариант.
От него также зависит, какие действия ON DELETE и ON UPDATE выводят Схема SQL и целевые форматы ORM Генератора кода и какие из них меню связи помечают как not in <database>, — см. ON DELETE и ON UPDATE и Генератор кода.
Импорт Схемы SQL сохраняет тип данных столбца вместе со списком аргументов независимо от того, есть ли этот тип в списке редактора, например TIMESTAMP WITH TIME ZONE, public.mood или integer[] — см. Типы данных. Автодополнение типа данных предлагает только типы, перечисленные для выбранной базы данных.


Панель инструментов холста
Поверх холста у середины его нижнего края находится небольшая плавающая панель инструментов, на которой слева направо расположены инструменты, действующие на сам холст, и команды, добавляющие на него элементы:
- Рука и указатель. По умолчанию выбран указатель; рука превращает любое перетаскивание в перемещение холста — как над таблицами, так и над пустым местом. Клавиша
Spaceпереключает руку и указатель. Пока активно рисование группыNew Table Group, вместо них отмечена кнопкаNew Table Group, а щелчок по руке или указателю, нажатиеSpaceили выбор нотации связи завершает рисование без добавления группы. New Table,New MemoиNew Table Group. КнопкаNew Tableдобавляет таблицу, как иAlt + N, аNew Memoдобавляет заметку, как иAlt + M. КнопкаNew Table Groupактивирует рисование группы, как иAlt + G, и выключает руку; повторный щелчок, как и повторное нажатиеAlt + G, завершает рисование без добавления группы. КнопкаNew Memoне отображается, пока View Option →Memosскрывает заметки, аNew Table Group— пока View Option →Table Groupsскрывает группы.- Масштаб:
Zoom out, текущий масштаб в процентах иZoom in. Обе кнопки меняют масштаб шагами так же, как сочетания клавиш масштаба, а щелчок по значению в процентах возвращает масштаб к100%. - Четыре нотации связей, те же четыре, с которых начинается создание связи, — см. Начало редактирования. Выбор одной из них переключает обратно на указатель, поскольку связь рисуется щелчками по двум таблицам.
Name View— кнопка со стрелкой вниз, на которой указан текущий режим:Physical Names,Logical NamesилиBoth Names. Ее ширина не зависит от указанного режима, поэтому переключение никогда не сдвигает панель инструментов. Щелчок открывает над панелью инструментов список из трех режимов, в котором текущий отмечен галочкой. Выбор режима переключает на него и закрывает список; повторный щелчок по кнопке, нажатие в любом другом месте или клавишаEscapeзакрывает список без переключения. Что рисует каждый режим, описано в разделе Отображение имен, а сохраняется ли переключение — в разделе Переключение режима отображения.- Режим дзен,
Alt + Z, который убирает все, кроме холста и этой панели инструментов. Повторное нажатиеAlt + Zили кнопка возвращает остальное. Открытый Обозреватель скрывается вместе с остальным, не закрываясь, и вместе с ним возвращается. Его по-прежнему можно открыть в режиме дзен — см. Когда Обозреватель скрывается. - Компас
Go to content, который появляется в конце панели инструментов, только пока на экране нет ни одной таблицы, видимой заметки или видимой группы таблиц, — см. Навигация по холсту.
Каждая кнопка, у которой есть сочетание клавиш, указывает его во всплывающей подсказке, например New Table (Alt + N) (Windows/Linux) или New Table (⌥ + N) (Mac).
Панель инструментов скрывается, пока открыто окно предварительного просмотра Force Автоматического размещения, окно свойств таблицы, путешествие во времени или просмотр различий, и возвращается после закрытия.
Панель инструментов редактора только для чтения сохраняет масштаб, Name View, режим дзен и компас Go to content. На ней нет ни руки, ни указателя, ни New Table, New Memo или New Table Group, ни нотаций, и она получает их обратно, когда редактор снова становится доступным для записи.

Увеличение и уменьшение масштаба
Масштаб меняется с помощью Ctrl + Wheel (Windows/Linux) или ⌘ + Wheel (Mac). Колесико мыши само по себе перемещает холст.
Жест сведения пальцев на трекпаде тоже меняет масштаб относительно точки жеста, как и два пальца на сенсорном экране, которые при движении еще и перемещают холст.
Сочетания клавиш: Ctrl + Plus (Windows/Linux) или ⌘ + Plus (Mac), Ctrl + Minus (Windows/Linux) или ⌘ + Minus (Mac)
Ctrl + 0 (Windows/Linux) или ⌘ + 0 (Mac) сразу возвращает масштаб к 100%, сохраняя середину экрана на месте.
Кнопки Zoom out и Zoom in на панели инструментов холста меняют масштаб шагами, как сочетания клавиш Minus и Plus: каждое нажатие изменяет его на 4 процентных пункта, сохраняя середину экрана на месте. Значение в процентах между ними показывает текущий масштаб, а щелчок по нему сразу возвращает масштаб к 100%, как и Ctrl + 0 (Windows/Linux) или ⌘ + 0 (Mac).
Масштаб меняется в диапазоне от 10% до 150%.
При масштабе 70% и меньше таблицы сворачиваются до имени и цветного края, а редактирование ячеек, сочетания клавиш для ячеек, копирование и вставка перестают работать, пока вы снова не увеличите масштаб. Имя, которое показывает свернутая таблица, следует режиму отображения имен — см. Отображение имен.
Эти же три сочетания клавиш меняют масштаб и на вкладке «Визуализация», как в режиме Graph, так и в режиме Flow, каждый в пределах своего диапазона — см. Визуализация.

Навигация по холсту
У холста нет границ и размера, который нужно задавать. Таблицы и заметки находятся там, куда вы их поместили, и все описанное ниже относится к диаграмме, а не к странице фиксированного размера.
Чтобы переместить холст, перетащите пустую область холста или переключитесь клавишей Space на инструмент «Рука» и перетаскивайте в любом месте, в том числе над таблицей. Колесико мыши тоже перемещает холст, а Shift + Wheel перемещает его по горизонтали.
Тело группы таблиц, то есть область под ее строкой заголовка, для левой кнопки мыши считается пустой областью холста: его перетаскивание перемещает холст, Ctrl + drag (Windows/Linux) или ⌘ + drag (Mac) рисует рамку выделения, а щелчок снимает выделение.
Перемещение ничем не ограничено: колесико мыши, перетаскивание и инструмент «Рука» сдвигают вид настолько, насколько вы его двигаете, за пределы таблиц с любой стороны.
Перетаскивайте средней кнопкой мыши (нажав колесико), чтобы перемещать холст из любого его места, как с указателем, так и с рукой. Это работает, даже если нажатие приходится на таблицу, заметку, ячейку, значок или связь.
Перетаскивание средней кнопкой ничего не выделяет, не перемещает, не вызывает щелчков и сохраняет выделение. Оно закрывает открытое контекстное меню и окно выбора цвета, а собственные прокрутка и вставка браузера по щелчку средней кнопкой не запускаются.
Нажатие средней кнопкой на полосах прокрутки, мини-карте, панели инструментов холста или в открытом поле редактирования ячейки или заметки не перемещает холст.
Мини-карта в правом верхнем углу показывает диаграмму с запасом в один экран с каждой стороны, то есть весь диапазон полос прокрутки, выровненный наружу по крупной сетке, поэтому чем сильнее уменьшен масштаб, тем меньше диаграмма на мини-карте. Щелкните мини-карту, чтобы перенести вид в эту точку, или перетащите прямоугольник области просмотра, чтобы переместить вид. По мере уменьшения масштаба прямоугольник области просмотра растет и охватывает большую часть карты.
Она рисует каждую таблицу цветом этой таблицы, а каждую видимую группу таблиц — рамкой цвета группы позади ее таблиц.
Полосы прокрутки вдоль правого и нижнего краев описывают тот же диапазон перемещения: от положения, когда диаграмма находится сразу за одним краем экрана, до положения сразу за другим, поэтому он как минимум на экран длиннее нарисованной диаграммы и еще длиннее, пока вид находится за ее пределами. Вне режима дзен обе полосы прокрутки отображаются всякий раз, когда в документе есть таблица, видимая заметка или видимая группа таблиц, даже если все помещается на экране. В документе без них, например в таком, где все заметки скрыты через View Option → Memos, не отображаются ни полосы прокрутки, ни мини-карта.
Перетаскивание ползунка полосы прокрутки или прямоугольника области просмотра на мини-карте — единственный способ перемещения, у которого есть предел: он заходит не дальше таблиц, находящихся сразу за краем экрана, или не дальше точки, где началось перетаскивание, если она была дальше.
Если после перемещения на экране не осталось ни одной таблицы, видимой заметки или видимой группы таблиц, в конце панели инструментов холста появляется компас Go to content со стрелкой, указывающей на ближайший из этих элементов, и расстоянием до него. Нажмите на компас, чтобы поместить этот элемент в центр, не меняя масштаб.

Куда ведет переход
Любой переход к чему-либо на холсте сдвигает вид по одному правилу: результаты #, @ и : Быстрого поиска, строки Обозревателя и совпадения его Поиска и замены, строки списка Просмотра различий, кнопка карточки со значком внешней ссылки в режиме Flow, проверка на листе «Проверки» вкладки «Словарь», указывающая на таблицу или столбец, и место вставки при Импорте с добавлением. В каждом из этих разделов сказано, что выделяет переход; в этом разделе — куда перемещается вид.
Переход никогда не меняет масштаб и выполняет не более одной прокрутки. С другой вкладки он сначала переключается на вкладку ERD.
Он измеряет холст в том виде, в каком тот отображается: под верхней панелью инструментов или на всю высоту в режиме дзен, а также справа от открытого Обозревателя, который сужает холст, а не перекрывает его.
Горизонталь и вертикаль оцениваются отдельно, и направление, в котором цель уже хорошо видна, остается в точности как есть:
- Цель длиной не более половины холста в этом направлении остается на месте, пока ее середина лежит в средней половине холста, то есть между четвертью и тремя четвертями ширины или высоты. Иначе ее середина переносится в середину холста.
- Более длинная цель, которая все еще помещается с запасом
40pxс каждого конца, остается на месте, пока видна целиком. Иначе по горизонтали она центрируется, а по вертикали ее верх переносится на40pxниже верхнего края холста. - Еще более длинная цель остается на месте, пока видна целиком или, если она длиннее холста, пока видна ее ключевая часть, указанная ниже. Иначе она центрируется, если помещается, а если нет, располагается как можно ближе к середине так, чтобы оба конца ее ключевой части оставались не менее чем в
40pxвнутри холста; у ключевой части, слишком длинной для этого, в40pxот края удерживается ее начало.
Поэтому небольшая таблица у левого края холста на половине его высоты сдвигается только по горизонтали.
Что переход выводит в поле зрения и какая ключевая часть должна быть видна, если целое не помещается:
- Таблица: вся таблица, ключевая часть — полоса с именем вдоль ее верха или, для совпадения в комментарии таблицы, ячейка комментария, пока View Option →
Table Commentпоказывает комментарии. При масштабе70%и меньше, когда таблицы свернуты до имени, ключевая часть — имя в середине рамки. - Столбец: его строка, ключевая часть — ячейка, к которой ведет переход: имя, логическое имя при совпадении в логическом имени или проверке логического имени, ячейка домена при проверке его домена либо комментарий, в котором найдено совпадение, пока View Option →
Column Commentпоказывает комментарии. Если строка не рисует такую ячейку, переход ведет к ячейке, нарисованной на ее месте: к логическому имени вместо имени в режимеLogical Names, к имени вместо логического имени в режимеPhysical Namesи к ячейке типа вместо ячейки домена, пока View Option →Domainвыключен, или ко всей строке, если выключен иDataType. При масштабе70%и меньше столбец выводит в поле зрения свою таблицу по правилу для таблиц. - Ячейка, слишком широкая, чтобы показать ее целиком, например длинный комментарий: ключевая часть — найденный в ней текст. Переход к ячейке, нарисованной на месте той, в которой найдено совпадение, например к имени при совпадении в логическом имени в режиме
Physical Names, не ориентируется на текст. - Связь: прямоугольник, охватывающий две ее таблицы, ключевая часть — дочерняя таблица.
- Группа таблиц: ее рамка, ключевая часть — строка заголовка.
- Заметка или блок, который размещает Импорт с добавлением: целиком.
Если ни по одному направлению сдвиг не нужен, прокрутки нет, поэтому при повторном переходе к тому же месту второй раз ничего не сдвигается. Переход, прокручивающий холст, записывает прокрутку в историю изменений, как и любое другое изменение положения вида, а переход, который ничего не сдвигает, не оставляет ничего для отмены. При Импорте с добавлением прокрутка входит в тот же шаг, что и добавление. Строка списка Просмотра различий сдвигает только стороны сравнения, доступные только для чтения, поэтому ничего не записывает, а редактор только для чтения не записывает переходы вовсе.
Никакой переход не начинает и не завершает рисование связи. Компас Go to content не является переходом: он помещает в центр то, на что указывает.
Просмотр различий
Можно сравнить ранее сохраненные документы с текущим документом.
Выберите Diff Viewer в контекстном меню холста и укажите документ .json, экспортированный ранее.
Сравнение открывается поверх холста: слева то, что изменилось, а затем рядом друг с другом сохраненный документ и текущий.
Текущий документ сравнивается в том виде, в каком он был на момент открытия сравнения; изменения, сделанные после этого, в том числе соавтором, в сравнение не попадают. Обе стороны открываются и остаются в вашем текущем режиме отображения имен, какой бы режим ни был сохранен в каждом из файлов, — см. За пределами холста. Открытый Обозреватель скрывается, пока сравнение открыто, поэтому сравнение занимает всю ширину редактора.
Вид на каждой стороне перемещается колесиком мыши, перетаскиванием пустой области или тела группы таблиц либо перетаскиванием средней кнопкой мыши в любом месте этой стороны и масштабируется с помощью Ctrl + Wheel (Windows/Linux), ⌘ + Wheel (Mac) или жеста сведения пальцев. При масштабе 70% и меньше таблицы на ней сворачиваются так же, как на холсте, — см. Пометки на обеих сторонах.
Обе стороны доступны только для чтения, поэтому в документе ничего не изменяется. У каждой стороны свое выделение, и щелчок по таблице на ней выделяет таблицу только на этой стороне.
Закройте сравнение кнопкой Close в уведомлении Diff Viewer, которое появляется вместе со сравнением, или клавишей Escape.
Редактор только для чтения тоже предлагает Diff Viewer, и просмотр там работает, как в любом редакторе: щелчок по таблице на стороне по-прежнему выделяет ее только на этой стороне. Просмотр, открытый, когда редактор переходит в режим только для чтения, остается открытым.

Что сравнивается
Сравнивается все: таблицы, столбцы, индексы, внешние ключи, заметки и группы таблиц.
Каждый элемент сначала сопоставляется по идентификатору, поэтому при сравнении с более ранней версией того же файла, в которой идентификаторы сохраняются, переименованная таблица, столбец, индекс или группа таблиц остается одним элементом и указывается как переименованный.
Оставшиеся элементы сопоставляются один к одному по тому, что у них сохранилось: таблица или группа таблиц — по имени с учетом регистра; столбец или индекс — по таблице и имени; внешний ключ — по двум его таблицам и парам столбцов; заметка — по тексту, а затем по положению. Индекс без имени сопоставляется по столбцам, их порядку и направлению и по признаку уникальности, а группа таблиц без имени — по наибольшему числу общих таблиц.
Поэтому при сравнении с файлом из другого источника, например с диаграммой, заново построенной импортом SQL, переименованная таблица отображается как одна удаленная и одна добавленная.
Что считается изменением:
- Таблица: имя, комментарий, группа таблиц, положение и цвет.
- Столбец: имя, комментарий, тип данных, значение по умолчанию, Автоинкремент, первичный ключ, Уникальный, Не NULL и место в таблице. Перемещенными считаются только столбцы вне порядка, общего для обоих документов, поэтому добавление, удаление или перемещение одного столбца не помечает остальные.
- Индекс: имя, UNIQUE и столбцы с их порядком и направлением.
- Внешний ключ: пары столбцов, тип связи и действия ON DELETE и ON UPDATE.
- Заметка: текст, положение, размер и цвет.
- Группа таблиц: имя, входящие в нее таблицы, цвет, положение и размер.
Поэтому таблица, заметка или группа, которую только переместили или у которой изменили только размер или цвет, считается измененной. Положения и размеры сравниваются в целых пикселях, а порядок наложения и место, где линия связи примыкает к таблице, никогда не учитываются.
Логические имена, привязки к доменам, а также слова, термины и домены вкладки «Словарь» не сравниваются, поэтому изменение только в них не указывается в списке и не помечается. Тип данных, измененный доменом, учитывается — как изменение типа данных столбца.
Дерево изменений
Список слева выглядит как дерево Обозревателя и содержит только то, что изменилось: папки Tables, Table Groups и Memos, каждая из которых отображается, только если в ней есть строка, а под таблицей — ее собственные Columns, Indexes и Foreign Keys. Внешний ключ указывается под своей дочерней таблицей, а у добавленной или удаленной таблицы внутри ничего не перечисляется.
Каждая папка показывает, сколько строк в ней содержится, и все папки и таблицы изначально развернуты.
Строка таблицы или столбца называется в том режиме отображения имен, в котором открылись стороны. В режиме Both Names в ней отображается логическое имя, а после него приглушенное имя, и в удаленной строке приглушенное имя зачеркнуто вместе с остальным. Таблицы и группы таблиц перечисляются по имени без учета регистра, независимо от режима. Заметки, а также столбцы, индексы и внешние ключи таблицы сохраняют порядок текущего документа, а удаленный элемент возвращается на то место, где он стоял. В строке заметки отображается первая строка ее текста, а в строке внешнего ключа — его дочерние столбцы, затем → с родительской таблицей и ее столбцами, например user_id → users(id). Пустое имя отображается как unnamed курсивом.
Каждая строка заканчивается буквой, и у строки с пометкой A, D, M или R имя окрашено в цвет этой буквы:
A, добавлено, зеленым: только в текущем документе.D, удалено, красным и зачеркнуто: только в сохраненном документе.M, изменено, янтарным: в обоих документах, с изменениями.R, переименовано, синим: в обоих документах, с новым именем. Переименование имеет приоритет над любым другим изменением, которое при этом все равно указывается во всплывающей подсказке.~, янтарным, стоит в конце каждой папки и каждой таблицы, указанной только из-за изменений внутри нее; их имена сохраняют обычный цвет.
Наведите указатель на имя в строке, чтобы увидеть всплывающую подсказку: статус (Added, Deleted, Modified, Renamed или Changed inside), затем по одной строке на каждое изменение, например Name: users → members или NN: ✗ → ✓. Текст приводится по первой строке, обрезанной после 40 символов, а пустое значение отображается как —. Всплывающая подсказка добавленного или удаленного элемента содержит только статус.
Поле Filter by name над деревом оставляет строки, текущее или сохраненное имя либо текущее или сохраненное логическое имя которых содержит введенный текст, без учета регистра, в любом режиме отображения имен. Таблица, имя которой совпадает, сохраняет все свои строки, а таблица, имя которой не совпадает, остается только с совпадающими строками. Фильтр, которому ничего не соответствует, оставляет дерево пустым.
Если два документа ничем не отличаются, в дереве отображается No changes.
Перетащите правый край дерева, чтобы сделать его шире или уже, от 200px до 480px, и дважды щелкните этот край, чтобы вернуть ширину 260px. Каждое сравнение открывается с деревом шириной 260px, а две стороны делят оставшуюся ширину поровну.
Перемещение по дереву с клавиатуры работает так же, как в дереве Обозревателя (см. Клавиши в Обозревателе), но здесь Escape в дереве или в поле Filter by name закрывает сравнение.
Переход к изменению
Щелкните строку либо нажмите Enter или Space, когда на ней фокус клавиатуры, чтобы перейти к ее элементу на каждой стороне, где он есть: к добавленному элементу — только на стороне текущего документа, к удаленному — только на стороне сохраненного документа, а к тому, что есть в обоих, — на обеих сторонах. Строка папки только сворачивает или разворачивает папку, как и стрелка в начале строки таблицы.
- Строка таблицы, столбца или индекса выделяет только таблицу.
- Строка внешнего ключа выводит в поле зрения обе его таблицы или дочернюю таблицу, если они слишком далеко друг от друга, чтобы поместиться вместе, выделяет дочернюю таблицу со столбцами внешнего ключа и подсвечивает линию связи — см. Как читать линию связи.
- Строка заметки выделяет заметку, а строка группы таблиц — группу. Если документ стороны скрывает заметку или группу, на этой стороне переход не выполняется.
Каждая сторона сдвигается по правилу из раздела Куда ведет переход с измерением по этой стороне, поэтому повторный щелчок по той же строке ничего не сдвигает.
Пометки на обеих сторонах
Обе стороны окрашивают текст, контуры и линии связи, но ничего не заливают. Добавленное выделяется зеленым и отображается только на стороне текущего документа, удаленное — красным и только на стороне сохраненного документа, а измененное (янтарным) и переименованное (синим) отображаются на обеих сторонах. Все неизмененное рисуется как обычно.
- Добавленная или удаленная таблица или группа таблиц обводится контуром соответствующего цвета, и ее имя принимает этот цвет. Добавленная или удаленная заметка обводится контуром.
- Добавленный или удаленный столбец в таблице, которая есть в обоих документах, окрашивает всю свою строку, а перемещенный столбец окрашивает всю свою строку в янтарный цвет. Внутри добавленной или удаленной таблицы ничего отдельно не помечается.
- Текст измененной ячейки становится янтарным: комментарий таблицы, комментарий, тип данных, значение по умолчанию, Автоинкремент, Уникальный или Не NULL столбца либо текст заметки. При изменении первичного ключа значок ключа столбца становится янтарным.
- У переименованной таблицы, столбца или группы таблиц имя отображается синим.
- Таблица, заметка или группа таблиц с изменением, у которого нет собственной ячейки, например с перемещением, новым размером или цветом, сменой группы или состава таблиц группы, обводится янтарным контуром.
- Добавленный, удаленный или измененный внешний ключ рисует свою линию связи соответствующим цветом. При наведении указателя на нее или при ее подсветке из строки дерева она рисуется обычным цветом наведения.
- Изменение индекса ничего не помечает ни на одной стороне; оно отображается только в дереве.
Каждая сторона следует Параметрам вида своего документа. Изменение в ячейке, которую эта сторона не рисует, отображается вместо этого на имени. Изменение столбца в ячейке, скрытой одним из Параметров вида, например Unique или Auto Increment (оба выключены по умолчанию), окрашивает имя столбца в янтарный цвет, как и изменение первичного ключа в строке, где не отображается значок ключа. Изменение комментария таблицы при выключенном параметре Table Comment окрашивает имя таблицы в янтарный цвет. Синий цвет переименования имеет приоритет над этим янтарным. Заметка или группа таблиц, которую скрывает ее документ, указывается в дереве, но не рисуется на этой стороне.
В режиме Logical Names, который не рисует ячейку имени, синий цвет переименования и янтарный цвет изменения в ячейке, которую сторона не рисует, переходят на логическое имя, нарисованное на месте имени. Изменение типа данных окрашивает ячейку типа в янтарный цвет в любом режиме отображения имен, даже если в ячейке отображается имя домена. Ни одна из сторон не рисует цвета, которыми проверки словарей выделяют имена на холсте, — см. Пометки на холсте.
При масштабе 70% и меньше свернутые таблицы сохраняют контур. Имя сохраняет зеленый или красный цвет добавленной или удаленной таблицы либо синий цвет переименования, а в остальных случаях принимает янтарный цвет изменения комментария. Изменения столбцов не рисуются, пока вы снова не увеличите масштаб; в дереве они по-прежнему перечислены.
Режим только для чтения
Редактор с атрибутом readonly, например ревизия Git, повторно открытая как диаграмма в VS Code, — это читатель. Его шесть вкладок, Обозреватель, мини-карта, полосы прокрутки, а также курсоры и выделения соавторов остаются, а каждый элемент управления, который изменял бы диаграмму, исчезает, а не приглушается.
На холсте ERD:
- Перетаскивание перемещает холст, где бы оно ни началось: на пустом холсте, на таблице, на заметке или на группе таблиц. Средняя кнопка, колесико, щипок и клавиши масштаба работают, как в любом редакторе.
- Указатель, остановившийся на таблице, подсвечивает ее связи. Щелчок без движения подсвечивает связи таблицы, на которую он попал, или связь, на которую он попал, а щелчок в другом месте гасит подсветку.
- Ничто не выделяется нажатием, рамкой выделения или клавишей выделения всего. Выделяет только переход: строка Обозревателя, совпадение его Поиска и замены или результат
#,@или:Быстрого поиска выделяет то, на чем оказывается, с обводкой, как любое выделение, и с ячейкой в фокусе там, куда ее ставит переход. Щелчок без движения снимает это выделение. - Клавиши со стрелками перемещают ячейку в фокусе. Копирование,
Table PropertiesиFocus on this tableработают для того, что выделил переход, своими клавишами, а вставка ничего не добавляет. Остальные клавиши перечислены в разделе Сочетания клавиш. - Ни одно имя ячейки, заметки или группы таблиц не открывается для редактирования. На таблицах, заметках и группах нет кнопок
+иx, на заметках и группах нет краев для изменения размера, нет маркера перетаскивания столбца и нет палитры цветов.
Контекстное меню холста сохраняет View Option, Name View, Export и Diff Viewer. В нем нет New Table, New Memo, New Table Group, Toggle Explorer, Relationship, Derive Physical Names Again, Database, Import, Import and Add и Auto Layout.
Меню таблицы сохраняет только Table Properties, который открывает окно для этой таблицы только для чтения — см. Свойства таблицы. Заметка, связь и группа таблиц не вызывают никакого меню.
Панель инструментов холста сохраняет масштаб, Name View, режим дзен и компас Go to content. Верхняя панель инструментов показывает название СУБД текстом, который нельзя редактировать, и не содержит Undo, Redo и Time Travel.
Экспорт со всеми тремя его пунктами и Просмотр различий работают, как в любом редакторе.
View Option, Name View, СУБД, вкладка, положение вида и масштаб там по-прежнему меняются, но только на этом экране: ничто из этого не сохраняется, не записывается и не передается — см. Режим только для чтения в разделе «Настройки».
Переход редактора в режим только для чтения завершает все, что было открыто для редактирования: редактор ячейки, имени заметки или группы таблиц, рисуемую связь или New Table Group, выделение и ячейку в фокусе, инструмент «Рука», палитру цветов, Map Columns и Time Travel. Вид, масштаб, вкладка и режим отображения имен остаются прежними, а «Свойства таблицы», Просмотр различий и окно Export image остаются открытыми.
Выполняющийся жест там тоже завершается. Перетаскивание таблиц или заметок останавливается там, где оно есть, перетаскивание с Alt не оставляет копии, перетаскивание столбца завершается, изменение размера заметки останавливается там, где оно есть, изменение размера группы таблиц отбрасывается, а Автоматическое размещение отбрасывается вместе со своим уведомлением, поэтому ни одна таблица не перемещается.
Когда редактор снова становится доступным для записи, он возвращает элементы управления, перечисленные выше, и ничто из закрытого при переходе не открывается снова.