Словарь
Вкладка «Словарь» хранит стандарт именования диаграммы в трех словарях, каждый на своем листе, который редактируется как электронная таблица:
Domains: именованные типы данных, напримерNameдляVARCHAR(100). Столбец, привязанный к домену, имеет его тип данных.Words: стандартные слова, из которых состоят логические имена, каждое с сокращением, которое используется для него в физическом имени, напримерCustomerиCUST.Terms: целые логические имена, каждое с физическим именем и доменом, которые оно дает, напримерCustomer NameсCUST_NM.
Логическое имя таблицы или столбца формирует свое физическое имя по этим словарям, а термин столбца может также привязать столбец к домену — см. Формирование физических имен.
Четвертый лист, Checks, перечисляет то, что словари считают неверным в именах и типах диаграммы и в самих словарях, например запрещенное слово в логическом имени, — см. Лист «Проверки».
Открытие вкладки
Переключитесь на вкладку Dictionary на панели инструментов — это кнопка со значком книги между Code Generator и Settings — или выберите Dictionary в разделе Tab Быстрого поиска.
Диаграмма может открываться на этой вкладке — см. Canvas Type в разделе Блокировка.
Вкладка открывается на листе Domains, пока вы не выберете другой.
При каждом открытии лист возвращается с тем выделением и той прокруткой, которые вы оставили, а при первом посещении — с выделенной первой ячейкой. Его сетка получает фокус клавиатуры, поэтому ввод текста или клавиши со стрелками срабатывают сразу.
Открытый лист, а также поиск, выделение, прокрутка и ширина столбцов каждого листа принадлежат только вам.
Ничто из этого не сохраняется в файле, не записывается в историю изменений и не передается соавторам. Все это хранится, пока редактор открыт, и не теряется при переключении вкладок и при загрузке других документов в тот же редактор.
Листы
На панели вдоль верхнего края расположены четыре кнопки листов, Domains, Words, Terms и Checks, и кнопка открытого листа выглядит нажатой. Рядом с подписью каждой из них отображается число: количество строк на ее листе независимо от того, что показывает поиск, а на кнопке Checks — количество проверок, окрашенное по их уровню, — см. Лист «Проверки».
Далее следует поле поиска — см. Поиск. В конце панели на листах Domains, Words и Terms, но не в редакторе только для чтения, расположены четыре инструмента: Add Row, Delete Rows, Import CSV и Export CSV — см. Добавление и удаление строк и Импорт и экспорт CSV.
В узкой области или при языке интерфейса с длинными подписями панель переносится на несколько строк, поэтому каждая кнопка остается доступной.
Под сеткой строка состояния показывает число строк, оставшихся после поиска, например 4 rows, а пока выделение охватывает хотя бы одну строку — сколько строк оно охватывает, например 1 selected. Строка, общая для двух диапазонов, считается один раз, поэтому это число равно количеству строк, которые удалила бы кнопка Delete Rows.
Номера строк слева нумеруют строки в том порядке, в котором их показывает лист, начиная с 1. Ячейка только для чтения, а это каждая ячейка на листе Checks и каждая ячейка в редакторе только для чтения, рисуется на сером фоне, кроме тех случаев, когда ее помечает проверка.
На пустом листе Domains, Words или Terms отображается надпись Import a CSV file or add a row, кроме как в редакторе только для чтения.
Столбцы каждого листа по порядку:
| Лист | Столбцы |
|---|---|
Domains | Domain, Category, Data Type, Description |
Words | Word, Abbreviation, English Name, Description, Synonyms, Forbidden Words |
Terms | Term, Physical Name, Domain, Description, Synonyms |
Checks | Type, Target, Detail |
Назначение ячеек:
- Значение
Data Typeдомена записывается как тип столбца, напримерVARCHAR(100)илиNUMERIC(15,2), и этот тип имеет каждый столбец, привязанный к домену, — см. Домены и типы данных. - Значение
Abbreviationслова — это то, что используется для этого слова в физическом имени, — см. По словам. - Ячейки
SynonymsиForbidden Wordsслова перечисляют через запятую другие слова для того же понятия. У каждого элемента обрезаются пробелы по краям, пустой элемент отбрасывается, а элемент, совпадающий с самим словом, не учитывается. Логическое имя, в котором используется такое слово, не составляет физического имени, а листChecksпомечает его и называет слово, которое следует использовать вместо него, — см. Что находит каждая проверка. - Значение
Termтермина — это целое логическое имя, а его значениеPhysical Name— имя, которое дает это логическое имя, — см. По термину. - Ячейка
Domainтермина показывает имя домена, к которому привязан термин, и остается пустой, пока термин не привязан ни к одному домену или привязан к уже удаленному домену, — см. Домен термина. - Ячейки
Category,English Name, все ячейкиDescriptionи ячейкаSynonymsтермина — это примечания. Они ничего не меняют, и ни одна проверка их не читает.
При языке интерфейса с письмом справа налево панель, меню сетки и строка состояния отображаются зеркально, а листы и список доменов термина остаются в направлении слева направо.
Формирование физических имен
Словари могут сформировать физическое имя таблицы или столбца — имя, которое записывают Схема SQL и Генератор кода, — по их логическому имени. Сначала ищется термин, значение Term которого совпадает с логическим именем; иначе имя составляется из сокращений слов.
Например, если есть слова Customer (CUST), Name (NM), Number (NO), Order (ORD) и Date (DT) и термин Customer Number с физическим именем CUST_NO и доменом Number, тип данных которого — INT:
- Логическое имя
Customer Numberдает столбцу имяCUST_NO, привязывает его к доменуNumberи задает ему типINT. - Из
Order DateсоставляетсяORD_DT. - Таблица с логическим именем
Customerполучает имяCUST.
Если листы Words и Terms пусты, ничего не формируется.
Когда формируется имя
Физическое имя формируется при записи логического имени:
- На холсте — когда поле редактирования ячейки логического имени закрывается с логическим именем, отличным от того, с которым оно открылось, нажатием
Enter,Tab,Escapeили щелчком в другом месте. Каждая клавиша, которую вы нажимаете при вводе, записывает только логическое имя — см. Ввод логического имени. - Сразу, когда вы выбираете термин из списка под ячейкой, — см. Автодополнение терминов.
- Когда вставка записывает ячейку логического имени, — см. Копирование и вставка столбцов.
- Когда Поиск и замена заменяет логическое имя — одно совпадение или все.
- Когда агент для программирования задает логическое имя.
Имя формируется, только пока физическое имя пусто или само было сформировано, — см. Ваши собственные имена.
Выбор термина, вставка или замена записывают логическое имя и то, что из него формируется, одним шагом отмены. На холсте имя, сформированное при закрытии поля редактирования, составляет отдельный шаг отмены после ввода: первая отмена откатывает сформированное имя вместе с доменом и типом, которые принес термин, и оставляет введенное вами логическое имя.
Позже ничего не формируется заново само по себе. Новое значение Abbreviation слова, новое значение Physical Name или Domain термина, а также новые слова или термины оставляют уже сформированные имена без изменений; для этого используйте повторное формирование физических имен. Исключение — значение Data Type домена: оно сразу доходит до столбцов этого домена.
По термину
Сначала на листе Terms ищется термин, значение Term которого равно логическому имени. Пробелы в начале и в конце и форма нормализации Юникода не учитываются, но регистр букв учитывается, поэтому customer number не совпадает с Customer Number. Из двух терминов с одинаковым именем учитывается первый на листе.
- Термин дает свое значение
Physical Name, а пока оно пусто — имя, которое составляют его слова, как описано ниже, если они его составляют. - Для столбца термин также привязывает столбец к домену из своей ячейки
Domain, пока этот домен есть на листеDomains, что дает столбцу тип данных домена, — см. Привязка столбца. Это происходит, даже когда термин не дает имени. Термин без домена ничего не отвязывает. - Таблица получает только физическое имя термина.
По словам
Если подходящего термина нет, имя составляют слова:
- Логическое имя разбивается по пробелам,
_,-,·и/, и ни одно слово не выходит за границу разбиения. - Каждая часть читается слева направо, причем в каждой позиции берется самый длинный текст, который есть на листе
Wordsв виде значенияWord, синонима или запрещенного слова, без возврата назад. При словах가입,가입일и일자текст가입일자читается как가입일и자, и자остается незарегистрированным, а가입 일자читается как가입и일자. Регистр букв учитывается:member— это не словоMember. - Физическое имя — это значения
Abbreviationвсех слов в том виде, в котором они введены, соединенные символом_, напримерORD_DT. Из двух слов с одинаковым именем сокращение дает первое на листе. Ограничения длины нет, а параметрыTable Name CaseиColumn Name CaseГенератора кода не играют никакой роли.
Действует принцип «все или ничего». Если какой-либо фрагмент оказывается синонимом, запрещенным словом или текстом, которого не перечисляет ни одно слово, либо у какого-либо слова пустое значение Abbreviation, имя не составляется, и физическое имя остается прежним.
Ваши собственные имена
Словари заполняют физическое имя, только пока оно пусто или само было заполнено ими. Редактор запоминает это для каждой таблицы и каждого столбца, хотя на холсте это никак не отображается.
- Имя, которое вы пишете, становится вашим собственным: ввод в ячейке имени, замена имени таблицы или столбца с помощью Поиска и замены, вставка поверх ячейки имени столбца и переименование агентом для программирования. Записанное позже логическое имя оставляет его без изменений: записывается только само логическое имя, и домен не привязывается.
- Очистка имени возвращает его словарям, так как пустое имя всегда формируется.
- Логическое имя, из которого ничего не формируется, оставляет физическое имя и его состояние прежними: пустое имя остается пустым, а сформированное имя сохраняет свое значение и остается сформированным словарями.
- Новая таблица или новый столбец начинают с пустого имени, поэтому их первое логическое имя формирует его. Столбец внешнего ключа, добавленный связью, получает имя по своему ключу, и это имя считается вашим собственным — см. Имена столбцов внешнего ключа.
- Имена, которые приносит импорт Схемы SQL, GraphQL, DBML или AML через пункт
ImportилиImport and Add, а также имена диаграммы, созданной версией, выпущенной до появления вкладки «Словарь», считаются вашими собственными, поэтому логическое имя, записанное для них позже, ничего не формирует. - Дублированная таблица, столбец, перемещенный в другую таблицу за маркер перетаскивания, вставка скопированных таблиц и импорт JSON-файла через пункт
Import and Addсохраняют состояние каждого имени. Имена столбцов, вставленных в выделенные таблицы как новые столбцы, считаются вашими собственными, кроме случая, когда вставленное имя пустое и из их логического имени формируется имя. - Повторное формирование физических имен возвращает ваше собственное имя словарям, в том числе импортированное.
Два столбца, одно имя
Для столбца ничего не формируется, если у другого столбца его таблицы уже есть имя, которое было бы сформировано. Столбец сохраняет свое имя, его состояние и привязку к домену, и записывается только его логическое имя. Имена сравниваются без учета регистра букв и пробелов в начале и в конце, как и имена столбцов внешнего ключа.
Если одно изменение дало бы двум столбцам одно и то же имя, как это может сделать кнопка Replace All или пункт Derive Physical Names Again для таблицы, имя получает первый столбец в таблице.
Например, рекурсивная связь у таблицы members с ключом MBR_NO добавляет столбец MBR_NO_2, который копирует логическое имя Member Number. Пункт Derive Physical Names Again дал бы ему имя MBR_NO, которое занято ключом, поэтому он сохраняет имя MBR_NO_2.
Для таблиц такого правила нет: у двух таблиц может сформироваться одно и то же имя.
Повторное формирование физических имен
Используйте пункт Derive Physical Names Again после изменения значения Abbreviation слова или значения Physical Name или Domain термина, так как эти изменения сами по себе ничего не переименовывают. Он возвращает охватываемые им имена словарям и формирует их заново по описанным выше правилам, включая имена, которые вы написали сами. Он предлагается только на вкладке ERD и не предлагается в редакторе только для чтения:
- Контекстное меню таблицы, сразу после пункта
Focus on this tableилиFocus on selected tables. Пока таблица входит в число двух или более выделенных таблиц, пунктDerive Physical Names Againохватывает их все, где бы на таблице вы ни щелкнули правой кнопкой мыши. В противном случае щелчок правой кнопкой мыши по строке столбца дает пунктDerive Physical Name Againтолько для этого столбца, а щелчок по заголовку — пунктDerive Physical Names Againдля имени таблицы и всех столбцов. - Контекстное меню холста, сразу после пункта
Name View: пунктDerive Physical Names Againдля всех таблиц и столбцов диаграммы. Он не отображается, пока в диаграмме нет ни одной таблицы. - Быстрый поиск — в виде строк для столбца в фокусе, таблицы в фокусе, выделенных таблиц и всей диаграммы.

Имена каждой охваченной таблицы и каждого охваченного столбца, у которых есть логическое имя, формируются заново. Столбец также получает домен, который дает его термин, а вместе с ним и тип домена, который распространяется по связям, пока включена Синхронизация типа данных в связях.
Команда не затрагивает таблицу или столбец без логического имени, а также столбец, новое имя которого занято другим столбцом его таблицы, — см. Два столбца, одно имя. Каждый из них сохраняет свое имя и его состояние, ваше собственное или сформированное словарями, а столбец также сохраняет привязку к домену.
Логическое имя, из которого сейчас ничего не формируется, оставляет физическое имя прежним, но возвращает его словарям, поэтому следующее логическое имя, которое вы запишете, сформирует его.
Команда составляет один шаг отмены, сколько бы имен, привязок и типов она ни изменила. Она не записывает шаг, только если ничего не меняет, а возврат вашего собственного имени словарям считается изменением, даже если имя уже содержит то, что они дают.
Собственное значение Physical Name термина не составляется заново из измененных слов, поэтому перед повторным формированием отредактируйте термин.
Домены и типы данных
Столбец, привязанный к домену, имеет значение Data Type этого домена. Привязка столбца сразу задает ему этот тип.
Когда значение Data Type домена меняется — при редактировании, вставке или импорте на листе Domains или по действию соавтора или агента для программирования, — каждый привязанный к нему столбец получает новый тип в том же шаге. Пока включена Синхронизация типа данных в связях, каждое из этих изменений распространяется дальше по связям, как и изменение типа, введенное вручную; пока она выключена, меняются только привязанные столбцы.
Переименование домена меняет только имя, которое показывают ячейки домена у столбцов.
Изменение типа, сделанное на листе Domains, отменяется там же вместе с типами столбцов, которые оно задало, — см. Листы словарей.
Отмена или повтор на вкладке ERD, которые снова привязывают столбец к домену или возвращают столбец, привязанный к домену, задают столбцу текущий тип домена. Отмена или повтор, которые возвращают другой тип, отвязывают столбец от домена.
Привязка столбца
Столбец привязывается к домену:
- Выбором домена в ячейке домена столбца, которую показывает View Option →
Domain, или, в режимеLogical Names, в ячейке типа, которая ее заменяет, — см. Ячейка домена. - Логическим именем, термин которого дает домен, — см. По термину. Это происходит, только пока имя формируется, поэтому не происходит ни для вашего собственного имени, ни для столбца, сформированное имя которого занято другим столбцом.
- Пунктом
Derive Physical Name AgainилиDerive Physical Names Again, который привязывает каждый охваченный столбец к домену его термина. - Связью: столбец внешнего ключа копирует домен своего ключа вместе с его типом и логическим именем — см. Идентифицирующие связи. Ключ, копия которого получает другой тип, как у ключа типа serial, не передает домен.
- Дублированием его таблицы или перемещением в другую таблицу за маркер перетаскивания: в обоих случаях привязка сохраняется. Вставка скопированных таблиц или столбцов сохраняет ее, только пока в этой диаграмме есть этот домен и у домена по-прежнему тип скопированного столбца, поэтому копия из другой диаграммы вставляется без привязки, — см. Копирование и вставка таблиц и заметок. Пункт
Import and Addне привязывает ни одного столбца. - Именем домена, вставленным в ячейку домена, — см. Копирование и вставка столбцов.
Снятие привязки
- Ввод типа в ячейку
DataTypeпривязанного столбца или принятие варианта отвязывает столбец, как только его тип начинает отличаться от типа домена, и столбец сохраняет введенный вами тип, — см. Автодополнение типа данных. Повторный ввод типа домена не привязывает столбец снова; вместо этого выберите домен в его ячейке домена. Вставка поверх ячейкиDataTypeи изменение типа агентом для программирования отвязывают столбец так же. - Пока включена Синхронизация типа данных в связях, каждый столбец, до которого доходит изменение типа и новый тип которого отличается от типа его собственного домена, отвязывается в том же шаге, например внешний ключ, привязанный к собственному домену. Окно «Сопоставить столбцы» так же отвязывает столбцы, тип которых оно меняет.
- Значение
Noneв ячейке домена отвязывает столбец и сохраняет его тип. - Изменение или очистка значения
Domainтермина либо удаление термина не меняют ни одного столбца.
Удаление домена
Удаление строки домена оставляет его столбцам их типы, и их привязки сохраняются. Столбцы не показывают домен, а лист Checks выводит Unknown domain для каждого из них, пока на листе Domains остается хотя бы один домен. Отмена удаления на листе Domains снова показывает привязки.
Пока домена нет, ввод в такой столбец типа, отличного от типа домена, окончательно отвязывает его, как и значение None в его ячейке домена.
При сохранении файла эти привязки в него не записываются, поэтому диаграмма снова открывается с непривязанными столбцами.
Термин, привязанный к удаленному домену, показывает пустую ячейку Domain с пометкой Unknown domain. Клавиша Delete или Backspace в этой ячейке отвязывает термин — см. Домен термина.
Лист «Проверки»
Лист Checks перечисляет то, что проверки словарей находят в самих словарях и в таблицах и столбцах диаграммы. Проверки только читают: они ничего не меняют.
Каждая проверка выполняется, только пока на листе, который она читает, есть хотя бы одна строка, а проверки слов — только пока на листе Words есть слово с именем, поэтому для диаграммы с пустыми словарями ничего не выводится.

Три его столбца доступны только для чтения:
- Столбец
Typeназывает проверку — см. Что находит каждая проверка. - Столбец
Targetназывает слово, термин или домен по имени, таблицу по имени, а столбец в видеtable.column, причем таблица и столбец называются так, как их называет режим отображения имен, а там, где режим не показывает имени, выводитсяunnamed. - Столбец
Detailпоказывает, что нашла проверка, а после→— что словари предлагают вместо этого, несколько вариантов через запятую, например멤버 → 회원. Пустая сторона отображается как—, например— → NUMERIC(15).
Сначала идут проверки слов, затем терминов и доменов, затем таблица за таблицей, причем за каждой таблицей следуют ее столбцы.
Список обновляется после каждой правки, как только она применяется, в том числе правки соавтора и агента для программирования, а также после каждого переключения режима отображения имен.
Число на кнопке Checks красное, пока хотя бы одна проверка является ошибкой, янтарное, пока все они являются предупреждениями, и приглушенное, когда проверок нет.
Строки нельзя редактировать, добавлять, удалять, сортировать, импортировать или экспортировать: на панели нет инструментов, щелчок правой кнопкой мыши не открывает меню сетки, а команды отмены и повтора ничего не делают. Поиск, выделение и копирование работают так же, как на других листах.
Enter или двойной щелчок по строке выполняет переход к тому, что в ней названо:
- Слово, термин или домен: вкладка показывает его лист, на котором выделена ячейка, которую читает проверка, — имя или ячейка
Domainтермина, — а его строка видна первой. Поиск листа очищается, если он скрывает эту строку. Строка, удаленная с тех пор, никуда не ведет. - Таблица или столбец: открывается вкладка ERD, на которой выделена только эта таблица, а ячейка, которую читает проверка, находится в фокусе. Это ячейка имени, логического имени или домена, а там, где строка не рисует эту ячейку, — ячейка, нарисованная на ее месте. Холст получает фокус клавиатуры, а вид перемещается по правилу из раздела Куда ведет переход.
Двойной щелчок по заголовку, границе столбца, полосе прокрутки или ниже строк никуда не ведет.
Агент для программирования получает те же проверки в том же порядке с помощью инструмента erd_list_checks — см. Проверки словарей.
Остальные три листа помечают ячейки, которые читают проверки, — имя или ячейку Domain термина — красным или янтарным текстом на подкрашенном фоне:
- Красным: имя, которое есть у другой строки того же листа, ячейка
Domainтермина, привязанного к удаленному домену, и ячейкаTerm, в которой используется запрещенное слово. - Янтарным: ячейка
Term, в которой используется синоним или незарегистрированное слово.
Ячейка окрашивается по более заметному из своих уровней. Пометки отображаются и в редакторе только для чтения, а сам лист Checks не окрашивается. О пометках на холсте ERD см. Пометки на холсте.
Что находит каждая проверка
Type | Уровень | Что находит | Detail, пример |
|---|---|---|---|
Duplicate name | Ошибка | Значение Word, Term или Domain, которое есть и у другой строки того же листа. Выводится каждая из этих строк. | Member |
Unknown domain | Ошибка | Столбец или термин, все еще привязанный к удаленному домену, пока на листе Domains есть хотя бы один домен | Имя удаленного домена |
Forbidden word | Ошибка | Фрагмент логического имени или значения Term, который какое-либо слово перечисляет в своей ячейке Forbidden Words | 커스터머 → 고객 |
Unregistered word | Предупреждение | Фрагмент логического имени таблицы или столбца либо значения Term, которого не перечисляет ни одно слово | 자 |
Synonym | Предупреждение | Фрагмент, который какое-либо слово перечисляет в своей ячейке Synonyms | 멤버 → 회원 |
Physical name mismatch | Предупреждение | Таблица или столбец, логическое имя которых совпадает с термином, но физическое имя отличается от того, которое дает термин | mbr_no → MBR_NO |
Domain type mismatch | Предупреждение | Столбец, значение DataType которого не совпадает со значением Data Type домена, к которому он привязан | INT → NUMERIC(15) |
- Имена сравниваются без пробелов по краям и с учетом регистра букв, поэтому
Memberиmember— это два разных имени, а пустое имя никогда не считается повтором. Листы отклоняют правку, которая дала бы двум строкам одно имя, поэтомуDuplicate nameпоявляется только там, где пересеклись две правки, например когда два соавтора одновременно дают имена строкам, или в файле, отредактированном в другом месте. - Проверки слов читают имя так же, как описано в разделе По словам, и выводят каждый отличающийся фрагмент один раз для каждого имени. Проверки
Forbidden wordиSynonymпредлагают слово, которое перечисляет этот фрагмент. - Проверка
Physical name mismatchсравнивает имя без пробелов по краям со значениемPhysical Nameтермина, а пока его нет — с тем, что составляют слова термина, и ничего не сообщает, пока термин не дает имени. Для столбца внешнего ключа, скопировавшего логическое имя своего ключа, она выводится всякий раз, когда его собственное имя отличается от имени термина, напримерmembers_id → MBR_ID. ПунктDerive Physical Name Againисправляет это, если только это имя не занято другим столбцом. - Проверка
Domain type mismatchникогда не возникает из-за правок в одном редакторе, так как привязанный столбец в итоге всегда получает тип своего домена. Она может появиться, когда один соавтор привязывает столбец, пока другой меняет тип этого домена, или в файле, записанном в другом месте. Повторный выбор домена в ячейке домена столбца задает столбцу тип домена, а значениеNoneотвязывает столбец. Привязка к удаленному домену отображается только какUnknown domain.
Пометки на холсте
Холст ERD выводит имя, которое помечают проверки, цветом его проверки:
- Ячейка логического имени в заголовке таблицы или в строке столбца красная, пока в ее логическом имени используется запрещенное слово, а иначе янтарная, пока в нем используется синоним или слово, которого нет на листе
Words. - Ячейка физического имени в заголовке или в строке янтарная, пока термин, с которым совпадает ее логическое имя, дает другое физическое имя.
Помечаются только эти два вида ячеек, но никогда не ячейка домена или ячейка DataType, поэтому Unknown domain и Domain type mismatch для столбца отображаются только на листе Checks.
Ячейка помечается только за то, что она рисует: в режиме Physical Names могут помечаться только физические имена, в режиме Logical Names — только логические имена, а в режиме Both Names каждая ячейка помечается по своим собственным проверкам — см. Отображение имен. Пустая ячейка сохраняет цвет заполнителя, а пустые словари ничего не помечают.
В заголовке таблицы, входящей в цветную группу таблиц, пометка сохраняет свой цвет, только пока остается читаемой на цвете группы; иначе имя принимает собственный черный или белый цвет заголовка.
Пометки отображаются на холсте ERD, в Путешествии во времени и в предварительном просмотре Автоматического размещения, в том числе в редакторе только для чтения. Вкладка «Визуализация», обе стороны Просмотра различий и экспортированное изображение их не рисуют.
Они обновляются при каждом изменении, как только оно происходит, будь то изменение имени или слова, термина или домена.
Поиск
Поле поиска с надписью Search отображается на всех четырех листах, в том числе в редакторе только для чтения. У каждого листа свой поиск.
Строка совпадает, когда одна из ячеек, по которым идет поиск, содержит искомый текст; регистр букв, форма нормализации Юникода и пробелы вокруг запроса не учитываются. Совпадение никогда не охватывает две ячейки. Ячейки, по которым идет поиск:
Domains:Domain,Data TypeиDescription.Words:Word,Abbreviation,English NameиDescription.Terms:Term,Physical NameиDescription.Checks: все три, в том виде, в котором они отображаются на языке интерфейса.
Новый поиск переносит выделение на первую ячейку и прокручивает лист к началу.
Пока в поле есть текст, кнопка x со всплывающей подсказкой Clear search очищает его и оставляет курсор ввода в поле. Клавиша Escape в поле тоже очищает его.
В поле Ctrl + Z (Windows/Linux) или ⌘ + Z (Mac) отменяет ваш ввод, а не изменения листа, а клавиши для строк из раздела Добавление и удаление строк работают как текстовые клавиши.
Кнопка Add Row и вставка строк сначала очищают поиск, так как пустая строка не совпадает ни с одним запросом. Импорт сохраняет его.
Выделение и навигация
Выделение в сетке работает так же, как в электронной таблице:
- Щелчок выделяет ячейку, а перетаскивание — диапазон, с прокруткой у края листа.
Shift + clickрасширяет выделение от активной ячейки, аCtrl + click(Windows/Linux) или⌘ + click(Mac) добавляет еще один диапазон. - Заголовок столбца выделяет свой столбец, номер строки — свою строку, а левый верхний угол — все ячейки, как и
Ctrl + A(Windows/Linux) или⌘ + A(Mac). - На Mac
Ctrl + clickравносилен щелчку правой кнопкой мыши — см. Меню сетки.
С клавиатуры:
- Клавиши со стрелками перемещают на одну ячейку, а с зажатой клавишей
Ctrl(Windows/Linux) или⌘(Mac) — к краю листа в этом направлении. HomeиEndпереходят к первой и последней ячейке строки, а с зажатой клавишейCtrlили⌘— к первой и последней ячейке листа.Page UpиPage Downперемещают на один экран строк.- С зажатой клавишей
Shiftлюбая из перечисленных выше клавиш вместо этого расширяет выделение. TabиShift + Tabперемещают вправо и влево, аShift + Enter— вверх.Enterбез модификаторов открывает ячейку для редактирования — см. Редактирование ячеек.
Когда строки под выделением исчезают из-за отмены или удаления соавтором, выделение возвращается в пределы оставшихся строк.
Перетащите правую границу заголовка столбца, чтобы изменить ширину столбца, или дважды щелкните границу, чтобы подогнать ширину столбца под самый широкий текст в видимых строках. Ни одна клавиша не меняет ширину столбца.
Редактирование ячеек
Ввод текста в выделенной ячейке заменяет ее значение. Enter, F2 или двойной щелчок открывает текущее значение для редактирования с курсором ввода в конце.
Ячейка содержит одну строку, поэтому вставленные в нее табуляция или разрыв строки становятся пробелом.
Enterзаписывает правку и перемещает вниз, аTabзаписывает ее и перемещает вправо. С клавишейShiftони перемещают вверх или влево.- Щелчок в другом месте или уход фокуса клавиатуры из сетки тоже записывает ее.
Escapeотменяет ее.

Правка, которая оставляет значение прежним, ничего не записывает, а записанная правка составляет один шаг отмены своего листа, сколько бы текста в ней ни было введено.
Delete или Backspace, когда правка не открыта, очищает все выделенные ячейки одним шагом.
Пока правка открыта, клавиши отмены и повтора отменяют и повторяют ваш ввод в ячейке, а клавиши для строк вводят текст — см. Клавиши на вкладке.
Каждая ячейка на листе Checks и каждая ячейка в редакторе только для чтения доступна только для чтения и не открывается для редактирования.
Если хотя бы одна строка правки, вставки или очистки отклонена, ничего из нее не сохраняется, а уведомление об ошибке сообщает причину, указывая число строк и называя первые три:
- Имя, которое есть у другой строки листа или которое записывает другая строка той же вставки:
Nothing saved: 1 row shares a name with another row (Member)илиNothing saved: 2 rows share a name with another row (…). Имена сравниваются без пробелов по краям и с учетом регистра букв, поэтомуMemberиmemberразличаются. Пустое имя никогда не отклоняется. - Значение
Domainтермина, заданное текстом, которого нет ни у одного домена на листеDomains:Nothing saved: 1 row names an unknown domain (…). - Строка, которую соавтор удалил, пока вы ее редактировали:
Nothing saved: the row was removed.
Запись может затрагивать не только свою ячейку:
- Термин, которому задается значение
Term, пока его значениеPhysical Nameпусто, получает имя, которое составляют его слова, если они его составляют, — см. По словам. Это происходит один раз: при последующем изменении слов имя не составляется заново. - Новое значение
Data Typeдомена меняет тип каждого столбца, привязанного к домену, в том же шаге отмены — см. Домены и типы данных.
Домен термина
Enter, F2 или двойной щелчок по ячейке Domain термина открывает список с полем поиска с надписью Domain — под ячейкой или над ней, если там больше места.
Список содержит значение None, а затем все домены с именем в порядке листа Domains, и подсветка сначала стоит на домене, к которому привязан термин, или на None. Ввод символа в ячейке открывает список, уже отфильтрованный по этому символу.
- Ввод текста сужает список до доменов, имена которых содержат этот текст без учета регистра, убирает
Noneи подсвечивает первое совпадение. ↑и↓перемещают подсветку, переходя по кругу на обоих концах списка.EnterилиTabвыбирает подсвеченную строку, а щелчок — строку, по которой щелкнули, одним шагом отмены. Термин привязывается именно к выбранному домену, даже если это один из двух доменов с одинаковым именем, аNoneотвязывает его.Escapeили щелчок за пределами списка закрывает его, не записывая ничего из введенного.
Если на листе Domains нет ни одного домена с именем, поле открывается без списка.
Вставленный текст привязывает термин к первому в списке домену с таким именем, пустой текст отвязывает его, а текст, совпадающий с тем, что показывает ячейка, оставляет привязку без изменений. Любое другое имя отклоняется — см. Редактирование ячеек. Клавиша Delete или Backspace в ячейке отвязывает термин даже от удаленного домена.
Копирование и вставка
Ctrl + C (Windows/Linux) или ⌘ + C (Mac) копирует выделение как текст, разделенный табуляциями, по строке текста на каждую строку листа, как это делают электронные таблицы, поэтому в электронную таблицу он вставляется в виде ячеек. Табуляция или разрыв строки внутри значения становятся пробелом.
Несколько диапазонов копируются вместе, только когда они охватывают одни и те же строки и стоят рядом или охватывают одни и те же столбцы и стоят один над другим. Иначе ничего не копируется и появляется уведомление об ошибке Nothing copied: the ranges share no rows or columns.
Ctrl + V (Windows/Linux) или ⌘ + V (Mac) вставляет текст, разделенный табуляциями, например ячейки, скопированные из электронной таблицы, начиная с активной ячейки вниз и вправо:
- Кавычки вставляются как текст, поэтому ячейка электронной таблицы, содержащая разрыв строки, не вставляется как одна ячейка.
- Одно значение заполняет все выделенные диапазоны.
- Строки за последней строкой добавляются как новые строки по порядку, поэтому вставка в пустой лист заполняет его.
- Столбцы за последним столбцом не вставляются, и после сохранения остального об этом сообщает уведомление
Columns past the last one weren't pasted. - После вставки нескольких ячеек выделяется записанный ею блок.
Вставка составляет один шаг отмены вместе с добавленными ею строками и отклоняется целиком из-за повторяющегося имени или неизвестного домена — см. Редактирование ячеек.
Копирование, вставка или очистка более чем миллиона ячеек ничего не делает, и появляется уведомление об ошибке Nothing done: the selection covers too many cells.
Вырезание, Ctrl + X (Windows/Linux) или ⌘ + X (Mac), на листе ничего не делает. Копирование и вставка на этой вкладке никогда не затрагивают диаграмму, а пока открыта правка ячейки, они действуют на текст в ячейке.
Добавление и удаление строк
Кнопка Add Row добавляет одну пустую строку в конец листа. Она очищает поиск, выделяет первую ячейку новой строки и передает сетке фокус клавиатуры, поэтому ввод текста заполняет эту ячейку.
Кнопка Delete Rows удаляет все строки, которые охватывает выделение в любом столбце, и одна отмена возвращает их все на свои места. Ее всплывающая подсказка называет клавишу, которая делает то же самое.
Пока фокус клавиатуры в сетке и ни одна ячейка не редактируется:
Alt + Enter(Windows/Linux) или⌥ + Enter(Mac) вставляет под выделением столько пустых строк, сколько оно охватывает.Alt + Shift + Enter(Windows/Linux) или⌥ + Shift + Enter(Mac) вставляет их над выделением.Alt + BackspaceилиAlt + Delete(Windows/Linux) либо⌥ + Backspaceили⌥ + Delete(Mac) удаляет строки, которые охватывает выделение.
Они делают то же, что пункты вставки и удаления строк в меню сетки, — см. Меню сетки. Вставка очищает поиск и помещает новые строки сразу над первой строкой, которую охватывает выделение, или сразу под последней. Она выделяет их в первом столбце, делая активной первую из них, и составляет один шаг отмены.
Эти клавиши — привязки Add Column и Remove Column на вкладке «Сочетания клавиш», поэтому хост, который переназначает их с помощью метода setKeyBindingMap, переносит и эти клавиши. Alt + Shift + Enter — это клавиша Add Column с добавленной клавишей Shift, и собственной строки там у нее нет.
В открытой правке и в поле поиска они работают как текстовые клавиши, поэтому на Mac ⌥ + Backspace удаляет слово. На листе Checks и в редакторе только для чтения они ничего не делают. На этой вкладке они никогда не добавляют и не удаляют столбцы таблицы.
В Obsidian они доходят до вкладки, даже если то же сочетание назначено горячей клавише Obsidian.
Строка, которую так и не заполнили или из которой удалили все значения, отображается на своем листе и доходит до соавторов, но в файл она не записывается, поэтому при повторном открытии диаграммы ее уже нет.
Меню сетки
Щелкните ячейку на листе Domains, Words или Terms правой кнопкой мыши, чтобы открыть меню сетки. Ячейка вне выделения сначала становится выделением.
Щелчок правой кнопкой мыши ниже последней строки или правее последнего столбца открывает меню для текущего выделения, поэтому на пустом листе оно открывается в любом месте под заголовками. Клавиша контекстного меню или Shift + F10 открывает его для активной ячейки.
- Пункты
Insert 1 row above,Insert 1 row belowиDelete 1 row, каждый из которых указывает число строк, охваченных выделением, напримерInsert 3 rows above, и показывает справа свою клавишу, — см. Добавление и удаление строк. - Пункты
Sort by <column>, ascendingиSort by <column>, descending, называющие столбец, по которому вы щелкнули правой кнопкой мыши, напримерSort by Word, ascending, — см. Сортировка. Правее последнего столбца они не отображаются. - Пункты
Import CSVиExport CSV, которые делают то же, что и кнопки на панели, — см. Импорт и экспорт CSV.
Когда не отображается ни одной строки — на пустом листе или при поиске, который ничего не находит, — отображаются только пункты Insert 1 row below, Import CSV и Export CSV.
На листе Checks и в редакторе только для чтения вместо него открывается собственное меню браузера, как и при щелчке правой кнопкой мыши по заголовку или полосе прокрутки.
Меню закрывается при выборе пункта, по Escape, при нажатии в другом месте вкладки, при смене выделения или листа, а также при изменении строк листа вашей правкой или правкой соавтора.
Сортировка
Пункты Sort by <column>, ascending и Sort by <column>, descending меняют порядок самих строк листа, а не только их отображения. Новый порядок сохраняется в файле, виден соавторам и соблюдается при экспорте через Export CSV, а одна отмена возвращает прежний порядок.
Строки сравниваются по тексту, который показывает ячейка, ячейка Domain термина — по имени домена, в алфавитном порядке языка интерфейса, причем числа сравниваются по значению, поэтому 2 идет перед 10. Пустые ячейки в обоих случаях оказываются в конце, а строки, равные при сравнении, сохраняют свой порядок. Сортировка листа, который уже упорядочен таким образом, ничего не записывает.
Поиск остается прежним, как и выделение, в ячейках которого теперь находятся другие строки.
Импорт и экспорт CSV
Каждый из листов Domains, Words и Terms импортируется из CSV-файла и экспортируется в него. Эти файлы принадлежат только вкладке «Словарь»: пункты Import и Export контекстного меню холста их не читают и не записывают — см. Импорт и экспорт файлов.
Импорт
Кнопка Import CSV на панели или в меню сетки открывает собственное окно выбора файлов браузера для файлов .csv, а не окно импорта хоста. Повторный выбор того же файла снова импортирует его.
Файл попадает в словарь, который называет его строка заголовков, какой бы лист ни был открыт, после чего вкладка показывает этот лист и передает его сетке фокус клавиатуры. Лист сохраняет свой поиск, выделение и прокрутку, поэтому строки, скрытые поиском, или строки, добавленные ниже видимой области, остаются вне поля зрения.
Файл читается как UTF-8 с меткой порядка байтов (BOM) или без нее либо как EUC-KR, если он не является допустимым UTF-8, как в случае более старых файлов стандарта публичных данных.

Как применяются строки:
- Каждая строка с именем обновляет строку листа с тем же именем в тех полях, для которых в файле есть столбцы. Поля, для которых в файле нет столбцов, остаются прежними. Имена сравниваются без пробелов по краям и с учетом регистра букв.
- Имена, которых нет на листе, добавляются после его последней строки в порядке файла.
- Импорт никогда не удаляет строки.
- Строка с пустым именем пропускается. Если имя встречается в файле дважды, побеждает более поздняя строка, а более ранняя считается пропущенной. Пустые строки файла строками листа не считаются.
- Домен термина находится по имени — берется первый домен с этим именем, а имя, которого нет ни у одного домена, оставляет термин без привязки, поэтому сначала импортируйте домены.
Один импорт составляет один шаг отмены этого листа.
Затем появляется уведомление, например 1 added · 1 updated · 2 skipped. Строка, совпадающая со строкой листа, не считается ни добавленной, ни обновленной, поэтому повторный импорт того же файла ничего не меняет и не записывает шаг.
Если термины файла называют домены, которых нет в диаграмме, вторая строка уведомления называет первые три из них, например 4 unknown domains: 연월일, 금액, 번호.
Файл, строка заголовков которого не соответствует ни одной структуре или соответствует двум, ничего не импортирует, и появляется уведомление об ошибке Couldn't read this file as words, terms or domains.
Структура файлов
Каждый словарь читает две структуры. Первая — собственная структура редактора, которую записывает кнопка Export CSV, с именами полей в строке заголовков:
| Словарь | Заголовок | Обязательные столбцы |
|---|---|---|
| Words | name,abbreviation,englishName,description,synonyms,forbiddenWords | name, abbreviation |
| Terms | name,physicalName,domain,description,synonyms | name, physicalName |
| Domains | name,category,dataType,description | name, dataType |
Столбцы могут идти в любом порядке, столбец domain термина содержит имя домена, а любые другие столбцы не учитываются. В строке заголовков регистр букв учитывается, а ячейки читаются точно так, как записаны, включая пробелы.
Вторая — структура файлов корейского стандарта публичных данных (공통표준):
| Словарь | Обязательные столбцы | Также читаются |
|---|---|---|
| Words | 공통표준단어명 | 공통표준단어영문약어명 (сокращение), 공통표준단어 영문명 (английское название), 공통표준단어 설명 (описание), 이음동의어 목록 (синонимы), 금칙어 목록 (запрещенные слова) |
| Terms | 공통표준용어명 | 공통표준용어영문약어명 (физическое имя), 공통표준도메인명 (домен, по имени), 공통표준용어설명 (описание), 용어 이음동의어 목록 (синонимы) |
| Domains | 공통표준도메인명, 데이터타입 | 공통표준도메인분류명 (категория), 공통표준도메인설명 (описание), 데이터길이, 데이터소수점길이 |
Столбцы 데이터타입, 데이터길이 и 데이터소수점길이 домена объединяются в один тип данных: NUMERIC(15,2), CHAR(8), только тип, если длины нет, например DATE, а масштаб 0 опускается, как в NUMERIC(15).
В этих файлах у ячеек обрезаются пробелы по краям, а другие столбцы, например история редакций, не учитываются.
В обеих структурах пробелы в имени заголовка не имеют значения.
Экспорт
Кнопка Export CSV на панели или в меню сетки сохраняет открытый лист в собственной структуре редактора: все строки в порядке листа независимо от того, что показывает поиск, причем домен термина записывается по имени, а для удаленного домена остается пустым.
Файл сохраняется в UTF-8 с меткой порядка байтов и окончаниями строк CRLF, а в кавычки заключается только поле, содержащее кавычку, запятую или разрыв строки. Он открывается в электронной таблице и импортируется обратно в те же строки.
Он получает имя <database name>-<timestamp>-words.csv, -terms.csv или -domains.csv и сохраняется так же, как другие экспортируемые редактором файлы, — см. Экспорт.
У листа Checks нет экспорта, а редактор только для чтения не предлагает ни импорта, ни экспорта.
Отмена и повтор
Листы Domains, Words и Terms ведут каждый собственную историю изменений, отдельную от истории диаграммы. На этой вкладке Ctrl + Z и Ctrl + Shift + Z (Windows/Linux) или ⌘ + Z и ⌘ + Shift + Z (Mac), а также кнопки Undo и Redo на панели инструментов действуют на открытый лист, а кнопки Time Travel на панели инструментов нет. На листе Checks они ничего не делают.
Отмена на вкладке ERD никогда не откатывает правку листа — см. Листы словарей.
Клавиши на вкладке
Пока фокус клавиатуры на вкладке, действуют следующие сочетания клавиш редактора — см. Сочетания клавиш:
Search,Ctrl + K(Windows/Linux) или⌘ + K(Mac), открывает Быстрый поиск.Toggle Explorer,Ctrl + F(Windows/Linux) или⌘ + F(Mac), переключает на вкладку ERD и открывает поиск Обозревателя.UndoиRedoдействуют на открытый лист — см. Отмена и повтор.Add ColumnиRemove Columnвставляют и удаляют строки — см. Добавление и удаление строк.
Пока открыта правка ячейки, в том числе список доменов термина, Search и Toggle Explorer ничего не делают, поэтому введенный текст не теряется.
Все остальные сочетания клавиш редактора остаются на вкладке и никогда не доходят до холста: Alt + N (Windows/Linux) или ⌥ + N (Mac) не добавляет таблицу, а Delete и Backspace ничего не удаляют на холсте.
Вместо этого на лист действуют собственные клавиши сетки: Enter открывает ячейку для редактирования, Delete и Backspace очищают выделенные ячейки, Ctrl + A (Windows/Linux) или ⌘ + A (Mac) выделяет все ячейки, а Escape отменяет правку, закрывает меню сетки или очищает поле поиска. Копирование, вырезание и вставка тоже остаются на вкладке — см. Копирование и вставка.
Режим только для чтения
В редакторе с атрибутом readonly вкладка открывается и показывает все листы.
Переключение листов, поиск, выделение, прокрутка, изменение ширины столбцов и копирование работают как обычно, как и переход к объекту проверки с листа Checks нажатием Enter или двойным щелчком. Пометки проверок тоже отображаются.
Ни одна ячейка не принимает правку, вставку или очистку, а каждая ячейка, которую не помечает ни одна проверка, рисуется на сером фоне ячеек только для чтения.
Кнопки Add Row, Delete Rows, Import CSV и Export CSV скрыты, клавиши для строк ничего не делают, а щелчок правой кнопкой мыши открывает меню браузера. Пустой лист не показывает подсказку, а на панели инструментов нет кнопок Undo и Redo.
Соавторы и файл
Файл диаграммы хранит слова, термины и домены в порядке их листов, в том числе после сортировки, и не записывает строку, в которой нет ни одного значения.
Он также хранит логическое имя каждой таблицы и каждого столбца, признак того, сформировано ли каждое физическое имя словарями, и привязку каждого столбца к домену, пока этот домен есть в списке. Проверки и пометки вычисляются по этим данным и никогда не сохраняются.
В сеансе совместного редактирования редакторы видят правки словарей друг друга, как только они применяются, включая сортировку и вставку строк. Каждый редактор сохраняет свой собственный открытый лист, поиск и выделение, а его истории изменений листов содержат только его собственные правки.
Правка или вставка в строку, которую тем временем удалил соавтор, ничего не сохраняет, и появляется уведомление Nothing saved: the row was removed.
Редактор версии, выпущенной до появления вкладки «Словарь», сохраняет диаграмму без ее логических имен, привязок к доменам и словарей — см. Разные версии в одном сеансе.
Импорт Схемы SQL, GraphQL, DBML или AML через пункт Import сохраняет словари, импорт JSON через пункт Import заменяет их словарями из файла, а пункт Import and Add не приносит ни одного словаря — см. Импорт внешних файлов.
Агент для программирования через MCP-сервер редактирует слова, термины и домены, задает логические имена и домены, заново формирует физические имена и получает список проверок — см. Словари и Проверки словарей. Инструмента для CSV-файлов у него нет.